/* Yonsei 365 Dental theme styles */
/* Yonsei 365 Dental, international patients. Layout follows the IU Eye Clinic theme (en.iueye.co.kr):
   deep-green brand surfaces, ivory page backgrounds, white cards and soft green accents. */
:root{
--bg:#F7F6F0; --surface:#FFFFFF; --ink:#233B32; --muted:#53685E; --line:#D9E3DA;
--iris:#143D32; --accent:#34745C; --iris-ink:#FFFFFF; --iris-soft:#E6EFE8; --amber:#143D32; --amber-soft:#EDF3EC;
--band:#143D32; --band-fg:#FFFFFF; --band-muted:rgba(255,255,255,.84); --band-line:rgba(255,255,255,.24);
--mint-wash:#EEF2EA; --deep:#0D2C24; --gold:#9A6B1E; --gold-soft:#F8EFDF;
--hero-acc:#B9DDC6; --hero-soft:#DFEEE2;
--shadow:0 1px 2px rgba(20,61,50,.05),0 18px 40px -18px rgba(20,61,50,.22);
--f-display:"Plus Jakarta Sans","Avenir Next","Segoe UI",system-ui,sans-serif;
--f-body:"Figtree","Helvetica Neue","Segoe UI",system-ui,sans-serif;
--f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
--f-kr:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
--f-serif:"Cormorant Garamond","Cormorant",Georgia,serif;
color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
html:lang(ko) body{font-family:var(--f-kr);word-break:keep-all}
html:lang(ko) :is(h1,h2,h3,.statement,summary){font-family:var(--f-kr);letter-spacing:-.02em}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
a{color:inherit}
img{max-width:100%}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.03em}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--f-mono)}
.eyebrow{font-family:var(--f-serif);font-size:clamp(18px,1.6vw,21px);font-weight:600;color:var(--iris)}
:focus-visible{outline:2.5px solid var(--iris);outline-offset:3px;border-radius:6px}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--f-body);padding:15px 22px;min-height:46px;border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--iris);color:#fff}
.btn-primary:hover{background:var(--deep)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}
.btn svg{width:18px;height:18px;flex:none}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s ease;pointer-events:none}
.btn:hover::after{transform:translateX(120%)}

/* nav */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(20,61,50,.97);color:#F7F6F0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
header.nav .wrap{display:flex;align-items:center;gap:24px;padding-block:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img.logo{height:40px;width:auto;display:block}
nav.links{display:flex;gap:22px;margin-left:auto;font-size:14.5px;font-weight:600}
nav.links a{text-decoration:none;color:var(--ink)}
nav.links a:hover{color:var(--iris)}
header.nav .btn{padding:11px 18px;font-size:14px;min-height:44px}
@media (max-width:1020px){nav.links{display:none} header.nav .btn{margin-left:auto}}
@media (max-width:420px){header.nav .wrap{gap:12px} header.nav .brand img.logo{height:30px} header.nav .btn{padding:10px 14px;font-size:13px;gap:6px;white-space:nowrap} header.nav .btn svg{width:16px;height:16px}}
@media (max-width:360px){header.nav .brand img.logo{height:26px} header.nav .btn{padding:9px 12px;font-size:12.5px}}

/* hero: inset rounded photo card with a slideshow */
.hero{position:relative;isolation:isolate;overflow:hidden;color:#F4F8F6;background:#0D241D;
margin:6px max(16px,3.4vw) 0;border-radius:clamp(24px,3.4vw,44px);
min-height:min(700px,calc(100svh - 96px));display:flex;flex-direction:column;justify-content:center;padding-block:clamp(56px,8vw,110px) clamp(110px,10vw,140px)}
.hero > .wrap{width:100%}
.hero-media{position:absolute;inset:0;z-index:-2;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;max-width:none;opacity:0;transition:opacity 1.4s ease}
.hero-media img.on{opacity:1;animation:kb 8s linear both}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.11) translateX(-1.5%)}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:
linear-gradient(90deg,rgba(10,22,20,.9) 0%,rgba(10,22,20,.76) 38%,rgba(10,22,20,.22) 62%,rgba(10,22,20,0) 80%),
linear-gradient(180deg,rgba(10,22,20,.2) 0%,transparent 25%,transparent 62%,rgba(10,22,20,.7) 100%)}
@media (max-width:900px){.hero-shade{background:linear-gradient(180deg,rgba(10,22,20,.5),rgba(10,22,20,.8) 55%,rgba(10,22,20,.9))}}
.hero-copy{max-width:620px;will-change:transform,opacity}
@media (max-width:900px){.hero{padding-bottom:28px}.hero .hero-foot{position:relative;margin-top:36px}}
.hero .eyebrow{color:var(--hero-soft)}
.hero h1{font-size:clamp(40px,6vw,76px);font-weight:800;margin-top:18px;letter-spacing:-.035em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero h1 em{font-style:normal;color:var(--hero-acc);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.09em;background:var(--hero-acc);opacity:.7;border-radius:2px;transform-origin:left;animation:underline 1.1s .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero .lede{font-size:clamp(17px,1.6vw,19.5px);color:rgba(226,238,232,.86);max-width:52ch;margin-top:22px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .btn-primary{background:#fff;color:var(--deep)}
.hero .btn-primary:hover{background:#EEF6F2}
.hero .btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);color:#F4F8F6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.plans{margin-top:34px;display:grid;gap:12px}
.plans-label{font-size:13px;color:rgba(226,238,232,.86)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:600 13.5px/1 var(--f-body);padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-foot{position:absolute;left:0;right:0;bottom:0}
.hero-foot .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding-block:0 22px;flex-wrap:wrap}
.scene-cap{display:grid;gap:4px;min-width:0;max-width:520px}
.scene-cap small{font:600 16px/1 var(--f-serif);color:var(--hero-soft)}
.scene-cap span{font-size:15px;font-weight:600}
.dots{display:flex;gap:8px}
.dots button{width:46px;height:22px;border:0;padding:0;background:none;cursor:pointer;position:relative}
.dots button::before{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:rgba(255,255,255,.3)}
.dots button[aria-current="true"]::after{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:#fff;transform-origin:left;animation:fill 6s linear both}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero .rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero .rise:nth-child(2){animation-delay:.08s}.hero .rise:nth-child(3){animation-delay:.16s}.hero .rise:nth-child(4){animation-delay:.24s}.hero .rise:nth-child(5){animation-delay:.32s}
@keyframes rise{from{transform:translateY(18px)}to{transform:none}}

/* promise strip */
.promises{border-bottom:1px solid var(--line);background:#fff}
.promises .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.promise{padding:22px 20px;display:flex;gap:14px;align-items:flex-start;border-left:1px solid var(--line)}
.promise:first-child{border-left:0;padding-left:0}
.promise svg{flex:none;width:26px;height:26px;color:var(--iris)}
.promise b{display:block;font-size:15px;line-height:1.3}
.promise span{font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.promises .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.promise:nth-child(3){border-left:0;padding-left:0}.promise:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.promises .wrap{grid-template-columns:minmax(0,1fr)}.promise{border-left:0;padding-left:0}.promise+.promise{border-top:1px solid var(--line)}}

/* brand statement */
.intro{position:relative;overflow:hidden;background:radial-gradient(60% 80% at 100% 0%,#E7EEDF 0%,rgba(231,238,223,0) 60%),radial-gradient(50% 70% at 0% 100%,#F1F3E9 0%,rgba(241,243,233,0) 60%),#fff}
.intro .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(72px,10vw,140px)}
@media (max-width:800px){.intro .wrap{grid-template-columns:minmax(0,1fr)}.intro .ring{max-width:200px}}
.intro .ring{width:100%;max-width:340px;justify-self:center;animation:bob 6s ease-in-out infinite}
.intro .ring svg{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 40px rgba(34,72,59,.25));will-change:transform;transform:rotate(var(--rot,0deg)) translateY(var(--ty,0px));transition:transform .2s linear}
@keyframes bob{50%{transform:translateY(-12px)}}
.statement{font:800 clamp(22px,2.6vw,34px)/1.5 var(--f-display);letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.statement em{font-style:normal;color:var(--iris)}
.statement .w{opacity:.16;transition:opacity .35s linear}
.statement .w.on{opacity:1}

/* sections */
section.block{padding-block:clamp(64px,9vw,112px)}
.sec-head{display:grid;gap:14px;max-width:720px;margin-bottom:clamp(32px,4vw,52px)}
.sec-head h2{font-size:clamp(32px,4.2vw,52px);font-weight:800}
.sec-head p{color:var(--muted);font-size:17.5px;max-width:60ch}
#focus,#how,#tour,#visit{background:linear-gradient(180deg,#fff 0,var(--mint-wash) 180px,var(--mint-wash) 100%)}
#how,#tour,#doctors,#videos,#visit,#faq{padding-top:clamp(64px,9vw,112px)}

/* focus: tooth chart with a lens */
.focus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:900px){.focus-grid{grid-template-columns:minmax(0,1fr)}}
.focus-grid h2{font-size:clamp(32px,4.2vw,52px);font-weight:800;margin-top:14px}
.focus-grid > div > p{color:var(--muted);font-size:17.5px;margin-top:14px;max-width:54ch}
.focus-list{list-style:none;padding:0;margin:26px 0 30px;display:grid}
.focus-list li{display:flex;justify-content:space-between;gap:16px;padding-block:13px;border-top:1px solid var(--line);font-weight:600}
.focus-list li:last-child{border-bottom:1px solid var(--line)}
.focus-list li span{font:600 16px/1.6 var(--f-serif);color:var(--iris);text-align:right}
.plan-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px 24px 22px;box-shadow:var(--shadow);max-width:100%;min-width:0}
.plan-top{display:flex;justify-content:space-between;gap:12px;font:600 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.plan-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.plan-tabs button{font:600 14px/1 var(--f-body);padding:12px 15px;min-height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.plan-tabs button[aria-selected="true"]{background:var(--iris);border-color:var(--iris);color:#fff}
.days{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.days li{display:grid;gap:6px;align-content:start;min-width:0}
.days .d{font:600 11px/1 var(--f-mono);color:var(--muted);text-align:center}
.days .slot{height:64px;border-radius:12px;background:var(--mint-wash);display:grid;place-items:center;transition:background .3s ease,transform .3s ease}
.days li.on .slot{background:var(--iris);transform:translateY(-3px)}
.days .slot svg{width:22px;height:22px;color:#fff;opacity:0;transition:opacity .3s}
.days li.on .slot svg{opacity:1}
.days li.free .slot{background:repeating-linear-gradient(135deg,var(--mint-wash) 0 6px,#E0E8DB 6px 12px)}
.plan-list{list-style:none;margin:16px 0 0;padding:0;display:grid}
.plan-list li{display:grid;grid-template-columns:62px 1fr;gap:12px;padding-block:10px;border-top:1px solid var(--line);font-size:15px}
.plan-list li b{font:600 12px/1.6 var(--f-mono);color:var(--iris)}
.plan-foot{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.plan-foot .mono{color:var(--ink);font-weight:600}

/* insurance band */
.band{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:linear-gradient(160deg,#245A47 0%,#143D32 45%,#0D2C24 100%)}
.band::before{content:"";position:absolute;width:780px;height:780px;right:-260px;top:-300px;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 38px,rgba(255,255,255,.07) 38px 39px);pointer-events:none}
.band .orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:-1;opacity:.55}
.band .orb.a{width:46vw;height:46vw;max-width:620px;max-height:620px;left:-12%;top:-18%;background:radial-gradient(circle,#8DB8A0,transparent 65%);animation:drift 16s ease-in-out infinite alternate}
.band .orb.b{width:40vw;height:40vw;max-width:540px;max-height:540px;right:-10%;bottom:-20%;background:radial-gradient(circle,#143D32,transparent 65%);animation:drift 19s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(8vw,6vh) scale(1.15)}}
.band .eyebrow{color:#D3E8DE}
.band .sec-head p{color:var(--band-muted)}
.band h2 em{font-style:normal;color:#CFE6DB}
.ins-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:960px){.ins-grid{grid-template-columns:minmax(0,1fr)}}
.tabs{display:inline-flex;padding:5px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--band-line);gap:4px;flex-wrap:wrap}
.tab{font:600 14px/1 var(--f-body);padding:13px 18px;min-height:44px;border-radius:999px;border:0;background:transparent;color:var(--band-muted);cursor:pointer}
.tab[aria-selected="true"]{background:#fff;color:var(--deep)}
.path{margin-top:26px}
.path h3{font-size:clamp(24px,2.6vw,30px);font-weight:700}
.path > p{color:var(--band-muted);margin-top:10px;max-width:58ch}
.flow{list-style:none;padding:0;margin:26px 0 0;display:grid;counter-reset:f}
.flow li{counter-increment:f;display:grid;grid-template-columns:44px 1fr;gap:14px;padding-block:14px;border-top:1px solid var(--band-line)}
.flow li:last-child{border-bottom:1px solid var(--band-line)}
.flow li::before{content:counter(f,decimal-leading-zero);font:600 18px/1.5 var(--f-serif);color:#CFE6DB}
.flow b{display:block;font-size:16px}
.flow span{color:var(--band-muted);font-size:15px}
.who{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.who span{font:500 12.5px/1 var(--f-body);padding:8px 12px;border-radius:999px;border:1px solid var(--band-line)}
.form-card{background:#fff;color:var(--ink);border-radius:28px;padding:28px;box-shadow:0 30px 60px -24px rgba(10,40,30,.45)}
.form-card h3{font-size:24px;font-weight:700}
.form-card .sub{color:var(--muted);font-size:15px;margin-top:6px}
form{display:grid;gap:14px;margin-top:20px}
.field{display:grid;gap:6px}
.field label{font-size:13.5px;font-weight:600}
.field input,.field select{font:500 16px/1.2 var(--f-body);padding:13px 14px;min-height:48px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);width:100%;min-width:0}
.field input:focus,.field select:focus{outline:none;border-color:var(--iris)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:460px){.two{grid-template-columns:minmax(0,1fr)}}
.hint{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--iris-soft);font-size:14px;line-height:1.45}
.hint svg{flex:none;width:18px;height:18px;color:var(--iris);margin-top:1px}
.form-card .btn{justify-content:center;width:100%}
.form-note{font-size:13px;color:var(--muted);text-align:center}
.done{display:grid;gap:10px;text-align:center;padding-block:24px 8px;justify-items:center}
.done svg{width:52px;height:52px;color:var(--iris)}
.done h4{margin:0;font:700 22px/1.2 var(--f-display)}
.done p{color:var(--muted);font-size:15px;max-width:34ch}
.linkbtn{background:none;border:0;color:var(--iris);font:600 15px var(--f-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 4px}

/* claim pack */
.pack{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){.pack{grid-template-columns:minmax(0,1fr)}}
.pack h2{font-size:clamp(32px,4.2vw,52px);font-weight:800;margin-top:14px}
.pack .lead{color:var(--muted);font-size:17.5px;margin-top:14px;max-width:56ch}
.checklist{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.checklist li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.tick{width:28px;height:28px;border-radius:50%;background:var(--iris-soft);color:var(--iris);display:grid;place-items:center}
.tick svg{width:15px;height:15px}
.checklist b{display:block;font-size:16px}
.checklist span{color:var(--muted);font-size:15px}
.doc-wrap{position:relative;padding:18px;min-width:0}
.doc-wrap::before{content:"";position:absolute;inset:0 30px 34px 0;border-radius:18px;background:var(--iris-soft);transform:rotate(-2.5deg)}
.doc{position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow);font-size:13px;overflow:hidden}
.doc-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:16px;border-bottom:2px solid var(--ink);flex-wrap:wrap}
.doc-head img{height:34px;width:auto;display:block}
.doc-title{font:600 11px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;text-align:right;color:var(--muted)}
.doc-title b{display:block;color:var(--ink);font-size:13px;letter-spacing:.06em}
.meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}
@media (max-width:520px){.meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.meta div{display:grid;gap:2px;min-width:0}
.meta small{font:600 10px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.meta span{font-weight:600;overflow-wrap:anywhere}
.tbl-scroll{overflow-x:auto;margin-top:6px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:420px}
th{font:600 10px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 8px 8px 0}
td{padding:9px 8px 9px 0;border-top:1px solid var(--line);vertical-align:top}
td.code{font-family:var(--f-mono);font-weight:600;color:var(--iris);white-space:nowrap}
td.amt,th.amt{text-align:right;padding-right:0;white-space:nowrap}
tr.dx td{background:var(--amber-soft)}
tr.total td{border-top:2px solid var(--ink);font-weight:700;font-size:14px}
.doc-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:18px;flex-wrap:wrap}
.sign{font-size:12px;color:var(--muted);display:grid;gap:4px}
.sign i{display:block;width:170px;border-bottom:1px solid var(--ink);height:22px;font-family:var(--f-display);font-style:normal;color:var(--ink);font-size:17px}
.stamp{width:100px;height:100px;border-radius:50%;border:2.5px solid var(--iris);color:var(--iris);display:grid;place-items:center;text-align:center;font:700 9.5px/1.3 var(--f-mono);letter-spacing:.06em;transform:rotate(-12deg);opacity:.9}
.stamp b{display:block;font-size:15px;letter-spacing:.12em}
.sample{position:absolute;top:14px;right:-38px;transform:rotate(35deg);background:var(--iris);color:#fff;font:700 10px/1 var(--f-mono);letter-spacing:.14em;padding:6px 44px}

/* steps */
#how{position:relative;overflow:hidden}
#how > .wrap{position:relative;z-index:1}
.ribbon{position:absolute;left:0;right:0;top:40px;width:100%;height:560px;pointer-events:none;z-index:0;opacity:.7}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0;counter-reset:s}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.steps{grid-template-columns:minmax(0,1fr)}}
.steps li{counter-increment:s;position:relative;overflow:hidden;padding:26px 22px 24px;border-radius:28px;background:#fff;box-shadow:var(--shadow);display:grid;gap:10px;align-content:start;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.steps li::before{content:"Step " counter(s);font:600 18px/1 var(--f-serif);color:var(--iris)}
.steps li:hover{transform:translateY(-6px);box-shadow:0 30px 60px -26px rgba(20,61,50,.35)}
.steps h3{font-size:21px;font-weight:700}
.steps p{color:var(--muted);font-size:15px}
.steps .when{font:500 12px/1.3 var(--f-mono);color:var(--ink);padding-top:12px;border-top:1px dashed var(--line);margin-top:4px}

/* treatments */
.tx{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.tx{grid-template-columns:minmax(0,1fr)}}
.tx-list{display:grid;gap:6px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 90px)}
@media (max-width:900px){.tx-list{position:static;display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:thin}}
.tx-btn{display:grid;gap:3px;text-align:left;padding:14px 18px;border-radius:16px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;font:inherit}
.tx-btn b{font:700 17px/1.25 var(--f-display)}
.tx-btn span{font-size:13px;color:var(--muted)}
.tx-btn:hover{background:#fff}
.tx-btn[aria-selected="true"]{background:var(--iris-soft)}
.tx-btn[aria-selected="true"] b{color:var(--iris)}
@media (max-width:900px){.tx-btn{flex:none;white-space:nowrap;padding:12px 16px;min-height:44px;border-color:var(--line);border-radius:999px}.tx-btn span{display:none}.tx-btn b{font-size:15px}}
.tx-panel{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;min-width:0}
.tx-img{position:relative;aspect-ratio:16/8;max-width:100%;overflow:hidden;background:#0D241D}
.tx-img img{width:100%;height:100%;object-fit:cover;display:block}
.tx-img .cov{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);color:var(--deep)}
.tx-img .ai{position:absolute;right:14px;top:14px;font:600 11px/1 var(--f-mono);color:#fff;background:rgba(10,22,20,.55);padding:6px 8px;border-radius:6px}
.tx-body{padding:clamp(22px,3vw,34px);display:grid;gap:22px}
.tx-body h3{font-size:clamp(26px,2.8vw,34px);font-weight:800}
.tx-body > div > p{color:var(--muted);margin-top:10px;max-width:64ch}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
@media (max-width:620px){.facts{grid-template-columns:minmax(0,1fr)}}
.facts div{padding:14px 16px 14px 0;display:grid;gap:4px}
.facts div+div{padding-left:16px;border-left:1px solid var(--line)}
@media (max-width:620px){.facts div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.facts small{font:600 10.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts span{font-weight:600;font-size:15px}
.incl h4{margin:0 0 10px;font:600 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.incl ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
@media (max-width:620px){.incl ul{grid-template-columns:minmax(0,1fr)}}
.incl li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:15px}
.incl li::before{content:"";width:8px;height:8px;margin-top:8px;border-radius:50%;border:2px solid var(--iris)}
.cov-note{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:var(--mint-wash);font-size:15px}
.cov{justify-self:start;font:600 11.5px/1 var(--f-mono);padding:7px 10px;border-radius:6px;letter-spacing:.02em}
.cov.yes{background:var(--iris-soft);color:var(--iris)}
.cov.check{background:var(--gold-soft);color:var(--gold)}
.cov.self{background:#E9EEE8;color:var(--muted)}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:13.5px;color:var(--muted);align-items:center}

/* marquee */
.marquee{overflow:hidden;background:linear-gradient(180deg,var(--mint-wash),#DCE8DA);padding-block:clamp(18px,3vw,34px)}
.mq-track{display:flex;width:max-content;gap:clamp(24px,3vw,44px);align-items:center;animation:mq 46s linear infinite}
.mq-track span{font:500 clamp(44px,6.4vw,92px)/1 var(--f-serif);color:rgba(20,61,50,.4);white-space:nowrap}
.mq-track svg{width:clamp(30px,3.6vw,52px);height:auto;flex:none;opacity:.45}
@keyframes mq{to{transform:translateX(-50%)}}

/* tour */
.tour{display:grid;gap:14px}
.tour-stage{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:16/8;max-width:100%;background:#0D241D}
@media (max-width:620px){.tour-stage{aspect-ratio:4/3}}
.tour-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.tour-stage img.on{opacity:1}
.tour-cap{position:absolute;left:0;right:0;bottom:0;padding:60px clamp(18px,3vw,32px) clamp(18px,3vw,28px);background:linear-gradient(180deg,transparent,rgba(10,22,20,.85));color:#F4F8F6;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.tour-cap small{font:600 16px/1 var(--f-serif);color:var(--hero-soft)}
.tour-cap h3{font-size:clamp(22px,2.6vw,32px);font-weight:800;margin-top:8px}
.tour-cap p{color:rgba(226,238,232,.86);font-size:15px;margin-top:6px;max-width:56ch}
@media (max-width:620px){.tour-cap{padding-top:40px}.tour-cap p{display:none}}
.tour-nav{display:flex;gap:8px;align-items:center}
.tour-nav button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center}
.tour-nav button svg{width:20px;height:20px}
.tour-count{font:600 13px/1 var(--f-mono);color:rgba(226,238,232,.86);margin-right:6px;font-variant-numeric:tabular-nums}
.tour-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
@media (max-width:900px){.tour-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tour-thumbs button{display:grid;gap:8px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;text-align:left;font:600 14px/1.3 var(--f-body)}
.tour-thumbs img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;border:2px solid transparent;opacity:.75;transition:opacity .2s}
.tour-thumbs button:hover img{opacity:1}
.tour-thumbs button[aria-current="true"] img{border-color:var(--iris);opacity:1}
.tour-thumbs button[aria-current="true"]{color:var(--iris)}

/* doctors */
.wordmark{font:500 clamp(48px,9vw,128px)/.9 var(--f-serif);color:var(--iris);text-align:center;letter-spacing:-.01em;margin:0 0 clamp(28px,4vw,48px)}
.wordmark .ch{display:inline-block;transform:translateY(.55em) rotate(4deg);opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .8s ease;transition-delay:calc(var(--i)*45ms)}
.wordmark.in .ch{transform:none;opacity:1}
#doctors .sec-head{margin-inline:auto;text-align:center;justify-items:center}
.docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
@media (max-width:1060px){.docs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.docs{grid-template-columns:minmax(0,1fr)}}
.dr{display:grid}
.dr-photo{position:relative;margin:0;aspect-ratio:4/5;max-width:100%;border-radius:20px;background:linear-gradient(180deg,#EEF3E9,#DCE7D8);overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.dr-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.dr:hover .dr-photo{transform:translateY(-6px);box-shadow:0 30px 50px -28px rgba(20,61,50,.45)}
.dr-body{padding:20px 6px 0;display:grid;gap:4px;align-content:start}
.dr h3{font-size:20px;font-weight:800}
.dr .role{color:var(--iris);font-weight:600;font-size:15px}
.dr-focus{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dr-focus span{font:600 11.5px/1 var(--f-mono);padding:6px 9px;border-radius:6px;background:var(--iris-soft);color:var(--iris)}
.dr ul{margin:14px 0 0;padding:14px 0 0 18px;border-top:1px solid var(--line);color:var(--muted);font-size:14.5px;display:grid;gap:6px}
.dr .lang{margin-top:12px;font:500 12px/1 var(--f-mono);color:var(--muted)}

/* videos */
.vid-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,3.5vw,44px)}
.vid-head .sec-head{margin-bottom:0}
.vid-head .btn svg{width:20px;height:20px}
.vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;align-items:start}
@media (max-width:900px){.vids{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.vids{grid-template-columns:minmax(0,1fr)}}
.vid{display:grid;gap:12px;align-content:start;cursor:pointer}
.vid-thumb{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0D241D}
.vid-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.vid:hover .vid-thumb img{transform:scale(1.04)}
.vid-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,20,0) 50%,rgba(10,22,20,.45));pointer-events:none}
.vid .play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;z-index:1;cursor:pointer;box-shadow:0 8px 24px rgba(10,22,20,.25);transition:transform .2s ease}
.vid:hover .play{transform:scale(1.08)}
.vid .play::before{content:"";margin-left:4px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent var(--iris)}
.vid-lang{position:absolute;left:12px;bottom:12px;z-index:1;font:600 11px/1 var(--f-mono);color:#fff;background:rgba(10,22,20,.55);padding:6px 8px;border-radius:6px;letter-spacing:.04em}
.vid-tag{font:600 12px/1 var(--f-mono);color:var(--iris)}
.vid h3{font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.short-modal{position:fixed;inset:0;z-index:1000;background:rgba(10,22,20,.82);display:grid;place-items:center;padding:24px}
.short-modal .frame{position:relative;width:min(1100px,100%,calc(84vh * 16 / 9));aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000}
.short-modal iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.short-modal .close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--ink);cursor:pointer}
.short-modal .close::before,.short-modal .close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;margin:-1px 0 0 -9px;background:currentColor;transform:rotate(45deg)}
.short-modal .close::after{transform:rotate(-45deg)}
.short-modal .yt{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);color:#fff;font-size:14px}

/* visit */
.visit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px}
@media (max-width:900px){.visit{grid-template-columns:minmax(0,1fr)}}
.map{position:relative;border-radius:32px;overflow:hidden;border:1px solid var(--line);min-height:360px;background:#E7EDE5}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map .btn{position:absolute;left:16px;bottom:16px}
.info{display:grid;gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px}
.card h3{font-size:19px;font-weight:700;margin-bottom:12px}
.card p+p{color:var(--muted);font-size:15px;margin-top:8px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15px;margin:0}
.kv dt{color:var(--muted);font-weight:500}
.kv dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.kv dd.sx{color:var(--gold)}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px)}
@media (max-width:900px){.faq{grid-template-columns:minmax(0,1fr)}}
details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding-block:20px;font:700 18px/1.3 var(--f-display)}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:transform .25s ease,background-color .2s ease}
summary .pm::before{content:"";width:12px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
summary:hover .pm{border-color:var(--iris);color:var(--iris)}
details[open] summary .pm{transform:rotate(180deg);background:var(--iris);border-color:var(--iris);color:#fff}
details p{color:var(--muted);padding-bottom:20px;max-width:62ch}

/* contact */
.closing{background:linear-gradient(135deg,#245A47,#0D2C24);color:#fff;border-radius:32px;padding:clamp(32px,5vw,60px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;position:relative;overflow:hidden}
.closing::after{content:"";position:absolute;width:420px;height:420px;right:-120px;bottom:-220px;border-radius:50%;border:56px solid rgba(255,255,255,.12)}
@media (max-width:760px){.closing{grid-template-columns:minmax(0,1fr)}}
.closing h2{font-size:clamp(30px,4vw,48px);font-weight:800}
.closing p{opacity:.85;margin-top:10px;max-width:52ch}
.closing .btn{background:#fff;color:var(--deep);position:relative;z-index:1}
.contacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
@media (max-width:900px){.contacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.contacts{grid-template-columns:minmax(0,1fr)}}
.contact{position:relative;overflow:hidden;padding:20px;border-radius:28px;background:#fff;border:1px solid var(--line);display:grid;gap:6px;min-width:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.contact:hover{transform:translateY(-6px);box-shadow:0 30px 60px -26px rgba(20,61,50,.35)}
.contact small{font:600 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.contact b{font-size:16.5px;overflow-wrap:anywhere}
.contact span{font-size:14px;color:var(--muted)}
.copy{justify-self:start;font:600 13px/1 var(--f-body);padding:10px 14px;min-height:40px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;margin-top:4px}

/* footer */
footer.site{margin-top:clamp(56px,8vw,96px);background:linear-gradient(170deg,#1C4A3C 0%,#143D32 100%);color:rgba(255,255,255,.86)}
footer.site .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-block:clamp(44px,6vw,72px);align-items:start;font-size:15px}
@media (max-width:800px){footer.site .wrap{grid-template-columns:minmax(0,1fr)}}
.f-brand img{height:46px;width:auto;display:block}
.f-addr{font:700 clamp(17px,1.6vw,20px)/1.45 var(--f-display);color:#fff;margin-top:18px}
.f-maps{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.f-maps a{font:600 13.5px/1 var(--f-body);padding:13px 14px;border-radius:10px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none}
.f-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:480px){.f-cols{grid-template-columns:minmax(0,1fr)}}
.f-cols h4{margin:0 0 10px;font:700 15px/1 var(--f-display);color:#fff}
.f-cols dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}
.f-cols dt{font-weight:700;color:#fff}.f-cols dd{margin:0;font-variant-numeric:tabular-nums}
.f-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:13.5px}
.f-bottom a{color:rgba(255,255,255,.86);text-decoration:none;margin-right:16px}

/* right quick menu, a bottom bar on mobile */
.quick{position:fixed;right:calc(14px + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:45;display:grid;background:#fff;border-radius:18px;box-shadow:0 12px 40px -12px rgba(20,61,50,.35);overflow:hidden}
.quick a{display:grid;justify-items:center;gap:6px;padding:14px 12px;font:600 11.5px/1.2 var(--f-body);color:var(--ink);text-decoration:none;min-width:78px;text-align:center}
.quick a+a{border-top:1px solid var(--line)}
.quick a:hover{background:var(--iris-soft)}
.quick svg{width:22px;height:22px;color:var(--iris)}
@media (max-width:1020px){
.quick{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:none;max-width:520px;margin-inline:auto;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:20px}
.quick a{min-width:0;padding:10px 4px;gap:4px;font-size:11.5px;min-height:56px}
.quick a+a{border-top:0;border-left:1px solid var(--line)}
.quick a br{display:none}
.quick svg{width:20px;height:20px}
footer.site{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* reveal on scroll */
.fx-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#85B89B,var(--iris),#143D32);pointer-events:none}
html.fx [data-fx]{opacity:0;transform:translateY(22px);filter:blur(4px);transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1),filter .45s ease;transition-delay:var(--d,0s)}
html.fx [data-fx].in{opacity:1;transform:none;filter:none}
html.fx .ribbon path{stroke-dasharray:3200;stroke-dashoffset:3200;transition:stroke-dashoffset 2.6s cubic-bezier(.6,0,.2,1)}
html.fx .ribbon.in path{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.statement .w{opacity:1}.wordmark .ch{opacity:1;transform:none}.btn::after{display:none}}

/* Deep-green brand surfaces and interaction states. */
header.nav .brand img.logo{filter:brightness(0) invert(1)}
header.nav nav.links a{color:#F7F6F0}
header.nav nav.links a:hover{color:#B9DDC6}
header.nav .btn-primary{background:#F7F6F0;color:#143D32}
header.nav .btn-primary:hover{background:#DFEEE2}
header.nav :focus-visible,.quick :focus-visible,footer.site :focus-visible{outline-color:#B9DDC6;outline-offset:-4px}
.eyebrow,.promise svg,.dr .role,.vid-tag{color:var(--accent)}
.hero .eyebrow{color:var(--hero-soft)}
.band .eyebrow{color:#DFEEE2}
#rg1 stop:last-child{stop-color:var(--deep)}
#rg2 stop:first-child{stop-color:#fff}
#rb stop:first-child{stop-color:#143D32}
#rb stop:nth-child(2){stop-color:#34745C}
#rb stop:last-child{stop-color:#B9DDC6}
#vsvg [fill="#1C2550"],#vsvg [fill="#1c2550"]{fill:var(--iris)}
#vsvg [stroke="#1C2550"],#vsvg [stroke="#1c2550"]{stroke:var(--iris)}
.btn-ghost:hover,.copy:hover{background:#EDF3EC;border-color:var(--accent)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.18);border-color:#B9DDC6}
.field input:focus,.field select:focus{box-shadow:0 0 0 3px rgba(52,116,92,.16)}
.tx-btn[aria-selected="true"]{border-color:#34745C}
.quick{background:#143D32}
.quick a,.quick svg{color:#F7F6F0}
.quick a+a{border-color:rgba(255,255,255,.2)}
.quick a:hover,.quick a:focus-visible{background:#245A47}
.f-maps a:hover{background:rgba(255,255,255,.24)}
.f-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.sedation-note{border-top-color:var(--line)!important}
::selection{background:#B9DDC6;color:#143D32}
