/* ============================================================
   MixedMedia — design system (Rooted)
   One trusted partner, two distinct communities.
   Palette: green-forward, wood-warm. Type: Spectral + Figtree.
   Used by index, davis, fairfield, get-started, privacy, terms.
   ============================================================ */

:root{
  --canvas:   #EEEDE3;   /* warm paper */
  --canvas-2: #E5E6D8;   /* panel */
  --ink:      #23271F;   /* deep warm green-black */
  --ink-soft: #4C5142;   /* muted text */
  --canopy:   #2E4636;   /* primary brand: deep canopy green */
  --sage:     #6F8060;   /* mid sage */
  --leaf:     #A8B894;   /* light leaf */
  --bark:     #574531;   /* walnut */
  --oak:      #8E6E49;   /* light oak */
  --clay:     #B0764A;   /* single warm accent, used sparingly */
  --line:     #CDCBBB;   /* hairline */

  --font-display: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-body: 'Figtree', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  --step-eyebrow: 0.78rem;
  --step-h1: clamp(2.6rem, 6vw, 5rem);
  --step-h2: clamp(1.9rem, 4vw, 3rem);
  --step-h3: clamp(1.2rem, 2vw, 1.5rem);
  --step-body: clamp(1rem, 1.05vw, 1.12rem);
  --step-lead: clamp(1.12rem, 1.6vw, 1.35rem);

  --maxw: 1180px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --rhythm: clamp(4.5rem, 9vw, 8rem);
  --radius: 4px;
  --radius-lg: 10px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--canvas); color:var(--ink);
  font-family:var(--font-body); font-size:var(--step-body); line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.06;letter-spacing:-0.01em;margin:0;}
p{margin:0 0 1rem;}
a{color:inherit;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
.section{padding-block:var(--rhythm);}

.eyebrow{
  font-size:var(--step-eyebrow);letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  color:var(--sage);display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;
}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:var(--clay);display:inline-block;}

.lead{font-size:var(--step-lead);color:var(--ink-soft);max-width:42ch;}
.measure{max-width:60ch;}

.skip{position:absolute;left:-9999px;top:0;background:var(--canopy);color:#fff;padding:.7rem 1rem;z-index:200;border-radius:0 0 var(--radius) 0;}
.skip:focus{left:0;}

a:focus-visible,button:focus-visible,.panel:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--clay);outline-offset:3px;border-radius:2px;
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-weight:600;font-size:1rem;
  padding:.95rem 1.5rem;border-radius:var(--radius);text-decoration:none;cursor:pointer;border:1.5px solid transparent;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease);}
.btn-primary{background:var(--canopy);color:#F4F3EA;}
.btn-primary:hover{background:#243a2c;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--canopy);border-color:var(--canopy);}
.btn-ghost:hover{background:rgba(46,70,54,.08);transform:translateY(-2px);}
.btn .btn-arrow::after{content:"\2192";transition:transform .25s var(--ease);}
.btn:hover .btn-arrow::after{transform:translateX(3px);}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(238,237,227,.86);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem;}
.brand{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;color:var(--canopy);}
.brand .mark{font-family:var(--font-display);font-weight:600;font-size:1.35rem;letter-spacing:-.02em;}
.brand .mark em{font-style:italic;color:var(--clay);}
.brand .sub{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}
.nav-links{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0;}
.nav-links a:not(.btn){text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem;padding-bottom:2px;border-bottom:1.5px solid transparent;transition:border-color .2s,color .2s;}
.nav-links a:not(.btn):hover,.nav-links a:not(.btn)[aria-current="page"]{color:var(--canopy);border-color:var(--clay);}
.nav-cta{margin-left:.4rem;}
.nav-toggle{display:none;background:none;border:1.5px solid var(--canopy);border-radius:var(--radius);color:var(--canopy);font-weight:600;padding:.5rem .8rem;cursor:pointer;}

/* Hero (home) */
.hero{position:relative;overflow:hidden;background:var(--canopy);color:#F2F1E6;}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.13);transform-origin:left center;z-index:0;}
.hero-scrim{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg, rgba(25,41,30,.95) 0%, rgba(25,41,30,.88) 28%, rgba(27,44,32,.58) 56%, rgba(27,44,32,.20) 82%, rgba(27,44,32,.04) 100%),
    linear-gradient(0deg, rgba(17,27,19,.50) 0%, rgba(17,27,19,0) 32%);}
.hero-inner{position:relative;z-index:2;padding-block:clamp(4rem,11vw,8.5rem);}
.hero .eyebrow{color:var(--leaf);}
.hero h1{font-size:var(--step-h1);font-weight:400;max-width:14ch;color:#F4F3E8;}
.hero h1 em{font-style:italic;color:var(--leaf);}
.hero-sub{font-size:var(--step-lead);max-width:38ch;color:#D9DCC9;margin:1.4rem 0 2rem;line-height:1.55;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.hero .btn-ghost{color:#F2F1E6;border-color:rgba(242,241,230,.5);}
.hero .btn-ghost:hover{background:rgba(255,255,255,.08);}
.hero-trust{margin-top:2.4rem;font-size:.9rem;color:#B9C0A6;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(168,184,148,.28);margin-top:2.8rem;border:1px solid rgba(168,184,148,.28);border-radius:var(--radius);overflow:hidden;}
.pillar{background:rgba(22,36,26,.62);backdrop-filter:blur(3px);padding:1.1rem 1.15rem;}
.pillar .t{font-weight:700;font-size:.92rem;color:#F2F1E6;}
.pillar .d{font-size:.82rem;color:#B9C0A6;margin-top:.25rem;line-height:1.4;}

/* Town hero (community pages) */
.townhero{position:relative;overflow:hidden;color:#F2F1E6;padding-block:clamp(3.5rem,9vw,7rem);}
.townhero.davis{background:#274434;}
.townhero.fairfield{background:#33402a;}
.townhero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:0;}
.townhero-scrim{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg, rgba(20,34,24,.93) 0%, rgba(20,34,24,.82) 32%, rgba(22,38,27,.55) 64%, rgba(22,38,27,.26) 100%),
    linear-gradient(0deg, rgba(13,23,15,.55) 0%, rgba(13,23,15,0) 42%);}
.townhero .inner{position:relative;z-index:2;}
.townhero .eyebrow{color:var(--leaf);}
.townhero h1{font-size:var(--step-h1);color:#F4F3E8;font-weight:400;max-width:16ch;}
.townhero .sub{font-size:var(--step-lead);color:#D9DCC9;max-width:48ch;margin:1.2rem 0 2rem;}
.townhero .btn-ghost{color:#F2F1E6;border-color:rgba(242,241,230,.5);}

.section-head{max-width:50ch;}
.section-head h2{font-size:var(--step-h2);margin-bottom:.9rem;}

/* Pain */
.pain .big{font-size:clamp(1.6rem,3vw,2.4rem);font-family:var(--font-display);line-height:1.18;color:var(--ink);max-width:24ch;}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:2.4rem;}
.card{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.7rem 1.6rem;position:relative;overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -22px rgba(35,39,31,.5);border-color:var(--leaf);}
.card .ico{width:34px;height:34px;color:var(--sage);margin-bottom:1rem;}
.card h3{font-size:var(--step-h3);margin-bottom:.5rem;}
.card .tag{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:600;margin-bottom:.7rem;}
.card p{margin:0;color:var(--ink-soft);font-size:.98rem;}
.sysband{background:var(--canvas-2);}

/* Community signature (home) */
.community{background:var(--canopy);color:#EEEDE0;}
.community .eyebrow{color:var(--leaf);}
.community h2{color:#F2F1E6;font-size:var(--step-h2);}
.community .intro{color:#C9CFB6;max-width:52ch;margin-top:.8rem;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.6rem;}
.panel{position:relative;display:block;text-decoration:none;color:#F1F0E4;border:1px solid rgba(168,184,148,.34);border-radius:var(--radius-lg);
  padding:2rem 1.9rem;min-height:300px;overflow:hidden;isolation:isolate;background:#28402f;
  transition:transform .35s var(--ease), border-color .35s var(--ease);}
.panel-art{position:absolute;inset:0;z-index:-1;opacity:.5;transition:opacity .4s var(--ease), transform .6s var(--ease);}
.panel-art svg{width:100%;height:100%;}
.panel:hover,.panel:focus-visible{transform:translateY(-4px);border-color:var(--clay);}
.panel:hover .panel-art,.panel:focus-visible .panel-art{opacity:.78;transform:scale(1.04);}
.panel .kicker{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--leaf);font-weight:600;}
.panel h3{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.7rem);margin:.4rem 0 .6rem;color:#F4F3E8;}
.panel .desc{color:#CFD4BD;font-size:1rem;max-width:30ch;}
.panel .pstat{margin-top:1.4rem;display:flex;align-items:baseline;gap:.5rem;}
.panel .pstat b{font-family:var(--font-display);font-size:1.7rem;color:#F4F3E8;font-weight:600;}
.panel .pstat span{font-size:.85rem;color:#C9CFB6;}
.panel .areas{font-size:.82rem;color:#A9B292;margin-top:.65rem;line-height:1.5;}
.panel .go{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:#F2F1E6;border-bottom:1.5px solid var(--clay);padding-bottom:2px;width:max-content;}
.panel .go::after{content:"\2192";transition:transform .25s var(--ease);}
.panel:hover .go::after{transform:translateX(4px);}
.panel-davis{background:#274434;}
.panel-fairfield{background:#33402a;}

/* Reach / proof */
.reach{background:var(--canvas);}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat{padding:2rem 1rem 2rem 0;}
.stat .num{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:600;color:var(--canopy);line-height:1;}
.stat .num .pre{color:var(--clay);}
.stat .lbl{margin-top:.7rem;font-size:.95rem;color:var(--ink-soft);max-width:26ch;}
.affluence{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:start;margin-top:1rem;}
.affluence p{color:var(--ink-soft);}
.source{font-size:.78rem;color:var(--sage);margin-top:.8rem;font-style:italic;}
.pullquote{border-left:3px solid var(--clay);padding:.4rem 0 .4rem 1.5rem;font-family:var(--font-display);font-style:italic;font-size:1.25rem;line-height:1.4;color:var(--ink);}
.pullquote cite{display:block;margin-top:.8rem;font-style:normal;font-size:.85rem;color:var(--ink-soft);}

/* Distribution map (community pages) */
.map-figure{margin:2.4rem 0 0;}
.map-figure img{width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);}
.map-figure figcaption{font-size:.82rem;color:var(--sage);margin-top:.7rem;font-style:italic;}

/* Flagship / covers */
.flagship{background:var(--canvas-2);}
.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.4rem;}
.cover-img{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);transition:transform .3s var(--ease);box-shadow:0 10px 26px -20px rgba(0,0,0,.6);}
.cover-img:hover{transform:translateY(-4px) rotate(-.5deg);}
.cover-img img{width:100%;height:auto;display:block;}
.covers-note{font-size:.82rem;color:var(--sage);margin-top:1.1rem;font-style:italic;}

/* Advertiser categories (community pages) */
.tags-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem;}
.tagchip{border:1px solid var(--line);border-radius:100px;padding:.5rem 1rem;font-size:.88rem;color:var(--ink-soft);background:var(--canvas);}

/* Why */
.why{background:var(--canvas);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.4rem;}
.why-grid h3{font-size:var(--step-h3);margin-bottom:.6rem;}
.why-grid p{color:var(--ink-soft);font-size:.98rem;margin:0;}
.why-grid .n{font-family:var(--font-display);color:var(--leaf);font-size:1.4rem;}

/* Human / Julia */
.human{background:var(--bark);color:#F1ECE2;}
.human-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;}
.human .eyebrow{color:#D8B98F;}
.human h2{color:#F4EFE6;font-size:var(--step-h2);margin-bottom:1.2rem;}
.human p{color:#E2D8C9;}
.human blockquote{margin:0;font-family:var(--font-display);font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.4;color:#F4EFE6;font-style:italic;}
.human .sig{margin-top:1.4rem;font-family:var(--font-display);font-size:1.2rem;color:#F4EFE6;}
.human .role{font-size:.85rem;color:#CDBFAC;}
.portrait{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(160deg,#6f5a40,#4a3a28);
  border:1px solid rgba(255,255,255,.12);display:flex;align-items:flex-end;justify-content:center;color:#cdbfac;font-size:.8rem;text-align:center;padding:1rem;}
.portrait img{width:100%;height:100%;object-fit:cover;}
.portrait span{background:rgba(0,0,0,.3);padding:.3rem .6rem;border-radius:4px;}

/* Steps */
.steps{background:var(--canvas-2);}
.step-list{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.4rem;}
.step{position:relative;padding-top:1.4rem;border-top:2px solid var(--leaf);}
.step::before{counter-increment:step;content:counter(step);font-family:var(--font-display);font-size:2.4rem;color:var(--canopy);font-weight:600;line-height:1;display:block;margin-bottom:.6rem;}
.step h3{font-size:var(--step-h3);margin-bottom:.4rem;}
.step p{color:var(--ink-soft);font-size:.96rem;margin:0;}

/* FAQ */
.faq{background:var(--canvas);}
.faq-list{margin-top:2rem;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--font-display);
  font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--ink);padding:1.3rem 2.5rem 1.3rem 0;position:relative;display:flex;}
.faq-q::after{content:"+";position:absolute;right:.3rem;top:50%;transform:translateY(-50%);color:var(--clay);font-size:1.5rem;font-family:var(--font-body);}
.faq-item[open] .faq-q::after{content:"\2013";}
.faq-a{padding:0 2.5rem 1.4rem 0;color:var(--ink-soft);max-width:70ch;}
details.faq-item summary{list-style:none;}
details.faq-item summary::-webkit-details-marker{display:none;}

/* Final CTA */
.final{background:var(--canopy);color:#F1F1E4;text-align:center;}
.final .eyebrow{color:var(--leaf);justify-content:center;}
.final h2{font-size:var(--step-h2);color:#F4F3E8;max-width:18ch;margin:0 auto 1rem;}
.final p{color:#CCD2BA;max-width:50ch;margin:0 auto 2rem;}
.final-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;}
.final .btn-primary{background:var(--clay);color:#1f1a12;}
.final .btn-primary:hover{background:#c4894f;}
.final .btn-ghost{color:#F1F1E4;border-color:rgba(241,241,228,.5);}
.final .btn-ghost:hover{background:rgba(255,255,255,.08);}
.final .reassure{margin-top:1.6rem;font-size:.85rem;color:#A9B292;}

/* ===== Get Started page ===== */
.gs-hero{background:var(--canopy);color:#F2F1E6;padding-block:clamp(3rem,7vw,5rem);}
.gs-hero .eyebrow{color:var(--leaf);}
.gs-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);color:#F4F3E8;font-weight:400;max-width:18ch;}
.gs-hero p{color:#D9DCC9;max-width:50ch;margin-top:1rem;font-size:var(--step-lead);}
.gs-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,5vw,3.5rem);align-items:center;}
.gs-hero-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 22px 55px -30px rgba(0,0,0,.75);border:1px solid rgba(255,255,255,.1);}
@media(max-width:760px){.gs-hero-grid{grid-template-columns:1fr;}.gs-hero-photo{max-height:300px;object-fit:cover;}}
.gs-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.gs-col h2{font-size:var(--step-h3);margin-bottom:1rem;}
.gs-col .note{font-size:.9rem;color:var(--ink-soft);margin-bottom:1.2rem;}
.booking-embed{min-height:480px;border:1px dashed var(--oak);border-radius:var(--radius-lg);background:var(--canvas-2);
  display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-soft);padding:2rem;}
.booking-embed iframe{width:100%;min-height:620px;border:0;border-radius:var(--radius-lg);}

/* Form */
.form{display:grid;gap:1.1rem;}
.field{display:grid;gap:.35rem;}
.field label{font-size:.9rem;font-weight:600;color:var(--ink);}
.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;color:var(--ink);
  background:var(--canvas);border:1.5px solid var(--line);border-radius:var(--radius);padding:.8rem .9rem;width:100%;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sage);outline:none;}
.field textarea{min-height:120px;resize:vertical;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.consent{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;background:var(--canvas-2);
  border:1px solid var(--line);border-radius:var(--radius);padding:1rem;font-size:.8rem;color:var(--ink-soft);line-height:1.5;}
.consent input{margin-top:.2rem;width:18px;height:18px;}
.consent a{color:var(--canopy);font-weight:600;}
.form .btn-primary{justify-self:start;}
.form-status{font-size:.95rem;padding:.9rem 1rem;border-radius:var(--radius);display:none;}
.form-status.ok{display:block;background:#e3ece0;color:#2c4632;border:1px solid var(--leaf);}
.form-status.err{display:block;background:#f3e3da;color:#7a3b1f;border:1px solid var(--clay);}

/* Legal pages */
.legal{background:var(--canvas);}
.legal-body{max-width:75ch;margin-top:1.5rem;}
.legal-body h2{font-size:var(--step-h3);margin:2rem 0 .6rem;}
.legal-body p,.legal-body li{color:var(--ink-soft);}
.legal-body a{color:var(--canopy);}

/* Footer */
.site-footer{background:#1c2419;color:#C3C9B4;padding-block:clamp(3rem,6vw,5rem) 1.5rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;}
.foot-brand .mark{font-family:var(--font-display);font-size:1.5rem;color:#F1F1E4;}
.foot-brand .mark em{font-style:italic;color:var(--clay);}
.foot-brand p{font-size:.9rem;margin-top:.7rem;max-width:34ch;color:#A7AE97;}
.foot-col h4{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf);margin:.2rem 0 1rem;}
.foot-col a, .foot-col span{display:block;color:#C3C9B4;text-decoration:none;font-size:.92rem;margin-bottom:.55rem;}
.foot-col a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.8rem;padding-top:1.4rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.8rem;color:#8C937D;}
.foot-bottom a{color:#8C937D;}

/* Mobile bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;grid-template-columns:1fr 1fr;gap:0;background:var(--canopy);border-top:1px solid rgba(255,255,255,.15);}
.mobile-bar a{padding:1rem;text-align:center;text-decoration:none;color:#F1F1E4;font-weight:600;font-size:.95rem;}
.mobile-bar a:first-child{background:var(--clay);color:#1f1a12;}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;}

/* Booking (Calendly) */
.booking-toggle{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1.2rem;background:var(--canvas-2);padding:.3rem;border:1px solid var(--line);border-radius:100px;}
.booking-toggle button{font-family:var(--font-body);font-weight:600;font-size:.88rem;border:none;background:transparent;color:var(--ink-soft);padding:.55rem 1.05rem;border-radius:100px;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease);}
.booking-toggle button.is-active{background:var(--canopy);color:#F4F3EA;}
.booking-toggle button:hover:not(.is-active){color:var(--canopy);}
#calendly-embed{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--canvas-2);min-height:700px;}

/* Testimonials */
.testimonials{background:var(--canvas-2);}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem;}
.tcard{position:relative;display:flex;flex-direction:column;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem 1.6rem 1.5rem;}
.tcard::before{content:"\201C";position:absolute;top:.2rem;left:1.1rem;font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--leaf);}
.tcard blockquote{margin:1.2rem 0 1.3rem;padding:0;font-family:var(--font-display);font-style:italic;font-size:1.06rem;line-height:1.5;color:var(--ink);flex:1 0 auto;}
.tcard blockquote em{font-style:normal;}
.tcard figcaption{border-top:1px solid var(--line);padding-top:.9rem;}
.tcard .tname{display:block;font-weight:700;color:var(--canopy);font-size:.95rem;}
.tcard .trole{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:.1rem;}

/* Media feature (photo + copy) + photo band */
.media-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-bottom:2.8rem;}
.media-feature .feature-photo{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:0 24px 60px -34px rgba(35,39,31,.7);border:1px solid var(--line);}
.media-feature .feature-copy h2{font-size:var(--step-h2);margin-bottom:.6rem;}
.photo-band{margin:0;}
.photo-band img{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:0 20px 50px -34px rgba(35,39,31,.6);}
.photo-band figcaption{font-size:.85rem;color:var(--sage);margin-top:.8rem;font-style:italic;text-align:center;}
@media(max-width:900px){.media-feature{grid-template-columns:1fr;gap:1.4rem;}}

/* Responsive */
@media(max-width:900px){
  .pillars{grid-template-columns:repeat(2,1fr);}
  .cards{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;}
  .stat{border-bottom:1px solid var(--line);padding:1.4rem 0;}
  .stats .stat:last-child{border-bottom:none;}
  .affluence{grid-template-columns:1fr;gap:1.5rem;}
  .covers{grid-template-columns:repeat(4,1fr);}
  .why-grid{grid-template-columns:1fr;gap:1.6rem;}
  .tcards{grid-template-columns:1fr;}
  .human-grid{grid-template-columns:1fr;}
  .portrait{max-width:340px;}
  .step-list{grid-template-columns:1fr;}
  .gs-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .nav-links{display:none;}
  .nav-toggle{display:inline-block;}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--canvas);padding:1.2rem var(--gutter);border-bottom:1px solid var(--line);gap:1rem;}
  .nav-cta{display:none;}
  .covers{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .mobile-bar{display:grid;}
  body{padding-bottom:56px;}
  .pillars{grid-template-columns:1fr;}
  /* Mobile hero: photo as a banner on top (no zoom, no text overlap), copy below on green */
  .hero-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:58% 18%;transform:none;}
  .hero-scrim{display:none;}
  .hero-inner{padding-block:2.2rem 2.6rem;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}
