/* Mark Jaffe, MD. Staging build. Ocean and Sand system. */
:root{
  --deep:#0B2E4A; --mid:#123B5C; --teal:#2F8F9D; --teal-ink:#1F6E79;
  --sand:#E3C9A6; --soft:#EFE3D1; --shell:#F7F3EC; --ink:#10222F;
  --mute:#5E6B74; --line:#D9D0C2; --white:#fff;
  --serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;
  --sans:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --gut:80px; --max:1440px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--shell);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:18px;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:.98;text-wrap:balance;color:var(--deep)}
em,.it{font-style:italic;color:var(--teal)}
.on-dark em{color:var(--sand)}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);font-weight:400}
.label.mute{color:var(--mute)} .label.sand{color:var(--sand)}
.xl{font-size:clamp(58px,9.6vw,148px)}
.l{font-size:clamp(42px,6.2vw,96px)}
.m{font-size:clamp(34px,4.2vw,60px)}
.s{font-size:clamp(26px,2.6vw,38px);line-height:1.05}
.lead{font-size:clamp(18px,1.6vw,22px);color:var(--mute);max-width:640px}
.body-l{font-size:clamp(17px,1.5vw,20px)}
.small{font-size:15px}
.mute{color:var(--mute)}
.stack>*+*{margin-top:var(--g,24px)}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 26px;border-radius:2px;font-family:var(--sans);font-weight:500;font-size:16px;line-height:1;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s}
.btn-teal{background:var(--teal-ink);color:#fff}.btn-teal:hover{background:var(--deep)}
.btn-sand{background:var(--sand);color:var(--deep)}.btn-sand:hover{background:#efd9bb}
.btn-line{border-color:var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--shell)}
.btn-linew{border-color:rgba(247,243,236,.7);color:var(--shell)}
.link{font-weight:500;font-size:15px;color:var(--teal-ink);display:inline-flex;gap:8px}
.link:hover{text-decoration:underline;text-underline-offset:4px}
.rule{height:1px;background:var(--line);border:0;margin:0}
.rule.ink{background:var(--ink)}
.plus{position:absolute;font-family:var(--mono);font-weight:300;font-size:20px;color:var(--teal-ink);line-height:1;pointer-events:none}
.sec{padding-block:120px}
.bg-soft{background:var(--soft)} .bg-deep{background:var(--deep);color:var(--shell)} .bg-white{background:#fff}
.bg-deep h1,.bg-deep h2,.bg-deep h3{color:var(--shell)}
.cover{width:100%;height:100%;object-fit:cover}
.fig{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:14px}

/* staging ribbon */
.staging{background:var(--deep);color:var(--sand);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:7px 16px}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(247,243,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:40px;height:96px}
.brand{display:flex;flex-direction:row;align-items:center;gap:18px}
.brand b{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1;color:var(--deep);letter-spacing:-.01em}
.brand span{white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink)}
.menu{display:flex;gap:28px;margin-left:auto;margin-right:auto}
.menu a{white-space:nowrap}
.menu a{font-weight:500;font-size:15px;position:relative}
.menu a[aria-current]::after,.menu a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--teal)}
.nav-r{display:flex;align-items:center;gap:20px}
.nav-r .lang{font-weight:500;font-size:15px;color:var(--teal-ink)}
.nav-r .btn{padding:14px 22px;font-size:15px}
.burger{display:none;background:none;border:1px solid var(--ink);padding:10px 14px;font:500 15px var(--sans);color:var(--ink);cursor:pointer}
.drawer{display:none}
@media (max-width:1100px){
  .menu,.nav-r .btn{display:none}
  .burger{display:inline-block}
  .nav .wrap{height:80px}
  .brand b{font-size:28px}
  .drawer.open{display:block;position:fixed;inset:80px 0 0 0;background:var(--shell);z-index:39;padding:32px var(--gut);overflow:auto}
  .drawer a{display:block;font-family:var(--serif);font-size:40px;color:var(--deep);padding:10px 0;border-bottom:1px solid var(--line)}
  .drawer .btn{margin-top:28px;font-family:var(--sans);font-size:16px;border:0;color:#fff}
}

/* footer */
.foot{background:var(--deep);color:var(--shell);padding-block:96px 40px}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.foot-grid .label{color:var(--sand);display:block;margin-bottom:12px}
.foot-grid p{font-size:15px;line-height:2;font-weight:400}
.foot-word{font-family:var(--serif);font-size:clamp(68px,16.4vw,236px);line-height:.9;letter-spacing:-.03em;margin-top:72px;color:var(--shell)}
.foot-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(247,243,236,.15);margin-top:40px;padding-top:20px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.foot-bar span:nth-child(2){color:var(--sand)}

/* generic two column */
.split{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:end}
.cols{display:grid;gap:20px}
.c2{grid-template-columns:repeat(2,1fr)} .c3{grid-template-columns:repeat(3,1fr)} .c4{grid-template-columns:repeat(4,1fr)} .c5{grid-template-columns:repeat(5,1fr)}

/* HOME */
.hero{padding-block:88px 96px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:80px;align-items:start}
.hero h1{margin-top:28px}
.hero-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;margin-top:40px;align-items:start}
.hero-cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.collage{position:relative;aspect-ratio:560/640}
.collage .a{position:absolute;left:0;top:0;width:58%;aspect-ratio:3/3.6;object-fit:cover}
.collage .b{position:absolute;right:0;bottom:0;width:62%;aspect-ratio:3/4;object-fit:cover}
.collage .cap{position:absolute;left:0;bottom:0;max-width:34%}
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:72px}
.proof>div{border-top:1px solid var(--ink);padding-top:18px}
.proof p{font-size:15px;margin-top:10px;font-weight:400}
.band{position:relative;color:var(--shell);background:var(--deep) center/cover no-repeat;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,46,74,.9),rgba(11,46,74,.45) 62%,rgba(11,46,74,.1))}
.band .wrap{position:relative;padding-block:150px}
.band h2{color:var(--shell);max-width:820px}
.band p{max-width:560px;margin-top:28px;color:var(--soft)}
.index-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:20px}
.sym{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) 48px;gap:32px;align-items:center;padding:28px 0;border-top:1px solid var(--line);transition:background .25s,padding .25s}
.sym:last-child{border-bottom:1px solid var(--line)}
.sym h3{font-size:clamp(30px,3vw,44px)}
.sym .tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:100px;padding:6px 10px;color:var(--teal-ink)}
.sym .arr{font-size:24px;text-align:right}
.sym:hover,.sym.on{background:var(--deep);color:var(--shell);padding-inline:28px;border-color:var(--deep)}
.sym:hover h3,.sym.on h3{color:var(--shell)} .sym:hover .tag,.sym.on .tag{color:var(--sand)}
.tri-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:56px}
.tri-ctrl{display:flex;align-items:center;gap:18px;font-family:var(--mono);font-size:13px}
.tri-ctrl button{background:none;border:1px solid var(--ink);width:48px;height:48px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--ink)}
.tri{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}
.tri .mark{background:var(--shell);aspect-ratio:1;overflow:hidden}
.tri-list{margin-top:40px}
.tri-list button{display:flex;gap:18px;width:100%;background:none;border:0;border-top:1px solid rgba(16,34,47,.15);padding:14px 0;text-align:left;font-family:var(--serif);font-size:22px;color:var(--mute);cursor:pointer}
.tri-list button span{font-family:var(--mono);font-size:11px;padding-top:6px;color:var(--teal-ink)}
.tri-list button.on{color:var(--deep);border-top:2px solid var(--teal-ink)}
.roof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:center}
.office{position:relative;aspect-ratio:600/620}
.office figure{position:absolute;margin:0}
.office img{width:100%;height:100%;object-fit:cover}
.office .o1{left:0;top:0;width:66%;height:52%}
.office .o2{right:0;top:30%;width:46%;height:38%}
.office .o3{left:6%;bottom:0;width:42%;height:30%}
.office figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-top:8px}
.svc{margin-top:32px;border-top:1px solid var(--line)}
.svc a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.svc b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--deep)}
.svc span{font-size:14px;color:var(--mute);text-align:right}
.trials{background:var(--deep) center/cover;color:var(--shell)}
.trials h2,.trials h3,.sbar.on-dark h2{color:var(--shell)}
.flds.c3e{grid-template-columns:repeat(3,1fr)}
.trials-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:80px;align-items:center}
.gnp{border:1px solid rgba(247,243,236,.4);padding:32px}
.people{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:80px}
.person img{aspect-ratio:4/4.4;object-fit:cover;width:100%;margin-bottom:20px}
.person .pill{display:inline-block;margin-bottom:12px}
.person h3{font-size:30px}
.person p{font-size:15px;margin-top:8px}
.es{display:grid;grid-template-columns:200px minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:end}
.es img{aspect-ratio:200/240;object-fit:cover}
.visit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
.card{border:1px solid var(--line);background:var(--shell);padding:36px}
.card-deep{background:var(--deep);color:var(--shell);padding:40px}
.card-deep h2{color:var(--shell)}
.hours div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:15px;font-weight:400}
.hours div span:last-child{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}

/* PAGE HERO (inner) */
.ph{padding-block:96px}
.ph-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;align-items:end}
.crumb{display:flex;gap:12px;font-weight:500;font-size:15px;color:var(--mute);margin-bottom:48px}
.crumb a:hover{color:var(--teal-ink)}
.crumb b{font-weight:500;color:var(--teal-ink)}

/* ABOUT */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--ink);padding-top:22px;margin-top:40px;max-width:660px}
.stats b{display:block;font-family:var(--serif);font-weight:400;font-size:56px;line-height:1;color:var(--deep)}
.portrait{position:relative;width:min(560px,100%);aspect-ratio:560/620}
.portrait .p1{position:absolute;left:0;top:0;width:50%;height:62%;object-fit:cover}
.portrait .p2{position:absolute;right:0;bottom:0;width:70%;height:84%;object-fit:cover}
.bg-cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:96px}
.cred div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-top:1px solid var(--ink);padding:18px 0}
.cred b{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--deep);text-align:right}
.habit img{aspect-ratio:4/4.4;object-fit:cover;width:100%;margin-bottom:22px}
.habit h3{font-size:30px;margin-bottom:12px}
.habit p{font-size:16px;color:var(--mute)}
.el{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:56px;align-items:start}
.el img{aspect-ratio:4/5;object-fit:cover;width:100%}

/* CONDITIONS */
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{font-weight:500;font-size:14px;border:1px solid rgba(16,34,47,.35);border-radius:100px;padding:10px 18px;background:none;color:var(--ink);cursor:pointer}
.pill.on{background:var(--deep);color:#fff;border-color:var(--deep)}
.crow{display:grid;grid-template-columns:40px 180px minmax(0,360px) minmax(0,1fr) 64px;gap:40px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line)}
.crow img{width:180px;height:180px;object-fit:cover}
.crow h3{font-size:clamp(34px,3.6vw,56px);margin-top:12px}
.crow p{color:var(--mute);font-size:17px}
.circle{width:64px;height:64px;border-radius:50%;border:1px solid rgba(16,34,47,.4);display:grid;place-items:center;font-size:22px;transition:background .2s}
.crow:hover .circle,.circle.fill{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff}
.also{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.also article img{aspect-ratio:1;object-fit:cover;width:100%}
.also h3{font-size:28px;margin:16px 0 8px;padding-top:16px;border-top:1px solid var(--ink)}
.also p{font-size:15px;color:var(--mute);margin-bottom:12px}
.notlisted{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:96px;align-items:center}
.notlisted>img{width:100%;height:100%;min-height:560px;object-fit:cover}
.notlisted .inner{padding-block:80px;padding-right:var(--gut)}

/* CONDITION DETAIL */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.facts h3{font-size:clamp(24px,2.2vw,34px);margin-top:14px;line-height:1.05}
.detail{display:grid;grid-template-columns:300px minmax(0,1fr);gap:120px;align-items:start}
.toc{position:sticky;top:120px}
.toc a{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-weight:500;font-size:15px;color:var(--mute)}
.toc a.on{color:var(--deep)} .toc a.on::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal)}
.callbox{background:var(--soft);padding:28px;margin-top:40px}
.prose h2{font-size:clamp(34px,3.4vw,60px);margin:0 0 20px}
.prose>section+section{margin-top:56px}
.prose p{font-size:clamp(17px,1.5vw,20px)}
.prose p+p{margin-top:18px}
.bul{list-style:none;padding:0;margin:0}
.bul li{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line);font-size:clamp(17px,1.5vw,20px)}
.bul li::before{content:"+";font-family:var(--serif);font-size:30px;line-height:.8;color:var(--teal)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.steps div{background:var(--soft);padding:28px 24px}
.steps div.dk{background:var(--deep);color:var(--soft)}
.steps h3{font-size:28px;margin:12px 0}
.steps div.dk h3{color:var(--shell)}
.steps p{font-size:15px}
.rcard{position:relative;background:var(--deep) center/cover;color:var(--shell);padding:48px;margin-top:56px}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rel a{display:flex;gap:24px;align-items:center;background:var(--shell);padding:20px}
.rel img{width:120px;height:120px;object-fit:cover;flex:none}
.rel h3{font-size:28px}

/* TREATMENTS */
.sindex{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--ink)}
.sindex a{padding:22px 16px 22px 20px;border-left:1px solid var(--line);font-weight:500;font-size:15px}
.sindex a:first-child{border-left:0;padding-left:0}
.sindex .label{display:block;margin-bottom:10px}
.service{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:96px;align-items:center;padding-block:72px}
.service.flip{grid-template-columns:minmax(0,1fr) minmax(0,600px)}
.service.flip .media{order:2}
.media{position:relative;aspect-ratio:600/500}
.media img{position:absolute;object-fit:cover}
.media .full{inset:0;width:100%;height:100%}
.media .big{left:0;top:0;width:73%;height:100%}
.media .small{right:0;bottom:0;width:37%;height:52%}
.media .mk{right:4%;bottom:4%;width:35%;aspect-ratio:1;height:auto;border:16px solid var(--shell);background:var(--shell)}
.service h2{font-size:clamp(34px,3.6vw,60px);margin:16px 0 22px}
.service .bul li{font-size:16px;color:var(--mute)}
.service .bul li::before{font-size:22px}
.badge{display:inline-block;background:var(--deep);color:var(--sand);border-radius:100px;padding:6px 12px;margin-left:12px}
.gout{display:grid;grid-template-columns:464px minmax(0,1fr);gap:96px;align-items:center}
.gout .mkbox{background:var(--shell);padding:32px}
.parts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.parts div{border:1px solid rgba(247,243,236,.25);padding:24px}
.parts h3{font-size:28px;margin:10px 0}
.parts p{font-size:15px;color:var(--soft)}
.sbar{background:center/cover;position:relative}
.sbar .wrap{padding-block:80px;display:flex;justify-content:flex-end}
.sbar .card{max-width:600px;padding:48px}

/* PATIENTS */
.hours-card{position:absolute;left:-60px;bottom:-40px;background:var(--deep);color:var(--shell);padding:28px;width:340px}
.hours-card div{display:flex;justify-content:space-between;padding:8px 0;font-size:15px;font-weight:400;border:0}
.reg-band{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);background:var(--teal-ink);color:var(--shell)}
.reg-band img{width:100%;height:100%;object-fit:cover;min-height:460px}
.reg-band .inner{padding:72px 80px 72px 96px}
.reg-band h2{color:var(--shell)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.timeline .dot{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.timeline .dot i{width:14px;height:14px;border-radius:50%;background:var(--deep);flex:none}
.timeline .dot.on i{background:var(--teal)}
.timeline .dot hr{flex:1;border:0;height:1px;background:var(--line)}
.timeline h3{font-size:30px;margin:14px 0 10px}
.check{list-style:none;margin:0;padding:0;border-top:1px solid rgba(16,34,47,.25)}
.check li{display:flex;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(16,34,47,.25);font-size:clamp(17px,1.5vw,20px)}
.check li::before{content:"";width:22px;height:22px;border:1.5px solid var(--deep);border-radius:2px;flex:none}
.check li span{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--mute)}
.faq details{border-bottom:1px solid rgba(16,34,47,.25);padding:26px 0}
.faq details:first-child{border-top:1px solid rgba(16,34,47,.25)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);color:var(--deep)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--teal)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:16px;font-size:clamp(17px,1.5vw,20px);color:var(--mute);max-width:720px}

/* CONTACT */
.contact{display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:96px;align-items:start}
.meta{display:flex;flex-wrap:wrap;gap:48px}
.meta .label{display:block;margin-bottom:6px}
.note{display:flex;gap:16px;background:var(--soft);padding:18px 22px;font-size:15px;font-weight:400}
.note b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:.8;color:var(--teal-ink)}
.form{background:#fff;border:1px solid var(--line);padding:44px}
.f{display:flex;flex-direction:column;gap:8px}
.f input,.f textarea,.f select{font:300 17px var(--sans);color:var(--ink);border:1px solid rgba(16,34,47,.3);background:#fff;padding:15px 16px;border-radius:0;width:100%}
.f input:focus,.f textarea:focus,.f select:focus{outline:2px solid var(--teal);outline-offset:-1px;border-color:var(--teal)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips{position:relative}
.chips input,.uf .chips input,.f .chips input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;top:0}
.chips label{font-weight:500;font-size:14px;border:1px solid rgba(16,34,47,.3);border-radius:100px;padding:10px 16px;cursor:pointer}
.chips input:checked+label{background:var(--deep);color:#fff;border-color:var(--deep)}
.chips input:focus-visible+label{outline:2px solid var(--teal)}
.map{background:center/cover;position:relative}
.map::before{content:"";position:absolute;inset:0;background:rgba(11,46,74,.2)}
.map .wrap{position:relative;padding-block:80px;display:flex;justify-content:flex-end}
.map .card{max-width:460px}
.sent{display:none;padding:24px;background:var(--soft);margin-top:16px}

/* ESPAÑOL */
.ccards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ccards a{display:flex;gap:24px;align-items:center;background:var(--shell);padding:20px 28px 20px 20px}
.ccards img{width:112px;height:112px;object-fit:cover;flex:none}
.ccards h3{font-size:30px;flex:1}
.ccards span{font-size:24px;color:var(--teal-ink)}
.tbl div{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid rgba(247,243,236,.2);font-weight:400}

/* REGISTER */
.dl{background:var(--deep);color:var(--shell);padding:40px 44px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.dl h2{color:var(--shell)}
@media (max-width:760px){.dl{padding:28px 24px}.dl .btn{width:100%;justify-content:center}}
.stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.stepper button{background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:var(--mute)}
.stepper button i{display:block;height:2px;background:var(--line);margin-bottom:14px}
.stepper button.done i{background:var(--teal-ink)} .stepper button.cur i{background:var(--teal);height:3px}
.stepper button b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.05;margin-top:8px}
.stepper button.cur,.stepper button.done{color:var(--ink)} .stepper button.cur b{color:var(--deep)}
.stepper .label{color:inherit}
.stepper button.cur .label,.stepper button.done .label{color:var(--teal-ink)}
.progress{display:none}
.reg{display:grid;grid-template-columns:320px minmax(0,1fr);gap:96px;align-items:start;padding-block:64px 96px}
.reg aside>*+*{margin-top:20px}
.ready{background:var(--deep);color:var(--shell);padding:28px}
.ready ul{list-style:none;margin:14px 0 0;padding:0}
.ready li{display:flex;gap:12px;padding:6px 0;font-size:16px;font-weight:400}
.ready li::before{content:"+";color:var(--teal)}
.side-card{background:var(--soft);padding:24px;font-size:15px;font-weight:400}
.side-card.sandc{background:var(--sand)}
.step{display:none}
.step.on{display:block}
.grp{margin-top:56px}
.grp-h{border-top:1px solid var(--ink);padding-top:14px;display:flex;gap:16px;align-items:baseline;margin-bottom:30px}
.grp-h h3{font-size:38px}
.flds{display:grid;gap:30px 32px}
.flds.c2{grid-template-columns:1fr 1fr} .flds.c3{grid-template-columns:2fr 1fr 1fr}
.uf label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.uf label i{font-style:normal;color:var(--teal-ink);margin-left:8px}
.uf input,.uf select,.uf textarea{width:100%;border:0;border-bottom:1px solid rgba(16,34,47,.55);background:transparent;font:300 20px var(--sans);color:var(--ink);padding:8px 0 14px;border-radius:0}
.uf input:focus,.uf select:focus{outline:none;border-bottom:2px solid var(--teal)}
.uf small{display:block;font-size:14px;color:var(--mute);margin-top:8px}
.radios label{display:flex;gap:12px;align-items:center;padding:7px 0;font-size:16px;font-weight:400;cursor:pointer}
.radios input,.cb input{accent-color:var(--teal-ink);width:20px;height:20px;margin:0;flex:none}
.cb{display:flex;gap:14px;align-items:flex-start;font-size:17px;font-weight:400;cursor:pointer;padding:6px 0}
.cb input{margin-top:3px}
.callout{background:var(--soft);padding:20px 22px;font-size:15px}
.callout.warn{background:var(--sand)}
.drop{border:1px dashed rgba(16,34,47,.45);padding:28px;text-align:center;cursor:pointer;font-size:15px}
.drop b{display:block;font-family:var(--serif);font-weight:400;font-size:28px;color:var(--teal-ink)}
.panel{background:#fff;border:1px solid var(--line);padding:36px 40px;max-height:none}
.panel h4{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink);margin:28px 0 12px;font-weight:400}
.panel h4:first-child{margin-top:0}
.panel ol{margin:0;padding-left:22px}
.panel li,.panel p{font-size:16px;margin-bottom:10px}
.fees div{display:grid;grid-template-columns:220px 1fr 150px;gap:24px;padding:14px 0;border-top:1px solid var(--line);font-size:15px}
.fees div:first-child{border-top:0}
.fees b{font-weight:500;color:var(--deep)}
.fees em{font-style:normal;font-family:var(--serif);font-size:24px;text-align:right;color:var(--deep)}
.npp{background:var(--deep);color:var(--shell);padding:40px;display:grid;grid-template-columns:1fr 300px;gap:40px}
.actions{border-top:1px solid var(--ink);margin-top:56px;padding-top:24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.actions p{font-size:14px;color:var(--mute);max-width:360px;margin-right:auto}
.sum div{display:grid;grid-template-columns:240px 1fr auto;gap:24px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(16,34,47,.2)}
.sum b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--deep)}
.sum button{background:none;border:0;color:var(--teal-ink);font:500 15px var(--sans);cursor:pointer}
.sig{background:#fff;border:1px solid rgba(16,34,47,.35);height:180px;position:relative;touch-action:none}
.sig canvas{width:100%;height:100%;display:block;cursor:crosshair}
.sig .base{position:absolute;left:40px;right:40px;bottom:40px;border-bottom:1px solid var(--ink);pointer-events:none}
.sig button{position:absolute;right:12px;top:10px;background:none;border:0;color:var(--teal-ink);font:500 14px var(--sans);cursor:pointer}
.dlg{position:fixed;inset:0;background:rgba(11,46,74,.6);display:none;z-index:60}
.dlg.open{display:block}
.dlg .in{position:absolute;right:0;top:0;bottom:0;width:min(680px,100%);background:var(--shell);padding:48px 56px;overflow:auto}
.dlg .in h3{font-size:28px;margin:28px 0 12px}
.dlg .in p{font-size:16px;margin-bottom:12px}
.done-wrap{display:none}

/* TABLET */
@media (max-width:1100px){
  :root{--gut:40px}
  .sec{padding-block:96px}
  .hero-grid,.roof,.trials-grid,.people,.bg-cols,.service,.service.flip,.gout,.contact,.notlisted,.reg-band,.detail,.reg{grid-template-columns:1fr;gap:48px}
  .service.flip .media{order:0}
  .collage{max-width:560px}
  .proof,.facts,.timeline{grid-template-columns:repeat(2,1fr)}
  .tri{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tri>div:last-child{grid-column:1/-1}
  .es{grid-template-columns:200px minmax(0,1fr)}
  .es>div:last-child{grid-column:1/-1}
  .visit{grid-template-columns:1fr 1fr}.visit>.card-deep{grid-column:1/-1}
  .foot-grid{grid-template-columns:1fr 1fr;row-gap:40px}
  .ph-grid,.split{grid-template-columns:1fr;gap:48px}
  .crow{grid-template-columns:140px minmax(0,1fr) 56px;gap:28px}
  .crow>.label{display:none}
  .crow img{width:140px;height:140px}
  .crow .ctext{grid-column:2}
  .crow>p{display:none}
  .also{grid-template-columns:repeat(3,1fr);row-gap:40px}
  .el{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.el>div:last-child{grid-column:1/-1}
  .c3.habits{grid-template-columns:repeat(3,1fr)}
  .sindex{grid-template-columns:repeat(3,1fr)}
  .sindex a{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .media{max-width:640px}
  .gout .mkbox{max-width:420px}
  .sbar .wrap,.map .wrap{justify-content:flex-start}
  .notlisted .inner{padding:0 var(--gut) 80px}
  .notlisted>img{min-height:420px}
  .reg-band .inner{padding:56px var(--gut)}
  .hours-card{left:0;bottom:-40px}
  .ccards{grid-template-columns:repeat(3,1fr)}
  .ccards a{flex-direction:column;align-items:flex-start;padding:20px}
  .toc{position:static}
  .rel{grid-template-columns:1fr}
  .living{grid-template-columns:200px minmax(0,1fr)!important}
  .toc nav{display:none}
  .reg aside{order:2}
  .stepper b{font-size:18px!important}
  .npp{grid-template-columns:1fr}
}
/* MOBILE */
@media (max-width:760px){
  :root{--gut:20px}
  body{font-size:17px}
  .sec{padding-block:72px}
  .hero{padding-block:56px 72px}
  .hero-sub{grid-template-columns:1fr;gap:28px}
  .hero-cta .btn{width:100%;justify-content:center}
  .proof,.facts,.timeline,.cols.c2,.cols.c3,.c3.habits,.also,.steps,.parts,.rel,.ccards,.visit,.foot-grid,.stats,.tri,.el,.frow,.flds.c2,.flds.c3{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(3,1fr);gap:12px}.stats b{font-size:40px}
  .sym{grid-template-columns:1fr 32px;gap:12px 16px;padding:22px 0}
  .sym p,.sym .tags{grid-column:1}
  .sym .arr{grid-row:1;grid-column:2}
  .sym:hover,.sym.on{padding-inline:16px}
  .tri-head{flex-direction:column;align-items:flex-start}
  .tri-list button{font-size:20px}
  .band .wrap{padding-block:96px}
  .band::before{background:rgba(11,46,74,.74)}
  .es{grid-template-columns:1fr}.es img{max-width:240px}
  .crow{grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:start;padding:24px 0}
  .crow img{width:84px;height:84px}
  .crow .circle{display:none}
  .crow>p{display:block;grid-column:2;font-size:15px;margin-top:-6px}
  .crow h3{font-size:30px;margin-top:6px}
  .also article{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:start;border-top:1px solid var(--line);padding-top:20px}
  .also article img{width:84px;height:84px}
  .also h3{border:0;padding:0;margin:0 0 6px}
  .notlisted>img{min-height:300px}
  .media{aspect-ratio:350/320}
  .service{padding-block:56px}
  .sindex{grid-template-columns:1fr 1fr}
  .sbar .card,.map .card{padding:28px}
  .gnp,.rcard{padding:28px}
  .rel a{padding:16px}.rel img{width:84px;height:84px}
  .ccards a{flex-direction:row;align-items:center;padding:14px}
  .ccards img{width:64px;height:64px}.ccards h3{font-size:26px}
  .tbl div{grid-template-columns:130px 1fr}
  .hours-card{position:static;width:100%}
  .office{aspect-ratio:350/420}
  .form{padding:24px}
  .reg-band img{min-height:300px}
  .check li{gap:16px}
  .fees div{grid-template-columns:1fr auto;gap:6px 16px}
  .fees div span{grid-column:1}
  .fees em{grid-row:1/3;grid-column:2;align-self:center}
  .sum div{grid-template-columns:1fr auto}.sum div span{grid-column:1}
  .living{grid-template-columns:1fr!important}
  .stepper{display:none}
  .progress{display:block}
  .progress .bars{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:10px}
  .progress .bars i{height:3px;background:var(--line)}
  .progress .bars i.on{background:var(--teal)}
  .panel{padding:24px}
  .npp{padding:28px}
  .actions .btn{flex:1;justify-content:center}
  .actions p{max-width:none;width:100%}
  .dlg .in{padding:32px 24px}
  .foot{padding-block:72px 32px}
  .foot-bar{flex-direction:column}
  .nav-r .lang{font-size:14px}
  .brand span{font-size:9.5px;letter-spacing:.06em}
  .nav .wrap{gap:16px}
  .flds.c3e{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Oct 2026 revisions (Dena) */
@media (max-width:1320px) and (min-width:1101px){ .menu{gap:20px} .menu a,.nav-r .lang{font-size:14px} .nav .wrap{gap:24px} .nav-r .btn{padding:12px 16px;font-size:14px} .brand b{font-size:30px} }
.tri .mark.info{background:#fff;display:flex;align-items:center;justify-content:center;padding:20px}
.tri .mark.info img{width:100%;height:100%;object-fit:contain}
.crow img.info{object-fit:contain;background:#fff;padding:8px}
.team-photo{margin:0;width:600px;max-width:100%}
.team-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gnp-photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 60%;margin-bottom:8px}
.media .full.dark{background:#000;object-fit:contain}
.gout .mkbox.photo{background:var(--shell);padding:0;aspect-ratio:1;overflow:hidden}
.gout .mkbox.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.pt-duo{position:relative;width:560px;max-width:100%;aspect-ratio:560/600}
.pt-duo .d1{position:absolute;left:0;top:0;width:78%;height:56%;object-fit:cover}
.pt-duo .d2{position:absolute;right:0;top:46%;width:62%;height:44%;object-fit:cover;border:10px solid var(--shell)}
.pt-duo .hours-card{left:-60px;bottom:-40px}
.tqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.tq{margin:0;background:var(--shell);padding:48px 48px 40px;display:flex;flex-direction:column;gap:24px}
.tq .qm{font-family:var(--serif);font-size:96px;line-height:.6;color:var(--teal)}
.tq blockquote{margin:0;font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.3;color:var(--deep)}
.tq figcaption{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto}
.tq figcaption b{font-weight:500;font-size:18px}
@media (max-width:1100px){ .pt-duo .hours-card{left:0} }
@media (max-width:760px){
  .tqs{grid-template-columns:1fr} .tq{padding:32px 24px}
  .pt-duo{aspect-ratio:auto;display:grid;gap:12px}
  .pt-duo .d1,.pt-duo .d2{position:static;width:100%;height:auto;aspect-ratio:4/3;border:0}
  .pt-duo .hours-card{position:static;width:100%}
}
@media (max-width:1500px) and (min-width:1101px){ .menu{gap:18px} .nav .wrap{gap:22px} .nav-r{gap:14px} .brand .wm{display:none} }
@media (max-width:1100px){ .pt-duo,.team-photo{width:100%} }
.tr-hero{width:500px;max-width:100%}
@media (max-width:1100px){ .tr-hero{width:100%} }
.cond-fig{width:440px;max-width:100%}
@media (max-width:1100px){ .cond-fig{width:100%;max-width:440px} }
.collage .b.team{width:74%;aspect-ratio:4/3.1;bottom:0;right:0}
.collage .a:has(+ .team){width:44%;aspect-ratio:1}
.collage .cap:has(~ .plus){max-width:23%}

/* logo (Oct 21) */
.brand img{display:block;width:auto}.brand .em{height:76px}.brand .wm{height:36px}
.foot-word img{width:min(640px,84vw);height:auto;display:block}
.gnp-logo{display:block;width:150px;height:auto}
.gnp .gnp-logo{width:176px}
@media (max-width:1100px){ .brand .em{height:60px} .brand .wm{height:30px} }
@media (max-width:760px){ .brand .em{height:52px} .brand .wm{display:none} .gnp-logo{width:130px} }
.hero-team{margin:0;position:relative;width:100%}
.hero-team img{width:100%;aspect-ratio:4/3.2;object-fit:cover;display:block}
.hero-team figcaption{margin-top:14px;color:var(--ink)}
@media (max-width:1100px){ .hero-team{max-width:640px} }
.nav-r .btn{white-space:nowrap}
.person img,.el img{object-position:50% 12%}
.es-hero{width:520px;max-width:100%}
@media (max-width:1100px){ .es-hero{width:100%;max-width:520px} }
