/*
Theme Name: BG Lending PLC
Theme URI: https://bglending.co.uk
Author: BG Lending PLC
Author URI: https://bglending.co.uk
Description: Custom WordPress theme for BG Lending PLC — Expert-Led Real Estate Finance. A luxury, classic custom theme with refined animations and responsive design.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bg-lending
Tags: custom-menu, featured-images, custom-logo
*/

/* ═══════════════════════════════════════════
   VARIABLES & RESET
   ═══════════════════════════════════════════ */
:root {
  --espresso: #2C2118;
  --champagne: #C8B590;
  --brass: #A89272;
  --bronze: #8C7558;
  --charcoal: #3B3631;
  --parchment: #F4EFE8;
  --stone: #D6CEC3;
  --ivory: #FAFAF7;
  --gold-accent: #D4A853;
  --gold-glow: #E8C770;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--parchment); color: var(--charcoal);
  font-family: 'Cormorant Garamond', Georgia, serif;
  overflow-x: hidden; -webkit-font-smoothing: antialiased;
}
.fs { font-family: 'DM Sans', -apple-system, sans-serif; }
.max-w { max-width: 1280px; margin: 0 auto; }
.z2 { position: relative; z-index: 2; }

/* ── Grain Overlay ── */
.grain {
  position: fixed; inset: 0; pointer-events: none; opacity: 0.018; z-index: 9999;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}

/* ═══════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════ */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  background: rgba(244,239,232,0.0);
  backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px);
  border-bottom: 1px solid transparent;
  transition: all 0.55s cubic-bezier(0.22,1,0.36,1);
}
.nav.scrolled {
  background: rgba(244,239,232,0.88);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border-bottom-color: rgba(200,181,144,0.15);
  box-shadow: 0 4px 40px rgba(44,33,24,0.06);
}
/* Inner pages: nav starts solid */
.nav.nav-solid {
  background: rgba(244,239,232,0.88);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(200,181,144,0.15);
  box-shadow: 0 4px 40px rgba(44,33,24,0.06);
}
.nav-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 32px;
  display: flex; align-items: center; justify-content: space-between;
  height: 84px; transition: height 0.4s;
}
.nav.scrolled .nav-inner,
.nav.nav-solid .nav-inner { height: 64px; }

/* Logo */
.nav-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.nav-logo-mark {
  width: 36px; height: 36px;
  border: 1.5px solid var(--champagne);
  display: flex; align-items: center; justify-content: center;
  transition: border-color 0.3s;
}
.nav-logo-mark svg { width: 18px; height: 18px; }
.nav-logo-mark .brand-logo { width: 20px; height: 20px; }
.nav-brand { font-family: 'DM Sans'; font-size: 14px; font-weight: 600; letter-spacing: 3px; color: var(--ivory); transition: color 0.5s; }
.nav-sub { font-family: 'DM Sans'; font-size: 9px; letter-spacing: 2px; color: rgba(250,250,247,0.5); transition: color 0.5s; }

/* Nav scrolled/solid state colors */
.nav.scrolled .nav-brand,
.nav.nav-solid .nav-brand { color: var(--espresso); }
.nav.scrolled .nav-sub,
.nav.nav-solid .nav-sub { color: var(--brass); }
.nav.scrolled .nav-logo-mark,
.nav.nav-solid .nav-logo-mark { border-color: var(--brass); }
.nav.scrolled .nav-logo-mark svg,
.nav.nav-solid .nav-logo-mark svg { stroke: var(--espresso); }
.nav.scrolled .nav-logo-mark .brand-logo path,
.nav.scrolled .nav-logo-mark .brand-logo g path,
.nav.nav-solid .nav-logo-mark .brand-logo path,
.nav.nav-solid .nav-logo-mark .brand-logo g path { fill: var(--espresso); stroke: none; }

/* Links */
.nav-links { display: flex; gap: 32px; align-items: center; }
.nav-link, .nav-link-a {
  background: none; border: none; color: rgba(250,250,247,0.65); cursor: pointer;
  font-family: 'DM Sans'; font-size: 12px; letter-spacing: 1.5px;
  text-transform: uppercase; transition: color 0.3s; text-decoration: none;
}
.nav-link:hover, .nav-link-a:hover { color: var(--champagne); }
.nav.scrolled .nav-link-a,
.nav.nav-solid .nav-link-a { color: var(--charcoal); }
.nav.scrolled .nav-link-a:hover,
.nav.nav-solid .nav-link-a:hover { color: var(--bronze); }
.nav-link-a.active-page,
.nav.nav-solid .nav-link-a.active-page,
.nav.scrolled .nav-link-a.active-page,
.current-menu-item > a { color: var(--bronze) !important; font-weight: 600; }

.nav-cta {
  padding: 11px 26px; font-family: 'DM Sans'; font-weight: 600; font-size: 10px;
  letter-spacing: 1.8px; text-transform: uppercase; text-decoration: none; display: inline-block;
  background: rgba(250,250,247,0.12); color: var(--champagne);
  border: 1px solid rgba(200,181,144,0.25); cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1);
}
.nav-cta:hover { background: rgba(250,250,247,0.18); }
.nav.scrolled .nav-cta,
.nav.nav-solid .nav-cta { background: var(--espresso) !important; color: var(--champagne) !important; border-color: var(--espresso) !important; }
.nav.scrolled .nav-cta:hover,
.nav.nav-solid .nav-cta:hover { background: var(--charcoal) !important; }

/* Mobile hamburger */
.nav-hamburger { display: none; background: none; border: none; cursor: pointer; padding: 4px; }
.nav-hamburger svg { stroke: var(--ivory); transition: stroke 0.3s; }
.nav.scrolled .nav-hamburger svg,
.nav.nav-solid .nav-hamburger svg { stroke: var(--espresso); }
@media (max-width: 960px) {
  .nav-links { display: none; }
  .nav-hamburger { display: block; }
}

/* WordPress menu integration */
.nav-links .menu { display: flex; gap: 32px; align-items: center; list-style: none; padding: 0; margin: 0; }
.nav-links .menu li { list-style: none; }
.nav-links .menu li a {
  background: none; border: none; color: rgba(250,250,247,0.65); cursor: pointer;
  font-family: 'DM Sans'; font-size: 12px; letter-spacing: 1.5px;
  text-transform: uppercase; transition: color 0.3s; text-decoration: none;
}
.nav-links .menu li a:hover { color: var(--champagne); }
.nav.scrolled .nav-links .menu li a,
.nav.nav-solid .nav-links .menu li a { color: var(--charcoal); }
.nav.scrolled .nav-links .menu li a:hover,
.nav.nav-solid .nav-links .menu li a:hover { color: var(--bronze); }
.nav-links .menu li.current-menu-item a,
.nav-links .menu li.current_page_item a { color: var(--bronze) !important; font-weight: 600; }
/* CTA menu item class */
.nav-links .menu li.menu-cta a {
  padding: 11px 26px; font-weight: 600; font-size: 10px;
  letter-spacing: 1.8px;
  background: rgba(250,250,247,0.12); color: var(--champagne) !important;
  border: 1px solid rgba(200,181,144,0.25);
}
.nav.scrolled .nav-links .menu li.menu-cta a,
.nav.nav-solid .nav-links .menu li.menu-cta a {
  background: var(--espresso) !important; color: var(--champagne) !important;
  border-color: var(--espresso) !important;
}

/* ═══════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════ */
.btn-p {
  background: var(--espresso); color: var(--champagne);
  padding: 15px 36px; font-family: 'DM Sans'; font-weight: 600; font-size: 12px;
  letter-spacing: 1.8px; text-transform: uppercase; border: none; cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1); text-decoration: none; display: inline-block;
}
.btn-p:hover { transform: translateY(-2px); box-shadow: 0 14px 44px rgba(44,33,24,0.2); background: var(--charcoal); }
.btn-o {
  background: transparent; color: var(--ivory);
  padding: 15px 36px; font-family: 'DM Sans'; font-weight: 600; font-size: 12px;
  letter-spacing: 1.8px; text-transform: uppercase;
  border: 1px solid rgba(250,250,247,0.35); cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1); text-decoration: none; display: inline-block;
}
.btn-o:hover { background: rgba(250,250,247,0.08); border-color: rgba(250,250,247,0.55); }
.btn-p-light {
  background: var(--espresso); color: var(--champagne);
  padding: 15px 36px; font-family: 'DM Sans'; font-weight: 600; font-size: 12px;
  letter-spacing: 1.8px; text-transform: uppercase; border: none; cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1); text-decoration: none; display: inline-block;
}
.btn-p-light:hover { transform: translateY(-2px); box-shadow: 0 14px 44px rgba(44,33,24,0.15); }
.btn-o-light {
  background: transparent; color: var(--espresso);
  padding: 15px 36px; font-family: 'DM Sans'; font-weight: 600; font-size: 12px;
  letter-spacing: 1.8px; text-transform: uppercase;
  border: 1px solid rgba(44,33,24,0.2); cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1); text-decoration: none; display: inline-block;
}
.btn-o-light:hover { background: rgba(44,33,24,0.04); border-color: rgba(44,33,24,0.35); }
.btn-submit {
  background: var(--espresso); color: var(--champagne);
  padding: 16px 48px; font-family: 'DM Sans'; font-weight: 600; font-size: 12px;
  letter-spacing: 1.8px; text-transform: uppercase; border: none; cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1); display: inline-flex; align-items: center; gap: 10px;
}
.btn-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 44px rgba(44,33,24,0.15); background: var(--charcoal); }

/* ═══════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════ */
.tag { font-family: 'DM Sans'; font-size: 12px; letter-spacing: 4px; text-transform: uppercase; color: var(--brass); font-weight: 600; margin-bottom: 24px; }
.tag-light { color: var(--champagne); }
.h2 { font-size: clamp(28px, 3.8vw, 52px); font-weight: 300; line-height: 1.15; margin-bottom: 24px; color: var(--espresso); }
.h2 em { font-style: italic; color: var(--bronze); }
.h2-light { color: var(--ivory); }
.h2-light em { color: var(--champagne); }
.body-text { font-family: 'DM Sans'; font-size: 16px; line-height: 1.85; color: rgba(59,54,49,0.7); font-weight: 400; }
.body-text-light { color: rgba(250,250,247,0.6); }

/* ═══════════════════════════════════════════
   HERO — Rotating Carousel (Front Page)
   ═══════════════════════════════════════════ */
.hero {
  position: relative; min-height: 100vh; display: flex; align-items: flex-end;
  padding: 0 32px 100px; overflow: hidden;
}
.hero-img-wrap { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero-slide {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity 1.8s cubic-bezier(0.22,1,0.36,1);
}
.hero-slide.active { opacity: 1; }
.hero-slide img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(0.62) contrast(1.04) saturate(0.8);
  transform: scale(1.06);
  animation: heroZoom 28s ease-in-out infinite alternate;
}
@keyframes heroZoom {
  0% { transform: scale(1.06) translateY(0); }
  100% { transform: scale(1.14) translateY(-1.2%); }
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(ellipse 65% 50% at 50% 40%, transparent 0%, rgba(44,33,24,0.25) 100%),
    linear-gradient(180deg, rgba(44,33,24,0.1) 0%, rgba(44,33,24,0.02) 30%, rgba(44,33,24,0.3) 70%, var(--parchment) 100%),
    linear-gradient(90deg, rgba(44,33,24,0.4) 0%, transparent 35%, transparent 65%, rgba(44,33,24,0.2) 100%);
}
.hero-location {
  position: absolute; top: 32px; right: 0; z-index: 3;
  font-family: 'DM Sans'; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: rgba(250,250,247,0.35); font-weight: 500;
  transition: opacity 0.6s;
}
.hero-dots { position: absolute; bottom: 32px; right: 0; z-index: 3; display: flex; gap: 10px; }
.hero-dot {
  width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid rgba(200,181,144,0.4);
  background: transparent; cursor: pointer; transition: all 0.4s; padding: 0;
}
.hero-dot.active { background: var(--champagne); border-color: var(--champagne); }
.hero-line { position: absolute; top: 0; width: 1px; height: 100%; z-index: 2; background: linear-gradient(180deg, transparent, rgba(200,181,144,0.08), transparent); }
.hero-content { position: relative; z-index: 3; max-width: 1280px; margin: 0 auto; width: 100%; }
.hero-tag { font-family: 'DM Sans'; font-size: 12px; letter-spacing: 4px; text-transform: uppercase; color: var(--champagne); font-weight: 600; margin-bottom: 28px; }
.hero-h1 { font-size: clamp(36px, 5.5vw, 72px); font-weight: 300; line-height: 1.08; max-width: 820px; margin-bottom: 28px; color: var(--ivory); }
.hero-h1 em { font-style: italic; color: var(--champagne); }
.hero-sub { font-family: 'DM Sans'; font-size: 17px; line-height: 1.8; color: rgba(250,250,247,0.6); font-weight: 300; max-width: 560px; margin-bottom: 48px; }
.hero-sub strong { color: rgba(250,250,247,0.9); font-weight: 500; }
.hero-btns { display: flex; gap: 16px; flex-wrap: wrap; }
.scroll-hint { margin-top: 60px; display: flex; flex-direction: column; align-items: center; gap: 8px; animation: float 5s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.scroll-hint span { font-family: 'DM Sans'; font-size: 10px; letter-spacing: 2.5px; color: rgba(200,181,144,0.45); text-transform: uppercase; }

/* ═══════════════════════════════════════════
   ABOUT SECTION (Homepage)
   ═══════════════════════════════════════════ */
.about { padding: 140px 32px 160px; background: var(--parchment); overflow: hidden; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
@media (max-width: 900px) { .about-grid { grid-template-columns: 1fr; gap: 48px; } }
.about-img-wrap { position: relative; height: 560px; overflow: hidden; border-radius: 2px; }
.about-img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(0.75) contrast(1.05) saturate(0.85);
  transform: scale(1.03);
  transition: transform 8s cubic-bezier(0.16,1,0.3,1);
}
.about-img-wrap:hover .about-img { transform: scale(1.09); }
.about-img-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(44,33,24,0.06) 0%, transparent 25%, transparent 70%, rgba(44,33,24,0.2) 100%),
    linear-gradient(90deg, rgba(44,33,24,0.15) 0%, transparent 40%);
}
.stats-row { display: flex; gap: 52px; margin-top: 52px; }
@media (max-width: 600px) { .stats-row { gap: 28px; flex-wrap: wrap; } }
.stat-val { font-size: 46px; font-weight: 300; color: var(--espresso); line-height: 1; }
.stat-lbl { font-family: 'DM Sans'; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--brass); margin-top: 6px; font-weight: 500; }

/* ═══════════════════════════════════════════
   TIMELINE
   ═══════════════════════════════════════════ */
.timeline { padding: 140px 32px 160px; background: var(--espresso); position: relative; overflow: hidden; }
.timeline-bg-lines {
  position: absolute; inset: 0; z-index: 0; opacity: 0.025;
  background: repeating-linear-gradient(115deg, transparent, transparent 120px, rgba(200,181,144,0.15) 120px, rgba(200,181,144,0.15) 121px);
}
.timeline-track { position: relative; margin-top: 80px; }
.timeline-line { position: absolute; top: 28px; left: 0; right: 0; height: 1px; background: rgba(200,181,144,0.12); }
.timeline-line-fill {
  position: absolute; top: 0; left: 0; height: 100%; width: 0;
  background: linear-gradient(90deg, var(--champagne), var(--brass));
  transition: width 1.8s cubic-bezier(0.22,1,0.36,1);
}
.timeline-steps { display: flex; justify-content: space-between; position: relative; z-index: 2; gap: 8px; }
.timeline-step { flex: 1; text-align: center; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.22,1,0.36,1); }
.timeline-step.vis { opacity: 1; transform: none; }
.timeline-dot-wrap { display: flex; justify-content: center; margin-bottom: 28px; }
.timeline-dot {
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid rgba(200,181,144,0.25);
  background: var(--espresso); transition: all 0.55s cubic-bezier(0.16,1,0.3,1);
  position: relative;
}
.timeline-step.vis .timeline-dot { border-color: var(--champagne); box-shadow: 0 0 0 4px rgba(200,181,144,0.08); }
.timeline-dot::after {
  content: ''; position: absolute; inset: 3px; border-radius: 50%;
  background: var(--champagne); opacity: 0; transition: opacity 0.5s 0.2s;
}
.timeline-step.vis .timeline-dot::after { opacity: 1; }
.timeline-phase { font-family: 'DM Sans'; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; color: var(--champagne); margin-bottom: 6px; }
.timeline-duration { font-family: 'DM Sans'; font-size: 12px; font-weight: 500; color: rgba(250,250,247,0.4); margin-bottom: 20px; }
.timeline-tasks { list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0; }
.timeline-task {
  font-family: 'DM Sans'; font-size: 13px; line-height: 1.6;
  color: rgba(250,250,247,0.5); font-weight: 400;
  padding: 10px 14px; background: rgba(250,250,247,0.03);
  border: 1px solid rgba(200,181,144,0.06); border-radius: 2px; transition: all 0.4s;
}
.timeline-step:hover .timeline-task { background: rgba(250,250,247,0.05); border-color: rgba(200,181,144,0.12); color: rgba(250,250,247,0.65); }
.timeline-legend { display: flex; gap: 36px; justify-content: center; margin-top: 64px; flex-wrap: wrap; }
.timeline-legend-item { display: flex; align-items: center; gap: 10px; font-family: 'DM Sans'; font-size: 12px; color: rgba(250,250,247,0.4); }
.legend-swatch { width: 28px; height: 3px; border-radius: 2px; }
.legend-bg { background: var(--champagne); }
.legend-partner { background: var(--brass); opacity: 0.5; }
@media (max-width: 900px) {
  .timeline { padding: 120px 24px; }
  .timeline-steps { flex-direction: column; gap: 0; }
  .timeline-line { display: none; }
  .timeline-step {
    text-align: left; display: grid;
    grid-template-columns: 48px 1fr; grid-template-rows: auto auto;
    gap: 0 16px; padding: 28px 0;
    border-bottom: 1px solid rgba(200,181,144,0.06);
  }
  .timeline-dot-wrap { justify-content: center; margin-bottom: 0; grid-row: 1 / 3; align-self: start; padding-top: 4px; }
  .timeline-phase { margin-bottom: 2px; }
  .timeline-duration { margin-bottom: 12px; }
  .timeline-tasks { grid-column: 2; }
}

/* ═══════════════════════════════════════════
   SECTION TRANSITIONS
   ═══════════════════════════════════════════ */
.section-transition {
  display: flex; align-items: center; justify-content: center;
  padding: 48px 32px; background: var(--ivory); position: relative;
}
.st-line {
  flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, var(--stone));
  transform: scaleX(0); transition: transform 1.4s cubic-bezier(0.16,1,0.3,1);
}
.st-line-2 { background: linear-gradient(90deg, var(--stone), transparent); }
.st-diamond {
  width: 12px; height: 12px; margin: 0 24px;
  border: 1px solid var(--stone); transform: rotate(45deg) scale(0);
  transition: transform 0.8s cubic-bezier(0.16,1,0.3,1) 0.4s;
}
.section-transition.vis .st-line { transform: scaleX(1); }
.section-transition.vis .st-diamond { transform: rotate(45deg) scale(1); }

/* Gradient transition */
.grad-transition { height: 120px; position: relative; }
.grad-transition-inner {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, var(--parchment) 0%, rgba(44,33,24,0.95) 100%);
}

/* ═══════════════════════════════════════════
   IMAGE DIVIDER
   ═══════════════════════════════════════════ */
.img-divider { position: relative; height: 340px; overflow: hidden; }
.img-divider img {
  width: 100%; height: 150%; object-fit: cover; object-position: center 40%;
  filter: brightness(0.55) contrast(1.1) saturate(0.7);
  transition: transform 0.1s linear;
}
.img-divider-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, var(--parchment) 0%, rgba(244,239,232,0.0) 25%, rgba(244,239,232,0.0) 75%, rgba(44,33,24,0.15) 100%);
}
.img-divider-line {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 1px; height: 55%; background: linear-gradient(180deg, transparent, rgba(200,181,144,0.3), transparent); z-index: 2;
}

/* ═══════════════════════════════════════════
   WHY / FEATURES
   ═══════════════════════════════════════════ */
.why { padding: 160px 32px; position: relative; overflow: hidden; background: var(--ivory); }
.why-bg { position: absolute; inset: 0; z-index: 0; }
.why-bg img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(1.1) contrast(0.85) saturate(0.2); opacity: 0.28;
}
.why-bg-overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(250,250,247,0.18) 0%, rgba(244,239,232,0.45) 100%),
    linear-gradient(180deg, var(--ivory) 0%, rgba(250,250,247,0.0) 20%, rgba(250,250,247,0.0) 80%, var(--ivory) 100%);
}
.why .h2, .why .tag, .why .body-text { color: var(--espresso); text-shadow: 0 8px 18px rgba(44,33,24,0.12); }
.why .body-text { color: rgba(59,54,49,0.92); }
.why .h2 em { color: var(--gold-accent); }
.why .tag { color: var(--gold-accent); }

.feature-card {
  background: var(--parchment); border: 1px solid var(--stone);
  padding: 44px 34px; transition: all 0.55s cubic-bezier(0.16,1,0.3,1);
  position: relative; overflow: hidden;
}
.feature-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold-accent), transparent);
  transform: scaleX(0); transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.feature-card:hover { background: var(--ivory); border-color: var(--champagne); transform: translateY(-4px); box-shadow: 0 16px 48px rgba(44,33,24,0.06); }
.feature-card:hover::before { transform: scaleX(1); }
.fc-icon { color: var(--gold-accent); margin-bottom: 24px; }
.fc-number { font-family: 'DM Sans'; font-size: 11px; letter-spacing: 2px; color: var(--brass); font-weight: 600; margin-bottom: 16px; opacity: 0.6; }
.fc-title { font-size: 22px; font-weight: 400; margin-bottom: 14px; color: var(--espresso); }
.fc-desc { font-family: 'DM Sans'; font-size: 14px; line-height: 1.8; color: rgba(59,54,49,0.6); font-weight: 400; }
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 24px; }

/* About page 2-col features */
.features-grid-2col { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 800px) { .features-grid-2col { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════
   PRODUCTS SECTION (Homepage tabs)
   ═══════════════════════════════════════════ */
.products { padding: 160px 32px; background: var(--parchment); }
.tabs { display: flex; gap: 0; margin-bottom: 60px; }
.tab-btn {
  padding: 13px 36px; font-family: 'DM Sans'; font-weight: 600; font-size: 13px;
  letter-spacing: 1.2px; text-transform: uppercase;
  border: 1px solid rgba(44,33,24,0.15); cursor: pointer;
  transition: all 0.4s ease; background: transparent; color: var(--bronze);
}
.tab-btn:first-child { border-radius: 2px 0 0 2px; }
.tab-btn:last-child { border-radius: 0 2px 2px 0; border-left: none; }
.tab-btn.active { background: var(--espresso); color: var(--champagne); border-color: var(--espresso); }

.prod-row {
  display: grid; grid-template-columns: 52px 200px 1fr; gap: 28px; align-items: center;
  padding: 28px 0; border-bottom: 1px solid var(--stone); transition: all 0.45s cubic-bezier(0.16,1,0.3,1);
}
.prod-row:hover { padding-left: 14px; background: rgba(214,206,195,0.25); border-radius: 2px; }
@media (max-width: 800px) {
  .prod-row { grid-template-columns: 44px 1fr; gap: 16px; }
  .prod-row > :nth-child(3) { grid-column: 1 / -1; }
}
.prod-icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(200,181,144,0.1), rgba(200,181,144,0.03));
  border: 1px solid rgba(200,181,144,0.18);
  display: flex; align-items: center; justify-content: center;
  color: var(--brass); transition: all 0.45s cubic-bezier(0.16,1,0.3,1);
}
.prod-row:hover .prod-icon { background: var(--espresso); border-color: var(--espresso); color: var(--champagne); transform: scale(1.08); }
.prod-title { font-family: 'DM Sans'; font-size: 15px; font-weight: 600; color: var(--espresso); }
.prod-desc { font-family: 'DM Sans'; font-size: 15px; line-height: 1.7; color: rgba(59,54,49,0.6); font-weight: 400; }

/* ═══════════════════════════════════════════
   PROCESS SECTION
   ═══════════════════════════════════════════ */
.process { position: relative; padding: 160px 32px; overflow: hidden; }
.process-bg { position: absolute; inset: 0; z-index: 0; }
.process-bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 30%;
  filter: brightness(0.42) contrast(1.08) saturate(0.6); transform: scale(1.02);
}
.process-bg-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(44,33,24,0.45) 0%, rgba(44,33,24,0.48) 20%, rgba(44,33,24,0.48) 80%, rgba(44,33,24,0.35) 100%),
    radial-gradient(ellipse 60% 50% at 50% 50%, transparent 0%, rgba(44,33,24,0.15) 100%);
}
.process-lines {
  position: absolute; inset: 0; z-index: 1; opacity: 0.02;
  background: repeating-linear-gradient(115deg, transparent, transparent 120px, rgba(200,181,144,0.15) 120px, rgba(200,181,144,0.15) 121px);
}
.process .tag { color: var(--champagne); }
.process .h2 { color: var(--ivory); }
.process .h2 em { color: var(--champagne); }
.process .body-text { color: rgba(250,250,247,0.65); }
.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px; }
.process-card {
  background: var(--espresso); border: 1px solid rgba(200,181,144,0.1); border-radius: 3px;
  padding: 44px 36px; transition: all 0.55s cubic-bezier(0.16,1,0.3,1);
}
.process-card:hover { transform: translateY(-4px); box-shadow: 0 20px 56px rgba(44,33,24,0.2); border-color: rgba(200,181,144,0.2); }
.process-card-icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(200,181,144,0.1); border: 1px solid rgba(200,181,144,0.15);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px; color: var(--champagne);
}
.process-card-title { font-size: 22px; font-weight: 400; margin-bottom: 14px; color: var(--ivory); }
.process-card-desc { font-family: 'DM Sans'; font-size: 14px; line-height: 1.85; color: rgba(250,250,247,0.75); font-weight: 400; }

/* ═══════════════════════════════════════════
   CTA SECTION
   ═══════════════════════════════════════════ */
.cta { position: relative; padding: 160px 32px; text-align: center; overflow: hidden; }
.cta-bg { position: absolute; inset: 0; }
.cta-bg img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(0.55) contrast(1.08) saturate(0.65);
}
.cta-bg-overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 55% at 50% 50%, rgba(44,33,24,0.45) 0%, rgba(44,33,24,0.85) 100%),
    linear-gradient(180deg, var(--parchment) 0%, transparent 20%, transparent 80%, var(--espresso) 100%);
}
/* CTA dark variant (inner pages) */
.cta-dark { background: var(--espresso); padding: 140px 32px; }
.cta-dark .h2 { color: var(--ivory); }
.cta-dark .h2 em { color: var(--champagne); }
.cta-dark .body-text { color: rgba(250,250,247,0.55); }
.cta-lines {
  position: absolute; inset: 0; opacity: 0.025;
  background: repeating-linear-gradient(115deg, transparent, transparent 120px, rgba(200,181,144,0.15) 120px, rgba(200,181,144,0.15) 121px);
}

/* ═══════════════════════════════════════════
   PAGE HEADER (Inner pages)
   ═══════════════════════════════════════════ */
.page-header { padding: 180px 32px 100px; background: var(--espresso); position: relative; overflow: hidden; }
.page-header-lines {
  position: absolute; inset: 0; opacity: 0.025;
  background: repeating-linear-gradient(115deg, transparent, transparent 120px, rgba(200,181,144,0.15) 120px, rgba(200,181,144,0.15) 121px);
}
.page-header .tag { color: var(--champagne); }
.page-header .h2 { color: var(--ivory); }
.page-header .h2 em { color: var(--champagne); }
.page-header .body-text { color: rgba(250,250,247,0.55); }

/* ═══════════════════════════════════════════
   STATS BAR (About page)
   ═══════════════════════════════════════════ */
.stats-bar { padding: 80px 32px; background: var(--espresso); position: relative; overflow: hidden; }
.stats-bar-lines {
  position: absolute; inset: 0; opacity: 0.025;
  background: repeating-linear-gradient(115deg, transparent, transparent 120px, rgba(200,181,144,0.15) 120px, rgba(200,181,144,0.15) 121px);
}
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; text-align: center; }
@media (max-width: 800px) { .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; } }
.stat-item { position: relative; }
.stat-item::after {
  content: ''; position: absolute; right: 0; top: 10%; height: 80%;
  width: 1px; background: rgba(200,181,144,0.12);
}
.stat-item:last-child::after { display: none; }
@media (max-width: 800px) { .stat-item:nth-child(2)::after { display: none; } }
.stats-bar .stat-val { font-size: 48px; font-weight: 300; color: var(--ivory); line-height: 1; margin-bottom: 8px; }
.stats-bar .stat-val { color: var(--ivory); }
.stats-bar .stat-val em { color: var(--champagne); font-style: normal; }

/* WHY SECTION (About page) */
.why-section { padding: 140px 32px 160px; position: relative; overflow: hidden; background: var(--ivory); }
.why-section .h2, .why-section .tag { color: var(--espresso); }
.why-section .h2 em { color: var(--gold-accent); }
.why-section .tag { color: var(--gold-accent); }
.why-section .body-text { color: rgba(59,54,49,0.85); }

/* ═══════════════════════════════════════════
   TEAM SECTION (About page)
   ═══════════════════════════════════════════ */
.team-section { padding: 140px 32px 160px; background: var(--parchment); }
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px; margin-top: 72px; }
@media (max-width: 800px) { .team-grid { grid-template-columns: 1fr; gap: 36px; } }
.team-card {
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 3px;
  overflow: hidden; transition: all 0.55s cubic-bezier(0.16,1,0.3,1); position: relative;
}
.team-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--champagne), var(--brass)); opacity: 0; transition: opacity 0.4s;
}
.team-card:hover { transform: translateY(-6px); box-shadow: 0 20px 56px rgba(44,33,24,0.08); border-color: var(--champagne); }
.team-card:hover::before { opacity: 1; }
.team-card-header { padding: 48px 44px 0; display: flex; align-items: flex-start; gap: 28px; }
.team-avatar {
  width: 80px; height: 80px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(200,181,144,0.15), rgba(200,181,144,0.05));
  border: 2px solid rgba(200,181,144,0.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--brass); font-family: 'DM Sans'; font-size: 24px; font-weight: 600;
  letter-spacing: 1px; transition: all 0.5s cubic-bezier(0.16,1,0.3,1);
}
.team-card:hover .team-avatar { background: var(--espresso); border-color: var(--espresso); color: var(--champagne); }
.team-info { padding-top: 6px; }
.team-name { font-size: 26px; font-weight: 400; color: var(--espresso); margin-bottom: 4px; line-height: 1.2; }
.team-title { font-family: 'DM Sans'; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--brass); font-weight: 600; }
.team-card-body { padding: 28px 44px 44px; }
.team-divider { width: 40px; height: 1px; background: linear-gradient(90deg, var(--champagne), transparent); margin-bottom: 20px; }
.team-bio { font-family: 'DM Sans'; font-size: 14px; line-height: 1.85; color: rgba(59,54,49,0.6); font-weight: 400; }

@media (max-width: 900px) {
  .why-section, .team-section { padding: 100px 24px 120px; }
  .stats-bar { padding: 60px 24px; }
  .team-card-header { padding: 36px 28px 0; gap: 20px; }
  .team-card-body { padding: 24px 28px 36px; }
  .team-avatar { width: 64px; height: 64px; font-size: 20px; }
  .team-name { font-size: 22px; }
}

/* ═══════════════════════════════════════════
   PRODUCTS PAGE (Jurisdiction tabs)
   ═══════════════════════════════════════════ */
.products-section { padding: 100px 32px 160px; background: var(--parchment); }
.jurisdiction-tabs {
  display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 64px;
  border-bottom: 2px solid var(--stone); position: relative;
}
.jurisdiction-tab {
  padding: 16px 28px; font-family: 'DM Sans'; font-weight: 500; font-size: 13px;
  letter-spacing: 1px; text-transform: uppercase;
  border: none; cursor: pointer; background: transparent; color: var(--brass);
  transition: all 0.4s cubic-bezier(0.22,1,0.36,1); position: relative;
  display: flex; align-items: center; gap: 10px;
}
.jurisdiction-tab::after {
  content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px;
  background: var(--espresso); transform: scaleX(0); transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.jurisdiction-tab:hover { color: var(--espresso); }
.jurisdiction-tab.active { color: var(--espresso); font-weight: 600; }
.jurisdiction-tab.active::after { transform: scaleX(1); }
.jurisdiction-tab .tab-flag { font-size: 18px; line-height: 1; }
@media (max-width: 700px) {
  .jurisdiction-tab { padding: 12px 16px; font-size: 11px; letter-spacing: 0.5px; gap: 6px; }
  .jurisdiction-tab .tab-flag { font-size: 15px; }
}
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 28px; }
@media (max-width: 420px) { .product-grid { grid-template-columns: 1fr; } }
.product-card {
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 3px;
  padding: 44px 38px; transition: all 0.55s cubic-bezier(0.16,1,0.3,1);
  position: relative; overflow: hidden;
}
.product-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--champagne), var(--brass)); opacity: 0; transition: opacity 0.4s;
}
.product-card:hover { transform: translateY(-6px); box-shadow: 0 20px 56px rgba(44,33,24,0.08); border-color: var(--champagne); }
.product-card:hover::before { opacity: 1; }
.product-card-icon {
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(200,181,144,0.12), rgba(200,181,144,0.04));
  border: 1px solid rgba(200,181,144,0.2);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px; color: var(--brass); transition: all 0.45s cubic-bezier(0.16,1,0.3,1);
}
.product-card:hover .product-card-icon { background: var(--espresso); border-color: var(--espresso); color: var(--champagne); transform: scale(1.06); }
.product-card-title { font-size: 24px; font-weight: 400; color: var(--espresso); margin-bottom: 14px; line-height: 1.2; }
.product-card-desc { font-family: 'DM Sans'; font-size: 14px; line-height: 1.8; color: rgba(59,54,49,0.6); margin-bottom: 24px; }
.product-card-details { list-style: none; padding: 0; border-top: 1px solid var(--stone); padding-top: 18px; }
.product-card-details li {
  font-family: 'DM Sans'; font-size: 13px; color: rgba(59,54,49,0.5);
  padding: 7px 0; display: flex; justify-content: space-between; align-items: center;
}
.product-card-details li strong { color: var(--espresso); font-weight: 600; font-size: 13px; text-align: right; }
.jurisdiction-content { position: relative; min-height: 200px; }
.jurisdiction-panel { display: none; opacity: 0; transform: translateY(16px); transition: opacity 0.5s cubic-bezier(0.22,1,0.36,1), transform 0.5s cubic-bezier(0.22,1,0.36,1); }
.jurisdiction-panel.active { display: block; }
.jurisdiction-panel.visible { opacity: 1; transform: none; }
.jurisdiction-panel.visible .product-card { animation: cardFadeIn 0.6s cubic-bezier(0.22,1,0.36,1) both; }
.jurisdiction-panel.visible .product-card:nth-child(1) { animation-delay: 0.05s; }
.jurisdiction-panel.visible .product-card:nth-child(2) { animation-delay: 0.1s; }
.jurisdiction-panel.visible .product-card:nth-child(3) { animation-delay: 0.15s; }
.jurisdiction-panel.visible .product-card:nth-child(4) { animation-delay: 0.2s; }
.jurisdiction-panel.visible .product-card:nth-child(5) { animation-delay: 0.25s; }
@keyframes cardFadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) { .products-section { padding: 80px 24px 120px; } }

/* ═══════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════ */
.contact-section { padding: 100px 32px 160px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.contact-form-group { margin-bottom: 28px; }
.contact-label {
  font-family: 'DM Sans'; font-size: 11px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--brass); font-weight: 600;
  margin-bottom: 10px; display: block;
}
.contact-input, .contact-textarea, .contact-select {
  width: 100%; padding: 16px 20px;
  font-family: 'DM Sans'; font-size: 14px; color: var(--espresso);
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 2px;
  transition: all 0.3s; outline: none;
}
.contact-input:focus, .contact-textarea:focus, .contact-select:focus {
  border-color: var(--champagne); box-shadow: 0 0 0 3px rgba(200,181,144,0.1);
}
.contact-input::placeholder, .contact-textarea::placeholder { color: rgba(59,54,49,0.35); }
.contact-textarea { resize: vertical; min-height: 140px; }
.contact-select {
  appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A89272' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
.contact-info-card {
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 3px;
  padding: 40px 36px; margin-bottom: 24px;
}
.contact-info-label { font-family: 'DM Sans'; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--brass); font-weight: 600; margin-bottom: 12px; }
.contact-info-value { font-size: 20px; font-weight: 400; color: var(--espresso); line-height: 1.5; }
.contact-info-value a { color: var(--espresso); text-decoration: none; transition: color 0.3s; }
.contact-info-value a:hover { color: var(--bronze); }
.contact-info-small { font-family: 'DM Sans'; font-size: 13px; color: rgba(59,54,49,0.55); line-height: 1.75; margin-top: 8px; }
.contact-reg { font-family: 'DM Sans'; font-size: 12px; line-height: 1.8; color: rgba(59,54,49,0.4); margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--stone); }
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .contact-section { padding: 60px 24px 120px; }
  .page-header { padding: 140px 24px 80px; }
}

/* Contact Form 7 integration styling */
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-bottom: 28px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"],
.wpcf7 textarea, .wpcf7 select {
  width: 100%; padding: 16px 20px;
  font-family: 'DM Sans'; font-size: 14px; color: var(--espresso);
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 2px;
  transition: all 0.3s; outline: none;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus {
  border-color: var(--champagne); box-shadow: 0 0 0 3px rgba(200,181,144,0.1);
}
.wpcf7 input[type="submit"] {
  background: var(--espresso); color: var(--champagne);
  padding: 16px 48px; font-family: 'DM Sans'; font-weight: 600; font-size: 12px;
  letter-spacing: 1.8px; text-transform: uppercase; border: none; cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16,1,0.3,1);
}
.wpcf7 input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 14px 44px rgba(44,33,24,0.15); background: var(--charcoal); }

/* ═══════════════════════════════════════════
   KNOWLEDGE / BLOG
   ═══════════════════════════════════════════ */
.blog-section { padding: 100px 32px 160px; }
.blog-featured {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 72px;
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 3px;
  overflow: hidden; transition: all 0.5s;
}
.blog-featured:hover { box-shadow: 0 16px 48px rgba(44,33,24,0.06); }
.blog-featured-img { position: relative; overflow: hidden; min-height: 400px; }
.blog-featured-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8) saturate(0.85); transition: transform 6s; }
.blog-featured:hover .blog-featured-img img { transform: scale(1.06); }
.blog-featured-content { padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; }
.blog-cat { font-family: 'DM Sans'; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--brass); font-weight: 600; margin-bottom: 16px; }
.blog-title { font-size: 30px; font-weight: 400; color: var(--espresso); line-height: 1.25; margin-bottom: 18px; }
.blog-excerpt { font-family: 'DM Sans'; font-size: 14px; line-height: 1.8; color: rgba(59,54,49,0.6); margin-bottom: 24px; }
.blog-meta { font-family: 'DM Sans'; font-size: 12px; color: var(--brass); font-weight: 500; }
.blog-read { font-family: 'DM Sans'; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--bronze); font-weight: 600; text-decoration: none; transition: color 0.3s; display: inline-flex; align-items: center; gap: 8px; }
.blog-read:hover { color: var(--espresso); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.blog-card {
  background: var(--ivory); border: 1px solid var(--stone); border-radius: 3px;
  overflow: hidden; transition: all 0.5s cubic-bezier(0.16,1,0.3,1);
}
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(44,33,24,0.06); }
.blog-card-img { position: relative; height: 220px; overflow: hidden; }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.8) saturate(0.85); transition: transform 6s; }
.blog-card:hover .blog-card-img img { transform: scale(1.06); }
.blog-card-content { padding: 32px 28px; }
.blog-card-title { font-size: 22px; font-weight: 400; color: var(--espresso); line-height: 1.25; margin-bottom: 12px; }
.blog-card-excerpt { font-family: 'DM Sans'; font-size: 13px; line-height: 1.75; color: rgba(59,54,49,0.55); margin-bottom: 20px; }
.blog-card-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid var(--stone); }
@media (max-width: 900px) {
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured-img { min-height: 260px; }
  .blog-featured-content { padding: 36px 28px; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-section { padding: 60px 24px 120px; }
}

/* ═══════════════════════════════════════════
   SINGLE POST
   ═══════════════════════════════════════════ */
.single-post-content { padding: 80px 32px 160px; }
.single-post-content .entry-content { max-width: 760px; margin: 0 auto; }
.single-post-content .entry-content p { font-family: 'DM Sans'; font-size: 16px; line-height: 1.9; color: rgba(59,54,49,0.75); margin-bottom: 24px; }
.single-post-content .entry-content h2 { font-size: 32px; font-weight: 400; color: var(--espresso); margin: 48px 0 20px; }
.single-post-content .entry-content h3 { font-size: 24px; font-weight: 400; color: var(--espresso); margin: 36px 0 16px; }
.single-post-content .entry-content img { max-width: 100%; height: auto; border-radius: 3px; margin: 32px 0; }
.single-post-content .entry-content blockquote { border-left: 3px solid var(--champagne); padding: 20px 32px; margin: 32px 0; background: var(--ivory); }
.single-post-content .entry-content blockquote p { font-style: italic; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; color: var(--espresso); }

/* ═══════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════ */
.footer {
  border-top: 1px solid rgba(200,181,144,0.12);
  padding: 64px 32px 36px; background: var(--espresso); color: var(--ivory);
}
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 48px; margin-bottom: 56px; }
.footer-heading { font-family: 'DM Sans'; font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--champagne); margin-bottom: 18px; font-weight: 600; }
.footer-text { font-family: 'DM Sans'; font-size: 13px; line-height: 1.75; color: rgba(250,250,247,0.35); font-weight: 400; }
.footer-link, .footer-link-a { display: block; background: none; border: none; color: rgba(250,250,247,0.4); cursor: pointer; font-family: 'DM Sans'; font-size: 13px; margin-bottom: 10px; transition: color 0.3s; text-align: left; font-weight: 400; text-decoration: none; }
.footer-link:hover, .footer-link-a:hover { color: var(--champagne); }
.footer-bottom { border-top: 1px solid rgba(200,181,144,0.08); padding-top: 20px; text-align: center; }
.footer-copy { font-family: 'DM Sans'; font-size: 11px; color: rgba(250,250,247,0.2); }

/* WordPress footer menu */
.footer .menu { list-style: none; padding: 0; margin: 0; }
.footer .menu li { list-style: none; }
.footer .menu li a { display: block; color: rgba(250,250,247,0.4); font-family: 'DM Sans'; font-size: 13px; margin-bottom: 10px; transition: color 0.3s; text-decoration: none; }
.footer .menu li a:hover { color: var(--champagne); }

/* ═══════════════════════════════════════════
   REVEAL ANIMATIONS
   ═══════════════════════════════════════════ */
.rv { opacity: 0; transform: translateY(40px); transition: all 0.9s cubic-bezier(0.22,1,0.36,1); }
.rv.vis { opacity: 1; transform: none; }
.rv-scale { opacity: 0; transform: scale(0.97); transition: all 1.2s cubic-bezier(0.22,1,0.36,1); }
.rv-scale.vis { opacity: 1; transform: none; }
.line-rv {
  height: 1px; max-width: 1280px; margin: 0 auto;
  background: linear-gradient(90deg, transparent, var(--stone), transparent);
  transform: scaleX(0); transition: all 1.4s cubic-bezier(0.16,1,0.3,1);
}
.line-rv.vis { transform: scaleX(1); }

/* ═══════════════════════════════════════════
   404 PAGE
   ═══════════════════════════════════════════ */
.error-404-content { padding: 200px 32px 160px; text-align: center; min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.error-404-content .error-num { font-size: 120px; font-weight: 300; color: var(--stone); line-height: 1; margin-bottom: 24px; }

/* ═══════════════════════════════════════════
   GLOBAL RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 900px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-img-wrap { height: 360px; }
  .stats-row { gap: 28px; flex-wrap: wrap; }
  .hero { padding-bottom: 60px; }
  .hero-h1 { font-size: clamp(30px, 8vw, 50px); }
  .img-divider { height: 220px; }
  .process { padding: 120px 24px; }
  .about, .why, .products { padding-left: 24px; padding-right: 24px; }
}

.hero-scroll-circle {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--champagne);
  color: var(--espresso);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.4s cubic-bezier(0.16,1,0.3,1);
  box-shadow: 0 4px 20px rgba(200,181,144,0.25);
}
.hero-scroll-circle svg {
  stroke: var(--espresso) !important;
  transition: all 0.3s;
}
.hero-scroll-indicator:hover .hero-scroll-circle {
  background: var(--champagne);
  transform: scale(1.1);
  box-shadow: 0 14px 44px rgba(200,181,144,0.3);
}
.hero-scroll-indicator:hover .hero-scroll-circle svg {
  stroke: var(--espresso) !important;
}
@keyframes heroScrollFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}
