/* Pillar Solutions. Phase 6 baseline + Phase 7 flywheel/visual. */
:root{
  --green:#1B3D2E;
  --green-soft:#234a39;
  --cream:#F5F3EA;
  --cream-2:#ece9dc;
  --gold:#D4AF37;
  --ink:#33332d;
  --muted:#6a6a60;
  --maxw:1080px;
  --pad:clamp(20px,5vw,40px);
  --gold-deep:#b8902a;
  --shadow-sm:0 1px 2px rgba(27,61,46,.05), 0 2px 8px rgba(27,61,46,.05);
  --shadow-md:0 4px 12px rgba(27,61,46,.07), 0 12px 32px rgba(27,61,46,.08);
  --shadow-lg:0 8px 24px rgba(27,61,46,.10), 0 24px 60px rgba(27,61,46,.12);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Montserrat',sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Cinzel',serif;color:var(--green);line-height:1.18;font-weight:600;text-wrap:balance;}
p{text-wrap:pretty;}
section{padding:clamp(56px,10vw,112px) var(--pad);}
section > *{max-width:var(--maxw);margin-left:auto;margin-right:auto;}
.kicker{font-family:'Cinzel',serif;letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;color:var(--gold);margin-bottom:14px;}
.section-intro{max-width:60ch;color:var(--muted);margin:16px auto 0;}

/* Buttons */
.btn{display:inline-block;padding:14px 24px;border-radius:7px;font-weight:600;font-size:.92rem;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .18s,color .18s;}
.btn--primary{background:var(--green);color:var(--cream);box-shadow:var(--shadow-sm);}
.btn--primary:hover{background:var(--green-soft);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--ghost{background:transparent;color:var(--green);border-color:var(--green);}
.btn--ghost:hover{background:var(--green);color:var(--cream);}
.btn--wa{background:var(--gold);color:var(--green);box-shadow:var(--shadow-sm);}
.btn--wa:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--gold{background:var(--gold);color:var(--green);box-shadow:0 6px 20px rgba(212,175,55,.28);}
.btn--gold:hover{background:#e0bd4c;transform:translateY(-2px);box-shadow:0 10px 28px rgba(212,175,55,.36);}
.btn--ghost-light{background:transparent;color:var(--cream);border-color:rgba(245,243,234,.45);}
.btn--ghost-light:hover{background:rgba(245,243,234,.12);border-color:var(--cream);}

/* Nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--pad);background:rgba(245,243,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--cream-2);}
.nav__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font-family:'Cinzel',serif;font-weight:600;letter-spacing:.12em;font-size:.9rem;}
.nav__brand img{width:42px;height:42px;}
.nav__links{display:flex;gap:22px;}
.nav__links a{color:var(--ink);text-decoration:none;font-size:.9rem;}
.nav__links a:hover{color:var(--gold);}
.nav__right{display:flex;align-items:center;gap:14px;}
.lang{display:flex;gap:4px;}
.lang button{background:none;border:1px solid var(--cream-2);border-radius:4px;padding:5px 9px;font-size:.78rem;cursor:pointer;color:var(--muted);font-family:inherit;}
.lang button[aria-pressed="true"]{background:var(--green);color:var(--cream);border-color:var(--green);}

/* Hero: image-led split */
.hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:min(88vh,760px);padding:0;max-width:none;margin:0;}
.hero > *{max-width:none;margin:0;width:100%;min-width:0;justify-self:stretch;}
.hero__panel{background:var(--green);color:var(--cream);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:clamp(40px,6vw,80px) clamp(28px,5vw,72px);position:relative;}
.hero__panel::after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:linear-gradient(var(--gold),var(--gold-deep));}
.hero__eyebrow{font-family:'Cinzel',serif;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:20px;}
.hero h1{color:var(--cream);font-size:clamp(2.1rem,4.6vw,3.5rem);letter-spacing:.02em;}
.hero__sub{max-width:36ch;margin-top:18px;font-size:clamp(1.05rem,1.7vw,1.28rem);font-weight:300;color:#e4ebe5;}
.hero__points{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:26px;}
.hero__points li{position:relative;padding-left:28px;font-size:.98rem;color:#eef2ee;font-weight:500;}
.hero__points li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg);}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}
.hero__media{position:relative;overflow:hidden;background:var(--green);}
/* engineered-blueprint backdrop behind the switch scene */
.hero__media::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(ellipse 72% 56% at 58% 40%, rgba(101,196,150,.20), transparent 68%),
    linear-gradient(rgba(212,175,55,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,175,55,.045) 1px, transparent 1px);
  background-size:100% 100%, 46px 46px, 46px 46px;
  background-position:center, center, center;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 58% 45%, #000 55%, transparent 100%);
  mask-image:radial-gradient(ellipse 90% 80% at 58% 45%, #000 55%, transparent 100%);}
.hero__media > *{position:relative;z-index:1;}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;}
/* Hero "chaos to clean" switch scene */
.switch{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:clamp(36px,5vw,64px) clamp(24px,4vw,52px);}
.switch__cap{font-family:'Cinzel',serif;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:#a9bcb0;text-align:center;margin-bottom:14px;}
.switch__cap--gold{color:var(--gold);}
.switch__before,.switch__after{width:100%;max-width:360px;}
.switch__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;}
.chip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;background:rgba(245,243,234,.06);border:1px solid rgba(245,243,234,.14);color:#c2ccc4;font-size:.82rem;font-weight:500;transform:rotate(var(--r,0));animation:chip-jitter 4s ease-in-out infinite;}
.chip:nth-child(2n){animation-delay:.5s;animation-duration:4.6s;}
.chip:nth-child(3n){animation-delay:1s;animation-duration:3.6s;}
.chip:nth-child(4n){animation-delay:1.5s;}
.chip b{font-weight:600;font-size:.62rem;letter-spacing:.02em;color:#e0a94a;background:rgba(224,169,74,.14);padding:1px 5px;border-radius:4px;}
.switch__arrow{display:flex;flex-direction:column;align-items:center;gap:3px;}
.switch__arrow span{width:13px;height:13px;border-right:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(45deg);opacity:.4;animation:arrow-pulse 1.8s var(--ease) infinite;}
.switch__arrow span:nth-child(2){animation-delay:.25s;}
.switch__after{background:linear-gradient(180deg,rgba(212,175,55,.10),rgba(212,175,55,.03));border:1px solid rgba(212,175,55,.5);border-radius:14px;padding:22px 24px;box-shadow:0 0 0 0 rgba(212,175,55,.4);animation:own-glow 3.4s var(--ease) infinite;}
.switch__after .switch__cap{margin-bottom:16px;font-size:.9rem;letter-spacing:.06em;text-transform:none;}
.switch__wins{list-style:none;display:grid;gap:12px;}
.switch__wins li{position:relative;padding-left:28px;color:#eef2ee;font-size:.92rem;line-height:1.4;}
.switch__wins li::before{content:"";position:absolute;left:2px;top:4px;width:12px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg);}
@keyframes chip-jitter{0%,100%{transform:rotate(var(--r,0)) translate(0,0);}50%{transform:rotate(calc(var(--r,0) * 1.4)) translate(1px,-2px);}}
@keyframes arrow-pulse{0%,100%{opacity:.25;}50%{opacity:.9;}}
@keyframes own-glow{0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,0);}50%{box-shadow:0 0 26px 0 rgba(212,175,55,.16);}}
@media (prefers-reduced-motion:reduce){
  .chip,.switch__arrow span,.switch__after{animation:none;}
}
@media (max-width:820px){
  .hero{grid-template-columns:1fr;min-height:0;}
  .hero__media{order:-1;height:auto;}
  .hero__media img{height:clamp(280px,52vw,420px);object-position:50% 20%;}
  .hero__panel{padding:clamp(36px,8vw,56px) var(--pad);}
  .hero__panel::after{top:auto;left:0;right:0;bottom:auto;top:0;width:auto;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-deep));}
  .hero__sub{max-width:46ch;}
}

/* Problem (light, contrasts dark hero) */
.problem{text-align:center;}
.problem h2{font-size:clamp(1.7rem,4.5vw,2.5rem);}
.prob-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:44px;text-align:left;}
.prob{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:26px 24px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.prob:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.prob h3{color:var(--green);font-size:1.08rem;margin-bottom:10px;line-height:1.25;}
.prob p{color:var(--muted);font-size:.93rem;}

/* Flywheel + cards/grids */
.flywheel{text-align:center;}
.flywheel h2{font-size:clamp(1.6rem,4.5vw,2.4rem);}
.pillars,.cards,.values{display:grid;gap:18px;margin-top:40px;text-align:left;}
.pillars{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.cards,.values{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.pillar,.card,.value{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:26px 24px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.pillar:hover,.card:hover,.value:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.card h3,.value h3{position:relative;padding-bottom:12px;margin-bottom:12px;}
.card h3::after,.value h3::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;border-radius:2px;background:var(--gold);}
.pillar h3,.card h3,.value h3{font-size:1.1rem;margin-bottom:8px;}
.pillar p,.card p,.value p{color:var(--muted);font-size:.93rem;}

/* The Pillars (temple) */
.flywheel__layout{display:flex;gap:clamp(24px,5vw,56px);align-items:center;justify-content:center;flex-wrap:wrap;margin-top:30px;text-align:left;}
.flywheel__viz{flex:1 1 360px;max-width:580px;}
.fw-svg{width:100%;height:auto;display:block;overflow:visible;}
/* temple frame (static) */
.fw-pediment{fill:var(--green);}
.fw-beam{fill:var(--green);}
.fw-beam-t{font-family:'Cinzel',serif;fill:var(--gold);font-size:19px;letter-spacing:.13em;font-weight:600;pointer-events:none;}
.fw-stylo{fill:var(--green);}
.fw-stylo2{fill:#16331f;}
.fw-base-t{font-family:'Montserrat',sans-serif;fill:var(--muted);font-size:13px;letter-spacing:.22em;text-transform:uppercase;pointer-events:none;}
/* columns (clickable) */
.fw-col{cursor:pointer;transition:transform .2s ease;}
.fw-col .fw-cap,.fw-col .fw-base2{fill:var(--green);transition:fill .2s;}
.fw-col .fw-shaft{fill:#2c5742;transition:fill .2s;}
.fw-col .fw-flute{stroke:#1B3D2E;stroke-width:2;opacity:.55;}
.fw-col .fw-collbl{font-family:'Cinzel',serif;fill:var(--cream);font-size:15px;letter-spacing:.08em;font-weight:600;pointer-events:none;transition:fill .2s;}
.fw-col:hover{transform:translateY(-7px);}
.fw-col:hover .fw-shaft{fill:#356a4f;}
.fw-col:focus{outline:none;}
.fw-col:focus-visible .fw-cap,.fw-col:focus-visible .fw-base2{fill:var(--gold);}
.fw-col.is-sel .fw-shaft{fill:var(--gold);}
.fw-col.is-sel .fw-cap,.fw-col.is-sel .fw-base2{fill:#b8902a;}
.fw-col.is-sel .fw-flute{stroke:#b8902a;opacity:.5;}
.fw-col.is-sel .fw-collbl{fill:var(--green);}
/* affordance: auto-cycle highlight (JS) + tap ripple on the highlighted pillar */
.fw-tapring{fill:none;stroke:var(--gold);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:fw-tap 1.5s ease-out infinite;pointer-events:none;}
@keyframes fw-tap{0%{transform:scale(.5);opacity:.95;}70%{transform:scale(1.7);opacity:0;}100%{transform:scale(1.7);opacity:0;}}
.flywheel__hint{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.9rem;color:var(--green);font-weight:600;letter-spacing:.04em;animation:fw-hintpulse 1.8s ease-in-out infinite;}
.flywheel__hint::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(212,175,55,.6);animation:fw-ripple 1.8s ease-out infinite;}
.flywheel__hint.is-hidden{display:none;}
@keyframes fw-hintpulse{0%,100%{opacity:.7;}50%{opacity:1;}}
@keyframes fw-ripple{0%{box-shadow:0 0 0 0 rgba(212,175,55,.55);}70%{box-shadow:0 0 0 11px rgba(212,175,55,0);}100%{box-shadow:0 0 0 0 rgba(212,175,55,0);}}
.flywheel__detail{flex:1 1 280px;max-width:380px;background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:26px 28px;box-shadow:var(--shadow-md);}
.fw-d-tag{font-family:'Cinzel',serif;letter-spacing:.2em;font-size:.74rem;color:var(--gold);text-transform:uppercase;}
.fw-d-cap{font-size:1.25rem;margin:6px 0 14px;}
.fw-d-steps{list-style:none;display:grid;gap:9px;}
.fw-d-steps li{position:relative;padding-left:20px;color:var(--ink);font-size:.95rem;}
.fw-d-steps li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--gold);}
@media (prefers-reduced-motion:reduce){
  .fw-tapring,.flywheel__hint,.flywheel__hint::before{animation:none;}
}

/* How it works */
.steps{text-align:center;background:var(--cream-2);}
.steps h2{font-size:clamp(1.6rem,4.5vw,2.4rem);}
.steps__grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:40px;text-align:left;}
.step{position:relative;background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:30px 24px 24px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.step__num{position:absolute;top:-18px;left:20px;width:36px;height:36px;border-radius:50%;background:var(--green);color:var(--gold);font-family:'Cinzel',serif;font-weight:600;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.step h3{font-size:1.15rem;margin-bottom:8px;}
.step p{color:var(--muted);font-size:.93rem;}

/* Module menu */
.modules{text-align:center;}
.modules h2{font-size:clamp(1.6rem,4.5vw,2.4rem);}
.mod-groups{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px;text-align:left;}
.mod-group{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:26px 24px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.mod-group:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.mod-group h3{font-size:.9rem;letter-spacing:.05em;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--cream-2);color:var(--green);}
.mod-list{list-style:none;display:grid;gap:12px;}
.mod-list li{display:grid;gap:2px;padding-left:16px;position:relative;}
.mod-list li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--gold);}
.mod-list strong{font-size:.92rem;color:var(--green);font-weight:600;}
.mod-list span{color:var(--muted);font-size:.86rem;}
.mod-cta{margin-top:36px;}

/* Ownership promise (green band) */
.own{background:var(--green);color:var(--cream);text-align:center;}
.own .kicker{color:var(--gold);}
.own h2{color:var(--cream);font-size:clamp(1.6rem,4.5vw,2.4rem);}
.own__body{max-width:56ch;margin:18px auto 0;font-size:clamp(1.05rem,2.6vw,1.3rem);font-weight:300;line-height:1.6;}
.own__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.own .btn--primary{background:var(--cream);color:var(--green);}
.own .btn--primary:hover{background:#fff;}

/* FAQ */
.faq{text-align:center;background:var(--cream-2);}
.faq h2{font-size:clamp(1.6rem,4.5vw,2.4rem);}
.faq__list{max-width:720px;margin:34px auto 0;text-align:left;display:grid;gap:12px;}
.faq__list details{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:12px;padding:0;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease);}
.faq__list details[open]{box-shadow:var(--shadow-md);}
.faq__list summary{cursor:pointer;list-style:none;padding:18px 46px 18px 20px;font-weight:600;color:var(--green);font-size:.98rem;position:relative;}
.faq__list summary::-webkit-details-marker{display:none;}
.faq__list summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--gold);transition:transform .2s;}
.faq__list details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq__list details p{padding:0 20px 18px;color:var(--muted);font-size:.93rem;}

/* About / serve */
.about{background:var(--cream-2);text-align:center;}
.about__body{max-width:58ch;font-size:clamp(1.1rem,2.6vw,1.3rem);font-weight:300;margin-left:auto;margin-right:auto;}
.services{text-align:center;}
.serve{text-align:center;}
.serve__body{max-width:52ch;margin:0 auto;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:300;color:var(--green);}
.serve__proof{max-width:52ch;margin:18px auto 0;font-size:.98rem;color:var(--muted);font-style:italic;}

/* Contact form */
.contact{background:var(--green);color:var(--cream);text-align:center;}
.contact h2{color:var(--cream);font-size:clamp(1.6rem,4.5vw,2.4rem);}
.contact .section-intro{color:#cdd6cf;}
#contact-form{max-width:560px;margin:36px auto 0;text-align:left;display:grid;gap:16px;}
.field{display:grid;gap:6px;}
.field label{font-size:.85rem;color:#dfe7e1;}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid #3c5a4b;border-radius:6px;background:#1f4636;color:var(--cream);font-family:inherit;font-size:.95rem;}
.field textarea{resize:none;overflow:hidden;min-height:84px;}
.field input::placeholder,.field textarea::placeholder{color:#8aa395;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;}
.field--check label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:var(--cream);}
.field--check input{width:auto;margin-top:3px;}
.field-error{color:#f0b3a0;font-size:.8rem;min-height:0;display:none;}
.field.has-error .field-error{display:block;}
.field.has-error input,.field.has-error select{border-color:#e08a72;}
/* Send button sits on the green contact section: green-on-green is invisible, so make it cream */
.contact .btn--primary{background:var(--cream);color:var(--green);}
.contact .btn--primary:hover{background:#fff;}
.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px;}
.form-or{color:#8aa395;font-size:.85rem;}
.form-status{margin-top:6px;font-size:.9rem;min-height:1.2em;}
.form-status.is-ok{color:var(--gold);}
.form-status.is-err{color:#f0b3a0;}

/* Packages page */
.pk-hero{text-align:center;padding-top:clamp(48px,9vw,96px);}
.pk-hero h1{font-size:clamp(1.8rem,5.5vw,3rem);letter-spacing:.03em;}
/* packages hero sits on light cream, so the shared cream-on-dark sub color would vanish */
.pk-hero .hero__sub{color:var(--muted);max-width:56ch;margin:18px auto 0;}
.pk-base{background:var(--cream-2);text-align:center;}
.pk-base h2,.pk-packs h2,.pk-list h2{font-size:clamp(1.6rem,4.5vw,2.4rem);}
.pk-packs{text-align:center;}
.pack-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:40px;text-align:left;}
.pack{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:28px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.pack:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.pack h3{font-size:1.05rem;}
.pack__quote{color:var(--ink);font-size:.92rem;font-weight:500;}
.pack__mods{color:var(--muted);font-size:.86rem;flex:1;}
.pack__price{font-size:.88rem;color:var(--green);font-weight:600;border-top:1px solid var(--cream-2);padding-top:12px;}
.pk-swap{margin-top:26px;color:var(--muted);font-size:.95rem;}
.pk-list{background:var(--cream-2);text-align:center;}
.price-tables{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:40px;text-align:left;}
.price-block{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:26px 24px;box-shadow:var(--shadow-sm);}
.price-block h3{font-size:.95rem;letter-spacing:.05em;margin-bottom:12px;}
.price-table{width:100%;border-collapse:collapse;}
.price-table td{padding:9px 0;border-bottom:1px solid var(--cream-2);font-size:.9rem;color:var(--ink);vertical-align:top;}
.price-table tr:last-child td{border-bottom:none;}
.price-table td:last-child{text-align:right;white-space:nowrap;font-weight:600;color:var(--green);padding-left:14px;}
.pt-unit{font-weight:400;color:var(--muted);font-size:.8rem;}
.price-note{margin-top:10px;color:var(--muted);font-size:.84rem;}
.pk-plan{margin-top:26px;color:var(--green);font-size:.98rem;font-weight:500;}

/* Why Us page */
.why-hero{background:var(--green);color:var(--cream);text-align:center;padding-top:clamp(64px,11vw,128px);}
.why-hero .kicker{color:var(--gold);}
.why-hero h1{color:var(--cream);font-size:clamp(2.3rem,6vw,4.2rem);letter-spacing:.01em;max-width:16ch;margin:0 auto;line-height:1.1;}
/* Self-contained CSS entrance: never gated on JS/scroll, so the hero can't ship blank */
.why-hero .kicker,.why-hero h1,.why-hero__sub,.why-hero__cta{opacity:0;transform:translateY(16px);animation:hero-in .8s var(--ease) forwards;}
.why-hero .kicker{animation-delay:.05s;}
.why-hero h1{animation-delay:.16s;}
.why-hero__sub{animation-delay:.3s;}
.why-hero__cta{animation-delay:.44s;}
@media (prefers-reduced-motion:reduce){
  .why-hero .kicker,.why-hero h1,.why-hero__sub,.why-hero__cta{animation:none;opacity:1;transform:none;}
}

/* Stat counter band */
.stat{text-align:center;background:var(--cream-2);padding-top:clamp(52px,8vw,88px);padding-bottom:clamp(52px,8vw,88px);}
.stat__num{font-family:'Cinzel',serif;font-weight:600;color:var(--green);font-size:clamp(3rem,11vw,7rem);line-height:1;letter-spacing:-.01em;}
.stat__num span{color:var(--gold);}
.stat__label{max-width:34ch;margin:18px auto 0;color:var(--muted);font-size:clamp(1rem,2.4vw,1.25rem);font-weight:300;}

/* Dissolve signature */
.dissolve{background:var(--green);color:var(--cream);padding:0;}
.dissolve__stage{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:80px var(--pad);}
.dissolve__before{position:absolute;top:clamp(60px,12vh,120px);left:0;right:0;text-align:center;font-family:'Cinzel',serif;font-size:clamp(1.3rem,3.2vw,2rem);color:var(--cream);letter-spacing:.02em;padding:0 var(--pad);}
.dissolve__chips{position:absolute;inset:0;pointer-events:none;}
.d-chip{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--r,0));display:inline-flex;align-items:center;padding:8px 14px;border-radius:9px;background:rgba(245,243,234,.07);border:1px solid rgba(245,243,234,.16);color:#c2ccc4;font-size:clamp(.78rem,1.6vw,.95rem);font-weight:500;white-space:nowrap;}
.dissolve__card{position:relative;z-index:2;text-align:center;max-width:460px;padding:clamp(30px,5vw,48px);border-radius:18px;background:linear-gradient(180deg,rgba(212,175,55,.12),rgba(212,175,55,.03));border:1px solid rgba(212,175,55,.55);box-shadow:0 0 60px rgba(212,175,55,.14);}
.dissolve__card-t{font-family:'Cinzel',serif;font-size:clamp(1.8rem,4.6vw,3rem);color:var(--gold);line-height:1.1;}
.dissolve__pay{margin-top:18px;color:#e4ebe5;font-size:clamp(1rem,2.2vw,1.2rem);font-weight:300;line-height:1.5;}
/* Mobile: no pin. Lay the dissolve out as a clean vertical block so nothing overlaps. */
@media (max-width:820px){
  .dissolve__stage{min-height:auto;flex-direction:column;justify-content:flex-start;padding:clamp(48px,11vw,72px) var(--pad);}
  .dissolve__before{position:static;left:auto;right:auto;top:auto;margin-bottom:24px;}
  .dissolve__chips{position:static;inset:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-bottom:30px;}
  .d-chip{position:static;left:auto;top:auto;transform:rotate(var(--r,0));}
  .dissolve__card{width:100%;max-width:460px;}
}

/* Bigger editorial finish */
.why-mission__line{max-width:24ch;}
.why-hero__sub{max-width:56ch;margin:22px auto 0;font-size:clamp(1.08rem,2.4vw,1.35rem);font-weight:300;color:#e4ebe5;}
.why-hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px;}

.sins{text-align:center;}
.sins h2{font-size:clamp(1.7rem,4.5vw,2.5rem);}
.sins__list{list-style:none;counter-reset:sin;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px 40px;margin-top:44px;text-align:left;max-width:900px;margin-left:auto;margin-right:auto;}
.sins__list li{counter-increment:sin;position:relative;padding:14px 0 14px 52px;border-bottom:1px solid var(--cream-2);color:var(--ink);font-size:.98rem;}
.sins__list li::before{content:counter(sin);position:absolute;left:0;top:11px;font-family:'Cinzel',serif;font-weight:600;font-size:1.15rem;color:var(--gold);width:34px;text-align:center;}

/* Traditional vs Innovation */
.vs{text-align:center;}
.vs h2{font-size:clamp(1.7rem,4.5vw,2.5rem);}
.vs__grid{max-width:980px;margin:44px auto 0;text-align:left;display:grid;gap:14px;}
.vs__legend{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 22px 4px;}
.vs__lg{font-family:'Cinzel',serif;letter-spacing:.13em;text-transform:uppercase;font-size:.82rem;}
.vs__lg--old{color:var(--muted);}
.vs__lg--new{color:var(--gold);}
.vs__row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.vs__old,.vs__new{position:relative;border-radius:12px;padding:18px 20px 18px 48px;font-size:.95rem;line-height:1.45;margin:0;}
.vs__old{background:#fff;border:1px solid rgba(27,61,46,.06);color:var(--muted);box-shadow:var(--shadow-sm);}
.vs__new{background:linear-gradient(180deg,rgba(212,175,55,.10),rgba(212,175,55,.03));border:1px solid rgba(212,175,55,.42);color:var(--green);font-weight:500;}
.vs__old::before,.vs__new::before{position:absolute;left:20px;top:17px;font-weight:700;font-size:1rem;}
.vs__old::before{content:"\2715";color:#d0866c;}
.vs__new::before{content:"\2713";color:var(--gold-deep);}
@media (max-width:820px){
  .vs__legend{display:none;}
  .vs__row{grid-template-columns:1fr;gap:9px;margin-bottom:14px;}
}

.turn{background:var(--green);color:var(--cream);text-align:center;}
.turn__body{max-width:44ch;margin:0 auto;font-family:'Cinzel',serif;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.35;color:var(--cream);}

.diy{text-align:center;}
.diy h2{font-size:clamp(1.7rem,4.5vw,2.5rem);}
.diy__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:44px;text-align:left;}
.diy__col{background:#fff;border:1px solid rgba(27,61,46,.06);border-radius:14px;padding:28px 26px;box-shadow:var(--shadow-sm);}
.diy__col h3{font-size:1.1rem;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--cream-2);}
.diy__risks{list-style:none;display:grid;gap:12px;}
.diy__risks li{position:relative;padding-left:26px;color:var(--muted);font-size:.94rem;line-height:1.45;}
.diy__risks li::before{content:"";position:absolute;left:3px;top:7px;width:9px;height:9px;border-radius:2px;background:#d98a72;transform:rotate(45deg);}
.diy__why{max-width:64ch;margin:34px auto 0;color:var(--ink);font-size:1.05rem;font-weight:500;}
.diy__stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:34px;text-align:left;}
.callout{background:var(--cream-2);border-radius:14px;padding:26px 28px 26px 30px;position:relative;color:var(--green);font-size:1rem;line-height:1.55;font-style:italic;}
.callout::before{content:"\201C";font-family:'Cinzel',serif;font-size:3.2rem;line-height:1;color:var(--gold);opacity:.55;position:absolute;top:14px;left:16px;}
.callout{padding-left:56px;}

.stance{background:var(--cream-2);text-align:center;}
.stance h2{font-size:clamp(1.7rem,4.5vw,2.5rem);}
.stance__body{max-width:60ch;margin:22px auto 0;font-size:clamp(1.08rem,2.4vw,1.3rem);font-weight:300;color:var(--ink);}

.why-mission{background:var(--green);color:var(--cream);text-align:center;}
.why-mission .kicker{color:var(--gold);}
.why-mission h2{color:var(--cream);font-size:clamp(1.7rem,4.5vw,2.5rem);}
.why-mission__body{max-width:60ch;margin:22px auto 0;font-size:clamp(1.05rem,2.4vw,1.28rem);font-weight:300;color:#e4ebe5;}
.why-mission__line{max-width:52ch;margin:22px auto 0;font-family:'Cinzel',serif;font-size:clamp(1.15rem,2.6vw,1.5rem);color:var(--gold);line-height:1.4;}
.why-mission .why-hero__cta{margin-top:36px;}

/* Footer */
.footer{background:#12281e;color:#9fb0a4;text-align:center;padding:26px var(--pad);display:flex;flex-direction:column;gap:6px;font-size:.8rem;}
.footer__tag{font-family:'Cinzel',serif;letter-spacing:.1em;}

/* Photo band (cinematic full-width section accent) */
.photoband{padding:0;max-width:none;margin:0;position:relative;}
.photoband figure{margin:0;max-width:none;width:100%;position:relative;overflow:hidden;}
.photoband img{width:100%;height:clamp(280px,42vw,560px);object-fit:cover;display:block;}
.photoband figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,4vw,40px) var(--pad);
  background:linear-gradient(to top,rgba(18,40,30,.78),rgba(18,40,30,0));
  color:var(--cream);font-family:'Cinzel',serif;font-size:clamp(1.1rem,2.6vw,1.7rem);letter-spacing:.01em;line-height:1.3;}
.photoband figcaption span{max-width:24ch;display:block;}
.photoband--split figcaption{max-width:640px;margin:0 auto;}

/* Audit popup modal */
.audit-modal{border:none;padding:0;max-width:min(560px,92vw);width:100%;background:transparent;color:var(--ink);margin:auto;}
.audit-modal::backdrop{background:rgba(18,40,30,.55);backdrop-filter:blur(3px);}
.audit-modal__panel{background:var(--cream);border-radius:16px;padding:clamp(28px,5vw,42px);box-shadow:var(--shadow-lg);position:relative;max-height:90vh;overflow-y:auto;}
.audit-modal h2{font-size:clamp(1.4rem,4vw,2rem);}
.audit-modal__sub{color:var(--muted);margin-top:10px;font-size:.98rem;}
.audit-modal__close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:none;background:none;font-size:1.9rem;line-height:1;color:var(--muted);cursor:pointer;border-radius:8px;}
.audit-modal__close:hover{background:var(--cream-2);color:var(--green);}
.audit-modal .audit-form{display:grid;gap:15px;margin-top:24px;}
.audit-modal .field{display:grid;gap:6px;}
.audit-modal .field label{font-size:.85rem;color:var(--ink);}
.audit-modal .field input,.audit-modal .field select,.audit-modal .field textarea{width:100%;padding:11px 13px;border:1px solid var(--cream-2);border-radius:8px;background:#fff;color:var(--ink);font-family:inherit;font-size:.95rem;}
.audit-modal .field textarea{resize:none;overflow:hidden;min-height:80px;}
.audit-modal .field input:focus,.audit-modal .field select:focus,.audit-modal .field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.audit-modal .field--check label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:var(--ink);}
.audit-modal .field--check input{width:auto;margin-top:3px;}
.audit-modal .field.has-error input,.audit-modal .field.has-error select{border-color:#d98a72;}
.audit-modal .field-error{color:#c0563a;font-size:.8rem;display:none;}
.audit-modal .field.has-error .field-error{display:block;}
.audit-modal .form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px;}
.audit-modal .form-or{color:var(--muted);font-size:.85rem;}
.audit-modal .form-status{font-size:.9rem;min-height:1.2em;margin-top:2px;}
.audit-modal .form-status.is-ok{color:#2f7d4f;}
.audit-modal .form-status.is-err{color:#c0563a;}
.audit-modal[open]{animation:modal-in .3s var(--ease);}
@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.985);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.audit-modal[open]{animation:none;}}

/* Mobile nav burger */
.nav__burger{display:none;width:42px;height:42px;border:none;background:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:8px;}
.nav__burger span{display:block;width:22px;height:2px;background:var(--green);border-radius:2px;transition:.22s;}
body.nav-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .nav__burger span:nth-child(2){opacity:0;}
body.nav-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:760px){
  .nav__burger{display:flex;}
  .nav__right .btn--wa{display:none;}
  .nav__links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--cream-2);padding:6px 0;box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .22s,opacity .22s;}
  body.nav-open .nav__links{transform:none;opacity:1;pointer-events:auto;}
  .nav__links a{padding:13px var(--pad);}
}

/* Sections are always fully visible. The old opacity-gated scroll reveal repeatedly shipped
   blank sections (timing / crawler / headless), so it was removed. Motion lives in the hero,
   the switch scene, the flywheel, the dissolve and card hovers instead. */

/* Hero load choreography */
.hero__panel > *{opacity:0;transform:translateY(16px);animation:hero-in .8s var(--ease) forwards;}
.hero__eyebrow{animation-delay:.05s;}
.hero h1{animation-delay:.15s;}
.hero__sub{animation-delay:.28s;}
.hero__points{animation-delay:.4s;}
.hero__cta{animation-delay:.52s;}
.hero__media img,.hero__media .switch{animation:hero-img-in 1.2s var(--ease) forwards;}
@keyframes hero-in{to{opacity:1;transform:none;}}
@keyframes hero-img-in{from{opacity:0;transform:scale(1.02);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){
  .hero__panel > *,.hero__media img,.hero__media .switch{animation:none;opacity:1;transform:none;}
  .js-reveal main section:not(.hero){opacity:1;transform:none;transition:none;}
}

/* Custom cursor */
.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;opacity:0;will-change:transform;}
.cursor-ring{width:34px;height:34px;border:1.5px solid var(--gold);transition:opacity .25s,width .22s ease,height .22s ease,background .22s,border-color .22s;}
.cursor-dot{width:7px;height:7px;background:var(--gold);transition:opacity .25s;}
.has-cursor{cursor:none;}
.has-cursor a,.has-cursor button,.has-cursor [data-k],.has-cursor .btn,.has-cursor label{cursor:none;}
.has-cursor input,.has-cursor textarea{cursor:text;}
.has-cursor .cursor-ring,.has-cursor .cursor-dot{opacity:1;}
.cursor-hot .cursor-ring{width:56px;height:56px;background:rgba(212,175,55,.14);}
.cursor-hot .cursor-dot{opacity:.4;}
.cursor-down .cursor-ring{width:26px;height:26px;}
.cursor-hide .cursor-ring,.cursor-hide .cursor-dot{opacity:0!important;}
@media (hover:none),(pointer:coarse){
  .cursor-ring,.cursor-dot{display:none;}
  .has-cursor{cursor:auto;}
}
