/* ============================================================
   ANNURYA — HOMEPAGE STYLESHEET
   Self-contained: works even if style.css / animations.css /
   market-styles.css are missing or broken on the server.
   Palette: deep forest green + warm gold + ivory (your existing
   brand from footer.php), set as CSS variables below.
   ============================================================ */

:root{
  --forest:        #16271c;
  --forest-light:  #20392a;
  --ivory:         #f7f2e6;
  --ivory-dark:    #efe7d6;
  --charcoal:      #1b1b18;
  --gold:          #c9a455;
  --gold-light:    #e3c989;
  --text-dark:     #25281f;
  --text-muted:    #5b5d52;
  --text-on-dark:  #f8f4ed;
  --text-on-dark-muted: rgba(248,244,237,0.75);
  --white:         #ffffff;
  --border-soft:   rgba(22,39,28,0.12);
  --shadow-soft:   0 10px 40px rgba(22,39,28,0.10);
  --shadow-card:   0 4px 20px rgba(22,39,28,0.08);
  --radius:        18px;
  --radius-sm:     10px;
  --font-display:  'Cormorant Garamond', Georgia, serif;
  --font-body:     'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --transition:    all 0.25s ease;
  --container:     1180px;
}

/* ---------- RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text-dark);
  background:var(--ivory);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--forest);
  font-weight:600;
  line-height:1.15;
  margin:0 0 1rem;
}
em{ font-style:italic; color:var(--gold); }
p{ margin:0 0 1rem; color:var(--text-muted); }
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* ---------- LINKS WITHIN BODY COPY (interlinks) ---------- */
.content-section p a,
.faq-section p a{
  color:var(--forest);
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-underline-offset:3px;
  font-weight:500;
  transition:var(--transition);
}
.content-section p a:hover,
.faq-section p a:hover{ color:var(--gold); }

/* ============================================================
   HEADER / NAVIGATION  (header.php)
   ------------------------------------------------------------
   REMOVED: this file used to duplicate the entire nav/dropdown/
   hamburger component that style.css already owns and loads
   first. Two copies of the same component, with different
   colors and a different mobile breakpoint (this file used
   900px, style.css uses 768px), meant the homepage silently
   overrode style.css's nav with slightly different behavior
   than every inner page. style.css is now the single source
   of truth for .site-header, .nav-links, .nav-dropdown,
   .dropdown-menu, and .hamburger on every page, including
   this one.
   ============================================================ */


/* ============================================================
   BUTTONS
   ============================================================ */
.btn-primary,.btn-secondary,.btn-ghost{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 30px; border-radius:100px;
  font-family:var(--font-body); font-weight:600; font-size:0.95rem;
  cursor:pointer; border:2px solid transparent; transition:var(--transition);
}
.btn-primary{ background:var(--gold); color:var(--forest); }
.btn-primary:hover{ background:var(--gold-light); transform:translateY(-2px); box-shadow:var(--shadow-soft); }
.btn-primary.btn-inverse{ background:var(--ivory); color:var(--forest); }
.btn-primary.btn-inverse:hover{ background:var(--gold-light); }
.btn-secondary{ background:transparent; border-color:var(--forest); color:var(--forest); }
.btn-secondary:hover{ background:var(--forest); color:var(--ivory); }
.btn-ghost{ background:transparent; color:var(--forest); border-color:var(--border-soft); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }
.btn-large{ padding:18px 40px; font-size:1.05rem; }

/* ============================================================
   HERO
   ============================================================ */
.page-hero{
  background:radial-gradient(ellipse at 75% 20%, #1f3a28 0%, var(--forest) 55%, #0f1d14 100%);
  padding:120px 5% 80px;
  position:relative;
  overflow:hidden;
}
.page-hero::after{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:0.4; pointer-events:none;
}

/* Floating 3D gradient orbs — decorative depth layer behind hero copy */
.hero-orb{
  position:absolute; border-radius:50%; pointer-events:none;
  filter:blur(2px); z-index:0; will-change:transform;
}
.hero-orb-1{
  width:380px; height:380px; top:-120px; right:-60px;
  background:radial-gradient(circle at 35% 35%, rgba(201,164,85,0.35), rgba(201,164,85,0) 70%);
  animation:orbFloat1 11s ease-in-out infinite;
}
.hero-orb-2{
  width:260px; height:260px; bottom:-80px; right:18%;
  background:radial-gradient(circle at 35% 35%, rgba(232,201,138,0.22), rgba(232,201,138,0) 70%);
  animation:orbFloat2 9s ease-in-out infinite;
}
.hero-orb-3{
  width:160px; height:160px; top:18%; left:-40px;
  background:radial-gradient(circle at 35% 35%, rgba(248,244,237,0.12), rgba(248,244,237,0) 70%);
  animation:orbFloat1 13s ease-in-out infinite reverse;
}
@keyframes orbFloat1{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(-24px,26px) scale(1.06); }
}
@keyframes orbFloat2{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(20px,-18px) scale(1.08); }
}
@media (prefers-reduced-motion:reduce){
  .hero-orb{ animation:none !important; }
}
.page-hero-inner{ max-width:var(--container); margin:0 auto; position:relative; z-index:1; }
.eyebrow{
  display:inline-block; padding:8px 20px; border:1px solid rgba(201,164,85,0.4);
  border-radius:100px; color:var(--gold-light); font-size:0.78rem; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase; margin-bottom:28px;
}
.page-hero h1{
  color:var(--ivory); font-size:clamp(2.3rem, 4.6vw, 3.8rem);
  max-width:18ch; margin-bottom:24px; font-weight:500;
}
.page-hero h1 em{ color:var(--gold-light); font-style:italic; }
.hero-sub{
  color:var(--text-on-dark-muted); font-size:1.1rem; max-width:62ch; margin-bottom:36px;
}
.hero-cta-row{ display:flex; flex-wrap:wrap; gap:16px; margin-bottom:40px; }
.hero-cta-row .btn-ghost{ color:var(--ivory); border-color:rgba(248,244,237,0.3); }
.hero-cta-row .btn-ghost:hover{ border-color:var(--gold); color:var(--gold-light); }
.hero-trust-row{ display:flex; flex-wrap:wrap; gap:14px; }
.hero-trust-row span{
  background:rgba(248,244,237,0.07); border:1px solid rgba(248,244,237,0.12);
  padding:9px 16px; border-radius:100px; font-size:0.85rem; color:var(--text-on-dark-muted);
}

/* Stat strip directly under hero */
.stat-strip{
  background:var(--white); border-top:1px solid var(--border-soft);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat-strip div{
  text-align:center; padding:38px 16px; border-right:1px solid var(--border-soft);
}
.stat-strip div:last-child{ border-right:none; }
/* Bracket the outer edges so the first and last items are framed the
   same way as the interior ones, instead of trailing off into open
   padding on one side (see market-styles.css for the sitewide version
   of this fix). This selector is more specific than .stat-item in
   market-styles.css, so it must carry the fix here directly or it gets
   silently overridden on this page only. */
.stat-strip div:first-child{ border-left:1px solid var(--border-soft); }
.stat-strip div:last-child{ border-right:1px solid var(--border-soft); }
.stat-strip .stat-num{
  font-family:var(--font-display); font-size:2.4rem; color:var(--forest); display:block; font-weight:600;
}
.stat-strip .stat-label{
  font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-muted); font-weight:600;
}
/* Mobile stat-strip layout is intentionally NOT duplicated here —
   market-styles.css already handles this consistently sitewide
   (single-column stack below 768px). This file previously had its
   own competing 2-column version at 700px that won on specificity,
   causing the layout to flip inconsistently right at that breakpoint
   and diverge from every other page on the site. Removed. */

/* ============================================================
   TRUST MARQUEE — continuous scrolling strip under the hero
   ============================================================ */
.trust-marquee{
  background:var(--ivory-dark); border-bottom:1px solid var(--border-soft);
  padding:22px 0; overflow:hidden; position:relative;
}
.trust-marquee::before,.trust-marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
}
.trust-marquee::before{ left:0; background:linear-gradient(90deg,var(--ivory-dark),transparent); }
.trust-marquee::after{ right:0; background:linear-gradient(270deg,var(--ivory-dark),transparent); }
.marquee-track{
  display:flex; align-items:center; gap:48px; width:max-content;
  animation:marqueeScroll 32s linear infinite;
}
.trust-marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-item{
  display:flex; align-items:center; gap:10px; white-space:nowrap;
  font-family:var(--font-body); font-size:0.85rem; font-weight:600;
  letter-spacing:0.04em; text-transform:uppercase; color:var(--text-muted);
}
.marquee-item .dot{ width:5px; height:5px; border-radius:50%; background:var(--gold); flex-shrink:0; }
@keyframes marqueeScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{ animation:none; }
}
@media (max-width:600px){
  .marquee-item{ font-size:0.75rem; }
  .marquee-track{ gap:32px; }
}

/* ============================================================
   GENERIC CONTENT SECTIONS
   ============================================================ */
.content-section{ padding:90px 5%; }
.content-section.alt-bg{ background:var(--ivory-dark); }
.content-inner{ max-width:var(--container); margin:0 auto; }
.section-label{
  text-transform:uppercase; letter-spacing:0.08em; font-size:0.78rem; font-weight:700;
  color:var(--gold); margin-bottom:18px; display:flex; align-items:center; gap:10px;
}
.section-label::before{ content:""; width:24px; height:2px; background:var(--gold); display:inline-block; }
.content-section h2{
  font-size:clamp(1.8rem,3vw,2.5rem); border-left:3px solid var(--gold); padding-left:18px; margin-bottom:22px;
}
.content-section > .content-inner > p{ max-width:78ch; font-size:1.05rem; }

/* ============================================================
   RESULTS / CASE STUDIES  (new — proof section like AdLift)
   ============================================================ */
.results-section{ background:var(--forest); padding:90px 5%; position:relative; overflow:hidden; }
.results-section::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:26px 26px;
}
.results-inner{ max-width:var(--container); margin:0 auto; position:relative; z-index:1; }
.results-inner .section-label{ color:var(--gold-light); }
.results-inner .section-label::before{ background:var(--gold-light); }
.results-inner h2{ color:var(--ivory); border-left-color:var(--gold-light); }
.results-inner > p{ color:var(--text-on-dark-muted); max-width:70ch; font-size:1.05rem; margin-bottom:46px; }

.case-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; perspective:1200px; }
.case-card{
  background:rgba(248,244,237,0.05); border:1px solid rgba(248,244,237,0.14);
  border-radius:var(--radius); padding:34px; transition:transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  position:relative; overflow:hidden; transform-style:preserve-3d; will-change:transform;
}
.case-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  transform:scaleX(0); transform-origin:left; transition:transform 0.4s ease;
}
.case-card::after{
  content:""; position:absolute; inset:0; opacity:0; pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(201,164,85,0.16), transparent 60%);
  transition:opacity 0.3s ease;
}
.case-card:hover{ background:rgba(248,244,237,0.09); border-color:var(--gold); box-shadow:0 20px 50px rgba(0,0,0,0.28); }
.case-card:hover::before{ transform:scaleX(1); }
.case-card:hover::after{ opacity:1; }
.case-card .case-stat{
  font-family:var(--font-display); font-size:2.6rem; color:var(--gold-light); display:block; line-height:1;
  margin-bottom:10px; font-weight:600;
}
.case-card .case-client{ color:var(--ivory); font-weight:600; font-size:1rem; margin-bottom:6px; }
.case-card .case-desc{ color:var(--text-on-dark-muted); font-size:0.92rem; margin-bottom:0; }
.case-card a.case-link{
  display:inline-block; margin-top:14px; color:var(--gold-light); font-weight:600; font-size:0.88rem;
  text-decoration:underline; text-underline-offset:3px;
}
@media (max-width:760px){ .case-grid{ grid-template-columns:1fr; } }
@media (hover:none){
  .case-card{ transform:none !important; }
}

/* ============================================================
   WHO WE SERVE (cards)
   ============================================================ */
.serve-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
.serve-card{
  background:var(--white); border-radius:var(--radius); padding:32px 28px;
  box-shadow:var(--shadow-card); transition:var(--transition); display:block; border:1px solid transparent;
}
.serve-card:hover{ transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--shadow-soft); }
.serve-icon{ font-size:2rem; display:block; margin-bottom:14px; }
.serve-card h3{ font-size:1.3rem; margin-bottom:10px; }
.serve-card p{ font-size:0.94rem; margin-bottom:0; }
@media (max-width:900px){ .serve-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .serve-grid{ grid-template-columns:1fr; } }

/* ============================================================
   FLAGSHIP CARD
   ============================================================ */
.flagship-section{ padding-top:0; }
.flagship-card{
  background:linear-gradient(135deg, var(--forest) 0%, #0f1d14 100%);
  border-radius:24px; padding:60px; position:relative; overflow:hidden;
}
.flagship-label{ color:var(--gold-light); }
.flagship-label::before{ background:var(--gold-light); }
.flagship-card .flagship-h2{ color:var(--ivory) !important; font-size:clamp(1.8rem,3vw,2.6rem); border:none; padding:0; max-width:20ch; margin-bottom:18px; }
.flagship-card .flagship-p{ color:var(--text-on-dark-muted) !important; max-width:70ch; font-size:1.05rem; margin-bottom:30px; }

/* ============================================================
   SERVICES LIST (numbered rows)
   ============================================================ */
.service-row{
  display:grid; grid-template-columns:80px 1fr; gap:24px; align-items:start;
  padding:28px 20px; border-bottom:1px solid var(--border-soft);
  border-left:3px solid transparent; border-radius:10px;
  transition:background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.service-row:first-of-type{ border-top:1px solid var(--border-soft); }
.service-row:hover{
  background:var(--ivory-dark);
  border-left-color:var(--gold);
  transform:translateX(4px);
}
.service-num{ font-family:var(--font-display); font-size:2.2rem; color:var(--gold); opacity:0.6; transition:opacity 0.3s ease, color 0.3s ease; }
.service-row:hover .service-num{ opacity:1; color:var(--gold-light); }
.service-row h3{ font-size:1.4rem; margin-bottom:8px; transition:color 0.3s ease; }
.service-row:hover h3{ color:var(--gold); }
.service-row a{ color:var(--gold); font-weight:600; font-size:0.92rem; display:inline-flex; align-items:center; gap:4px; transition:gap 0.25s ease; }
.service-row a:hover{ text-decoration:underline; gap:9px; }

/* ============================================================
   SERVICES SLIDER
   ============================================================ */
.services-slider-wrap{ position:relative; margin-top:40px; }
.services-slider-viewport{ overflow:hidden; border-radius:18px; }
.services-slider{
  display:flex; transition:transform 0.5s ease;
}
.services-slider .service-row{
  flex:0 0 100%; width:100%; box-sizing:border-box;
  border:1px solid var(--border-soft);
  border-radius:18px; background:var(--white); padding:40px 44px;
}
.services-slider .service-row:hover{ transform:none; }
.slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:50%; background:var(--white); border:1px solid var(--border-soft);
  box-shadow:var(--shadow-card); display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; line-height:1; color:var(--forest); cursor:pointer; transition:var(--transition);
}
.slider-arrow:hover{ background:var(--gold); color:var(--white); border-color:var(--gold); }
.slider-prev{ left:-22px; }
.slider-next{ right:-22px; }
.slider-dots{ display:flex; justify-content:center; gap:8px; margin-top:24px; }
.slider-dot{
  width:8px; height:8px; border-radius:50%; background:var(--border-soft); cursor:pointer;
  transition:var(--transition); border:none; padding:0;
}
.slider-dot.active{ background:var(--gold); width:22px; border-radius:4px; }
@media (max-width:720px){
  .slider-arrow{ display:none; }
  .services-slider .service-row{ padding:32px 26px; }
}

/* ============================================================
   PROCESS GRID
   ============================================================ */
.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:40px; }
.process-grid > div{
  background:var(--white); border-radius:var(--radius); padding:36px 28px; box-shadow:var(--shadow-card);
  border:1px solid transparent; transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.process-grid > div:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-soft);
  border-color:var(--gold);
}
.process-num{ font-family:var(--font-display); color:var(--gold); font-size:1.6rem; display:inline-block; transition:color 0.3s ease; }
.process-grid > div:hover .process-num{ color:var(--gold-light); }
.process-grid h3{ font-size:1.15rem; margin:16px 0 10px; display:block; }
.process-grid h3::after{ content:none !important; }
.process-grid p{ font-size:0.9rem; margin-bottom:0; line-height:1.6; }
@media (max-width:900px){ .process-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .process-grid{ grid-template-columns:1fr; } }

/* ============================================================
   PRICING
   ============================================================ */
.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; align-items:stretch; }
.price-card{
  background:var(--white); border-radius:var(--radius); padding:38px 32px; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column;
}
.price-card.featured{ background:var(--forest); color:var(--ivory); transform:scale(1.03); box-shadow:var(--shadow-soft); position:relative; }
.price-card.featured h3,.price-card.featured .price-sub{ color:var(--ivory); }
.price-badge{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--gold); color:var(--forest); padding:6px 18px; border-radius:100px;
  font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;
}
.price-card h3{ font-size:1.6rem; margin-bottom:6px; }
.price-sub{ color:var(--text-muted); font-size:0.92rem; margin-bottom:20px; }
.price-card ul{ flex:1; margin-bottom:24px; }
.price-card ul li{
  padding:10px 0; border-bottom:1px solid rgba(0,0,0,0.06); font-size:0.92rem; position:relative; padding-left:22px;
}
.price-card.featured ul li{ border-bottom-color:rgba(248,244,237,0.15); }
.price-card ul li::before{ content:"→"; position:absolute; left:0; color:var(--gold); }
@media (max-width:900px){ .pricing-grid{ grid-template-columns:1fr; } .price-card.featured{ transform:none; order:-1; } }

/* ============================================================
   TESTIMONIALS (new)
   ============================================================ */
.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
.testimonial-card{
  background:var(--white); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; justify-content:space-between;
  border:1px solid transparent; transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.testimonial-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-soft);
  border-color:var(--gold);
}
.testimonial-card .quote-mark{ font-family:var(--font-display); font-size:2.6rem; color:var(--gold); line-height:0.5; display:block; margin-bottom:14px; transition:color 0.3s ease; }
.testimonial-card:hover .quote-mark{ color:var(--gold-light); }
.testimonial-card p.quote{ font-style:italic; color:var(--text-dark); font-size:1rem; margin-bottom:18px; }
.testimonial-card .quote-author{ font-weight:700; color:var(--forest); font-size:0.92rem; }
.testimonial-card .quote-role{ color:var(--text-muted); font-size:0.85rem; }
@media (max-width:900px){ .testimonial-grid{ grid-template-columns:1fr; } }

/* ============================================================
   FOUNDERS
   ============================================================ */
.founder-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin:40px 0; }
.founder-card{ background:var(--white); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow-card); }
.founder-card img{
  width:64px; height:64px; border-radius:50%; object-fit:cover; margin-bottom:18px; border:3px solid var(--ivory-dark);
}
.founder-card h3{ font-size:1.3rem; margin-bottom:4px; }
.founder-role{
  text-transform:uppercase; font-size:0.75rem; font-weight:700; letter-spacing:0.04em;
  color:var(--gold); margin-bottom:14px;
}
.founder-card p:last-child{ font-size:0.94rem; margin-bottom:0; }
@media (max-width:700px){ .founder-grid{ grid-template-columns:1fr; } }

/* ============================================================
   MARKETS STRIP
   ============================================================ */
.markets-strip{ background:var(--forest); padding:80px 5%; text-align:center; }
.markets-strip .inner{ max-width:var(--container); margin:0 auto; }
.markets-strip h2{ color:var(--ivory); border:none; padding:0; font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:36px; }
.market-pills{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.market-pill{
  background:rgba(248,244,237,0.08); border:1px solid rgba(248,244,237,0.18);
  padding:12px 24px; border-radius:100px; color:var(--ivory); font-weight:500; font-size:0.95rem;
  transition:var(--transition);
}
.market-pill:hover{ background:var(--gold); color:var(--forest); border-color:var(--gold); }

/* ============================================================
   FAQ
   ============================================================ */
.faq-section{ padding:90px 5%; background:var(--ivory-dark); }
.faq-section .inner{ max-width:860px; margin:0 auto; }
.faq-section h2{ font-size:clamp(1.8rem,3vw,2.4rem); border-left:3px solid var(--gold); padding-left:18px; margin-bottom:36px; }
.faq-item{
  background:var(--white); border-radius:var(--radius-sm); padding:22px 26px; margin-bottom:14px;
  box-shadow:var(--shadow-card); cursor:pointer;
}
.faq-item summary{
  font-weight:600; color:var(--forest); font-size:1.05rem; list-style:none; display:flex;
  justify-content:space-between; align-items:center; gap:16px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:1.4rem; color:var(--gold); flex-shrink:0; transition:var(--transition); }
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ margin-top:14px; margin-bottom:0; font-size:0.96rem; }

/* ============================================================
   FINAL CTA
   ============================================================ */
.cta-section{
  background:radial-gradient(ellipse at 30% 30%, #20392a 0%, var(--forest) 60%, #0f1d14 100%);
  padding:100px 5%; text-align:center;
}
.cta-container{ max-width:780px; margin:0 auto; }
.cta-section h2{ color:var(--ivory); border:none; padding:0; font-size:clamp(2rem,4vw,2.8rem); margin-bottom:20px; }
.cta-section p{ color:var(--text-on-dark-muted); font-size:1.05rem; margin-bottom:34px; }
.cta-markets{ margin-top:24px; color:var(--text-on-dark-muted); font-size:0.85rem; letter-spacing:0.02em; }

/* ============================================================
   FOOTER  (footer.php structural classes — site-wide)
   ============================================================ */
.site-footer{ background:var(--charcoal); color:var(--text-on-dark-muted); padding:80px 5% 0; }
.footer-container{
  max-width:var(--container); margin:0 auto;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:2.5rem;
  padding-bottom:60px;
}
.site-footer .logo-text,.site-footer .logo-mark{ color:var(--ivory); }
.site-footer .logo-mark{ background:var(--gold); color:var(--forest); }
.footer-brand p{ color:var(--text-on-dark-muted); font-size:0.9rem; margin:18px 0 20px; max-width:32ch; }
.footer-social{ display:flex; gap:12px; margin-top:18px; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(248,244,237,0.2);
  display:flex; align-items:center; justify-content:center; font-size:0.72rem; font-weight:700;
  color:var(--text-on-dark-muted); transition:var(--transition);
}
.footer-social a:hover{ background:var(--gold); color:var(--forest); border-color:var(--gold); }
.footer-links h4{
  color:var(--ivory); font-family:var(--font-body); font-size:0.82rem; text-transform:uppercase;
  letter-spacing:0.06em; margin-bottom:18px; font-weight:700;
}
.footer-links ul li{ margin-bottom:11px; }
.footer-links ul li a{ color:var(--text-on-dark-muted); font-size:0.9rem; transition:var(--transition); }
.footer-links ul li a:hover{ color:var(--gold-light); }
.footer-bottom{
  max-width:var(--container); margin:0 auto; padding:26px 0;
  border-top:1px solid rgba(248,244,237,0.1);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
}
.footer-bottom p{ margin:0; font-size:0.82rem; color:var(--text-on-dark-muted); }
.footer-legal{ display:flex; gap:20px; }
.footer-legal a{ font-size:0.82rem; color:var(--text-on-dark-muted); }
.footer-legal a:hover{ color:var(--gold-light); }

@media (max-width:1000px){
  .footer-container{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .footer-container{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; text-align:center; }
}

/* ============================================================
   RESPONSIVE — general sections
   ============================================================ */
@media (max-width:900px){
  .case-grid{ grid-template-columns:1fr; }
  .testimonial-grid{ grid-template-columns:1fr; }
  .founder-grid{ grid-template-columns:1fr; }
  .flagship-card{ padding:40px 28px; }
  .content-section,.results-section,.markets-strip,.faq-section,.cta-section{ padding-left:6%; padding-right:6%; }
}
@media (max-width:600px){
  .page-hero{ padding:100px 6% 60px; }
  .hero-cta-row{ flex-direction:column; align-items:flex-start; }
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; }
}
