/* ============================================================
   Chrysa — Landing v3 · Banner art direction
   Photographic ivory · spaced-caps gold labels · sage hairlines
   Loads AFTER landing2.css / story.css and overrides them.
   ============================================================ */
:root{
  --hairline:rgba(110,127,115,0.26);
  --hairline-soft:rgba(110,127,115,0.15);
  --peach-fill:rgba(255,255,255,0.55);
  --peach-line:rgba(110,127,115,0.20);
  --track:rgba(39,46,41,0.10);
}

/* ---------- ambient: cool botanical wash, no warm cast ---------- */
body::before{
  background:
    radial-gradient(1100px 760px at 100% -12%, rgba(220,229,210,0.55), transparent 58%),
    radial-gradient(900px 660px at -8% 4%, rgba(212,185,138,0.14), transparent 52%);
}
.bg-vignette{background:radial-gradient(135% 95% at 50% 4%,transparent 60%,rgba(110,127,115,0.07) 100%);}

/* ---------- glass: quieter, eucalyptus-shadowed ---------- */
.glass{
  background:rgba(255,255,255,0.52);
  border:1px solid rgba(255,255,255,0.88);
  box-shadow:0 24px 54px -32px rgba(39,46,41,0.28),inset 0 1px 0 rgba(255,255,255,0.95);
}
.pcard{box-shadow:0 34px 74px -38px rgba(39,46,41,0.34),inset 0 1px 0 rgba(255,255,255,0.95);}
.tier.feat{box-shadow:0 30px 70px -34px rgba(39,46,41,0.30),inset 0 0 0 1.5px rgba(184,146,63,0.45),
  inset 0 1px 0 rgba(255,255,255,0.9);}

/* ---------- labels: spaced sans caps in antique gold (banner style) ---------- */
.eyebrow{
  font-family:var(--sans);font-weight:500;font-size:11.5px;
  letter-spacing:0.34em;text-transform:uppercase;color:var(--coral);
}
.hphoto figcaption,.quote .who{font-family:var(--sans);letter-spacing:0.26em;}

/* ---------- hero ---------- */
.hero h1 .grad{background:none;-webkit-background-clip:initial;background-clip:initial;
  -webkit-text-fill-color:currentColor;color:var(--coral);}
.hero-badge .dot{background:var(--gold);box-shadow:0 0 0 4px rgba(212,185,138,0.22);}

/* hero stage: arch leaf photograph with the product card resting on it */
.hero-stage{flex-direction:column;align-items:center;perspective:none;}
.hero-arch{position:relative;width:min(400px,86%);height:clamp(430px,52vh,560px);
  border-radius:220px 220px 28px 28px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:0 44px 90px -48px rgba(39,46,41,0.4);}
.hero-arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 16%;}
.hero-arch::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top, rgba(247,245,239,0.8), transparent 46%);}
.pcard{width:min(420px,96%);margin-top:-200px;transform:none!important;z-index:2;}
.pglow{display:none;}
@media (max-width:900px){
  .hero-arch{height:clamp(380px,46vh,480px);}
  .pcard{margin-top:-170px;}
  .hero-stage{align-items:center;}
}

/* ---------- marquee: eucalyptus ink, not warm brown ---------- */
.marquee-row span{color:rgba(39,46,41,0.38);}
.marquee-row.apps span{color:rgba(39,46,41,0.5);}

/* ---------- module icons: thin-line glyphs in hairline circles ---------- */
.mico{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--hairline);color:var(--coral);background:rgba(255,255,255,0.35);}
.mico svg{width:21px;height:21px;stroke:currentColor;fill:none;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.mod{gap:13px;}
.mod .mn{margin-top:2px;}

/* ---------- brand triptych ---------- */
.triptych-sec .sec-head{max-width:none;text-align:center;margin-left:auto;margin-right:auto;}
.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px);
  max-width:920px;margin:0 auto;}
.triptych figure{margin:0;border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.85);
  box-shadow:0 34px 70px -42px rgba(39,46,41,0.42);}
.triptych img{width:100%;height:100%;object-fit:cover;display:block;}
.trip-tag{margin:clamp(30px,4vw,44px) auto 0;text-align:center;
  font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:0.34em;
  text-transform:uppercase;color:var(--cream-faint);}
.trip-tag .tstar{display:block;color:var(--coral);font-size:15px;letter-spacing:0;margin-bottom:14px;}
@media (max-width:720px){.triptych{grid-template-columns:1fr;max-width:400px;}}

/* ---------- CTA lockup ---------- */
.cta-sub{display:block;margin:-6px 0 26px;
  font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:0.4em;
  text-transform:uppercase;color:var(--coral);}

/* ---------- editorial photography ---------- */
.hphoto-img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 45%;
  border-radius:26px;box-shadow:0 40px 80px -40px rgba(39,46,41,0.45);}
.aud-photo{margin:0 0 clamp(28px,4vw,46px);border-radius:26px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.85);box-shadow:0 40px 84px -46px rgba(39,46,41,0.4);}
.aud-photo img{width:100%;height:clamp(300px,38vw,460px);object-fit:cover;object-position:50% 32%;display:block;}

/* ---------- FAQ ---------- */
.faq{max-width:840px;}
.faq details{border-top:1px solid var(--hairline);}
.faq details:last-of-type{border-bottom:1px solid var(--hairline);}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:26px;justify-content:space-between;
  padding:24px 2px;font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.2vw,26px);
  letter-spacing:-0.01em;color:var(--cream);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";flex:none;font-family:var(--sans);font-weight:300;font-size:26px;
  color:var(--coral);line-height:1;transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .fa{margin:0;padding:0 2px 26px;max-width:64ch;font-size:15.5px;line-height:1.65;color:var(--cream-soft);}
.faq .fa b{color:var(--cream);font-weight:600;}

/* ---------- misc recolors ---------- */
.toast{background:#272E29;color:#F7F5EF;box-shadow:0 16px 40px rgba(39,46,41,0.4);}
.btn-solid{box-shadow:0 12px 30px -12px rgba(39,46,41,0.5);}
.btn-solid:hover{background:#38423B;box-shadow:0 18px 38px -12px rgba(39,46,41,0.6);}
.email-pill .go:hover{transform:translateX(2px);}
.hphoto::before{border-color:rgba(184,146,63,0.38);}
