/* Korehab — new design preview (/new/...). Bold editorial look, condition-first structure.
   Booking card is fixed on the right of every page (desktop ≥1180px); below that, a Call / WhatsApp / Book bar. */
:root{--navy:#0D1B26;--accent:#E12454;--pink:#FFB3C4;--ground:#FAFAF8;--line:#D8D6D0;--muted:#4F5B63;--soft:#6B6A66;--rail:0px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Archivo,system-ui,sans-serif;color:var(--navy);background:var(--ground);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%}
.wrap{max-width:calc(1280px + var(--rail));margin:0 auto;padding:0 calc(40px + var(--rail)) 0 40px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px 14px}
.sr,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.n-eyebrow{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.n-eyebrow.red{color:var(--accent)}
.n-eyebrow.pink{color:var(--pink)}
.h2{margin:16px 0 0;font-size:48px;line-height:1.02;font-weight:900;letter-spacing:-.02em}
.h2.sm{font-size:36px}
.muted{color:var(--muted);line-height:1.6;margin:18px 0 0}
.sec{padding-top:100px;padding-bottom:80px}
.sec-s{padding-top:64px}
.split{display:grid;grid-template-columns:1fr 2fr;gap:56px}
.n-more{display:inline-block;margin-top:28px;font-weight:700;border-bottom:2px solid var(--accent);padding-bottom:4px}
.n-more.light{color:#fff}

/* Header */
.topbar{background:var(--navy);color:#fff}
.top{display:flex;align-items:center;gap:30px;height:84px}
.logo{flex:none}
.logo img{height:44px;width:auto;display:block}
.nav{display:flex;gap:22px;margin-left:auto;font-size:15px;font-weight:500}
.nav a{white-space:nowrap}
.nav a.active{border-bottom:2px solid var(--accent);padding-bottom:4px}
.tel{font-size:15px;font-weight:600;white-space:nowrap}

/* Home hero */
.n-hero{color:#fff;background:var(--navy);position:relative;overflow:hidden}
.n-slides{position:absolute;inset:0;z-index:0}
.n-slide{position:absolute;inset:0;background:center 22%/cover no-repeat;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.n-slide.on{opacity:1;animation:heroZoom 8s ease-out forwards}
@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1.1)}}
.n-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,27,38,.94) 0%,rgba(13,27,38,.86) 42%,rgba(13,27,38,.5) 68%,rgba(13,27,38,.2) 100%)}
.hero-in{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.n-slide{transition:none;transform:none}.n-slide.on{animation:none}}
.hero-in{display:flex;flex-direction:column;gap:22px;padding-top:64px;padding-bottom:88px}
.n-hero h1{margin:0;font-size:80px;line-height:.95;font-weight:900;letter-spacing:-.035em}
.n-lead{margin:0;font-size:19px;line-height:1.55;color:#D9E1E7;max-width:620px}
.conds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;max-width:820px}
.cond{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border:1px solid rgba(255,255,255,.28);font-size:18px;font-weight:700;color:#fff;transition:background .15s,color .15s}
.cond small{display:block;font-size:13px;font-weight:500;color:#9FB2BF;margin-top:4px}
.cond i{font-style:normal}
.cond:hover{background:#fff;color:var(--navy)}
.cond:hover small{color:var(--soft)}
.inline-bk{display:none}

.facts{background:var(--navy);color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.facts-row{display:flex;flex-wrap:wrap}
.facts-row>div,.facts-row>a{flex:1 1 200px;padding:24px 0 24px 28px;border-right:1px solid rgba(255,255,255,.12)}
.facts-row>div:first-child{padding-left:0}
.facts-row>:last-child{border-right:0}
.facts-link:hover b{color:var(--accent)}
.facts-row a{color:inherit}
.facts-row span{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#8EA1AF}
.facts-row b{display:block;font-size:19px;font-weight:600;margin-top:6px}

/* Visit */
.steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--navy)}
.steps li{padding:26px 24px 26px 0}
.steps b{font-size:42px;font-weight:900;color:var(--accent)}
.steps h3{margin:10px 0 8px;font-size:20px;font-weight:800}
.steps p{margin:0;color:var(--muted);line-height:1.55}

/* Treatments */
.rows{border-top:2px solid var(--navy)}
.row{display:grid;grid-template-columns:48px 1fr 120px;gap:20px;align-items:center;padding:18px 8px;border-bottom:1px solid var(--line)}
.row:hover{background:#F2F0EC;color:var(--navy)}
.row .n{font-weight:600;color:var(--soft)}
.row .t{font-size:22px;font-weight:800}
.row img{width:120px;height:72px;object-fit:cover;display:block}

/* Team (boxed) */
.team-box{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}
.team-box>img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block}
.team-copy{padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.team-copy .h2{font-size:40px}
.team-copy p{font-size:17px;line-height:1.7;color:#C9D3DA;margin:20px 0 0}
.team-copy .n-more{align-self:flex-start}

/* Insurance */
.ins-sec{grid-template-columns:1fr 1.4fr;align-items:start}
.ins-q label{display:block;font-weight:600;margin:28px 0 8px}
.ins-q select{width:100%;max-width:380px;height:54px;border:1.5px solid var(--navy);padding:0 14px;font:inherit;background:#fff;color:var(--navy)}
.ins-ans{margin:14px 0 0;font-size:16px;line-height:1.5;min-height:24px}
.ins-ans b{color:var(--accent)}
.n-ins-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.n-ins-grid div{height:88px;display:flex;align-items:center;justify-content:center;padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.n-ins-grid img{max-height:38px;object-fit:contain}

/* Resources */
.n-news{grid-template-columns:1.3fr 1fr;gap:40px;margin-top:32px}
.feat{display:flex;flex-direction:column;gap:14px}
.feat img{width:100%;height:340px;object-fit:cover;display:block}
.n-date{font-size:14px;color:var(--soft)}
.feat .ttl{font-size:28px;font-weight:800;line-height:1.12}
.list{display:flex;flex-direction:column;border-top:2px solid var(--navy)}
.list a{padding:20px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.list .ttl{font-size:20px;font-weight:800;line-height:1.25}
.list .all{border-bottom:0;font-weight:700}

/* Condition page */
.phead{background:var(--navy);color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.phead .wrap{padding-top:44px;padding-bottom:60px}
.crumb{font-size:14px;color:#9FB2BF}
.phead h1{margin:16px 0 18px;font-size:76px;line-height:.95;font-weight:900;letter-spacing:-.035em}
.causes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.causes>*{background:#fff;border:1px solid var(--line);padding:22px;display:block}
.causes a:hover{border-color:var(--navy);color:var(--navy)}
.causes h3{margin:0 0 6px;font-size:21px;font-weight:800}
.causes p{margin:0 0 12px;color:var(--muted);line-height:1.5}
.lnk{font-weight:700;font-size:14px;border-bottom:2px solid var(--accent)}
.txs{border-top:2px solid var(--navy);margin-top:20px}
.tx{display:grid;grid-template-columns:112px 1fr;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.tx:hover{color:var(--navy);background:#F2F0EC}
.tx img{width:112px;height:76px;object-fit:cover;display:block}
.tx h3{margin:0 0 4px;font-size:20px;font-weight:800}
.tx p{margin:0;color:var(--muted);line-height:1.5;font-size:15px}
.first{background:var(--navy);color:#fff;padding:36px 40px}
.first h2{margin:0 0 16px;font-size:28px;font-weight:900}
.first ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:17px;line-height:1.5;color:#D9E1E7}
.other{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-bottom:100px}
.other a{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:15px}
.other a:hover{border-color:var(--navy);color:var(--navy)}

/* Footer */
.foot{background:var(--navy);color:#C9D3DA;padding:72px 0 56px;font-size:15px;line-height:1.7}
.home .foot,.cond-page .foot{margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.foot b{color:#fff}
.flogo{height:36px;display:block;margin-bottom:14px}
.copy{margin-top:36px;font-size:13px;color:#8EA1AF}

/* ---------- Booking card ---------- */
.bk{background:#fff;color:var(--navy);padding:20px 22px 16px;display:flex;flex-direction:column;gap:12px;width:100%;box-shadow:0 18px 50px rgba(13,27,38,.22);position:relative;border:1px solid rgba(13,27,38,.06)}
.bk-h{display:flex;justify-content:space-between;align-items:baseline}
.bk-h h2{margin:0;font-size:20px;font-weight:900;letter-spacing:-.01em}
.bk-step{font-size:12px;font-weight:600;color:var(--soft)}
.s1,.s2,.s3{display:flex;flex-direction:column;gap:12px}
.s1[hidden],.s2[hidden],.s3[hidden]{display:none}
.lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:-6px}
.pg4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pg5{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.p{height:34px;padding:0;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;white-space:nowrap}
.p:hover{border-color:var(--navy)}
.p.on{background:var(--navy);border-color:var(--navy);color:#fff}
.p:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.bk-go{height:46px;border:0;border-radius:999px;background:var(--accent);font:inherit;font-size:15px;font-weight:800;color:#fff;cursor:pointer}
.bk-go:disabled{background:#E4E2DD;color:var(--soft);cursor:default}
.bk-note{margin:0;font-size:12px;color:var(--soft);text-align:center;line-height:1.5}
.bk-note a{font-weight:700;color:var(--navy)}
.when{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:999px;background:#F2F0EC;font-size:14px;font-weight:700}
.chg{border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--soft);text-decoration:underline;cursor:pointer;padding:0}
.fl input,.fl select{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font:inherit;font-size:15px;color:var(--navy);background:#fff}
.fl input:focus,.fl select:focus,.p:focus-visible,.bk-go:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.s3{align-items:center;text-align:center;padding:8px 0}
.done-ic{width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}
.s3 h3{margin:4px 0 0;font-size:20px;font-weight:900}
.done-t{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.bk-err{margin:0;font-size:13px;color:#B0123A;text-align:center}
.bk-err:empty{display:none}
.bk-alt{display:flex;justify-content:center;gap:8px;font-size:13px;font-weight:600;color:var(--soft);border-top:1px solid #EEECE7;padding-top:10px}
.bk-alt a:hover{color:var(--accent)}
.bk-alt-l{color:var(--ink,#1a2a36);opacity:.55;font-weight:500}

/* Right rail (desktop) */
.rail{display:none}
.mdock{display:none}
.pop{position:fixed;left:0;right:0;bottom:58px;z-index:50;padding:0 12px}
.pop[hidden]{display:none}
.pop .bk{box-shadow:0 -12px 40px rgba(13,27,38,.3);max-width:420px;margin:0 auto}
.pop-x{position:absolute;top:-16px;right:20px;z-index:2;width:32px;height:32px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:20px;line-height:1;cursor:pointer}


@media (min-width:1180px){
  :root{--rail:392px}
  .rail{display:block;position:fixed;z-index:30;top:108px;width:360px;right:calc(max(0px,(100vw - 1672px)/2) + 40px);max-height:calc(100vh - 32px);overflow:auto}
}

/* ---------- Below the rail breakpoint ---------- */
@media (max-width:1179px){
  .nav{display:none}
  .home .inline-bk{display:block;background:var(--ground);border-top:1px solid var(--line);padding:40px 0 48px}
  .inline-bk .bk-slot{max-width:420px}
  .mdock{display:grid;grid-template-columns:1fr 1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line)}
  .mdock a,.mdock button{height:58px;display:flex;align-items:center;justify-content:center;font:inherit;font-weight:700;border:0;background:#fff;color:var(--navy);cursor:pointer}
  .mdock a+a{border-left:1px solid var(--line)}
  .mdock button{background:var(--accent);color:#fff;font-weight:800}
  .foot{padding-bottom:120px}
  }
@media (max-width:900px){
  .split,.ins-sec,.n-news{grid-template-columns:1fr;gap:28px}
  .team-box{grid-template-columns:1fr}
  .team-box>img{min-height:280px;height:280px}
}
@media (max-width:700px){
  .wrap{padding:0 16px}
  .top{height:68px;gap:16px}
  .logo img{height:32px;width:auto}
  .n-hero h1,.phead h1{font-size:46px}
  .hero-in{padding-top:40px;padding-bottom:40px}
  .n-hero::before{background:linear-gradient(180deg,rgba(13,27,38,.9) 0%,rgba(13,27,38,.84) 100%)}
  .n-lead{font-size:17px}
  .conds,.causes{grid-template-columns:1fr}
  .cond{padding:14px 16px;font-size:17px}
  .h2{font-size:34px}
  .sec{padding-top:64px;padding-bottom:48px}
  .steps{grid-template-columns:1fr 1fr}
  .steps li{padding:18px 14px 18px 0}
  .row{grid-template-columns:32px 1fr;padding:14px 4px}
  .row .t{font-size:18px}
  .row img{display:none}
  .n-ins-grid{grid-template-columns:repeat(3,1fr)}
  .feat img{height:200px}
  .feat .ttl{font-size:22px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .facts-row>div,.facts-row>a{padding-left:0;border-right:0}
  .tx{grid-template-columns:80px 1fr}
  .tx img{width:80px;height:60px}
  .team-copy{padding:40px 24px}
  .first{padding:28px 22px}
  }

/* ---------- Old page bodies inside the new layout (/new/...) ---------- */
.legacy{font-family:inherit;font-weight:400;background:#fff}
.legacy .wrap{max-width:calc(1240px + var(--rail));padding:0 calc(40px + var(--rail)) 0 40px}
.legacy h1,.legacy h2,.legacy h3,.legacy h4,.legacy h5,.legacy h6{font-family:inherit;color:var(--navy)}
.legacy .ptb{background:#0D1B26;padding:44px 0 52px}
.legacy .ptb .wrap{max-width:calc(1240px + var(--rail))}
.legacy .ptb .h1,.legacy .ptb h1{font-size:46px;font-weight:900;letter-spacing:-.02em;line-height:1.05}
.legacy .btn{font-family:inherit;border-radius:999px;text-transform:none;letter-spacing:0}
.legacy .cta{background:#0D1B26}
@media (max-width:700px){.legacy .wrap{padding:0 16px}.legacy .ptb .h1,.legacy .ptb h1{font-size:34px}}

/* Hero: still scenes crossfade only — no zoom or movement (moving footage looked shaky) */
.n-slide,.n-slide.on{transform:none;animation:none}
.n-slide{transition:opacity 2s ease-in-out}

/* Care team strip (end of home page) */
.crew{background:#EFECE6;padding:96px 0 104px;overflow:hidden}
.crew-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.crew-head .n-more{margin-top:0}
.crew-rail{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.crew-track{display:flex;width:max-content;animation:crew 60s linear infinite}
.crew-dup{display:flex}
.crew-rail:hover .crew-track,.crew-rail:focus-within .crew-track{animation-play-state:paused}
@keyframes crew{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pf{display:flex;flex-direction:column;width:210px;margin-right:20px;color:var(--navy)}
.pf img{width:210px;height:210px;object-fit:cover;display:block;background:#E5DED3;transition:transform .3s}
.pf:hover img{transform:translateY(-4px)}
.pf b{margin-top:14px;font-size:17px;font-weight:800}
.pf span{margin-top:2px;font-size:13px;color:var(--muted);line-height:1.4}
@media (prefers-reduced-motion:reduce){.crew-track{animation:none}.crew-dup{display:none}.crew-rail{overflow-x:auto}}
@media (max-width:700px){.crew{padding:64px 0 72px}.pf{width:150px;margin-right:14px}.pf img{width:150px;height:150px}}

/* Offers page: 2 large cards per row (1 on phones) */
.legacy .post-grid.offers-grid{grid-template-columns:1fr 1fr;gap:36px}
.legacy .offers-grid .post h3{font-size:22px}
@media (max-width:700px){.legacy .post-grid.offers-grid{grid-template-columns:1fr}}

/* Weekly working days (Team + profile pages) */
.wdays{margin:12px 0 16px;min-height:58px}
.wdays table{width:100%;border-collapse:collapse;border-top:1px solid #D5DCE6;border-bottom:1px solid #D5DCE6;table-layout:fixed}
.wdays th{font-size:11px;font-weight:700;letter-spacing:.04em;color:#223645;padding:9px 0 7px;border-bottom:1px solid #E6EAF0}
.wdays td{height:28px;text-align:center}
.wdays td i{display:inline-block;width:11px;height:11px;border:2px solid #E12454;border-radius:50%}
.wdays th+th,.wdays td+td{border-left:1px solid #EEF1F5}
.wd-away{margin:0;padding:18px 8px;border-top:1px solid #D5DCE6;border-bottom:1px solid #D5DCE6;font-size:14px;color:#223645;text-align:center}
.wd-away b{color:#E12454}
.wdays-profile{margin:16px 0 8px}

/* Care team strip: ‹ › controls */
.crew-ctl{display:flex;align-items:center;gap:10px}
.crew-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--navy);background:transparent;color:var(--navy);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 0 3px}
.crew-btn:hover{background:var(--navy);color:#fff}
.crew-ctl .n-more{margin-left:10px}
.crew-rail.js .crew-track{animation:none}
@media (prefers-reduced-motion:reduce){.crew-btn{display:none}}

/* Instagram link, top right */
.ig{display:inline-flex;align-items:center;gap:8px;margin-left:28px;padding:7px 14px;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap}
.ig:hover{border-color:#fff;background:rgba(255,255,255,.08)}
@media (max-width:1179px){.ig{margin-left:auto}}
@media (max-width:1499px){.ig span{display:none}.ig{padding:7px;margin-left:20px}}
@media (max-width:700px){.ig span{display:none}.ig{padding:7px}}

/* odd card count: last card spans the full row */
.conds>.cond:last-child:nth-child(odd),.causes>:last-child:nth-child(odd){grid-column:1/-1}
