:root{--ink:#123f43;--dark:#0b3034;--paper:#ffffff;--mint:#e8f0ed;--gold:#c6a76b;--text:#3c5556;--line:#cbd7d2;--white:#fff; font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}p{font-size:1.05rem;line-height:1.75;color:var(--text)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(3rem,6.5vw,6.25rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:1.5rem}h2{font-size:clamp(2.1rem,3.6vw,3.3rem);line-height:1.15;letter-spacing:-.03em}h3{font-size:1.4rem;line-height:1.3}a:focus-visible,summary:focus-visible{outline:3px solid #9c701f;outline-offset:6px}.skip{position:absolute;top:-100px;background:white;padding:1rem;z-index:4}.skip:focus{top:0}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.notice{background:var(--ink);color:#fff;text-align:center;padding:10px 20px;font-size:.875rem;line-height:1.4}.header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 0;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column}.wordmark{font-family:Georgia,serif;font-size:2.25rem;letter-spacing:.1em;line-height:1}.brand small{font-size:.65rem;letter-spacing:.2em;margin-top:9px}.nav{display:flex;align-items:center;gap:30px;font-size:.9375rem}.nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--ink);color:#fff;padding:17px 25px;border:1px solid var(--ink);font-size:.9375rem;min-height:52px;line-height:1.3}.button:hover{background:#20575a}.button.light{background:#fff;color:var(--ink);border-color:#fff}.textlink{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.9375rem}.eyebrow{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;font-weight:600;margin-bottom:24px;color:var(--ink);line-height:1.6}.hero{display:grid;grid-template-columns:1.25fr .85fr;gap:80px;padding:84px 0 72px;align-items:center}.hero p{max-width:490px}.hero em{font-weight:400;color:#4d7472}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.hero-panel{background:var(--ink);color:white;padding:44px 36px;min-height:435px;display:flex;flex-direction:column;justify-content:space-between;border-radius:140px 140px 0 0;text-align:center;position:relative}.hero-panel .eyebrow{color:#ddc998;margin-top:34px}.hero-panel h2{font-size:3.1rem}.hero-panel p{color:#cfdfda;font-size:1rem;max-width:280px;margin:0 auto 25px}.panel-rule{width:1px;height:48px;background:var(--gold);margin:0 auto 22px}.panel-bottom{font-size:.75rem;letter-spacing:.16em;border-top:1px solid #507271;padding-top:24px}.principles{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-block:1px solid var(--line);font-size:.9375rem}.principles span::before{content:'+';color:#8a723e;margin-right:12px}.section{padding:76px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:340px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:white;padding:30px;display:flex;flex-direction:column;min-height:295px;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--ink);transform:translateY(-3px)}.card .eyebrow{font-size:.7rem;margin-bottom:28px}.card h3{font-family:Georgia,serif;font-size:1.8rem}.card p{font-size:1rem;line-height:1.6;flex:1}.card .card-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;font-size:.875rem}.card .status{font-size:.75rem;color:#6a582d;margin-bottom:20px}.approach{background:var(--mint);padding:70px 0}.approach-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:22px 0;border-top:1px solid #b5c9c1}.steps b{font-family:Georgia,serif;font-size:1.25rem;font-weight:400}.steps h3{font-size:1.1rem;margin-bottom:6px}.steps p{margin:0;font-size:1rem}.cta{background:var(--ink);color:white;margin:72px auto;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin-bottom:12px;font-size:2.6rem}.cta p{color:#d2e0db;max-width:620px;margin:0}.footer{border-top:1px solid var(--line);padding:35px 0}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-links{display:flex;gap:25px;font-size:.875rem}.footer p{font-size:.8rem;margin-top:28px;max-width:780px}.breadcrumb{font-size:.875rem;margin:35px 0;color:#54706e}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.treatment-hero{display:grid;grid-template-columns:1.55fr 1fr;gap:70px;padding:30px 0 60px}.treatment-hero h1{font-size:clamp(2.8rem,5.5vw,5rem)}.summary-card{background:var(--mint);padding:32px;align-self:start}.summary-card h2{font-size:1.8rem}.facts{margin:0}.facts div{padding:15px 0;border-top:1px solid var(--line)}dt{font-size:.8rem;letter-spacing:.05em;color:#526a65;margin-bottom:7px}dd{margin:0;font-size:1rem;line-height:1.5}.tabs{display:flex;gap:32px;border-block:1px solid var(--line);padding:20px 0;font-size:.9rem;flex-wrap:wrap}.tabs a:hover{text-decoration:underline}.content-layout{display:grid;grid-template-columns:1fr 280px;gap:85px;padding:60px 0}.content-block{padding-bottom:32px;scroll-margin-top:30px}.content-block h2{font-size:2.25rem;margin-bottom:22px}.side-note{border-left:2px solid var(--gold);padding:0 0 0 24px;align-self:start}.side-note p{font-size:.95rem}.side-note h3{font-family:Georgia,serif;font-size:1.5rem}.draft-box{background:#f1eee5;padding:20px 24px;border-left:3px solid #a08855;margin-top:24px}.draft-box p{font-size:.9375rem;margin:0}details{border-top:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:1.05rem;line-height:1.5}details p{margin:18px 0 0}.simple{max-width:800px;padding:65px 0 90px}.simple h1{font-size:3.75rem}.simple h2{font-size:2rem;margin-top:35px}.simple a:not(.button){text-decoration:underline}.empty-status{border:1px solid var(--line);padding:26px;margin-top:30px}.empty-status h2{margin-top:0}.catalog-head{padding:65px 0 0}.catalog-head h1{font-size:4.5rem}.catalog-head p{max-width:650px}.catalog-section{padding:35px 0}.catalog-section h2{font-size:2.1rem}.copyright{font-size:.75rem;color:#58716d}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.hero{gap:30px;padding-top:55px}.hero-panel{min-height:390px;padding:25px}.hero-panel h2{font-size:2.6rem}.grid{grid-template-columns:repeat(2,1fr)}.nav{gap:18px}.nav .button{padding:12px 17px}.approach-grid{gap:45px}.content-layout{gap:35px;grid-template-columns:1fr 230px}.treatment-hero{gap:30px}.principles{font-size:.8rem}}
@media(max-width:620px){.header{flex-wrap:wrap;padding:22px 0}.brand{margin:auto}.nav{width:100%;justify-content:center;gap:22px;font-size:.875rem}.nav .button{padding:10px 13px;min-height:42px}.hero{grid-template-columns:1fr;gap:35px;padding:45px 0}.hero h1{font-size:3.4rem}.hero-panel{min-height:315px;border-radius:100px 100px 0 0}.hero-panel .eyebrow{margin-top:15px}.hero-panel h2{font-size:2.6rem}.panel-rule{height:25px}.principles{flex-direction:column;gap:16px;padding:22px 0}.section{padding:48px 0}.section-heading{display:block}.section-heading p{margin-top:18px}.grid{grid-template-columns:1fr}.card{min-height:255px;padding:26px}.approach{padding:45px 0}.approach-grid,.treatment-hero,.content-layout{grid-template-columns:1fr;gap:28px}.cta{margin:45px auto;padding:28px;display:block}.cta .button{margin-top:24px}.cta h2{font-size:2.1rem}.footer-top{align-items:start;flex-direction:column}.footer .brand{margin:0}.footer-links{flex-wrap:wrap}.treatment-hero{padding-top:10px}.tabs{gap:20px}.content-layout{padding-top:38px}.catalog-head h1,.simple h1{font-size:3rem}.simple{padding-top:45px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.card{transition:none}}

/* Existing Vitara identity, applied to the responsive website. */
.brand{flex-direction:row;align-items:center;gap:15px;flex-shrink:0}
.brand-emblem{width:66px;height:66px;object-fit:contain}
.brand-type{display:flex;flex-direction:column}
.wordmark{color:#916419;letter-spacing:.16em}
.brand small{font-size:.7rem;line-height:1.5;letter-spacing:.1em;margin-top:7px}
.hero{gap:60px}
.hero-panel{background:#fff;color:var(--ink);border-radius:0;min-height:435px;padding:20px 24px;align-items:center}
.hero-emblem{display:block;width:min(270px,100%);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 24px}
.hero-panel h2{font-size:2.15rem;margin-bottom:14px}
.hero-panel p{color:var(--text);margin-bottom:24px;max-width:300px}
.panel-bottom{border-top:1px solid var(--gold);font-size:.7rem;line-height:1.6;letter-spacing:.12em;padding-top:20px;width:100%}
.hero em{color:#176d69}
.header{border-bottom-color:#d7c5a2}
.cta{border-top:2px solid var(--gold)}
@media(max-width:900px){.header{flex-wrap:wrap}.nav{gap:20px}.hero{gap:25px}.hero-panel{padding:12px}.hero-panel h2{font-size:1.9rem}.hero-emblem{width:220px}}
@media(max-width:620px){.brand{gap:12px}.brand-emblem{width:58px;height:58px}.wordmark{font-size:2rem}.brand small{font-size:.65rem}.hero-panel{min-height:0;padding:25px 15px;border-block:1px solid var(--line)}.hero-emblem{width:215px}.hero-panel h2{font-size:2rem}.hero h1{font-size:clamp(2.7rem,12vw,3.4rem)}.nav{gap:18px;flex-wrap:wrap}.footer .brand{margin:0}}

/* Patient orientation and category navigation. */
.home-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-bottom:0}
.home-faq h2{margin-bottom:20px}.home-faq>div>p{max-width:360px}
.category-jumps{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 12px}
.category-jumps a{padding:12px 17px;border:1px solid var(--line);font-size:.9rem;line-height:1.5}
.category-jumps a:hover{background:var(--mint);border-color:var(--ink)}
.catalog-section,.first-visit{scroll-margin-top:25px}
.first-visit{margin-top:45px}.first-visit .steps{margin-top:28px}
.visit-questions{background:var(--mint);padding:25px 30px;margin:36px 0}
.visit-questions h2{margin-top:0}.visit-questions ul{padding-left:22px;margin-bottom:0}
.visit-questions li{font-size:1rem;line-height:1.7;color:var(--text);padding:7px 0}
.visit-faq{margin:35px 0}
@media(max-width:900px){.header .nav{flex-wrap:wrap}.home-faq{gap:35px}}
@media(max-width:620px){.home-faq{grid-template-columns:1fr;gap:25px}.category-jumps{flex-direction:column}.visit-questions{padding:22px}.header .nav{gap:16px}.header .nav .button{flex-basis:100%}}

.future-teaser{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--mint);padding:38px;margin-top:45px;margin-bottom:20px;border-top:2px solid var(--gold)}
.future-teaser>div{max-width:730px}.future-teaser h2{font-size:2.4rem;margin-bottom:15px}.future-teaser .eyebrow{margin-bottom:15px}.future-teaser p:last-child{margin:0}.future-teaser .button{flex-shrink:0}
.future-card:hover{transform:none}.future-card h2{font-size:1.9rem;letter-spacing:-.02em}.future-card .eyebrow{color:#6a582d}.future-card .textlink{font-size:.875rem;line-height:1.6;align-self:start}
.future-notice{max-width:800px;margin-bottom:65px}.future-notice h2{font-size:2.2rem}.footer-links{flex-wrap:wrap}
@media(max-width:900px){.future-teaser{flex-direction:column;align-items:start}}
@media(max-width:620px){.future-teaser{padding:25px;gap:25px}.future-teaser h2{font-size:2rem}}

/* Treatment-specific risk reduction and supporting references. */
.risk-reduction{background:#f4f8f6;border-left:3px solid var(--gold,#b9934a);padding:28px;scroll-margin-top:24px}.risk-reduction li{margin-bottom:16px;line-height:1.75}.risk-reduction ul{padding-left:22px}.risk-sources{border-top:1px solid #d7e1dc;margin-top:24px;padding-top:20px}.risk-sources h3{font-size:1.15rem}.risk-sources p{font-size:.88rem}.risk-sources a{overflow-wrap:anywhere}.tabs{flex-wrap:wrap}@media(max-width:600px){.risk-reduction{padding:22px 18px}}

.treatment-science h3{font-size:1.2rem;margin-top:26px;margin-bottom:10px}.science-sources li{margin:12px 0;line-height:1.6}.science-sources a{overflow-wrap:anywhere}.science-sources p{font-size:.88rem}#treatment-science{scroll-margin-top:24px}

.clinical-perspective{background:#f4f8f6;border-left:3px solid #b9934a;padding:24px 28px;margin:28px 0}.treatment-science .clinical-perspective h3{margin-top:8px}.clinical-perspective p:last-child{margin-bottom:0}@media(max-width:600px){.clinical-perspective{padding:20px}}

/* Compact treatment cards retain readable copy and full-card links. */
a.card{padding:22px;min-height:245px}
a.card .eyebrow{flex:0;margin-bottom:14px}
a.card h3{font-size:1.55rem;margin-bottom:12px}
a.card p:not(.eyebrow){margin-bottom:16px;line-height:1.5}
a.card .status{margin-bottom:14px}
a.card .card-link{padding-top:12px}
@media(max-width:620px){a.card{padding:20px;min-height:220px}}

.card-route{font-size:.85rem;line-height:1.5;color:var(--ink);margin-bottom:10px}.card-benefits strong{font-size:.8rem;font-weight:600}a.card .card-benefits{font-size:.95rem}

.card .card-route-rationale{font-size:.85rem;line-height:1.5;margin:0 0 14px}.card-route-rationale strong{color:var(--teal)}

/* A single, quiet introduction for the homepage emblem. */
.hero-logo-reveal{position:relative;width:min(270px,100%);margin:0 auto 24px;border-radius:50%;overflow:visible;isolation:isolate;animation:logo-arrive 3s ease-out both}
.hero-logo-reveal .hero-emblem{width:100%;margin:0}
@keyframes logo-arrive{from{opacity:0}to{opacity:1}}
.hero-logo-reveal::before{content:"";position:absolute;inset:-24px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,rgba(111,203,183,.28) 15%,rgba(111,203,183,.15) 48%,transparent 72%);filter:blur(14px);animation:logo-glow 5s ease-out both}
@keyframes logo-glow{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){.hero-logo-reveal{width:215px}}
@media(prefers-reduced-motion:reduce){.hero-logo-reveal,.hero-logo-reveal::before{animation:none}}


/* Gold perimeter light and translucent filling droplet. */
.logo-animation{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.logo-liquid{mix-blend-mode:multiply;opacity:.72}
.logo-water-rise{animation:logo-fill 16s ease-in-out infinite}
.logo-water-surface{fill:none;stroke:#c0f5ff;stroke-width:9}
@keyframes logo-fill{0%,100%{transform:translateY(960px);opacity:0}8%{opacity:1}75%,88%{transform:translateY(265px);opacity:1}96%{transform:translateY(265px);opacity:0}}
.logo-orbit{transform-origin:627px 617px;animation:logo-orbit-turn 10s linear infinite}
@keyframes logo-orbit-turn{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
@media(prefers-reduced-motion:reduce){.logo-orbit,.logo-water-rise{animation:none}.logo-orbit{display:none}.logo-water-rise{transform:translateY(660px)}}

.logo-comet-tail{fill:none;stroke:#ffe49b;stroke-linecap:butt;filter:drop-shadow(0 0 4px #ffbb39)}

/* A traveling light follows the DNA strands without moving the emblem. */
.logo-helix-light{pointer-events:none;stroke:#7ef4ea;stroke-linecap:round;filter:drop-shadow(0 0 5px #27ced5)}
.helix-strand{stroke-width:9;stroke-dasharray:85 760;animation:helix-shimmer 9s linear infinite;opacity:.8}
.helix-strand-two{animation-delay:-4.5s}
.helix-rungs{stroke-width:5;opacity:.15;animation:helix-rung-glow 6s ease-in-out infinite}
@keyframes helix-shimmer{from{stroke-dashoffset:845}to{stroke-dashoffset:0}}
@keyframes helix-rung-glow{0%,100%{opacity:.12}50%{opacity:.6}}
@media(prefers-reduced-motion:reduce){.logo-helix-light{display:none}.helix-strand,.helix-rungs{animation:none}}

/* Phone layouts: readable cards, generous touch targets, no fixed-width columns. */
img{max-width:100%}
.grid>*,.hero>*,.treatment-hero>*,.content-layout>*{min-width:0}
@media(max-width:767px){
  .hero,.approach-grid,.home-faq,.treatment-hero,.content-layout{grid-template-columns:minmax(0,1fr);gap:30px}
  .header{justify-content:center}
  .header .nav{width:100%;justify-content:center;flex-wrap:wrap;gap:4px 14px}
  .nav a:not(.button),.footer-links a,.tabs a{display:inline-flex;align-items:center;min-height:44px}
  .hero{padding:38px 0}
  .hero p{max-width:none}
  .hero-panel{min-height:0}
  .principles{flex-wrap:wrap}
  .section-heading{display:block}
  .section-heading p{margin-top:18px}
  .tabs{gap:4px 18px;padding:12px 0}
  .footer-links{gap:4px 20px}
  .category-jumps a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:620px){
  .wrap{width:calc(100% - 32px)}
  .header{gap:18px;padding:20px 0}
  .header .nav{gap:4px 12px}
  .header .nav .button{margin-top:8px;min-height:48px}
  .hero h1,.catalog-head h1,.simple h1,.treatment-hero h1{font-size:clamp(2.25rem,10vw,3.1rem);overflow-wrap:break-word}
  h2,h3,.card h3{overflow-wrap:break-word}
  .actions{gap:18px;margin-top:24px}
  .actions .button{width:100%}
  .grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .summary-card{padding:24px}
  .content-block{overflow-wrap:anywhere}
  .section,.catalog-section{padding-top:36px;padding-bottom:36px}
  .catalog-head{padding-top:38px}
  .cta{padding:24px}
  .cta .button{width:100%;gap:12px}
  .copyright{display:block;line-height:1.7;overflow-wrap:anywhere}
}
.contact-facts{margin:30px 0 20px}.placeholder{color:#8a723e;font-style:italic}.fine{font-size:.9rem}
.waitlist{border:1px solid var(--line);padding:30px;margin-top:40px;scroll-margin-top:30px}.waitlist h2{margin-top:0}
.waitlist form{display:grid;gap:8px;max-width:480px}.waitlist label{font-size:.9rem;font-weight:600;margin-top:20px}
.waitlist input,.waitlist select{font:inherit;font-size:1rem;padding:13px 14px;border:1px solid #9fb4ad;background:#fff;color:var(--ink);border-radius:0;min-height:48px}
.waitlist input:focus-visible,.waitlist select:focus-visible,.waitlist button:focus-visible{outline:3px solid #9c701f;outline-offset:2px}
.waitlist button{margin-top:20px;cursor:pointer;font:inherit;justify-self:start}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:620px){.waitlist{padding:22px 18px}.waitlist button{width:100%}}
.price-group{font-family:Georgia,serif;font-size:1.4rem;margin:30px 0 10px}.simple .facts dt a{text-decoration:underline;text-underline-offset:4px;color:var(--ink);font-size:.95rem;letter-spacing:0}.faq-page{margin-top:30px}.simple .steps{margin-top:10px}
.photo-band{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;margin:56px 0 8px}
.photo{position:relative;margin:0;min-height:380px;overflow:hidden;border-radius:2px;background:var(--dark)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,48,52,0) 45%,rgba(11,48,52,.82))}
.photo-placeholder{background:radial-gradient(120% 90% at 85% 10%,rgba(198,167,107,.28),rgba(198,167,107,0) 55%),linear-gradient(150deg,#1b555a 0%,var(--ink) 45%,var(--dark) 100%)}
.photo-placeholder::before{content:'';position:absolute;right:-60px;top:50%;width:420px;height:420px;transform:translateY(-50%);background:url(/vitara-emblem.png) center/contain no-repeat;opacity:.4;mix-blend-mode:multiply}
.photo-placeholder::after{background:linear-gradient(180deg,rgba(11,48,52,0) 55%,rgba(11,48,52,.55))}
.photo figcaption{position:absolute;left:32px;right:32px;bottom:28px;z-index:1;color:#fff;font-family:Georgia,serif;font-size:1.65rem;line-height:1.25;letter-spacing:-.01em}
.photo figcaption span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#ddc998;margin-bottom:10px}
.photo-about{min-height:320px;margin:36px 0 10px}
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.visit-grid>div{border:1px solid var(--line);padding:22px 22px 6px;background:#fff}
.visit-grid h3{font-size:1.15rem;margin:0 0 10px}
.visit-grid p{font-size:.95rem}
details.read-more{border:1px solid var(--line);background:var(--mint);padding:0 24px;margin:8px 0 28px}
details.read-more>summary{cursor:pointer;padding:18px 0;font-family:Georgia,serif;font-size:1.25rem;color:var(--ink);list-style-position:inside}
details.read-more[open]{padding-bottom:20px}
details.read-more>summary~*{margin-top:14px}
details.risk-reduction>summary,details#evidence>summary{font-size:1.5rem}
@media(max-width:900px){.photo-band{grid-template-columns:1fr}.photo{min-height:300px}.visit-grid{grid-template-columns:1fr}}
@media(max-width:620px){.photo{min-height:240px}.photo figcaption{left:22px;right:22px;bottom:20px;font-size:1.35rem}.photo-placeholder::before{width:300px;height:300px;right:-70px}}
.simple ul{padding-left:22px;margin:0 0 22px}.simple li{font-size:1.05rem;line-height:1.75;color:var(--text);margin-bottom:8px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}
.tier{border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px 20px 8px;background:#fff}
.tier h3{font-size:1.2rem;margin:0 0 6px}
.tier .tier-price{font-family:Georgia,serif;font-size:1.5rem;color:var(--ink);margin-bottom:10px}
.tier p{font-size:.95rem}
.tier-terms{font-size:.9rem!important}
@media(max-width:760px){.tiers{grid-template-columns:1fr}}

/* ===== Refined identity layer: typography, navigation, surfaces and motion. ===== */
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-garamond.woff2) format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(/fonts/cormorant-garamond-italic.woff2) format('woff2');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url(/fonts/inter.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--ivory:#f8f5ef;--gold-deep:#9a7333;--ease:cubic-bezier(.2,.7,.2,1);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:#d9c9a4;color:var(--dark)}
body{font-family:var(--sans)}
p{font-size:1.0625rem;line-height:1.75;letter-spacing:-.003em}
h1,h2,.serif,.wordmark,.card h3,.side-note h3,.summary-card h2,.price-group,.steps b,.photo figcaption,.tier .tier-price,details.read-more>summary{font-family:var(--serif)}
h1,h2{font-weight:500;letter-spacing:-.012em}
h1{font-size:clamp(3.2rem,7vw,6.75rem);line-height:1}
h2{font-size:clamp(2.3rem,3.9vw,3.6rem);line-height:1.08}
h3{font-weight:500;letter-spacing:-.01em}
.hero em,h1 em{font-style:italic;font-weight:500;color:#176d69}
.eyebrow{font-size:.7rem;letter-spacing:.24em;font-weight:600;color:var(--gold-deep)}
.wrap{width:min(1240px,calc(100% - 96px))}

/* Header: a quiet, translucent bar that stays with the reader. */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(198,167,107,.45)}
.site-header .header{border:0;padding:14px 0;flex-wrap:nowrap}
.site-header .brand-emblem{width:52px;height:52px}
.site-header .wordmark{font-size:2rem;font-weight:500;letter-spacing:.2em}
.brand small{font-size:.62rem;letter-spacing:.16em;font-weight:500;color:var(--ink)}
.nav{gap:34px;font-size:.875rem;font-weight:500;letter-spacing:.02em}
.nav a:not(.button){position:relative;padding:6px 0}
.nav a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:not(.button):hover{text-decoration:none}
.nav a:not(.button):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--gold-deep)}
.menu{display:none;position:relative}
.menu>summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;padding:0 4px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.menu>summary::-webkit-details-marker{display:none}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s}
.menu-icon{position:relative}.menu-icon::before,.menu-icon::after{content:'';position:absolute;left:0}.menu-icon::before{top:-7px}.menu-icon::after{top:7px}
.menu[open] .menu-icon{background:transparent}.menu[open] .menu-icon::before{transform:translateY(7px) rotate(45deg)}.menu[open] .menu-icon::after{transform:translateY(-7px) rotate(-45deg)}
.menu-panel{position:absolute;right:0;top:calc(100% + 15px);width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 24px 50px -20px rgba(11,48,52,.35);padding:10px 24px 24px;display:flex;flex-direction:column}
.menu-panel a:not(.button){display:flex;align-items:center;min-height:52px;border-bottom:1px solid #e6ece9;font-family:var(--serif);font-size:1.45rem;font-weight:500}
.menu-panel a[aria-current="page"]{color:var(--gold-deep)}
.menu-panel .button{margin-top:20px;width:100%}

/* Buttons and links: crisp, tracked labels with a gentle response. */
.button{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:18px 30px;min-height:54px;gap:16px;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.button span{display:inline-block;transition:transform .3s var(--ease)}
.button:hover{background:var(--dark);box-shadow:0 14px 30px -16px rgba(11,48,52,.6)}
.button:hover span,.textlink:hover span,a.card:hover .card-more span{transform:translate(3px,-3px)}
.button.light:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.nav .button{padding:14px 22px;min-height:46px}
.textlink{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:6px;transition:color .3s var(--ease),border-color .3s var(--ease)}
.textlink span{display:inline-block;transition:transform .3s var(--ease)}
.textlink:hover{color:var(--gold-deep)}
a:focus-visible,summary:focus-visible,.button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:4px}

/* Hero and homepage rhythm. */
.hero{padding:96px 0 84px;gap:72px}
.hero p{font-size:1.125rem;max-width:520px}
.hero-panel h2{font-size:2.5rem}
.panel-bottom{font-weight:500;color:var(--gold-deep)}
.principles{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:30px 0;border-color:rgba(198,167,107,.5)}
.principles span::before{content:'';display:inline-block;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);margin:0 14px 2px 0;vertical-align:middle}
.section{padding:104px 0}
.section-heading{margin-bottom:48px}
.photo-band{margin:72px 0 0}
.photo{min-height:420px}
.photo figcaption{font-size:2rem;font-weight:500}
.approach{background:var(--ivory);padding:110px 0}
.steps li{border-top-color:rgba(198,167,107,.55);padding:28px 0}
.steps b{font-size:1.6rem;color:var(--gold-deep);font-weight:500}
.steps h3{font-size:1.15rem;font-weight:600}
.cta{background:linear-gradient(135deg,var(--ink),var(--dark));padding:72px 64px;margin:110px auto;border-top:0;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:14px;border:1px solid rgba(198,167,107,.45);pointer-events:none}
.cta h2{font-size:clamp(2.2rem,3.6vw,3.2rem)}
.cta>*{position:relative}
.future-teaser{background:var(--ivory)}
.home-faq{padding-top:104px}

/* Treatment cards: calm, even, with a clear starting price. */
.grid{gap:24px}
.card,a.card{padding:34px 32px 26px;min-height:300px;border-color:#dfe6e3;transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease)}
.card:hover{transform:translateY(-4px);border-color:rgba(198,167,107,.8);box-shadow:0 30px 60px -32px rgba(11,48,52,.35)}
a.card .eyebrow{font-size:.65rem;margin-bottom:22px}
a.card h3{font-size:1.9rem;line-height:1.12;margin-bottom:14px}
a.card p:not(.eyebrow){font-size:1rem;line-height:1.65;margin-bottom:24px}
a.card .card-link{align-items:center;border-top-color:#e6ece9;padding-top:18px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.card-price{font-family:var(--serif);font-size:1.45rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ink)}
.card-more{color:var(--gold-deep);white-space:nowrap}.card-more span{display:inline-block;transition:transform .3s var(--ease)}
.category-jumps a{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:13px 20px;transition:background-color .3s,border-color .3s,color .3s}
.category-jumps a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.catalog-head h1{font-size:clamp(3.4rem,7vw,5.5rem)}
.catalog-section h2{font-size:2.6rem;margin-bottom:28px}
.catalog-section{padding:48px 0}

/* Questions: custom markers in place of browser triangles. */
details>summary{list-style:none;position:relative;padding-right:44px}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:'';position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-6px;background:linear-gradient(var(--gold-deep),var(--gold-deep)) center/12px 1.5px no-repeat,linear-gradient(var(--gold-deep),var(--gold-deep)) center/1.5px 12px no-repeat;transition:transform .35s var(--ease)}
details[open]>summary::after{transform:rotate(135deg)}
details{padding:24px 0}
details>summary{font-size:1.08rem;font-weight:500}
details.read-more>summary{font-size:1.45rem;font-weight:500;padding-right:56px}
details.read-more>summary::after{right:4px}
details.read-more{background:var(--ivory);border-color:rgba(198,167,107,.45)}
details.risk-reduction>summary,details#evidence>summary{font-size:1.6rem}
.menu>summary::after{display:none}
@media(prefers-reduced-motion:no-preference){details[open]>*:not(summary){animation:reveal .45s var(--ease)}}
@keyframes reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Treatment pages. */
.breadcrumb{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.breadcrumb a{text-decoration:none;border-bottom:1px solid var(--gold)}
.treatment-hero{padding:40px 0 80px}
.treatment-hero h1{font-size:clamp(3rem,6vw,5.4rem)}
.summary-card{background:var(--ivory);border-top:2px solid var(--gold);padding:36px}
.summary-card h2{font-size:2rem}
.facts div{border-top-color:rgba(198,167,107,.4)}
dt{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-deep)}
.tabs{position:sticky;top:81px;z-index:20;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;gap:36px}
.tabs a{transition:color .3s}.tabs a:hover{text-decoration:none;color:var(--gold-deep)}
.content-block,#treatment-science,.risk-reduction{scroll-margin-top:150px}
.content-block h2{font-size:2.6rem}
.visit-grid>div{border-color:#dfe6e3;border-top:2px solid var(--gold);padding:26px 24px 10px}
.visit-grid h3{font-size:1.05rem;font-weight:600}
.draft-box{background:var(--ivory);border-left-color:var(--gold)}

/* Simple pages and the price list. */
.simple h1{font-size:clamp(3rem,6vw,4.6rem)}
.simple h2{font-size:2.3rem;margin-top:56px}
.price-group{font-size:1.7rem;font-weight:500;margin:44px 0 6px;color:var(--ink)}
.price-list div{display:flex;align-items:baseline;gap:24px;justify-content:space-between;padding:18px 0}
.price-list dt{flex:1 1 auto;margin:0}
.price-list dd{flex:0 1 52%;text-align:right;font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.35}
.simple .price-list dt a{font-family:var(--serif);font-size:1.3rem;font-weight:500;letter-spacing:0;text-transform:none;text-decoration:none;color:var(--ink);border-bottom:1px solid transparent;transition:border-color .3s}
.simple .price-list dt a:hover{border-bottom-color:var(--gold)}
.price-list dt:not(:has(a)){font-family:var(--serif);font-size:1.3rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
.tier{border-color:#dfe6e3;border-top:2px solid var(--gold);padding:30px 26px 14px;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.tier:hover{transform:translateY(-3px);box-shadow:0 26px 50px -30px rgba(11,48,52,.35)}
.tier h3{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-deep)}
.tier .tier-price{font-size:2.4rem;font-weight:500;margin:6px 0 14px}
.waitlist{border-color:#dfe6e3;border-top:2px solid var(--gold);background:var(--ivory);padding:40px}
.waitlist input,.waitlist select{border-color:#c9d4cf;transition:border-color .3s,box-shadow .3s}
.waitlist input:focus,.waitlist select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(198,167,107,.25);outline:none}
.waitlist label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.visit-questions{background:var(--ivory)}

/* Footer: a deep, composed close to every page. */
.footer{background:var(--dark);color:#e6efec;border:0;padding:80px 0 36px;margin-top:40px}
.footer-top{align-items:flex-start;gap:60px}
.footer .brand-emblem{background:#fff;border-radius:50%;padding:4px;width:60px;height:60px}
.footer .wordmark{color:#d8bf86}
.footer .brand small{color:#c8d8d3}
.footer-tagline{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:#d7e3df;margin:22px 0 0}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(140px,auto));gap:56px}
.footer-cols h2{font-family:var(--sans);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:#d8bf86;margin:0 0 18px}
.footer-cols a{display:block;font-size:.9rem;color:#e6efec;padding:6px 0;transition:color .3s}
.footer-cols a:hover{color:#d8bf86;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(216,191,134,.25);margin-top:60px;padding-top:28px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.footer-bottom p{font-size:.8rem;color:#a9bfba;margin:0;max-width:640px;line-height:1.7}
.footer .copyright{color:#a9bfba;font-size:.75rem;white-space:nowrap}

/* Quiet entrance as content scrolls into view, where the browser supports it. */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 .grid>.card,.steps li,.tier,.visit-grid>div,.section-heading,.photo{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:1020px){
 .site-header .nav{display:none}
 .menu{display:block}
 .site-header .header{flex-wrap:nowrap;justify-content:space-between}
 .tabs{top:73px}
 .footer-top{flex-direction:column}
 .footer-cols{width:100%}
}
@media(max-width:767px){
 .wrap{width:calc(100% - 40px)}
 .site-header .header{justify-content:space-between;padding:10px 0}
 .site-header .brand{margin:0}
 .site-header .brand-emblem{width:44px;height:44px}
 .site-header .wordmark{font-size:1.6rem}
 .site-header .brand small{font-size:.52rem;margin-top:4px}
 .hero{padding:44px 0 56px}
 .hero h1{font-size:clamp(2.9rem,13vw,3.8rem)}
 .section{padding:64px 0}
 .approach{padding:64px 0}
 .home-faq{padding-top:64px}
 .cta{padding:44px 30px;margin:64px auto}
 .cta::before{inset:10px}
 .photo{min-height:280px}
 .photo figcaption{font-size:1.5rem}
 .tabs{position:static}
 .footer{padding:56px 0 30px}
 .footer-cols{grid-template-columns:1fr 1fr;gap:36px 24px}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}
 .footer .copyright{white-space:normal}
 .price-list div{flex-direction:column;gap:4px}
 .price-list dd{text-align:left;flex-basis:auto}
 .waitlist{padding:26px 20px}
 .principles{gap:14px}
}
@media(max-width:620px){
 .wrap{width:calc(100% - 32px)}
 .hero h1,.catalog-head h1,.simple h1,.treatment-hero h1{font-size:clamp(2.6rem,12vw,3.4rem)}
 a.card{padding:26px 22px 20px;min-height:0}
 .footer-cols{grid-template-columns:1fr 1fr}
 .footer-cols>div:last-child{grid-column:1/-1}
}
p.eyebrow,.hero p.eyebrow,.cta p.eyebrow{font-size:.7rem;line-height:1.6;max-width:none}
.hero h1{font-size:clamp(3.2rem,5.6vw,5.6rem)}
@media print{*{animation:none!important}.site-header{position:static}.menu{display:none}}
.footer p.footer-tagline{font-size:1.3rem;margin-top:20px;color:#d7e3df}
.card-price,.price-list dd,.tier .tier-price,.steps b,.summary-card dd{font-variant-numeric:lining-nums}
.home-faq+.cta,.cta{margin-top:88px}
.site-header details.menu{border:0;padding:0}
.tabs,.tabs{top:97px}@media(max-width:767px){.tabs{position:static}}
.waitlist button.button{font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;font-weight:600}
.waitlist form>p:last-child,.waitlist .fine{margin-top:14px}
.simple .waitlist h2,.simple .empty-status h2,.simple .visit-questions h2{margin-top:0}
.empty-status{background:var(--ivory);border-color:#dfe6e3;border-top:2px solid var(--gold);padding:32px}
.portal-access{margin-top:32px;padding-top:24px;border-top:1px solid #dfe6e3}.portal-access p{margin-bottom:14px}.button.portal{background:#3a7a78;border-color:#3a7a78}.button.portal:hover{background:var(--ink);border-color:var(--ink)}
.footer a.brand:hover,.brand:hover{text-decoration:none}
a.inline-link{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}
a.inline-link:hover{color:var(--gold-deep);text-decoration-color:currentColor}
.cta a.inline-link{color:#fff}.cta a.inline-link:hover{color:#d8bf86}
/* Contact page: the waitlist jump lands with the whole box visible below the sticky header. */
.contact-page .waitlist{scroll-margin-top:112px;padding:30px 36px 26px}
.contact-page .waitlist h2{margin-bottom:10px}
.contact-page .waitlist>p{margin-bottom:6px}
.contact-page .waitlist label{margin-top:14px}
.contact-page .waitlist button{margin-top:18px}
@media(max-width:767px){.contact-page .waitlist{scroll-margin-top:84px;padding:22px 18px 18px}}
@media(max-width:767px){.contact-page .waitlist{scroll-margin-top:80px}.contact-page .waitlist label{margin-top:10px}.contact-page .waitlist input,.contact-page .waitlist select{min-height:44px;padding:10px 12px}.contact-page .waitlist h2{font-size:1.9rem;margin-bottom:6px}.contact-page .waitlist button{margin-top:14px}.contact-page .waitlist p{font-size:.95rem;line-height:1.55}}
/* Search: header icon and the in-browser search page. */
[hidden]{display:none!important}
.nav-search{display:inline-flex;align-items:center;gap:8px}
.nav-search .nav-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav a.nav-search::after{display:none}
.nav-search:hover,.header-search:hover{color:var(--gold-deep)}
.search-icon{display:block}
.header-search{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto}
.menu-panel .nav-search{display:flex;min-height:52px;border-bottom:1px solid #e6ece9;font-family:var(--serif);font-size:1.45rem;font-weight:500;gap:12px}
.menu-panel .nav-search .nav-search-label{position:static;width:auto;height:auto;clip:auto}
.search-box{margin:8px 0 6px}
.search-box label{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.search-box input{width:100%;font:inherit;font-size:1.15rem;padding:16px 18px;border:1px solid #c9d4cf;border-top:2px solid var(--gold);background:var(--ivory);color:var(--ink);border-radius:0;transition:border-color .3s,box-shadow .3s}
.search-box input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(198,167,107,.25)}
.search-status{font-size:.85rem;margin:10px 0 0;min-height:1.4em}
.search-note{font-size:.85rem;color:#58716d}
.search-results{list-style:none;padding:0!important;margin:20px 0 0!important}
.search-results li{margin:0!important;border-top:1px solid #e6ece9}
.search-results a{display:grid;gap:4px;padding:18px 4px;text-decoration:none!important;transition:background-color .25s}
.search-results a:hover{background:var(--ivory)}
.result-kind{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-deep)}
.result-title{font-family:var(--serif);font-size:1.45rem;font-weight:500;color:var(--ink);line-height:1.2}
.result-summary{font-size:.95rem;color:var(--text);line-height:1.55}
@media(max-width:1020px){.header-search{display:inline-flex}.site-header .header{gap:6px}}
.future-card .textlink+.textlink{margin-top:16px}
