:root { --ink:#262724; --muted:#67675f; --paper:#f7f4eb; --white:#fffdf8; --gold:#c9aa3d; --gold-light:#e2ce7c; --line:rgba(38,39,36,.16); --dark:#292b28; --radius:28px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,Arial,Helvetica,sans-serif; }
button,a { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } img { max-width:100%; display:block; }

.site-header { height:92px; padding:0 clamp(24px,5vw,80px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); background:rgba(255,253,248,.92); position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); }
.brand img { width:160px; height:44px; object-fit:contain; }
.nav { display:flex; gap:34px; font-size:14px; color:#50514d; }
.nav a { position:relative; }
.nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--ink); transition:right .25s; }
.nav a:hover::after { right:0; }
.header-cta { justify-self:end; border:0; background:var(--dark); color:white; padding:15px 27px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.06em; transition:transform .2s,background .2s; }
.header-cta:hover { transform:translateY(-2px); background:#111; }
.menu-button { display:none; justify-self:end; background:none; border:0; padding:8px; }
.menu-button .close-icon { display:none; }
.menu-button.active .menu-icon { display:none; }
.menu-button.active .close-icon { display:inline; }

.hero { min-height:calc(100vh - 92px); padding:clamp(45px,7vw,100px) clamp(24px,6.3vw,100px); display:grid; grid-template-columns:.93fr 1.07fr; align-items:center; gap:clamp(40px,7vw,120px); background:radial-gradient(circle at 5% 12%,#fff 0,transparent 34%),var(--paper); overflow:hidden; }
.hero-copy { max-width:650px; z-index:2; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(175,145,36,.55); border-radius:999px; padding:9px 14px; font-size:11px; font-weight:700; letter-spacing:.09em; margin-bottom:24px; }
.eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--gold); }
.eyebrow.light { color:#f7f4eb; border-color:rgba(226,206,124,.55); }
.hero h1 { margin:0; font-size:clamp(54px,6.2vw,96px); line-height:.92; letter-spacing:-.07em; font-weight:520; }
.hero h1 em { color:#aa8c24; font-family:Georgia,serif; font-weight:400; }
.hero-copy>p { max-width:590px; font-size:clamp(17px,1.35vw,21px); line-height:1.55; margin:30px 0; color:#4e4f4a; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; }
.button { border:0; border-radius:999px; padding:18px 25px; display:inline-flex; align-items:center; justify-content:center; gap:11px; font-weight:700; font-size:14px; transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(53,46,20,.15); }
.button-gold { background:linear-gradient(135deg,#d8bd52,#b59629); color:#28271f; }
.text-link { font-size:14px; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.trust-row { display:flex; flex-wrap:wrap; gap:26px; padding-top:30px; font-size:13px; color:var(--muted); }
.trust-row span { display:flex; align-items:center; gap:7px; }
.hero-visual { position:relative; height:min(74vh,760px); min-height:540px; }
.hero-visual::before { content:""; position:absolute; inset:-7% -9% 8% 9%; border:1px solid rgba(174,145,42,.35); border-radius:48% 48% 14% 14%; transform:rotate(5deg); }
.hero-visual>img { width:100%; height:100%; object-fit:cover; object-position:center 28%; border-radius:46% 46% 22px 22px; position:relative; filter:saturate(.88); }
.floating-card { position:absolute; z-index:3; background:rgba(255,253,248,.94); backdrop-filter:blur(10px); box-shadow:0 18px 50px rgba(36,34,24,.14); border:1px solid rgba(255,255,255,.7); border-radius:18px; padding:15px 18px; display:flex; gap:12px; align-items:center; min-width:225px; }
.floating-card strong,.floating-card small { display:block; } .floating-card strong { font-size:13px; } .floating-card small { color:#77766d; margin-top:3px; font-size:10px; }
.icon-dot { width:38px; height:38px; flex:none; background:#e5d78f; border-radius:50%; display:grid; place-items:center; }
.card-top { right:-35px; top:20%; } .card-bottom { left:-52px; bottom:13%; }

.proof-strip { background:var(--dark); color:white; padding:28px clamp(24px,6.3vw,100px); display:grid; grid-template-columns:1.15fr repeat(3,1fr); align-items:center; gap:30px; }
.proof-strip>p { color:#cfb44d; font-size:11px; letter-spacing:.12em; font-weight:700; }
.proof-strip>div { padding-left:25px; border-left:1px solid rgba(255,255,255,.18); }
.proof-strip strong,.proof-strip span { display:block; } .proof-strip strong { font-size:15px; margin-bottom:5px; } .proof-strip span { color:#bcbdb7; font-size:11px; }

.section { padding:clamp(90px,10vw,155px) clamp(24px,6.3vw,100px); }
.section-heading { max-width:810px; }
.section h2,.science-copy h2,.faq-section h2,.final-cta h2 { font-size:clamp(43px,5.2vw,76px); line-height:1; letter-spacing:-.055em; font-weight:500; margin:0; }
.section-lead { max-width:570px; margin:28px 0 70px auto; color:var(--muted); line-height:1.7; font-size:18px; }
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.step-card { padding:35px 28px 0 0; min-height:255px; border-right:1px solid var(--line); margin-right:28px; }
.step-card:last-child { border:0; margin-right:0; }
.step-number { display:inline-grid; place-items:center; width:45px; height:45px; border-radius:50%; background:#dfce81; font:italic 18px Georgia,serif; }
.step-card h3 { font-size:22px; margin:30px 0 13px; } .step-card p { font-size:14px; color:var(--muted); line-height:1.6; }

.science-section { background:var(--dark); color:white; display:grid; grid-template-columns:1fr 1fr; min-height:860px; }
.science-image { position:relative; margin:54px 0 54px 54px; overflow:hidden; border-radius:28px; }
.science-image img { width:100%; height:100%; object-fit:cover; }
.image-note { position:absolute; left:24px; bottom:24px; background:rgba(37,39,36,.88); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(12px); padding:13px 18px; border-radius:999px; display:flex; align-items:center; gap:8px; font-size:12px; }
.science-copy { padding:clamp(70px,8vw,125px); align-self:center; }
.science-copy>p { color:#c2c3be; line-height:1.7; max-width:590px; margin:28px 0 45px; font-size:17px; }
.treatment-list article { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:22px 0; border-top:1px solid rgba(255,255,255,.17); }
.treatment-list article>span { color:var(--gold-light); font:italic 17px Georgia,serif; }
.treatment-list h3 { margin:0 0 6px; font-size:18px; } .treatment-list p { color:#aeb0aa; font-size:13px; line-height:1.5; margin:0; }
.medical-note { display:block; color:#898b86; margin-top:22px; line-height:1.5; }

.expectation-section { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(50px,10vw,150px); align-items:center; background:#f0eee3; }
.expectation-copy>p { max-width:650px; color:var(--muted); font-size:17px; line-height:1.7; margin:28px 0 45px; }
.timeline { border-top:1px solid var(--line); }
.timeline>div { display:grid; grid-template-columns:70px 1fr; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); }
.timeline strong { font:italic 20px Georgia,serif; color:#a0872c; }
.timeline span,.timeline b { display:block; } .timeline span { color:var(--muted); font-size:13px; } .timeline b { color:var(--ink); font-size:15px; margin-bottom:4px; }
.quote-card { background:#ded7ad; padding:clamp(40px,5vw,75px); border-radius:46% 46% 26px 26px; min-height:560px; display:flex; flex-direction:column; justify-content:center; position:relative; }
.quote-mark { font:110px/.5 Georgia,serif; color:#a78c28; }
.quote-card blockquote { font:28px/1.35 Georgia,serif; margin:42px 0; }
.quote-card>p { font-size:13px; font-weight:700; } .quote-card>p span { color:#6e6b58; font-weight:400; }
.dots { display:flex; gap:8px; position:absolute; bottom:40px; }
.dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(38,39,36,.3); }
.dots button.active { width:27px; border-radius:99px; background:var(--ink); }
.quote-card blockquote { transition:opacity .2s ease; }

.faq-section { padding:clamp(90px,10vw,150px) clamp(24px,6.3vw,100px); display:grid; grid-template-columns:.75fr 1.25fr; gap:10vw; }
.faq-section>div:first-child>p { color:var(--muted); line-height:1.6; max-width:390px; margin-top:25px; }
.faq-item { border-top:1px solid var(--line); } .faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-item>button { width:100%; padding:26px 0; display:flex; justify-content:space-between; align-items:center; text-align:left; gap:20px; border:0; background:transparent; font-size:17px; font-weight:600; }
.faq-item svg { transition:transform .3s; flex:none; } .faq-item.open svg { transform:rotate(180deg); }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.faq-answer p { min-height:0; overflow:hidden; margin:0; color:var(--muted); line-height:1.65; font-size:14px; }
.faq-item.open .faq-answer { grid-template-rows:1fr; } .faq-item.open .faq-answer p { padding-bottom:26px; }

.final-cta { margin:0 clamp(18px,3vw,48px) 48px; padding:clamp(80px,10vw,145px) 24px; text-align:center; background:var(--dark); color:white; border-radius:38px; position:relative; overflow:hidden; }
.final-cta::before,.final-cta::after { content:""; position:absolute; border:1px solid rgba(218,190,82,.25); border-radius:50%; width:520px; height:520px; }
.final-cta::before { top:-320px; left:-180px; } .final-cta::after { bottom:-380px; right:-150px; }
.final-cta>* { position:relative; z-index:1; } .final-cta>p { color:#c4c5bf; font-size:17px; margin:25px auto 35px; }
.button-light { background:#f4efdb; color:var(--ink); margin:auto; }
.final-cta small { margin-top:26px; display:flex; justify-content:center; align-items:center; gap:7px; color:#92948f; }

footer { padding:55px clamp(24px,6.3vw,100px) 35px; display:grid; grid-template-columns:1fr auto; gap:20px 50px; align-items:center; }
footer>img { width:145px; } footer>p { color:var(--muted); font-size:13px; }
footer nav { grid-column:2; grid-row:1 / span 2; display:flex; gap:25px; font-size:12px; }
.footer-note { grid-column:1 / -1; padding-top:25px; border-top:1px solid var(--line); }

.reveal { animation:rise .8s cubic-bezier(.2,.75,.2,1) both; } .delay-1 { animation-delay:.12s; }
@keyframes rise { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }

@media (max-width:1050px) {
  .nav { display:none; position:absolute; top:91px; left:0; right:0; padding:25px; background:var(--white); flex-direction:column; border-bottom:1px solid var(--line); }
  .nav.nav-open { display:flex; } .site-header { grid-template-columns:1fr auto auto; gap:12px; } .menu-button { display:block; }
  .hero { grid-template-columns:1fr 1fr; gap:45px; } .hero h1 { font-size:clamp(52px,7vw,72px); }
  .steps-grid { grid-template-columns:repeat(2,1fr); row-gap:50px; } .science-copy { padding:65px 50px; }
}

@media (max-width:760px) {
  .site-header { height:74px; padding:0 20px; } .brand img { width:128px; } .header-cta { display:none; } .nav { top:73px; }
  .hero { min-height:auto; grid-template-columns:1fr; padding:56px 20px 75px; } .hero h1 { font-size:clamp(51px,15vw,72px); } .hero-copy>p { font-size:16px; }
  .hero-visual { min-height:500px; height:68vh; margin-top:10px; } .floating-card { min-width:195px; padding:12px; } .card-top { right:-6px; } .card-bottom { left:-5px; }
  .proof-strip { grid-template-columns:1fr; gap:22px; } .proof-strip>div { padding:0; border:0; }
  .section h2,.science-copy h2,.faq-section h2,.final-cta h2 { font-size:clamp(42px,12vw,58px); }
  .section-lead { margin:26px 0 50px; font-size:16px; } .steps-grid { grid-template-columns:1fr; }
  .step-card { min-height:auto; padding-bottom:30px; border-right:0; border-bottom:1px solid var(--line); margin:0; }
  .science-section { grid-template-columns:1fr; } .science-image { min-height:430px; margin:20px; } .science-copy { padding:65px 24px 80px; }
  .expectation-section { grid-template-columns:1fr; } .quote-card { min-height:470px; } .quote-card blockquote { font-size:24px; }
  .faq-section { grid-template-columns:1fr; gap:55px; } .final-cta { margin:0 12px 30px; border-radius:26px; }
  footer { grid-template-columns:1fr; } footer nav { grid-column:1; grid-row:auto; flex-wrap:wrap; } .footer-note { grid-column:1; }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
