/* ---------- contact page ---------- */
header:not(.solid){background:var(--bg);color:var(--ink)}
header:not(.solid) .l-dark{display:block!important}header:not(.solid) .l-light{display:none!important}
.ct-btn,.ct-ghost{display:inline-flex;align-items:center;gap:9px;font:700 .95rem var(--body);padding:13px 20px;border-radius:12px;text-decoration:none;cursor:pointer;transition:background .3s,color .3s,transform .3s,box-shadow .3s;border:0}
.ct-btn{background:var(--cta,#13806B);color:#fff}
.ct-btn:hover{background:var(--cta-h,#0E6857);transform:translateY(-2px);box-shadow:0 10px 22px rgba(19,128,107,.25)}
.ct-ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(26,40,32,.25)}
.ct-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.ct-ghost.light{color:#fff;border-color:rgba(255,255,255,.55)}.ct-ghost.light:hover{border-color:#fff}
.ct-btn svg,.ct-ghost svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hdl.big{background:var(--cta,#13806B);color:#fff;text-decoration:none;font-weight:700;font-size:1rem;padding:13px 20px 13px 12px;border-radius:12px;transition:background .3s,transform .3s}
.hdl.big:hover{background:var(--cta-h,#0E6857);transform:translateY(-2px)}
.hdl.big.light{background:#fff;color:#13806B}.hdl.big.light:hover{background:#FFD25A;color:#13201A}
section[class^="ct-"]{scroll-margin-top:80px}
/* hero + help router */
.ct-hero{padding:calc(env(safe-area-inset-top,0px) + 150px) 0 clamp(40px,7vh,80px);position:relative;overflow:hidden}
.ct-hero::before{content:"";position:absolute;right:-12vw;top:-18vw;width:46vw;height:46vw;border-radius:50%;border:1.5px solid rgba(19,128,107,.14);box-shadow:0 0 0 7vw rgba(19,128,107,.04),0 0 0 14vw rgba(19,128,107,.03);pointer-events:none}
.ct-hh{max-width:720px;margin-bottom:clamp(22px,4vh,40px)}
.ct-hero h1{margin:0 0 14px;font:600 clamp(2.4rem,5.4vw,4.6rem)/.98 var(--display);letter-spacing:-.035em}
.h1k2{display:block;font:700 .82rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--cta,#13806B);margin-bottom:14px}
.ct-lede{margin:0;color:var(--muted);font-size:1.08rem;max-width:52ch}
.hrouter{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(16px,2vw,28px);align-items:stretch}
.hr-opts{display:grid;gap:10px}
.hr-o{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:52px 1fr 24px;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;background:var(--bg-2);transition:background .35s,transform .45s cubic-bezier(.2,.7,.1,1),box-shadow .35s}
.hr-o:hover{transform:translateX(6px)}
.hr-o.on{background:#fff;box-shadow:0 18px 40px rgba(19,32,26,.1);transform:translateX(10px)}
.hr-o:focus-visible{outline:2px solid var(--cta,#13806B);outline-offset:3px}
.hr-i{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(19,128,107,.12);color:#13806B;transition:background .35s,color .35s,transform .5s cubic-bezier(.2,1.4,.4,1)}
.hr-o.on .hr-i{background:#13806B;color:#fff;transform:rotate(-6deg)}
.hr-i svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hr-t b{display:block;font:600 1.15rem/1.15 var(--display)}.hr-t small{color:var(--muted);font-size:.85rem}
.hr-a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .35s;opacity:.5}
.hr-o.on .hr-a svg{transform:translateX(4px);opacity:1;color:#13806B}
.hr-panels{position:relative;background:#fff;border-radius:26px;padding:clamp(24px,4vh,40px) clamp(22px,3vw,40px);overflow:hidden;box-shadow:0 24px 50px rgba(19,32,26,.08);min-height:290px}
.hr-glow{position:absolute;right:-80px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,90,.35),rgba(255,210,90,0) 70%);pointer-events:none;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.hr-p{position:absolute;inset:clamp(24px,4vh,40px) clamp(22px,3vw,40px);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s,transform .5s cubic-bezier(.2,.7,.1,1)}
.hr-p.on{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto;transition-delay:.12s}
.hr-k{margin:0 0 10px;font:700 .74rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:#B84A61}
.hr-p h2{margin:0 0 12px;font:600 clamp(1.6rem,2.8vw,2.4rem)/1.05 var(--display);letter-spacing:-.03em;max-width:20ch}
.hr-p p{margin:0 0 22px;color:var(--muted);max-width:50ch}
.hr-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ct-bignum{color:#13806B;text-decoration:none;background:linear-gradient(#FFD25A,#FFD25A) 0 92%/0 .14em no-repeat;transition:background-size .5s}
.ct-bignum:hover{background-size:100% .14em}
@media(max-width:900px){.hrouter{grid-template-columns:1fr}.hr-o.on,.hr-o:hover{transform:none}}
/* contact cards */
.ct-cards{padding:0 0 clamp(40px,7vh,72px)}
.ccgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
.cc{position:relative;background:var(--bg-2);border-radius:20px;padding:22px 22px 20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 14px;align-items:center;overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.1,1),background .3s}
.cc:hover{transform:translateY(-4px);background:#fff}
.cci{grid-row:1/3;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#13806B;box-shadow:0 0 0 1px rgba(19,128,107,.2)}
.cci svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cck{margin:0;font:700 .72rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ccv{font:600 1.02rem/1.3 var(--display);color:var(--ink);text-decoration:none;word-break:break-word}
a.ccv:hover{color:#13806B}
.ccp{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid rgba(26,40,32,.12);border-radius:999px;padding:6px 10px;font:600 .75rem var(--body);color:var(--muted);cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s,color .3s}
.cc:hover .ccp,.ccp:focus-visible{opacity:1;transform:none}
.ccp:hover{color:#13806B}
.ccp svg,.cp svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
@media(hover:none){.ccp{opacity:1;transform:none}}
@media(max-width:900px){.ccgrid{grid-template-columns:1fr}}
/* journey planner */
.ct-journey{padding:clamp(28px,4vh,48px) 0;background:var(--bg-2)}
.jgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,64px);align-items:center}
.ct-journey h2,.ct-week h2,.ct-form h2{margin:0 0 10px;font:600 clamp(1.9rem,3.6vw,3.2rem)/1 var(--display);letter-spacing:-.03em}
.jlede,.wklede,.fql>p{margin:0 0 20px;color:var(--muted)}
.jtowns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.jt{border:1.5px solid rgba(26,40,32,.18);background:#fff;color:var(--ink);font:600 .9rem var(--body);padding:9px 14px;border-radius:10px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.jt:hover{border-color:#13806B;transform:translateY(-2px)}
.jt.on{background:#13806B;border-color:#13806B;color:#fff}
.jcard{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px rgba(19,32,26,.08)}
.jfrom{margin:0 0 10px;color:var(--muted)}.jfrom b{color:var(--ink);font:600 1.3rem var(--display)}
.jstats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.jstats div{background:var(--bg);border-radius:14px;padding:12px 14px}
.jstats b{display:block;font:700 2rem/1 var(--display);color:#13806B;letter-spacing:-.03em}
.jstats span{font-size:.82rem;color:var(--muted)}
.jtx{margin:0 0 16px;color:var(--ink)}
.jnote{margin:12px 0 0;font-size:.76rem;color:var(--muted)}
.jr-wrap{position:relative}
.jmap,.jlive{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 24px 50px rgba(19,32,26,.08);aspect-ratio:600/460}
.jmap svg{width:100%;height:100%;display:block}
.jbg{fill:#EAF0E6}
.jriv{fill:none;stroke:#9CC8D4;stroke-width:6;stroke-linecap:round;opacity:.7}
.jr{fill:none;stroke:#C9D3C4;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 8}
.jr.on{stroke:#13806B;stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;animation:jdraw 1.3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes jdraw{to{stroke-dashoffset:0}}
.jd circle{fill:#fff;stroke:#5C6B60;stroke-width:2;transition:fill .3s,stroke .3s,r .3s}
.jd text{font:600 13px var(--body);fill:#33453C}
.jd{cursor:pointer}
.jd.on circle{fill:#FFD25A;stroke:#13806B;r:9}
.jclinic .jpin{fill:#13806B}.jclinic .jplus{stroke:#fff;stroke-width:2.4;stroke-linecap:round}
.jclinic text{font:700 13px var(--body);fill:#13201A}
.jpulse{fill:none;stroke:#13806B;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:jpl 2.2s ease-out infinite}
@keyframes jpl{from{transform:scale(1);opacity:.7}to{transform:scale(3.2);opacity:0}}
.jcar{fill:#B84A61;opacity:0}
.jill{position:absolute;left:18px;bottom:12px;margin:0;font-size:.72rem;color:var(--muted)}
.jlive iframe{width:100%;height:100%;border:0;display:block}
.jtog{position:absolute;right:14px;top:14px;display:flex;background:rgba(255,255,255,.92);border-radius:12px;padding:4px;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.jtog button{border:0;background:none;font:700 .8rem var(--body);padding:8px 12px;border-radius:9px;cursor:pointer;color:var(--muted)}
.jtog button.on{background:#13806B;color:#fff}
@media(max-width:900px){.jgrid{grid-template-columns:1fr}}
/* week chart */
.ct-week{padding:clamp(28px,4vh,48px) 0}
.wkgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,64px);align-items:center}
.wknotes{display:grid;gap:10px}
.wknotes div{background:var(--bg-2);border-radius:14px;padding:14px 16px;display:grid;gap:2px;font-size:.92rem}
.wknotes b{font:600 1rem var(--display)}
.wknotes a{color:#13806B;font-weight:700}
.wkn2{border-left:4px solid #B23A3A}.wkn2 a{color:#B23A3A!important}
.wkchart{position:relative;background:#fff;border-radius:26px;padding:24px 24px 18px 70px;box-shadow:0 24px 50px rgba(19,32,26,.08);display:grid;grid-template-columns:repeat(7,1fr);gap:10px;height:clamp(280px,46vh,380px)}
.wkscale{position:absolute;left:18px;top:24px;bottom:52px;display:flex;flex-direction:column;justify-content:space-between;font-size:.72rem;color:var(--muted)}
.wkd{display:grid;grid-template-rows:1fr auto auto;gap:6px;justify-items:center}
.wkn{order:3;font:700 .82rem var(--body);color:var(--ink)}
.wkc{order:1;position:relative;width:100%;max-width:56px;border-radius:12px;background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(26,40,32,.05) 24px 25px);overflow:hidden}
.wkc i{position:absolute;left:0;right:0;top:0;bottom:0;border-radius:12px;background:#13806B;transform:scaleY(0);transform-origin:top;transition:transform 1s cubic-bezier(.2,.7,.1,1) var(--d)}
.wkchart.in .wkc i{transform:scaleY(1)}
.wkd.off .wkc{background:repeating-linear-gradient(135deg,rgba(184,74,97,.08) 0 6px,transparent 6px 12px);border:1.5px dashed rgba(184,74,97,.35)}
.wkd.off .wkc i{display:none}
.wkt{order:2;font-size:.74rem;color:var(--muted)}
.wkd.off .wkt{color:#B84A61;font-weight:600}
.wkd:not(.off):hover .wkc i{background:#0E6857}
@media(max-width:900px){.wkgrid{grid-template-columns:1fr}.wkchart{padding-left:56px}}
/* enquiry form */
.ct-form{padding:clamp(28px,4vh,48px) 0;background:var(--bg-2)}
.fgrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(24px,4vw,64px);align-items:start}
.fsteps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;counter-reset:fs}
.fsteps li{counter-increment:fs;display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:600;transition:color .3s}
.fsteps li::before{content:counter(fs);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(26,40,32,.2);font-size:.82rem;transition:background .3s,color .3s,border-color .3s}
.fsteps li.on{color:var(--ink)}.fsteps li.on::before{background:#13806B;border-color:#13806B;color:#fff}
.fsteps li.done::before{content:"";background:rgba(19,128,107,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2313806B' stroke-width='2'/%3E%3C/svg%3E") center/14px no-repeat;border-color:transparent}
.fpriv{font-size:.85rem;color:var(--muted);background:#fff;border-radius:12px;padding:12px 14px;border-left:3px solid #FFB81C}
.fcard{position:relative;background:#fff;border-radius:26px;padding:clamp(22px,3.6vh,36px) clamp(20px,3vw,36px);box-shadow:0 24px 50px rgba(19,32,26,.08);overflow:hidden;min-height:340px}
.fbar{position:absolute;left:0;right:0;top:0;height:4px;background:var(--bg-2)}.fbar i{display:block;height:100%;width:33%;background:#13806B;transition:width .5s cubic-bezier(.2,.7,.1,1)}
.fs{border:0;margin:0;padding:0;display:none}
.fs.on{display:block;animation:fsin .5s cubic-bezier(.2,.7,.1,1)}
@keyframes fsin{from{opacity:0;transform:translateX(24px)}}
.fs legend{font:600 1.4rem/1.2 var(--display);margin-bottom:16px;padding:0}
.ftps{display:flex;flex-wrap:wrap;gap:8px}
.ftp{border:1.5px solid rgba(26,40,32,.18);background:#fff;font:600 .9rem var(--body);padding:10px 14px;border-radius:10px;cursor:pointer;color:var(--ink);transition:background .25s,color .25s,border-color .25s,transform .2s}
.ftp:hover{border-color:#13806B;transform:translateY(-2px)}
.ftp.on{background:#13806B;border-color:#13806B;color:#fff}
.ff{display:grid;gap:6px;margin-bottom:14px;position:relative}
.ff span{font-size:.82rem;font-weight:700;color:var(--muted)}
.ff input,.ff textarea{font:500 1rem var(--body);padding:12px 14px;border-radius:12px;border:1.5px solid rgba(26,40,32,.18);background:var(--bg);color:var(--ink);transition:border-color .25s,box-shadow .25s,background .25s;resize:vertical}
.ff input:focus,.ff textarea:focus{outline:none;border-color:#13806B;background:#fff;box-shadow:0 0 0 4px rgba(19,128,107,.12)}
.ftwo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fpref{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.9rem;margin:2px 0 8px}
.fpref span{font-weight:700;color:var(--muted);font-size:.82rem}
.fpref input,.fchk input{accent-color:#13806B}
.fcount{position:absolute;right:10px;bottom:10px;font-style:normal;font-size:.72rem;color:var(--muted)}
.fchk{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;margin-bottom:8px}
.ferr{min-height:1.2em;margin:4px 0;color:#B23A3A;font-size:.84rem;font-weight:600}
.fnav{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.fnav .ct-btn svg{width:16px;height:16px}
.fdone{text-align:center;padding:30px 10px;animation:fsin .6s}
.fdi{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:#13806B;color:#fff;margin:0 auto 18px;animation:fdpop .6s cubic-bezier(.2,1.6,.4,1)}
.fdi svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:fdtick .5s ease .4s forwards}
@keyframes fdpop{from{transform:scale(0)}}@keyframes fdtick{to{stroke-dashoffset:0}}
.fdone h3{font:600 1.8rem var(--display);margin:0 0 8px}.fdone p{color:var(--muted);max-width:42ch;margin:0 auto 18px}.fdone a{color:#13806B;font-weight:700}
@media(max-width:900px){.fgrid{grid-template-columns:1fr}.ftwo{grid-template-columns:1fr}}
/* social row */
.ct-social{padding:clamp(24px,3.5vh,38px) 0}
.sgrid3{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:12px;align-items:center}
.sgrid3 h2{margin:0;font:600 clamp(1.6rem,2.8vw,2.4rem)/1 var(--display);letter-spacing:-.03em}
.sl{position:relative;display:grid;grid-template-columns:48px 1fr 20px;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink);overflow:hidden;isolation:isolate;transition:color .35s,transform .4s cubic-bezier(.2,.7,.1,1)}
.sl::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.sl-fb::before{background:#1877F2}.sl-ig::before{background:linear-gradient(90deg,#FD5949,#D6249F,#285AEB)}.sl-g::before{background:#1A73E8}
.sl:hover{color:#fff;transform:translateY(-3px)}.sl:hover::before{transform:scaleX(1)}
.sli{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--bg);transition:background .35s}
.sl:hover .sli{background:#fff}
.sli svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.sl-fb .sli{color:#1877F2}.sl-ig .sli{color:#D6249F}
.sl b{display:block;font:600 1.05rem var(--display)}.sl small{font-size:.8rem;opacity:.8}
.sla svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s}
.sl:hover .sla svg{transform:translateX(4px)}
@media(max-width:980px){.sgrid3{grid-template-columns:1fr 1fr}.sgrid3 h2{grid-column:1/-1}}
@media(max-width:560px){.sgrid3{grid-template-columns:1fr}}
/* final CTA */
.ct-final{background:#13806B;color:#fff;padding:clamp(36px,6vh,60px) 0;position:relative;overflow:hidden;text-align:center}
.ctf-hb{position:absolute;left:0;right:0;top:50%;width:100%;height:60px;transform:translateY(-50%);opacity:.18}
.ctf-hb path{fill:none;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.ct-final.in .ctf-hb path{animation:jdraw 2.4s cubic-bezier(.4,0,.2,1) forwards}
.ctf{position:relative}
.ct-final h2{margin:0 0 12px;font:600 clamp(2.4rem,6vw,5rem)/1 var(--display);letter-spacing:-.04em}
.ct-final p{margin:0 auto 26px;max-width:48ch;opacity:.9;font-size:1.08rem}
.ctf-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:22px}
.ctf-home{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-decoration:none;opacity:.85;transition:opacity .3s,gap .3s}
.ctf-home svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transform:rotate(180deg)}
.ctf-home:hover{opacity:1;gap:12px}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);transform:translate(-50%,20px);background:#13201A;color:#fff;font-weight:600;font-size:.92rem;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.1,1);z-index:90}
.toast.on{opacity:1;transform:translate(-50%,0)}
.rv2{transform:translateY(24px);transition:transform .9s cubic-bezier(.2,.7,.1,1)}.rv2.in{transform:none}
@media (prefers-reduced-motion:reduce){.hr-p,.hr-o,.wkc i,.rv2{transition:none}.rv2{opacity:1;transform:none}.jr.on,.jpulse,.ctf-hb path{animation:none;stroke-dashoffset:0}.wkchart .wkc i{transform:none}}
/* enquiry intro column */
.fql{align-self:stretch;display:flex;flex-direction:column}
.fql h2{margin:0 0 8px}
.fql>p{margin:0 0 20px;color:var(--muted)}
.fql .fsteps li{padding:12px 14px;border-radius:14px;background:#fff;border:1.5px solid transparent;transition:border-color .3s,background .3s}
.fql .fsteps li.on{border-color:#13806B}
.fql .fsteps li.done{background:rgba(19,128,107,.06)}
.fqside{margin-top:auto;display:grid;gap:10px}
.fqside a{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--ink);transition:transform .35s,box-shadow .35s}
.fqside a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(19,32,26,.08)}
.fqside .qi{width:44px;height:44px;border-radius:12px;background:var(--bg);display:grid;place-items:center;color:#13806B}
.fqside .qi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fqside b{display:block;font:600 1rem var(--display)}.fqside small{color:var(--muted);font-size:.84rem}
.fqr{display:grid;gap:14px}
.fqr .fqside{margin-top:0;grid-template-columns:repeat(3,1fr)}
.fqr .fqside a{grid-template-columns:1fr;gap:8px;padding:16px}
.fql .fpriv{margin-top:auto}
@media(max-width:900px){.fqr .fqside{grid-template-columns:1fr}.fqr .fqside a{grid-template-columns:44px 1fr}}
.fql .fsteps{gap:10px}
.fql .fsteps li{padding:16px 16px;align-items:flex-start}
.fql .fsteps li span b{display:block;font:600 1.02rem var(--display);color:var(--ink)}
.fql .fsteps li span small{display:block;font-size:.84rem;color:var(--muted);font-weight:500;margin-top:2px}
.fql .fpriv{margin-top:16px}
/* ---------- patient info ---------- */
.ext{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:-1px;margin-left:4px;opacity:.6}
.pi-hero{padding:calc(env(safe-area-inset-top,0px) + 140px) 0 clamp(20px,3vh,32px);position:relative;overflow:hidden}
.pi-hero::after{content:"";position:absolute;left:-10vw;bottom:-22vw;width:40vw;height:40vw;border-radius:50%;background:radial-gradient(circle,rgba(19,128,107,.1),rgba(19,128,107,0) 70%);pointer-events:none}
.pih{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,60px);align-items:start;margin-bottom:clamp(24px,4vh,40px)}
.pi-hero h1{margin:0 0 14px;font:600 clamp(2.3rem,5vw,4.4rem)/.98 var(--display);letter-spacing:-.035em;max-width:16ch}
.qa{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.qab{all:unset;cursor:pointer;box-sizing:border-box;background:#fff;border-radius:16px;padding:14px 16px;display:grid;gap:4px;border:1.5px solid transparent;transition:border-color .3s,transform .4s cubic-bezier(.2,.7,.1,1),box-shadow .3s}
.qab:hover{border-color:#13806B;transform:translateY(-3px);box-shadow:0 12px 26px rgba(19,32,26,.08)}
.qab:focus-visible{outline:2px solid #13806B;outline-offset:3px}
.qab b{font:600 1.02rem var(--display);color:#13806B}.qab span{font-size:.86rem;color:var(--muted)}
.pih-card{background:#fff;border-radius:24px;padding:22px;box-shadow:0 22px 46px rgba(19,32,26,.08);display:grid;gap:12px}
.pih-card>img{height:62px;width:auto}
.pih-card p{margin:0;font-size:.92rem;color:var(--muted)}.pih-card p b{color:var(--ink)}
.pih-card dl{margin:0;display:grid;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.pih-card dl div{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}.pih-card dt{color:var(--muted)}.pih-card dd{margin:0;font-weight:600;text-align:right}
.pih-card dd a{color:#13806B;text-decoration:none}
.pih-card .hdl.big{justify-content:center}
.pinav{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.pinav a{text-decoration:none;color:var(--ink);font:600 .86rem var(--body);padding:8px 14px;border-radius:999px;background:var(--bg-2);transition:background .25s,color .25s}
.pinav a:hover{background:#13806B;color:#fff}
@media(max-width:960px){.pih{grid-template-columns:1fr}.qa{grid-template-columns:1fr}}
.pi-sec{padding:clamp(28px,4vh,48px) 0;scroll-margin-top:80px}
.pi-alt,.pi-fees{background:var(--bg-2)}
.psh{max-width:720px;margin-bottom:clamp(18px,3vh,28px)}
.psh h2,.mmg h2,.cong h2{margin:0 0 8px;font:600 clamp(1.9rem,3.6vw,3rem)/1.02 var(--display);letter-spacing:-.03em}
.psh p{margin:0;color:var(--muted)}.psh a{color:#13806B;font-weight:700}
/* accordions */
.accs{display:grid;gap:10px}
.accs.two{grid-template-columns:1fr 1fr;align-items:start;margin-top:clamp(18px,3vh,28px)}
@media(max-width:860px){.accs.two{grid-template-columns:1fr}}
.ac{background:#fff;border-radius:18px;overflow:hidden;position:relative;transition:box-shadow .4s}
.ac::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#13806B;transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.7,.1,1)}
.ac.open{box-shadow:0 18px 40px rgba(19,32,26,.08)}.ac.open::before{transform:scaleY(1)}
.pi-alt .ac,.pi-fees .ac{background:#fff}
.ach{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:40px 1fr 30px;gap:12px;align-items:center;width:100%;padding:16px 18px 16px 20px}
.ach:focus-visible{outline:2px solid #13806B;outline-offset:-2px;border-radius:18px}
.acn{font:700 .78rem var(--body);color:var(--muted);letter-spacing:.06em;transition:color .3s}
.ac.open .acn{color:#13806B}
.acx{font:600 1.08rem/1.3 var(--display);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.act{font:700 .72rem var(--body);background:#FFF1C9;color:#7A5A00;border-radius:999px;padding:3px 9px}
.aci{position:relative;width:30px;height:30px;border-radius:50%;background:var(--bg);transition:background .3s,transform .5s cubic-bezier(.2,.7,.1,1)}
.aci i{position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ink);border-radius:2px;transition:transform .4s,background .3s}
.aci i+i{transform:rotate(90deg)}
.ach:hover .aci{background:rgba(19,128,107,.14)}
.ac.open .aci{background:#13806B;transform:rotate(180deg)}.ac.open .aci i{background:#fff}.ac.open .aci i+i{transform:rotate(0)}
.acp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.1,1)}
.ac.open .acp{grid-template-rows:1fr}
.acpi{overflow:hidden;min-height:0;padding:0 22px 0 72px}
.ac.open .acpi{padding-bottom:20px}
.acpi>*{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s}
.ac.open .acpi>*{opacity:1;transform:none;transition-delay:.12s}
.acpi p{margin:0 0 10px;color:var(--ink);line-height:1.6}.acpi a{color:#13806B;font-weight:600}
.pl{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:6px}
.pl li{position:relative;padding-left:22px}.pl li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:#FFB81C}
.pnote{background:#FFF7E0;border-radius:10px;padding:8px 12px;font-size:.9rem}
.pem{background:#FBE9EC;border-radius:10px;padding:8px 12px}.pem a{color:#B23A3A!important}
.pdocs{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.pdocs a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--bg);text-decoration:none;color:var(--ink)!important;transition:background .25s,transform .25s}
.pdocs a:hover{background:var(--bg-2);transform:translateX(4px)}
.pdi{font:700 .66rem var(--body);background:#B84A61;color:#fff;border-radius:6px;padding:4px 6px}
@media(max-width:620px){.acpi{padding-left:22px}}
/* visit checker */
.vchk{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(16px,2vw,28px);align-items:stretch}
.vlist{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.vt{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(26,40,32,.14);background:#fff;color:var(--ink);font:600 .88rem var(--body);padding:10px 14px;border-radius:12px;cursor:pointer;transition:border-color .25s,transform .25s,background .25s,color .25s}
.vt:hover{transform:translateY(-2px);border-color:var(--ink)}
.vt.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vdot{width:9px;height:9px;border-radius:50%;flex:none}.vdot.vbb{background:#009444}.vdot.vfee{background:#E39A12}
.vres{background:#fff;border-radius:24px;padding:22px 24px;box-shadow:0 22px 46px rgba(19,32,26,.08);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}
.vgauge{position:relative;height:12px;border-radius:12px;background:linear-gradient(90deg,#009444 0 50%,#E39A12 50% 100%);margin:6px 0 30px}
.vneedle{position:absolute;top:-6px;left:50%;width:24px;height:24px;margin-left:-12px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--ink),0 6px 14px rgba(0,0,0,.2);transition:left .7s cubic-bezier(.2,1.3,.4,1)}
.vl1,.vl2{position:absolute;top:20px;font:700 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase}.vl1{left:0;color:#007A3A}.vl2{right:0;color:#9A6400}
.vk{margin:0;font:700 .74rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.vres h3{margin:0;font:600 1.4rem/1.15 var(--display)}
.vres p{margin:0 0 12px;color:var(--muted)}
.vres .ct-btn{align-self:flex-start;margin-top:auto}
.vres.vbb .vk{color:#007A3A}.vres.vfee .vk{color:#9A6400}
.vres.flash{animation:vfl .5s ease}
@keyframes vfl{50%{transform:scale(1.015)}}
@media(max-width:900px){.vchk{grid-template-columns:1fr}}
/* first visit */
.fvg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:start}
.fvsteps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;counter-reset:fv}
.fvsteps li{counter-increment:fv;display:grid;grid-template-columns:40px 1fr;gap:2px 12px;align-items:center}
.fvsteps li::before{content:counter(fv);grid-row:span 2;width:36px;height:36px;border-radius:50%;background:#13806B;color:#fff;display:grid;place-items:center;font:700 .9rem var(--body)}
.fvsteps b{font:600 1.05rem var(--display)}.fvsteps span{color:var(--muted);font-size:.9rem}
.fvnote{margin:16px 0 0;font-size:.88rem;color:var(--muted);background:var(--bg-2);border-radius:12px;padding:12px 14px}
.bag{background:#fff;border-radius:24px;padding:22px;box-shadow:0 22px 46px rgba(19,32,26,.08)}
.bagh{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.bagh h3{margin:0;font:600 1.35rem var(--display)}
.bagc{margin:0;color:var(--muted);font-size:.9rem}.bagc b{color:#13806B;font:700 1.2rem var(--display)}
.bagbar{height:8px;border-radius:8px;background:var(--bg-2);margin:12px 0 16px;overflow:hidden}.bagbar i{display:block;height:100%;width:0;background:#13806B;border-radius:8px;transition:width .5s cubic-bezier(.2,.7,.1,1)}
.pks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pk{all:unset;cursor:pointer;box-sizing:border-box;display:grid;grid-template-columns:28px 1fr;gap:2px 10px;padding:12px;border-radius:14px;background:var(--bg);border:1.5px solid transparent;transition:background .3s,border-color .3s,transform .3s}
.pk:hover{transform:translateY(-2px);border-color:rgba(19,128,107,.4)}
.pk:focus-visible{outline:2px solid #13806B}
.pkc{grid-row:span 2;width:26px;height:26px;border-radius:8px;border:1.5px solid rgba(26,40,32,.25);display:grid;place-items:center;background:#fff;transition:background .3s,border-color .3s}
.pkc svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .35s ease .1s}
.pk b{font:600 .98rem var(--display)}.pk small{font-size:.78rem;color:var(--muted)}
.pk.on{background:rgba(19,128,107,.1);border-color:#13806B}.pk.on .pkc{background:#13806B;border-color:#13806B}.pk.on .pkc svg{stroke-dashoffset:0}
.pk.on b{text-decoration:line-through;text-decoration-color:rgba(19,128,107,.5)}
.bagdone{margin:14px 0 0;text-align:center;font-weight:700;color:#13806B;animation:vfl .5s}
@media(max-width:900px){.fvg{grid-template-columns:1fr}}
@media(max-width:520px){.pks{grid-template-columns:1fr}}
/* MyMedicare */
.pi-mm{background:#F3F6EF}
.mmg{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:start}
.mmlogo{height:38px;width:auto;margin-bottom:14px}
.mmg p{color:var(--muted)}
.mmcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.mmcta .ct-btn svg,.mmcta .ct-ghost svg{width:16px;height:16px}
@media(max-width:900px){.mmg{grid-template-columns:1fr}}
/* resources */
.rx{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(16px,2vw,28px);align-items:start}
.rtabs{display:grid;gap:6px}
.rtb{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:14px;background:#fff;font:600 .95rem var(--display);transition:background .25s,color .25s,transform .3s}
.rtb span{font:700 .74rem var(--body);background:var(--bg);color:var(--muted);border-radius:999px;padding:3px 8px}
.rtb:hover{transform:translateX(4px)}
.rtb.on{background:#13806B;color:#fff}.rtb.on span{background:rgba(255,255,255,.2);color:#fff}
.rtb:focus-visible{outline:2px solid #13806B}
.rpanels{position:relative}
.rlist{list-style:none;margin:0;padding:0;display:none;gap:10px}
.rlist.on{display:grid;animation:fsin .45s cubic-bezier(.2,.7,.1,1)}
.rlist a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:16px 18px;border-radius:16px;background:#fff;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s}
.rlist a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(19,32,26,.08)}
.rlist b{font:600 1.05rem var(--display)}.rlist span{grid-column:1;font-size:.8rem;color:var(--muted)}.rlist .ext{grid-row:1/3;grid-column:2;align-self:center;width:16px;height:16px}
@media(max-width:900px){.rx{grid-template-columns:1fr}.rtabs{grid-template-columns:repeat(2,1fr)}}
/* FAQ */
.fqtabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.fqt{border:1.5px solid rgba(26,40,32,.14);background:#fff;font:600 .88rem var(--body);padding:9px 14px;border-radius:999px;cursor:pointer;color:var(--ink);transition:background .25s,color .25s,border-color .25s}
.fqt.on{background:#13806B;border-color:#13806B;color:#fff}
.fqc{margin-left:auto;color:var(--muted);font-size:.88rem}.fqc b{color:#13806B}
.ac.fq.hide{display:none}
.ac.fq.show{animation:fsin .4s cubic-bezier(.2,.7,.1,1)}
.fqs{background:var(--bg-2);padding:12px;border-radius:22px}
/* stay connected */
.pi-con{background:var(--bg-2)}
.cong{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cong h2{grid-column:1/-1}
.cl{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;background:#fff;text-decoration:none;color:var(--ink);transition:transform .35s,box-shadow .35s}
.cl:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(19,32,26,.08)}
.cl b{display:block;font:600 1.05rem var(--display)}.cl small{color:var(--muted);font-size:.84rem}
.cl>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.cli{width:52px;height:52px;border-radius:14px;display:grid;place-items:center}
.cli svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7}
.cli.fb{background:#1877F2;color:#fff}.cli.gm{background:#E8F0FE;color:#1A73E8}.cli.hd{background:#fff;border:1px solid var(--line)}.cli.hd img{width:40px;height:auto}.cli.hj{background:var(--bg);color:#13806B}
.conw{grid-column:1/-1;margin:6px 0 0;background:#FBE9EC;border-radius:14px;padding:14px 16px;font-size:.92rem}.conw a{color:#B23A3A;font-weight:700}
@media(max-width:760px){.cong{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.acp,.acpi>*,.vneedle,.pk,.bagbar i{transition:none}}
.accs{counter-reset:ac}
.ac{counter-increment:ac}
.acn::before{content:counter(ac,decimal-leading-zero)}
.ac.fq.hide{counter-increment:none}

/* visit type dropdown */
.vchk{grid-template-columns:1fr 1fr!important}
.vdd{position:relative;display:flex;flex-direction:column;gap:10px}
.vddl{margin:0;font:700 .74rem var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.vddb{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;background:#fff;border:2px solid rgba(26,40,32,.12);border-radius:18px;padding:18px 20px;font:600 1.15rem var(--display);color:var(--ink);box-shadow:0 14px 30px rgba(19,32,26,.06);transition:border-color .3s,box-shadow .3s}
.vddb:hover,.vddb[aria-expanded="true"]{border-color:#13806B;box-shadow:0 18px 40px rgba(19,128,107,.14)}
.vddb:focus-visible{outline:3px solid rgba(19,128,107,.35);outline-offset:2px}
.vddv{display:flex;align-items:center;gap:10px}
.vddc{width:36px;height:36px;border-radius:50%;background:var(--bg-2);display:grid;place-items:center;flex:none;transition:transform .45s cubic-bezier(.2,.7,.1,1),background .3s}
.vddc svg{width:12px;height:8px;fill:none;stroke:var(--ink);stroke-width:1.8}
.vddb[aria-expanded="true"] .vddc{transform:rotate(180deg);background:#13806B}.vddb[aria-expanded="true"] .vddc svg{stroke:#fff}
.vddlist{list-style:none;margin:0;padding:8px;position:absolute;left:0;right:0;top:calc(100% - 34px);z-index:20;background:#fff;border-radius:18px;box-shadow:0 30px 60px rgba(19,32,26,.18);max-height:min(420px,60vh);overflow:auto;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.1,1)}
.vdd.open .vddlist{opacity:1;transform:none;pointer-events:auto}
.vgl{display:flex;align-items:center;gap:8px;padding:12px 12px 6px;font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vgl:not(:first-child){border-top:1px solid var(--line);margin-top:6px}
.vo{display:grid;grid-template-columns:12px 1fr 16px;gap:12px;align-items:center;padding:11px 12px;border-radius:12px;cursor:pointer;font-weight:600;font-size:.95rem;transition:background .2s,transform .25s}
.vo:hover,.vo.act{background:var(--bg-2);transform:translateX(3px)}
.vo svg{width:16px;height:16px;fill:none;stroke:#13806B;stroke-width:2.2;opacity:0}
.vo[aria-selected="true"]{background:rgba(19,128,107,.1);color:#0E6857}.vo[aria-selected="true"] svg{opacity:1}
.vdd.open .vo{animation:voin .35s cubic-bezier(.2,.7,.1,1) both}
@keyframes voin{from{opacity:0;transform:translateY(6px)}}
.vddh{margin:4px 0 0;font-size:.88rem;color:var(--muted)}.vddh a{color:#13806B;font-weight:700}
@media(max-width:900px){.vchk{grid-template-columns:1fr!important}}

.vddw{position:relative}.vddlist{top:calc(100% + 8px)!important}

/* resources: even tabs on both sides */
.rx3{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:clamp(12px,1.6vw,22px);align-items:stretch}
.rx3 .rtabs{display:grid;grid-auto-rows:1fr;gap:8px}
.rx3 .rtb{min-height:54px}
.rx3 .rR .rtb{flex-direction:row-reverse;text-align:right}
.rx3 .rL .rtb:hover{transform:translateX(4px)}.rx3 .rR .rtb:hover{transform:translateX(-4px)}
.rx3 .rpanels{background:#fff;border-radius:22px;padding:14px;box-shadow:0 18px 40px rgba(19,32,26,.06);display:flex;flex-direction:column}
.rx3 .rlist a{background:var(--bg)}
.rx3 .rlist a:hover{background:#fff;box-shadow:0 10px 24px rgba(19,32,26,.08)}
.rx3 .rlist{align-content:start}
@media(max-width:900px){.rx3{grid-template-columns:1fr 1fr}.rx3 .rpanels{grid-column:1/-1;order:3}.rx3 .rR .rtb{flex-direction:row;text-align:left}}
.rx3>*{min-width:0}.rlist a{min-width:0}.rlist b,.rlist span{overflow-wrap:anywhere}@media(max-width:560px){.rx3{grid-template-columns:1fr}.rx3 .rpanels{order:3}}
/* ===== one screen per section: master-detail reveal ===== */
.s5-hero{padding-bottom:clamp(36px,6vh,64px)!important;min-height:0!important}
.pi-sec{padding:clamp(24px,3.5vh,40px) 0!important}
.psh{margin-bottom:clamp(14px,2.4vh,22px)!important}
.psh h2{font-size:clamp(1.7rem,3vw,2.6rem)!important}
@media(min-width:901px){
  .accs.md{display:grid!important;grid-template-columns:minmax(260px,.85fr) 1.15fr!important;gap:8px 16px;grid-auto-rows:min-content;align-items:start;counter-reset:ac}
  .accs.md>.ac{grid-column:1;background:#fff;border-radius:14px;box-shadow:none!important}
  .accs.md>.ac::before{transform:scaleY(0)}
  .accs.md>.ac.open::before{transform:scaleY(1)}
  .accs.md>.ac .ach{padding:12px 14px 12px 16px;grid-template-columns:30px 1fr 26px}
  .accs.md>.ac .acx{font-size:.98rem}
  .accs.md>.ac .aci{width:26px;height:26px}
  .accs.md>.ac .acp{display:none}
  .accs.md>.ac.open{background:#13806B;color:#fff}
  .accs.md>.ac.open .acn{color:rgba(255,255,255,.7)}
  .accs.md>.ac.open .aci{background:#fff;transform:none}.accs.md>.ac.open .aci i{background:#13806B;transform:rotate(-45deg)}.accs.md>.ac.open .aci i+i{transform:rotate(45deg)}
  .accs.md>.ac.open .act{background:#FFD25A;color:#3B2A00}
  .accs.md>.mdp{grid-column:2;align-self:stretch;background:#fff;border-radius:20px;padding:clamp(18px,3vh,28px) clamp(18px,2.4vw,30px);box-shadow:0 22px 46px rgba(19,32,26,.08);position:relative;overflow:hidden}
  .mdp h3{margin:0 0 12px;font:600 clamp(1.3rem,2vw,1.7rem)/1.15 var(--display);letter-spacing:-.02em}
  .mdp .mdb{animation:fsin .45s cubic-bezier(.2,.7,.1,1)}
  .mdp .mdb>*{opacity:1!important;transform:none!important}
  .mdp p{margin:0 0 10px;line-height:1.6}.mdp a{color:#13806B;font-weight:600}
  .mdp::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,90,.28),rgba(255,210,90,0) 70%);pointer-events:none}
  .accs.two.md{grid-template-columns:minmax(260px,.85fr) 1.15fr!important;margin-top:16px}
  .fqs.md{background:none;padding:0}
  .accs.md>.ac.fq.hide{display:none}
}
/* compact fees section to fit one screen */
.vchk{gap:16px!important}.vres{padding:18px 20px!important}.vgauge{margin-bottom:24px!important}
.mmg{align-items:center}
@media(min-width:901px){.accs.md>.ac .ach{padding:10px 14px 10px 16px}.accs.md{gap:6px 16px}}
@media(min-width:901px) and (max-height:820px){
  .pi-sec{padding:24px 0!important}
  .psh{margin-bottom:12px!important}.psh h2{font-size:clamp(1.5rem,2.6vw,2.2rem)!important;margin-bottom:4px!important}.psh p{font-size:.9rem}
  .accs.md>.ac .ach{padding:8px 12px 8px 14px}.accs.md>.ac .acx{font-size:.92rem}
  .accs.two.md{margin-top:10px}
  .vres h3{font-size:1.2rem}.vres p{margin-bottom:8px}.vddb{padding:14px 16px}.vddh{display:none}
  .mdp{padding:16px 20px!important}.mdp p{font-size:.93rem;margin-bottom:8px}
}
/* ================= v5 daylight hero (inner pages) ================= */
.s5-hero{position:relative;min-height:clamp(560px,68vh,720px);padding:calc(env(safe-area-inset-top,0px) + 120px) 0 110px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 78% 40%,#E3EBDD 0%,rgba(227,235,221,0) 55%),var(--bg)}
.s5pet{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.s5g{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);align-items:center}
.s5t h1{margin:0;font:600 clamp(2.6rem,5.6vw,5.2rem)/.95 var(--display);letter-spacing:-.04em}
.s5t h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.s5t h1 .ln>span{display:inline-block;transform:translateY(105%);animation:s4up 1.1s cubic-bezier(.2,.8,.1,1) .15s forwards}
.s5t h1 .ln:nth-child(3)>span{animation-delay:.3s}
.s5t h1 em{font-style:normal;color:#B84A61}
.s5t .h1k2{opacity:0;animation:s5f .8s ease .05s forwards}
.s5lede{margin:20px 0 24px;max-width:44ch;color:var(--muted);font-size:1.08rem;opacity:0;animation:s5f .8s ease .55s forwards}
.s5cta{display:flex;flex-wrap:wrap;gap:12px;opacity:0;animation:s5f .8s ease .7s forwards}
.s5down svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;animation:s4bob 1.8s ease-in-out infinite}
@keyframes s5f{to{opacity:1}}
.s5v{position:relative;height:clamp(380px,52vh,520px)}
.s5glow{position:absolute;left:50%;top:44%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,210,90,.45),rgba(255,210,90,0) 65%);animation:s5g 6s ease-in-out infinite alternate}
@keyframes s5g{to{transform:translate(-50%,-52%) scale(1.06)}}
.s5arch{position:absolute;left:50%;top:0;bottom:0;width:min(78%,400px);transform:translateX(-50%);border-radius:999px 999px 26px 26px;overflow:hidden;box-shadow:0 30px 60px rgba(19,32,26,.16);clip-path:inset(0 0 0 0 round 999px 999px 26px 26px);animation:s5open 1.3s cubic-bezier(.2,.7,.1,1) .35s both}
@keyframes s5open{from{clip-path:inset(100% 0 0 0 round 999px 999px 26px 26px)}}
.s5arch img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:kb 16s ease-in-out infinite alternate}
.s5v .fchip{z-index:2}
.s5v .fc1{left:0;top:14%;animation-delay:1.2s,1.2s}
.s5v .fc2{right:-2%;top:48%;animation-delay:1.4s,1.8s}
.s5v .fc4{left:4%;bottom:6%;top:auto;animation-delay:1.6s,2.4s}
.s4find{margin-top:-64px!important}
@media(max-width:980px){.s5g{grid-template-columns:1fr}.s5v{height:360px;order:-1}.s5-hero{padding-bottom:100px}}
@media(max-width:560px){.s5v{height:300px}.s5v .fc2{display:none}}
@media (prefers-reduced-motion:reduce){.s5t h1 .ln>span,.s5t .h1k2,.s5lede,.s5cta,.s5arch,.s5glow,.s5arch img{animation:none!important;opacity:1;transform:none}.s5arch{transform:translateX(-50%)!important}}

/* shared pieces used by the daylight hero */
.vdot2{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.vdot2.vbb{background:#009444}
.fchip{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 16px 34px rgba(19,32,26,.14);font:600 .86rem/1.25 var(--body);max-width:230px;animation:s3in .9s cubic-bezier(.2,1.2,.4,1) both,flt 6s ease-in-out infinite;z-index:2;color:var(--ink)}
.fchip b{font:700 1.8rem/1 var(--display);color:#13806B}
.fchip img{height:34px;width:auto}
@keyframes s3in{from{opacity:0;transform:translateY(30px) scale(.97)}}
@keyframes flt{50%{transform:translateY(-8px)}}
@keyframes s4up{to{transform:none}}
@keyframes s4bob{50%{transform:translateY(3px)}}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-2%,-1%)}}
.fci{width:34px;height:34px;border-radius:10px;background:var(--bg);display:grid;place-items:center;color:#13806B;flex:none}.fci.rose{color:#B84A61}
.fci svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.s5-hero+*{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.fchip{animation:none}}
.s5g>*{min-width:0}
/* ===== women's health page: pink theme ===== */
.whp{--wr:#B84A61;--wd:#7A2440;--wdd:#5C1A2E;--wb:#FCEEF0;--wb2:#F8E1E6;--wl:rgba(184,74,97,.22)}
.whp .s5-hero{background:radial-gradient(ellipse at 80% 40%,#F6D6DE 0%,rgba(246,214,222,0) 55%),linear-gradient(160deg,#FCEEF0,#F8E1E6)}
.whp .s5t h1 em{color:var(--wr)}
.whp .hdl.big{background:var(--wd)}.whp .hdl.big:hover{background:var(--wdd)}
.whp .hdl.big.light{background:#fff;color:var(--wd)}
.whp .ct-btn{background:var(--wd)}.whp .ct-btn:hover{background:var(--wdd)}
.whp .s5glow{background:radial-gradient(circle,rgba(242,182,194,.6),rgba(242,182,194,0) 65%)}
.whp .fchip b{color:var(--wr)}
.crumb{display:flex;gap:8px;align-items:center;font-size:.84rem;margin-bottom:16px;color:var(--muted);opacity:0;animation:s5f .8s ease forwards}
.crumb a{color:var(--wd);text-decoration:none}.crumb a:hover{text-decoration:underline}
.wsec{padding:clamp(28px,4vh,48px) 0;scroll-margin-top:80px}
.walt{background:var(--wb)}
.whp .psh h2{color:var(--wdd)}
.wnote{margin:18px 0 0;font-size:.86rem;color:var(--muted);border-left:3px solid var(--wr);padding:6px 0 6px 12px}
.wnote a{color:var(--wd);font-weight:700}
/* quick links */
.wq{padding:28px 0!important;background:#fff}
.wqg{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wqi{display:grid;gap:2px;padding:16px 18px;border-radius:16px;background:var(--wb);text-decoration:none;color:var(--wdd);position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.1,1),background .3s,color .3s}
.wqi::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.5;transition:transform .35s}
.wqi:hover{transform:translateY(-4px);background:var(--wd);color:#fff}.wqi:hover::after{transform:translateY(-30%) rotate(45deg)}
.wqi b{font:600 1.05rem var(--display)}.wqi span{font-size:.84rem;opacity:.8}
@media(max-width:860px){.wqg{grid-template-columns:1fr 1fr}}
/* contraception compare */
.mcmp{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(14px,2vw,26px);align-items:stretch}
.mtabs{display:grid;gap:10px}
.mt{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;padding:18px 20px;border-radius:18px;background:var(--wb);border:2px solid transparent;transition:background .3s,border-color .3s,transform .4s cubic-bezier(.2,.7,.1,1)}
.mt:hover{transform:translateX(5px)}
.mt.on{background:#fff;border-color:var(--wr);box-shadow:0 16px 36px rgba(122,36,64,.12);transform:translateX(10px)}
.mt:focus-visible{outline:2px solid var(--wr);outline-offset:3px}
.mt b{font:600 1.2rem var(--display);color:var(--wdd)}.mt small{color:var(--muted);font-size:.86rem}
.mpanes{background:#fff;border-radius:26px;padding:clamp(22px,3.4vh,34px) clamp(22px,3vw,36px);box-shadow:0 24px 50px rgba(122,36,64,.1);position:relative;overflow:hidden}
.mpanes::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,182,194,.35),rgba(242,182,194,0) 70%)}
.mp{display:none;position:relative;z-index:1}.mp.on{display:block;animation:fsin .5s cubic-bezier(.2,.7,.1,1)}
.mph h3{margin:0 0 4px;font:600 clamp(1.6rem,2.6vw,2.2rem)/1.05 var(--display);color:var(--wdd)}
.mpy{margin:0 0 12px;color:var(--wr)}
.yrs{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:28px}
.yrs i{height:12px;border-radius:6px;background:var(--wb2);transform-origin:left;transition:background .3s}
.yrs i.f{background:var(--wr);animation:yrin .5s cubic-bezier(.2,.7,.1,1) both;animation-delay:var(--d)}
@keyframes yrin{from{transform:scaleX(0)}}
.yrs span{position:absolute;top:18px;font-size:.72rem;color:var(--muted)}.yrs span:nth-of-type(1){left:0}.yrs span:nth-of-type(2){left:50%;transform:translateX(-50%)}.yrs span:nth-of-type(3){right:0}
.mpw{margin:0 0 16px;line-height:1.6}
.mpg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mpg ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mpg li{display:flex;gap:8px;align-items:flex-start;font-size:.92rem}
.mpg svg{width:16px;height:16px;flex:none;margin-top:3px;fill:none;stroke:var(--wr);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mpg .th li::before{content:"";width:7px;height:7px;border-radius:50%;background:#E39A12;flex:none;margin-top:8px}
.slb{margin:0 0 6px;font:700 .7rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){.mcmp{grid-template-columns:1fr}.mt.on,.mt:hover{transform:none}.mpg{grid-template-columns:1fr}}
/* insertion steps */
.wig{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:start}
.wrem{background:#fff;border-radius:20px;padding:20px 22px;border-left:4px solid var(--wr)}
.wrem h3{margin:0 0 6px;font:600 1.2rem var(--display);color:var(--wdd)}.wrem p{margin:0;color:var(--muted)}
.steps2{list-style:none;margin:0;padding:0 0 0 0;display:grid;gap:10px;position:relative}
.stp{background:#fff;border-radius:18px;overflow:hidden;transition:box-shadow .35s}
.stp button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:14px;align-items:center;width:100%;padding:16px 18px}
.stp button:focus-visible{outline:2px solid var(--wr);outline-offset:-2px;border-radius:18px}
.stn{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 .95rem var(--body);background:var(--wb2);color:var(--wd);transition:background .35s,color .35s,transform .45s cubic-bezier(.2,1.4,.4,1)}
.stp b{font:600 1.1rem var(--display);color:var(--wdd)}
.stp p{margin:0;max-height:0;overflow:hidden;padding:0 18px 0 70px;color:var(--muted);line-height:1.55;transition:max-height .5s cubic-bezier(.2,.7,.1,1),padding .4s}
.stp.on{box-shadow:0 16px 36px rgba(122,36,64,.12)}
.stp.on .stn{background:var(--wr);color:#fff;transform:scale(1.1)}
.stp.on p{max-height:200px;padding-bottom:18px}
.sbar{height:4px;border-radius:4px;background:var(--wb2);overflow:hidden}.sbar i{display:block;height:100%;width:25%;background:var(--wr);transition:width .6s cubic-bezier(.2,.7,.1,1)}
@media(max-width:900px){.wig{grid-template-columns:1fr}}
/* cervical screening */
.csg{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,60px);align-items:start}
.csw{display:inline-flex;background:var(--wb);border-radius:14px;padding:5px;margin-bottom:14px}
.csb{border:0;background:none;font:700 .9rem var(--body);padding:10px 16px;border-radius:10px;cursor:pointer;color:var(--wd);transition:background .3s,color .3s}
.csb.on{background:var(--wd);color:#fff}
.csp{display:none;background:#fff;border:1.5px solid var(--wl);border-radius:18px;padding:18px 20px}.csp.on{display:block;animation:fsin .45s}
.csp h3{margin:0 0 6px;font:600 1.2rem var(--display);color:var(--wdd)}.csp p{margin:0;line-height:1.6}
.cscheck{background:linear-gradient(170deg,#fff,var(--wb));border-radius:26px;padding:clamp(22px,3vh,30px);box-shadow:0 24px 50px rgba(122,36,64,.1);text-align:center}
.cscheck h3{margin:0 0 4px;font:600 1.6rem var(--display);color:var(--wdd)}
.cscq{margin:0 0 10px;color:var(--muted);font-size:.9rem}
.csage output{display:block;font:700 4rem/1 var(--display);color:var(--wr);letter-spacing:-.04em}
.csage span{color:var(--muted);font-size:.88rem}
#csr{width:100%;margin:16px 0;accent-color:#B84A61;height:28px}
.csres{min-height:96px;background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:16px;text-align:left;border-left:4px solid var(--wr)}
.csres b{display:block;font:600 1.1rem var(--display);color:var(--wdd);margin-bottom:4px}.csres p{margin:0;font-size:.9rem;color:var(--muted)}
.csres.pop{animation:fsin .4s}
@media(max-width:900px){.csg{grid-template-columns:1fr}}
/* pregnancy timeline */
.ptl{background:#fff;border-radius:26px;padding:clamp(22px,3.4vh,34px) clamp(18px,3vw,36px);box-shadow:0 24px 50px rgba(122,36,64,.08)}
.ptrack{position:relative;height:110px;margin:0 20px 10px}
.ptri{position:absolute;left:0;right:0;top:46px;height:6px;border-radius:6px;background:var(--wb2)}
.ptri i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:6px;background:linear-gradient(90deg,#F2B6C2,#B84A61);transition:width .7s cubic-bezier(.2,.7,.1,1)}
.pm{all:unset;cursor:pointer;position:absolute;top:30px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}
.pm i{width:28px;height:28px;border-radius:50%;background:#fff;border:4px solid var(--wb2);box-sizing:border-box;transition:border-color .3s,transform .45s cubic-bezier(.2,1.4,.4,1),background .3s}
.pm span{font:700 .72rem var(--body);color:var(--muted);white-space:nowrap}
.pm:hover i{transform:scale(1.15);border-color:var(--wr)}
.pm.past i{border-color:var(--wr)}
.pm.on i{background:var(--wr);border-color:#fff;box-shadow:0 0 0 4px var(--wr);transform:scale(1.25)}.pm.on span{color:var(--wd)}
.pm:focus-visible i{outline:2px solid var(--wd);outline-offset:3px}
.ptrl{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:13fr 14fr 13fr 6fr;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wr)}
.ptrl b{font-weight:700;border-left:1px dashed var(--wl);padding-left:6px}
.ppanes{min-height:110px;border-top:1px solid var(--wl);padding-top:18px}
.pp{display:none}.pp.on{display:block;animation:fsin .45s cubic-bezier(.2,.7,.1,1)}
.ppw{margin:0 0 4px;font:700 .74rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--wr)}
.pp h3{margin:0 0 6px;font:600 clamp(1.4rem,2.2vw,1.9rem) var(--display);color:var(--wdd)}.pp p{margin:0;max-width:70ch;line-height:1.6}
@media(max-width:760px){.ptrack{overflow-x:auto;height:auto;display:flex;gap:6px;margin:0}.ptri,.ptrl{display:none}.pm{position:static;transform:none;flex:none;padding:6px}}
/* more care accordions */
.whp .ac{background:#fff}.whp .walt .ac{background:#fff}
.whp .ac::before{background:var(--wr)}
.whp .ac.open .aci{background:var(--wr)}
.whp .ach{grid-template-columns:1fr 30px;padding:16px 18px}
.whp .acpi{padding:0 22px}
.whp .acx{color:var(--wdd)}
/* local network */
.lg2{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:center}
.lcards{position:relative}
.lc{display:none;background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px rgba(122,36,64,.1)}.lc.on{display:block;animation:fsin .45s cubic-bezier(.2,.7,.1,1)}
.lck{margin:0 0 4px;font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--wr)}
.lc h3{margin:0 0 8px;font:600 1.5rem/1.1 var(--display);color:var(--wdd)}.lc p{margin:0 0 14px;line-height:1.6}
.lcl{display:inline-flex;align-items:center;gap:8px;color:var(--wd);font-weight:700;text-decoration:none;transition:gap .3s}.lcl:hover{gap:12px}.lcl svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.lmap{position:relative;background:#fff;border-radius:26px;aspect-ratio:600/460;box-shadow:0 24px 50px rgba(122,36,64,.08);overflow:hidden}
.lmap svg{position:absolute;inset:0;width:100%;height:100%}
.lmb{fill:#FBEFF2}.lmr{fill:none;stroke:#C9DCE6;stroke-width:8;stroke-linecap:round}.lms{fill:none;stroke:#F0D3DA;stroke-width:3}
.lmap text{font:600 12px var(--body);fill:#9C6A79}
.lp{all:unset;cursor:pointer;position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}
.lp i{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--wr);box-shadow:0 6px 14px rgba(122,36,64,.3);transition:transform .45s cubic-bezier(.2,1.4,.4,1),background .3s}
.lp span{font:700 .72rem var(--body);background:#fff;color:var(--wdd);padding:4px 8px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.08);max-width:150px;text-align:center;opacity:.85}
.lp:hover i{transform:rotate(-45deg) scale(1.2)}
.lp.on i{background:var(--wdd);transform:rotate(-45deg) scale(1.35)}.lp.on span{opacity:1;background:var(--wd);color:#fff}
.lp.on::before{content:"";position:absolute;top:-4px;width:30px;height:30px;border-radius:50%;border:2px solid var(--wr);animation:lping 1.8s ease-out infinite}
@keyframes lping{from{transform:scale(.6);opacity:.8}to{transform:scale(2.4);opacity:0}}
.lp:focus-visible span{outline:2px solid var(--wd)}
.lmn{position:absolute;left:16px;bottom:10px;margin:0;font-size:.72rem;color:var(--muted)}
@media(max-width:900px){.lg2{grid-template-columns:1fr}.lp span{display:none}}
/* awareness calendar */
.calw{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(14px,2vw,26px);align-items:stretch}
.cals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cm2{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;padding:16px;border-radius:18px;background:var(--wb);transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.7,.1,1)}
.cm2 b{font:700 1.6rem/1 var(--display);color:var(--wr);transition:color .3s}.cm2 span{font-size:.84rem;font-weight:600;color:var(--wdd);transition:color .3s}
.cm2:hover{transform:translateY(-4px)}
.cm2.on{background:var(--wd)}.cm2.on b,.cm2.on span{color:#fff}
.cm2.now::after{content:"This month";justify-self:start;font:700 .66rem var(--body);background:#FFD25A;color:#3B2A00;border-radius:999px;padding:3px 8px}
.cm2:focus-visible{outline:2px solid var(--wr);outline-offset:3px}
.calp{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px rgba(122,36,64,.1);display:flex;flex-direction:column;justify-content:center}
.cp{display:none}.cp.on{display:block;animation:fsin .45s}
.cpk{margin:0 0 4px;font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--wr)}
.cp h3{margin:0 0 8px;font:600 1.5rem/1.1 var(--display);color:var(--wdd)}.cp p{margin:0;line-height:1.6}
@media(max-width:900px){.calw{grid-template-columns:1fr}.cals{grid-template-columns:repeat(2,1fr)}}
/* female GPs */
.wgg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.wg2{background:#fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.7,.1,1),box-shadow .4s}
.wg2:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(122,36,64,.14)}
.wg2p{aspect-ratio:1/1;max-height:34vh;overflow:hidden;background:#fff}
.wg2p img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;transition:transform 1s cubic-bezier(.2,.7,.1,1)}
.wg2:hover .wg2p img{transform:scale(1.05)}
.wg2b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.wg2b h3{margin:0 0 4px;font:600 1.4rem var(--display);color:var(--wdd)}
.wg2c{margin:0 0 8px;color:var(--wr);font-size:.82rem;font-weight:600}
.wg2b p{margin:0 0 10px;font-size:.9rem}
.wg2l{color:var(--muted)}
.wbk{margin-top:auto;align-self:flex-start;background:var(--wd);color:#fff!important;text-decoration:none;font-weight:700;font-size:.88rem;padding:10px 14px 10px 10px;border-radius:12px;transition:background .3s}.wbk:hover{background:var(--wdd)}
@media(max-width:900px){.wgg{grid-template-columns:1fr}}
/* billing + final */
.wbill{background:var(--wb2)}
.wbg{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.wbg img{height:74px;width:auto;background:#fff;border-radius:12px;padding:6px}
.wbg>div{flex:1;min-width:280px}.wbg h2{margin:0 0 6px;font:600 1.6rem var(--display);color:var(--wdd)}.wbg p{margin:0}
.wbg .ct-btn svg{width:16px;height:16px}
.wfinal{background:var(--wd)!important}
.whhb{position:absolute;left:0;right:0;top:50%;width:100%;height:60px;transform:translateY(-50%);opacity:.2}
.whhb path{fill:none;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.wfinal.in .whhb path{animation:jdraw 2.4s cubic-bezier(.4,0,.2,1) forwards}
.ext{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7}
@media (prefers-reduced-motion:reduce){.yrs i.f,.lp.on::before{animation:none}.stp p,.ptri i{transition:none}}
/* heading word reveal */
.wr .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.wr .w>span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.8,.1,1)}
.wr.in .w>span{transform:none}
.whp{background:#FFF8F9}.whp .wq{background:#FFF8F9}.whp .walt{background:#FCEEF0}
.wrel{padding:clamp(36px,6vh,60px) 0!important}
.relh{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.relh h2{margin:0;font:600 clamp(1.5rem,2.6vw,2.2rem) var(--display);color:var(--wdd)}
.relh .ct-ghost svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.relg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rl{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:16px 18px;border-radius:16px;background:#fff;text-decoration:none;color:var(--wdd);border:1.5px solid var(--wl);transition:transform .35s,background .3s,color .3s}
.rl b{font:600 1.05rem var(--display)}.rl span{grid-column:1;font-size:.8rem;color:var(--muted);transition:color .3s}
.rl svg{grid-row:1/3;grid-column:2;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .3s}
.rl:hover{transform:translateY(-3px);background:var(--wd);color:#fff}.rl:hover span{color:rgba(255,255,255,.8)}.rl:hover svg{transform:translateX(4px)}
@media(max-width:860px){.relg{grid-template-columns:1fr}}
.gbill{margin:14px 0 0;font-size:.88rem;background:var(--wb);border-radius:10px;padding:10px 12px}
.gcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gcd{background:#fff;border-radius:22px;padding:22px;border:1.5px solid var(--wl);transition:transform .45s cubic-bezier(.2,.7,.1,1),box-shadow .4s,border-color .3s;outline:none}
.gcd:hover,.gcd:focus{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.08);border-color:var(--wr)}
.gci{width:48px;height:48px;border-radius:14px;background:var(--wb);color:var(--wr);display:grid;place-items:center;margin-bottom:12px;transition:background .3s,color .3s,transform .5s cubic-bezier(.2,1.4,.4,1)}
.gcd:hover .gci{background:var(--wr);color:#fff;transform:rotate(-8deg)}
.gci svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gcd h3{margin:0 0 6px;font:600 1.2rem var(--display);color:var(--wdd)}.gcd p{margin:0 0 10px;font-size:.92rem;line-height:1.55}
.gcd ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.gcd li{display:flex;gap:8px;font-size:.86rem;font-weight:600}
.gcd li svg{width:15px;height:15px;flex:none;margin-top:2px;fill:none;stroke:var(--wr);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:960px){.gcards{grid-template-columns:1fr 1fr}}@media(max-width:620px){.gcards{grid-template-columns:1fr}}
.ptrl2{position:absolute;left:0;right:0;top:0;height:20px}
.ptrl2 b{position:absolute;top:0;font:700 .7rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--wr);border-left:1px dashed var(--wl);padding-left:6px;white-space:nowrap}
.wgg.g2{grid-template-columns:repeat(2,1fr);max-width:860px}
.wgg.g5{grid-template-columns:repeat(5,1fr)}.wgg.g5 .wg2b h3{font-size:1.15rem}
@media(max-width:1100px){.wgg.g5{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.wgg.g2,.wgg.g5{grid-template-columns:1fr}}
.gsplit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);align-items:start}@media(max-width:900px){.gsplit{grid-template-columns:1fr}}
.gpanel{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px rgba(0,0,0,.06)}
.gpanel h3{margin:0 0 8px;font:600 1.3rem var(--display);color:var(--wdd)}.gpanel p{margin:0 0 10px;line-height:1.6}
.gpanel ul{margin:0;padding-left:18px;line-height:1.7}
.gnums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.gnums a{display:grid;gap:2px;padding:14px;border-radius:14px;background:var(--wb);text-decoration:none;color:var(--wdd);transition:background .3s,color .3s,transform .3s}
.gnums a:hover{background:var(--wd);color:#fff;transform:translateY(-3px)}.gnums b{font:700 1.1rem var(--display)}.gnums span{font-size:.8rem;opacity:.8}
@media(max-width:700px){.gnums{grid-template-columns:1fr}}
.whp .s5t h1{font-size:clamp(2.3rem,4.4vw,4.2rem)}
/* locality */
.tstats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}
.tstats div{background:var(--wb);border-radius:14px;padding:12px 14px}.tstats b{display:block;font:700 2.2rem/1 var(--display);color:var(--wr)}.tstats span{font-size:.82rem;color:var(--muted)}
.tbtn{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.tbtn .ct-btn svg{width:16px;height:16px}
.tnote{margin:12px 0 0!important;font-size:.76rem;color:var(--muted)}
.rmap{position:relative;background:#fff;border-radius:26px;aspect-ratio:600/460;box-shadow:0 24px 50px rgba(19,32,26,.08);overflow:hidden}
.rsvg{position:absolute;inset:0;width:100%;height:100%}
.rbg{fill:#EAF0E6}.rriv{fill:none;stroke:#9CC8D4;stroke-width:6;stroke-linecap:round;opacity:.7}
.rroad{fill:none;stroke:#C9D3C4;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 8}
.rroad.on{stroke:var(--wr);stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1}
.rmap.in .rroad.on{animation:jdraw 1.6s cubic-bezier(.4,0,.2,1) .2s forwards}
.rdot circle{fill:#fff;stroke:#5C6B60;stroke-width:2;transition:fill .3s,stroke .3s}.rdot text{font:600 13px var(--body);fill:#33453C}
.rdot.on circle{fill:#FFD25A;stroke:var(--wr);r:9}
.rdot.hub{cursor:pointer}.rdot.hub:hover circle{fill:#FFD25A}
.rclinic .rpin{fill:var(--wr)}.rclinic .rplus{stroke:#fff;stroke-width:2.4;stroke-linecap:round}.rclinic text{font:700 13px var(--body);fill:#13201A}
.rpulse{fill:none;stroke:var(--wr);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:jpl 2.2s ease-out infinite}
.tchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.tch{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--wdd);background:#fff;border:1.5px solid var(--wl);border-radius:999px;padding:10px 16px;font-weight:700;transition:background .3s,color .3s,transform .3s}
.tch span{font-size:.76rem;font-weight:700;color:var(--wr);background:var(--wb);border-radius:999px;padding:2px 8px;transition:background .3s,color .3s}
.tch:hover{transform:translateY(-3px);background:var(--wd);color:#fff}.tch:hover span{background:rgba(255,255,255,.2);color:#fff}
.tch.on{background:var(--wd);color:#fff}.tch.on span{background:rgba(255,255,255,.2);color:#fff}
.hubc{display:none;background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px rgba(19,32,26,.08)}.hubc.on{display:block;animation:fsin .45s cubic-bezier(.2,.7,.1,1)}
.hubc p{line-height:1.6}
.hubmap+.tchips,.gsplit+.tchips{margin-top:20px}
.gsplit>*{min-width:0}
/* horizontal card carousel */
.hsc{position:relative}
.hsctop{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.hscn{font:600 .9rem var(--body);color:var(--muted)}.hscn b{font:700 1.4rem var(--display);color:var(--wr);margin-right:2px}
.hschint{font-size:.82rem;color:var(--muted);margin-right:auto}
.hscbtns{display:flex;gap:8px}
.hscbtns button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--wl);background:#fff;color:var(--wd);cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s,opacity .3s}
.hscbtns button:hover{background:var(--wd);color:#fff;transform:translateY(-2px)}
.hscbtns button:disabled{opacity:.35;pointer-events:none}
.hscbtns svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hscv{position:relative;margin:0 calc(-1 * clamp(20px,4vw,56px));-webkit-mask-image:linear-gradient(90deg,transparent,#000 clamp(20px,4vw,56px),#000 calc(100% - clamp(20px,4vw,56px)),transparent);mask-image:linear-gradient(90deg,transparent,#000 clamp(20px,4vw,56px),#000 calc(100% - clamp(20px,4vw,56px)),transparent)}
.gcards.hs{display:flex!important;grid-template-columns:none!important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 clamp(20px,4vw,56px);padding:10px clamp(20px,4vw,56px) 22px;scrollbar-width:none;cursor:grab;outline:none}
.gcards.hs::-webkit-scrollbar{display:none}
.gcards.hs.drag{cursor:grabbing;scroll-snap-type:none}
.gcards.hs.drag .gcd{pointer-events:none}
.gcards.hs .gcd{flex:0 0 clamp(260px,28vw,340px);scroll-snap-align:start;position:relative;user-select:none;cursor:pointer;transition:transform .5s cubic-bezier(.2,.7,.1,1),box-shadow .4s,border-color .3s,background .3s,opacity .4s}
.gcards.hs .gcd::after{content:"";position:absolute;left:22px;right:22px;bottom:14px;height:3px;border-radius:3px;background:var(--wr);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.1,1)}
.gcards.hs .gcd.gxon{border-color:var(--wr);box-shadow:0 22px 44px rgba(19,32,26,.12);transform:translateY(-6px)}
.gcards.hs .gcd.gxon::after{transform:scaleX(1)}
.gcards.hs .gcd.gxon .gci{background:var(--wr);color:#fff;transform:rotate(-8deg) scale(1.05)}
.gcards.hs .gcd .gcnum{position:absolute;right:20px;top:18px;font:700 .78rem var(--body);color:var(--wl);letter-spacing:.08em;transition:color .3s}
.gcards.hs .gcd.gxon .gcnum{color:var(--wr)}
.gcards.hs .gcd.seen .gcnum::after{content:" \2713";color:var(--wr)}
.hscbar{height:4px;border-radius:4px;background:var(--wb2);overflow:hidden;margin-top:2px}.hscbar i{display:block;height:100%;width:0;background:var(--wr);border-radius:4px;transition:width .2s}
@media(max-width:620px){.hschint{display:none}.gcards.hs .gcd{flex-basis:80vw}}
/* GP slider cards */
.gcards.hs .gcd.gpc2{flex:0 0 clamp(270px,26vw,320px);padding:0;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.gpph{position:relative;aspect-ratio:4/3.4;overflow:hidden;background:#fff}
.gpph img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;transition:transform 1s cubic-bezier(.2,.7,.1,1);pointer-events:none}
.gcd.gpc2:hover .gpph img,.gcd.gpc2.gxon .gpph img{transform:scale(1.05)}
.gptag{position:absolute;left:12px;top:12px;background:#B84A61;color:#fff;font:700 .7rem var(--body);font-style:normal;padding:5px 9px;border-radius:999px}
.gpb{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.gpb h3{margin:0 0 2px;font:600 1.25rem var(--display);color:var(--wdd)}
.gpcr{margin:0 0 10px;font-size:.78rem;color:var(--brass);font-weight:600}
.gpb .slb{margin:0 0 6px}
.gpsk{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.gpsk span{font-size:.76rem;font-weight:700;padding:5px 9px;border-radius:999px;background:var(--wb);color:var(--wd);transition:background .3s,color .3s}
.gcd.gpc2.gxon .gpsk span{background:var(--wr);color:#fff}
.gplg{margin:0 0 12px;font-size:.8rem;color:var(--muted)}
.gpbt{margin-top:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gpbt .wbk{background:var(--wd);color:#fff!important;text-decoration:none;font-weight:700;font-size:.86rem;padding:9px 12px 9px 9px;border-radius:12px}
.gpvp{display:inline-flex;align-items:center;gap:6px;color:var(--wd);font:700 .84rem var(--body);text-decoration:none}.gpvp svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.gcd.gpc2::after{display:none}
/* contraception chooser */
.mchf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.mchf span{font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.mchf button{border:1.5px solid var(--wl);background:#fff;font:600 .88rem var(--body);padding:9px 14px;border-radius:999px;cursor:pointer;color:var(--wdd);transition:background .25s,color .25s,transform .25s}
.mchf button:hover{transform:translateY(-2px)}.mchf button.on{background:var(--wd);border-color:var(--wd);color:#fff}
.mchn{margin:0 0 14px;color:var(--muted)}.mchn b{color:var(--wr);font:700 1.3rem var(--display)}
.mths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mth{background:#fff;border-radius:20px;padding:18px 20px;border:1.5px solid var(--wl);transition:opacity .4s,transform .45s cubic-bezier(.2,.7,.1,1),filter .4s,border-color .3s,box-shadow .35s}
.mth:hover{border-color:var(--wr);transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.07)}
.mth.off{opacity:.28;filter:grayscale(.9);transform:scale(.97)}
.mth.pop{animation:fsin .45s cubic-bezier(.2,.7,.1,1)}
.mthk{display:inline-block;font:700 .7rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--wr);border-radius:6px;padding:3px 7px;margin-bottom:10px}
.mth h3{margin:0 0 4px;font:600 1.2rem var(--display);color:var(--wdd)}.mthd{margin:0 0 6px;color:var(--wr);font-size:.88rem}.mth p{margin:0;font-size:.9rem;line-height:1.5}
@media(max-width:960px){.mths{grid-template-columns:1fr 1fr}}@media(max-width:600px){.mths{grid-template-columns:1fr}}
/* checklist with progress ring */
.ckw{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(18px,3vw,40px);align-items:start}
.cks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ck{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;background:#fff;border:1.5px solid var(--wl);border-radius:16px;padding:14px 16px;transition:background .3s,border-color .3s,transform .3s}
.ck:hover{transform:translateY(-3px);border-color:var(--wr)}
.ck:focus-visible{outline:2px solid var(--wr);outline-offset:2px}
.ckb{width:28px;height:28px;border-radius:9px;border:2px solid var(--wl);display:grid;place-items:center;background:#fff;transition:background .3s,border-color .3s}
.ckb svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .35s .1s}
.ck.on{background:var(--wb);border-color:var(--wr)}.ck.on .ckb{background:var(--wr);border-color:var(--wr)}.ck.on .ckb svg{stroke-dashoffset:0}
.ckt b{display:block;font:600 1.02rem/1.25 var(--display);color:var(--wdd)}.ckt small{font-size:.84rem;color:var(--muted);line-height:1.45}
.ckside{background:#fff;border-radius:24px;padding:24px;text-align:center;box-shadow:0 20px 44px rgba(0,0,0,.07)}
.ckring{position:relative;width:170px;height:170px;margin:0 auto 12px}
.ckring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ckring circle{fill:none;stroke:var(--wb2);stroke-width:10}
.ckring .ckp{stroke:var(--wr);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .6s cubic-bezier(.2,.7,.1,1)}
.ckring div{position:absolute;inset:0;display:grid;place-content:center}.ckring b{font:700 3rem/1 var(--display);color:var(--wr)}.ckring span{font-size:.86rem;color:var(--muted)}
.ckmsg{margin:0 0 14px;font-weight:600;color:var(--wdd)}
.ckmsg.done{color:var(--wr);animation:fsin .4s}
@media(max-width:900px){.ckw{grid-template-columns:1fr}.cks{grid-template-columns:1fr}}
/* ===== compare v2: tabs on top, compact panel, no empty space ===== */
.whp .mcmp{display:block!important}
.whp .mtabs{display:flex!important;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 14px;position:relative;margin-bottom:4px;scroll-snap-type:x proximity}
.whp .mtabs::-webkit-scrollbar{display:none}
.whp .mt{flex:0 0 auto;scroll-snap-align:start;padding:12px 16px!important;border-radius:14px!important;background:#fff!important;border:1.5px solid var(--wl)!important;transform:none!important;box-shadow:none!important;transition:background .3s,color .3s,border-color .3s,transform .3s!important}
.whp .mt:hover{transform:translateY(-2px)!important;border-color:var(--wr)!important}
.whp .mt b{font-size:1rem!important;white-space:nowrap}
.whp .mt small{white-space:nowrap;font-size:.78rem!important}
.whp .mt.on{background:var(--wd)!important;border-color:var(--wd)!important}
.whp .mt.on b,.whp .mt.on small{color:#fff!important}
.whp .mpanes{position:relative;min-height:0!important;padding:clamp(22px,3vh,30px) clamp(22px,3vw,34px)!important}
.whp .mp.on{display:grid!important;grid-template-columns:1.15fr .85fr;grid-template-areas:"h l" "w l" "b l";gap:6px 32px;align-items:start}
.whp .mp .mph{grid-area:h}.whp .mp .mpw{grid-area:w;margin:4px 0 8px!important}.whp .mp .mpg{grid-area:l;grid-template-columns:1fr!important;gap:14px!important;background:var(--wb);border-radius:18px;padding:16px 18px}.whp .mp .gbill{grid-area:b;margin:4px 0 0!important}
.whp .mp:not(:has(.mpg)) {grid-template-columns:1fr;grid-template-areas:"h" "w" "b"}
.whp .mp .mpg:empty{display:none}
.mpfoot{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.mpfoot .mpc{font:600 .86rem var(--body);color:var(--muted)}.mpfoot .mpc b{font:700 1.15rem var(--display);color:var(--wr)}
.mpbar{flex:1;height:4px;border-radius:4px;background:var(--wb2);overflow:hidden}.mpbar i{display:block;height:100%;width:0;background:var(--wr);transition:width .5s cubic-bezier(.2,.7,.1,1)}
.mpfoot button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--wl);background:#fff;color:var(--wd);cursor:pointer;display:grid;place-items:center;transition:background .3s,color .3s}
.mpfoot button:hover{background:var(--wd);color:#fff}.mpfoot svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.whp .mp.on .mpg li{animation:fsin .45s cubic-bezier(.2,.7,.1,1) both}
.whp .mp.on .mpg li:nth-child(2){animation-delay:.06s}.whp .mp.on .mpg li:nth-child(3){animation-delay:.12s}.whp .mp.on .mpg li:nth-child(4){animation-delay:.18s}.whp .mp.on .mpg li:nth-child(5){animation-delay:.24s}
@media(max-width:860px){.whp .mp.on{grid-template-columns:1fr;grid-template-areas:"h" "w" "l" "b"}}
/* sliders and side panels: size to content */
.whp .csg{align-items:start!important}
.whp .gsplit{align-items:start!important}
.whp .mpanes::after{background:radial-gradient(circle,var(--wl),rgba(255,255,255,0) 70%)!important}
/* CTA band */
.ctab{padding:clamp(20px,4vh,40px) 0!important}
.ctabin{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center;background:var(--wd);color:#fff;border-radius:28px;padding:clamp(26px,4vh,40px) clamp(24px,4vw,48px)}
.ctabin::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 70%);animation:ctabg 8s ease-in-out infinite}
@keyframes ctabg{50%{transform:translate(-40px,30px) scale(1.1)}}
.ctabt .slb{color:#FFD25A}.ctabt h2{margin:0 0 8px;font:600 clamp(1.7rem,3vw,2.5rem)/1.08 var(--display);color:#fff}.ctabt p{margin:0 0 14px;opacity:.9;max-width:56ch}
.ctabc{display:flex;flex-wrap:wrap;gap:8px}.ctabc span{font:700 .78rem var(--body);background:rgba(255,255,255,.14);border-radius:999px;padding:6px 11px}
.ctabb{display:grid;gap:10px;justify-items:stretch;position:relative}
.ctabb .hdl{justify-content:center}.ctabb .ct-ghost{justify-content:center;text-align:center}
@media(max-width:860px){.ctabin{grid-template-columns:1fr}}
/* when to book */
.wtb{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,56px);align-items:center}
.wtbl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wtbl li{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:16px;padding:14px 16px;font-weight:600;color:var(--wdd);line-height:1.4;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.1,1);transition-delay:var(--d)}
.wtb.in .wtbl li{opacity:1;transform:none}
.wtbl svg{width:18px;height:18px;flex:none;margin-top:1px;fill:none;stroke:var(--wr);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.wtbc{background:#fff;border-radius:26px;padding:26px;box-shadow:0 24px 50px rgba(0,0,0,.08);display:grid;gap:10px;justify-items:start}
.wtbc h3{margin:0;font:600 1.5rem/1.15 var(--display);color:var(--wdd)}.wtbc p{margin:0}.wtbc .hdl.big{background:var(--wd)}
.wtbcall{color:var(--wd);font-weight:700;text-decoration:none}.wtbn{font-size:.82rem;color:var(--muted)}
@media(max-width:900px){.wtb{grid-template-columns:1fr}.wtbl{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.wtbl li{opacity:1;transform:none}.ctabin::before{animation:none}}
.whp{--wr:#2F6690;--wd:#1E3F5A;--wdd:#142C40;--wb:#EEF3F8;--wb2:#DCE7F1;--wl:rgba(47,102,144,.24)}.whp,.whp .wq{background:#F7FAFC}.whp .walt{background:#EEF3F8}.whp .s5-hero{background:radial-gradient(ellipse at 80% 40%,#DCE7F1 0%,rgba(255,255,255,0) 55%),linear-gradient(160deg,#EEF3F8,#DCE7F1)}.whp .s5glow{background:radial-gradient(circle,rgba(47,102,144,.24),rgba(255,255,255,0) 65%)}.whp .wbill{background:#DCE7F1}/* 3D hero */
.h3dwrap{height:clamp(420px,60vh,600px)!important}
.h3d{position:absolute;inset:0;overflow:visible;touch-action:pan-y;cursor:grab;opacity:0;transform:translateY(24px) scale(.98);animation:h3din 1.2s cubic-bezier(.2,.7,.1,1) .3s forwards}
.h3d.drag{cursor:grabbing}
@keyframes h3din{to{opacity:1;transform:none}}
.h3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.h3dl{position:absolute;inset:0;pointer-events:none}
.h3t{position:absolute;left:0;top:0;pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--wdd,#5C1A2E);font:700 .8rem var(--body);text-decoration:none;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.12);transform:translate(-50%,-50%);transition:background .3s,color .3s,box-shadow .3s,opacity .4s;will-change:transform,opacity}
.h3t i{width:9px;height:9px;border-radius:50%;background:var(--wr,#B84A61);box-shadow:0 0 0 0 var(--wl,rgba(184,74,97,.5));animation:h3p 2.4s infinite}
@keyframes h3p{70%{box-shadow:0 0 0 7px rgba(184,74,97,0)}100%{box-shadow:0 0 0 0 rgba(184,74,97,0)}}
.h3t:hover,.h3t:focus-visible,.h3t.hot{background:var(--wd,#7A2440);color:#fff;outline:none}
.h3t:hover i,.h3t.hot i{background:#FFD25A}
.h3dhint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;display:flex;align-items:center;gap:8px;font:600 .78rem var(--body);color:var(--wd,#7A2440);background:rgba(255,255,255,.8);padding:6px 12px;border-radius:999px;transition:opacity .6s}
.h3dhint span{width:22px;height:12px;border-radius:999px;border:1.5px solid var(--wr,#B84A61);position:relative}
.h3dhint span::after{content:"";position:absolute;top:2px;left:2px;width:6px;height:6px;border-radius:50%;background:var(--wr,#B84A61);animation:h3drag 1.6s ease-in-out infinite}
@keyframes h3drag{50%{left:11px}}
.h3d.used .h3dhint{opacity:0}
.h3dfb{display:none;position:absolute;inset:0}.h3dfb img{width:100%;height:100%;object-fit:cover}
.h3d.nogl .h3dfb{display:block}.h3d.nogl canvas,.h3d.nogl .h3dl,.h3d.nogl .h3dhint{display:none}
@media(max-width:980px){.h3dwrap{height:380px!important}.h3t{font-size:.72rem;padding:6px 10px}}
@media (prefers-reduced-motion:reduce){.h3d{animation:none;opacity:1;transform:none}.h3t i,.h3dhint span::after{animation:none}}
.h3d::before{content:'';position:absolute;inset:0;border-radius:999px 999px 32px 32px;background:radial-gradient(circle at 50% 45%,#fff 0%,var(--wb,#FCEEF0) 45%,rgba(255,255,255,0) 72%)}
.h3d canvas{border-radius:999px 999px 32px 32px}
.h3dwrap .fc4{left:0!important;bottom:70px!important}
@media(max-width:980px){.h3dwrap .fc4,.h3dwrap .fc1{display:none}.h3dhint{bottom:6px}}
