:root{
  --paper:#F6F6F3;
  --white:#FFFFFF;
  --ink:#131614;
  --ink-2:#464D49;
  --ink-3:#757C78;
  --rule:#D9DCD7;
  --green:#247A17;
  --green-ink:#1A5C10;
  --green-tint:#E4F2DF;
  --font:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
.wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.u{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.u:hover{color:var(--green)}
.photo{background:#d6d8d4}
@media (prefers-reduced-motion:reduce){.photo{transition:none}}
.print-only{display:none}
[hidden]{display:none!important}

/* ---------- Header ---------- */
.hd{position:sticky;top:0;z-index:20;background:rgba(246,246,243,.94);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.hd.is-scrolled{border-color:var(--rule)}
.hd .wrap{display:flex;align-items:center;height:76px;gap:40px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:40px;height:40px;flex:none}
.brand b{display:block;font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1}
.brand small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:5px;line-height:1.25;max-width:30ch}
.nav{display:flex;gap:28px;font-size:15px}
.nav a{text-decoration:none;color:var(--ink-2);white-space:nowrap}
.nav a:hover{color:var(--ink)}
.hd-call{display:flex;align-items:center;gap:12px;background:var(--green);color:#fff;text-decoration:none;padding:11px 16px;border-radius:3px;line-height:1.1;white-space:nowrap;transition:background .2s}
.hd-call:hover{background:var(--green-ink)}
.hd-call span{font-size:14px}
.hd-call b{font-size:17px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.nav-dd{position:relative}
.nav-dd-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:15px;color:var(--ink-2);background:none;border:0;padding:0;cursor:pointer}
.nav-dd-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.nav-dd-btn:hover,.nav-dd.open .nav-dd-btn{color:var(--ink)}
.nav-dd.open .nav-dd-btn::after{transform:translateY(1px) rotate(-135deg)}
.nav-dd-btn:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.dd{display:none;position:absolute;top:calc(100% + 18px);left:-18px;min-width:260px;padding:6px 18px;background:var(--white);border:1px solid var(--rule);box-shadow:0 16px 32px -16px rgba(19,22,20,.22)}
.dd::before{content:"";position:absolute;left:0;right:0;top:-19px;height:19px}
.nav-dd.open .dd{display:block}
@media (hover:hover) and (min-width:1101px){.nav-dd:hover .dd{display:block}}
.dd a{display:block;padding:11px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.dd a:last-child{border-bottom:0}
.nav .dd a:hover{color:var(--green)}
.dot{width:7px;height:7px;border-radius:50%;background:#B4B9B6;flex:none}
.dot.on{background:#2DB51B;box-shadow:0 0 0 3px rgba(45,181,27,.18)}
.menu-btn{display:none;background:none;border:0;font:inherit;font-size:15px;font-weight:600;cursor:pointer;padding:10px 0;color:var(--ink)}

/* ---------- Hero ---------- */
.hero{padding-top:28px}
.hero-meta{display:flex;justify-content:space-between;gap:24px;font-size:14px;color:var(--ink-3);padding-bottom:14px;border-bottom:1px solid var(--rule)}
.hero h1{font-weight:500;font-size:clamp(2.4rem,5.2vw,4.6rem);line-height:.98;letter-spacing:-.045em;margin:72px 0 56px;text-wrap:balance}
.hero h1 .l{display:block}
.hero-text{grid-column:1/7}
.hero-note{display:flex;align-items:baseline;gap:10px;margin-top:18px;font-size:16px;font-weight:500}
.hero-note::before{content:"";width:8px;height:8px;background:var(--green);flex:none;transform:translateY(-1px)}
.hero .lead{grid-column:1/7;font-size:20px;line-height:1.5;color:var(--ink-2)}
.hero-act{grid-column:8/13;display:flex;flex-direction:column;gap:14px}
.btn-call{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;background:var(--green);color:#fff;text-decoration:none;padding:20px 24px;border-radius:3px;transition:background .2s}
.btn-call:hover{background:var(--green-ink)}
.btn-call span{font-size:15px;line-height:1.3}
.btn-call b{font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.btn-sec{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border:1px solid var(--ink);border-radius:3px;text-decoration:none;font-size:16px;font-weight:600;transition:background .2s,color .2s}
.btn-sec::after{content:"→"}
.btn-sec:hover{background:var(--ink);color:#fff}
.status{display:grid;gap:4px;font-size:15px;color:var(--ink-2)}
.status p:last-child{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-3)}
.hero-act .u{font-size:15px;align-self:flex-start}
.hero-photo{margin-top:80px}
.hero-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:50% 55%}
figcaption{display:flex;justify-content:space-between;gap:16px;font-size:13.5px;color:var(--ink-3);padding-top:12px}

/* ---------- Sections ---------- */
.sec{padding:120px 0}
.sec-head{border-top:1px solid var(--ink);padding-top:20px;align-items:start}
.label{grid-column:1/4;display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:600;letter-spacing:0;line-height:1.4}
.label::before{content:"";width:9px;height:9px;background:var(--green);flex:none;transform:translateY(-1px)}
.body{grid-column:4/13}
h2{font-weight:500;font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.03;letter-spacing:-.035em;text-wrap:balance}
.intro{font-size:19px;color:var(--ink-2);max-width:58ch;margin-top:20px}

/* Situations */
.sits{margin-top:56px;border-bottom:1px solid var(--rule)}
.sit{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) 24px;gap:24px;align-items:baseline;padding:28px 0;border-top:1px solid var(--rule);text-decoration:none}
.sit h3{transition:color .2s}
.sit .arr{color:var(--ink-3);transition:transform .2s,color .2s}
.sit:hover h3,.sit:hover .arr{color:var(--green)}
.sit:hover .arr{transform:translateX(4px)}
.sit:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.sit h3{font-weight:500;font-size:clamp(1.4rem,2.1vw,1.85rem);letter-spacing:-.025em;line-height:1.12}
.sit p{color:var(--ink-2);padding-top:4px}
.after{margin-top:24px;color:var(--ink-2);font-size:16px}

/* Quote */
.band-white{background:var(--white)}
blockquote p{font-size:clamp(1.9rem,3.5vw,3.15rem);font-weight:400;letter-spacing:-.03em;line-height:1.1;text-indent:-.42em;text-wrap:pretty}
.quote-more{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:24px;margin-top:40px}
.quote-more p{color:var(--ink-2)}
.quote-more cite{font-style:normal;font-size:14px;color:var(--ink-3)}

/* Schedule board */
.board{grid-column:1/13;margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.day{padding:18px 20px 24px;border-left:1px solid var(--rule)}
.day:first-child{border-left:0}
.day-h{display:flex;justify-content:space-between;align-items:center;min-height:26px;font-weight:600;font-size:15px;padding-bottom:12px}
.tag{font-style:normal;font-size:12px;font-weight:600;color:#fff;background:var(--green);padding:3px 8px;border-radius:2px}
.tag:empty{display:none}
.day.is-today{background:var(--white);box-shadow:inset 0 3px 0 var(--green)}
.slot{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--rule)}
.slot time{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3}
.slot .ttl{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.3}
.slot b{display:block;font-weight:600;font-size:16px;line-height:1.25;letter-spacing:-.01em}
.slot .spec{display:block;font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.35}
.slot .aff{display:block;font-size:13px;color:var(--ink-3);margin-top:6px;line-height:1.35}
.slot .note{display:inline-block;margin-top:8px;font-size:12px;line-height:1.4;color:var(--green-ink);background:var(--green-tint);padding:2px 7px;border-radius:2px}
.board-foot{grid-column:1/13;display:flex;justify-content:space-between;gap:32px;margin-top:20px;font-size:15px;color:var(--ink-2)}
.board-foot p{max-width:70ch}
.board-foot .u{white-space:nowrap}

/* Checklist */
.prep{grid-column:4/13;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr);gap:24px;margin-top:48px;align-items:start}
.check{border-top:1px solid var(--rule)}
.check li{border-bottom:1px solid var(--rule)}
.check label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:16px;padding:20px 0;cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:1.5px solid var(--ink);border-radius:2px;margin-top:3px;display:grid;place-content:center;cursor:pointer;background:var(--white)}
.check input::after{content:"";width:11px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg);opacity:0}
.check input:checked{background:var(--green);border-color:var(--green)}
.check input:checked::after{opacity:1}
.check input:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.check b{display:block;font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.3}
.check span{display:block;color:var(--ink-2);font-size:16px;margin-top:3px}
.check li.done b{color:var(--ink-3)}
.check-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;font-size:15px;color:var(--ink-2)}
.btn-line{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 16px;border-radius:2px;font:inherit;font-size:15px;cursor:pointer;transition:.2s}
.btn-line:hover{background:var(--ink);color:#fff}
.side h3,.cols3 h3,.clinics h3{display:flex;justify-content:space-between;font-size:15px;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.side a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:16px}
.side a small{display:block;margin-top:2px;font-size:13.5px;color:var(--ink-3)}
.side .side-h2{margin-top:36px}
.prep-h{padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:15px;font-weight:600}
.prep-h + .check{border-top:0}
.side a::after,.clinics a::after{content:"→";color:var(--ink-3);transition:transform .2s,color .2s}
.side a:hover,.clinics a:hover{color:var(--green)}
.side a:hover::after,.clinics a:hover::after{color:var(--green);transform:translateX(3px)}

/* On site */
.photos{grid-column:1/13;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px;margin-top:56px}
.photos img{width:100%;height:540px;object-fit:cover}
.cols3{grid-column:4/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}
.cols3 li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.4}
.cols3 li small{display:block;color:var(--ink-3);font-size:14px;margin-top:2px}
.cols3 p{padding-top:12px;color:var(--ink-2);font-size:16px}
.clinics{grid-column:4/13;margin-top:72px}
.clinics h3 span{font-weight:400;color:var(--ink-3)}
.clinics ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.clinics a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:16px;line-height:1.35}

/* Dark band */
.dark{background:var(--ink);color:#EDF0EE}
.dark .sec-head{border-color:#EDF0EE}
.dark .label::before{background:#3CC82A}
.dark .intro{color:#B5BEB9}
.dark .u:hover{color:#9FE28F}

/* Knowledge */
.posts{grid-column:4/13;margin-top:48px;border-top:1px solid var(--ink)}
.post{display:grid;grid-template-columns:110px minmax(0,1fr) 150px;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.post time{font-size:14px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.post h3{font-weight:500;font-size:clamp(1.15rem,1.6vw,1.45rem);letter-spacing:-.02em;line-height:1.22;transition:color .2s}
.post span{font-size:14px;color:var(--ink-3);text-align:right}
.post:hover h3{color:var(--green)}

/* Contact */
.contact{grid-column:4/13;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:24px;margin-top:48px;align-items:start}
.kv{margin-top:36px;border-top:1px solid var(--rule)}
.contact .btn-call{margin-bottom:28px}
.contact .kv{margin-top:0}
.kv dd small a{color:inherit;font-weight:400;text-decoration:underline;text-underline-offset:.2em}
.kv div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:16px}
.kv dt{color:var(--ink-3)}
.kv dd a{text-decoration:none;font-weight:600}
.kv dd a:hover{color:var(--green)}
.kv dd small{display:block;color:var(--ink-3);font-size:14px}
.contact figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.map{grid-column:1/13;display:block;width:100%;height:380px;margin-top:64px;border:0;filter:grayscale(1) contrast(1.02)}

/* Footer */
.ft{border-top:1px solid var(--ink);padding:48px 0 40px;font-size:14px;color:var(--ink-2)}
.ft-brand{grid-column:1/5}
.ft-brand p{margin-top:16px;max-width:38ch;font-size:13.5px;color:var(--ink-3)}
.ft-col{grid-column:span 2}
.ft-col:last-of-type{grid-column:11/13}
.ft h4{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:10px}
.ft li{padding:3px 0}
.ft a{text-decoration:none}
.ft a:hover{color:var(--green)}
.eu{grid-column:1/13;margin-top:48px;padding-top:20px;border-top:1px solid var(--rule);font-size:12.5px;line-height:1.6;color:var(--ink-3);max-width:120ch}
.copy{grid-column:1/13;margin-top:16px;font-size:12.5px;color:var(--ink-3)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav{display:none}
  .menu-btn{display:block}
  .nav.open{display:flex;flex-direction:column;gap:0;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:4px 32px 16px}
  .nav.open a{padding:14px 0;border-bottom:1px solid var(--rule);font-size:17px;color:var(--ink)}
  .board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .day:nth-child(3){border-left:0}
  .day:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:900px){
  .label{grid-column:1/13;margin-bottom:20px}
  .body,.prep,.cols3,.clinics,.posts,.contact{grid-column:1/13}
  .hero .lead,.hero-text,.hero-act{grid-column:1/13}
  .hero-act{margin-top:32px}
  .prep,.contact,.quote-more{grid-template-columns:1fr}
  .prep .side{margin-top:24px}
  .cols3{grid-template-columns:1fr 1fr}
  .clinics ul{grid-template-columns:1fr 1fr}
  .photos img{height:420px}
  .ft-brand{grid-column:1/13;margin-bottom:32px}
  .ft-col{grid-column:span 4}
  .ft-col:last-of-type{grid-column:span 4}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .grid{column-gap:16px}
  .nav.open{padding:4px 16px 16px}
  .hd-call{display:none}
  .hd .brand-city{display:none}
  .sec{padding:80px 0}
  .hero-meta{flex-direction:column;gap:2px}
  .hero h1{margin:44px 0 32px}
  .hero .lead{font-size:18px}
  .btn-call{flex-direction:column;align-items:flex-start;gap:8px}
  .btn-call b{font-size:28px}
  .hero-photo{margin-top:48px}
  .hero-photo img{aspect-ratio:4/3}
  figcaption{flex-direction:column;gap:2px}
  .sit{grid-template-columns:1fr;gap:6px}
  .board{grid-template-columns:1fr}
  .day{border-left:0;padding:18px 0 20px}
  .day:nth-child(n+2){border-top:1px solid var(--rule)}
  .day.is-today{padding:18px 12px 20px;margin:0 -12px}
  .photos{grid-template-columns:1fr}
  .photos img{height:auto;aspect-ratio:4/3}
  .cols3,.clinics ul{grid-template-columns:1fr}
  .post{grid-template-columns:1fr;gap:4px}
  .post span{text-align:left}
  .kv div{grid-template-columns:1fr;gap:2px}
  .board-foot,.check-foot{flex-direction:column;align-items:flex-start}
  .ft-col,.ft-col:last-of-type{grid-column:1/13;margin-bottom:24px}
}

/* ---------- Home: areas, steps, FAQ, reasons ---------- */
.areas{grid-column:4/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.area{display:flex;flex-direction:column;padding-top:20px;border-top:1px solid var(--ink)}
.area h3{font-weight:500;font-size:clamp(1.5rem,2.2vw,1.85rem);letter-spacing:-.03em;line-height:1.1}
.area p{margin-top:10px;color:var(--ink-2)}
.area .on-site{flex:1;margin-top:14px;font-size:14px;color:var(--ink-3)}
.go{display:inline-flex;gap:8px;align-self:flex-start;margin-top:22px;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.go::after{content:"→";text-decoration:none;display:inline-block;transition:transform .2s}
.go:hover{color:var(--green)}
.go:hover::after{transform:translateX(3px)}
.areas + .photos{margin-top:72px}

.steps{grid-column:4/13;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:56px;counter-reset:step}
.steps::before{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:var(--green)}
.steps li{position:relative;padding-top:52px;counter-increment:step}
.steps li::before{content:counter(step);position:absolute;top:0;left:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-size:13px;font-weight:600;box-shadow:0 0 0 6px var(--paper)}
.steps h3{font-weight:500;font-size:clamp(1.3rem,1.8vw,1.55rem);letter-spacing:-.025em;line-height:1.15}
.steps p{margin-top:8px;font-size:16px;color:var(--ink-2)}
.steps-after{grid-column:4/13;margin-top:48px}

.faq{grid-column:4/13;margin-top:80px}
.faq h3{padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:15px;font-weight:600}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;font-size:18px;font-weight:500;letter-spacing:-.01em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:22px;font-weight:400;line-height:1;color:var(--ink-3)}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--green)}
.faq summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.faq details p{max-width:70ch;padding-bottom:20px;color:var(--ink-2)}

.dark blockquote p{color:#fff}
.dark .quote-more p{color:#B5BEB9}
.dark .quote-more cite{color:#8F9893}
.reasons{grid-column:4/13;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:64px;border-top:1px solid #3A403C}
.reasons div{padding-top:18px}
.reasons h3{font-size:17px;font-weight:600;color:#fff;letter-spacing:-.01em}
.reasons p{margin-top:6px;font-size:15px;color:#B5BEB9}

/* Mobile call bar */
.callbar{display:none}

@media (max-width:1240px) and (min-width:1101px){
  .nav{gap:20px}
  .hd .wrap{gap:24px}
  .hd .brand-city{display:none}
}
@media (max-width:1100px){
  .nav-dd{display:block}
  .nav.open .nav-dd-btn{width:100%;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--rule);font-size:17px;color:var(--ink)}
  .dd{position:static;min-width:0;padding:0 0 0 16px;background:transparent;border:0;box-shadow:none}
  .dd::before{display:none}
  .hd .wrap{gap:24px}
}
@media (max-width:900px){
  .hero h1 .l{display:inline}
  .areas,.steps,.steps-after,.faq,.reasons{grid-column:1/13}
  .areas{grid-template-columns:1fr}
  .reasons{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:40px}
  .steps::before{display:none}
  .steps li{padding-top:44px;border-top:2px solid var(--green)}
  .steps li::before{top:-15px}
}
@media (max-width:600px){
  .sit{grid-template-columns:minmax(0,1fr) 20px;gap:6px 12px}
  .sit h3{grid-column:1;grid-row:1}
  .sit p{grid-column:1;grid-row:2;padding-top:0}
  .sit .arr{grid-column:2;grid-row:1/3;align-self:center}
  .steps,.reasons{grid-template-columns:1fr}
  .callbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--green);color:#fff;text-decoration:none;box-shadow:0 -8px 24px -12px rgba(19,22,20,.35);transition:transform .25s ease}
  .callbar.is-hidden{transform:translateY(110%)}
  .callbar b{display:block;font-size:16px;font-weight:600}
  .callbar small{display:block;margin-top:2px;font-size:12.5px;opacity:.85}
  .callbar .num{font-size:20px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
  body{padding-bottom:76px}
}

/* ---------- Doctors page ---------- */
.hero-meta a{text-decoration:none}
.hero-meta a:hover{color:var(--green)}
.page-head .grid{align-items:end;margin:72px 0 64px}
.page-head h1{grid-column:1/7;margin:0}
.page-lead{grid-column:7/13;padding-bottom:.5em}
.page-lead .lead{font-size:20px}
.page-note{margin-top:16px;font-size:15px;color:var(--ink-3)}

.filters{position:sticky;top:76px;z-index:15;background:rgba(246,246,243,.96);backdrop-filter:blur(10px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.filters-in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.f-group{display:flex;flex-wrap:wrap}
.f-btn{position:relative;font:inherit;font-size:15px;background:none;border:0;padding:19px 12px;cursor:pointer;color:var(--ink-2);white-space:nowrap}
.f-btn:first-child{padding-left:0}
.f-btn span{margin-left:3px;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.f-btn:hover{color:var(--ink)}
.f-btn[aria-pressed="true"]{color:var(--ink);font-weight:600}
.f-btn[aria-pressed="true"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--green)}
.f-btn:first-child[aria-pressed="true"]::after{left:0}
.f-days{display:flex;align-items:center;gap:6px}
.f-label{font-size:14px;color:var(--ink-3);margin-right:4px}
.f-day{font:inherit;font-size:14px;font-weight:600;width:40px;height:34px;border:1px solid var(--rule);background:var(--white);color:var(--ink);border-radius:2px;cursor:pointer}
.f-day:hover{border-color:var(--ink)}
.f-day[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.f-btn:focus-visible,.f-day:focus-visible,.u-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.f-result{min-height:1px;padding-top:24px;font-size:15px;color:var(--ink-2)}
.f-empty{padding:56px 0;font-size:17px;color:var(--ink-2)}
.u-btn{font:inherit;background:none;border:0;padding:0;color:var(--ink);cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.u-btn:hover{color:var(--green)}

.dgroup{padding-top:72px}
.dgroup:last-of-type{padding-bottom:120px}
.dgroup-desc{grid-column:4/13;font-size:16px;color:var(--ink-2)}
.doc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:36px 0;border-bottom:1px solid var(--rule);scroll-margin-top:64px}
.doc:last-child{border-bottom:0}
.doc-ph{grid-column:1/3;align-self:start;overflow:hidden}
.doc-ph img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%}
.doc-ph--zoom img{transform:scale(1.25);transform-origin:45% 8%}
.doc-main{grid-column:4/9}
.doc .ttl{font-size:14px;color:var(--ink-3)}
.doc h3{margin-top:2px;font-weight:500;font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:-.03em;line-height:1.08}
.doc-spec{margin-top:10px;font-size:18px}
.doc-aff{margin-top:6px;font-size:15px;line-height:1.45;color:var(--ink-3)}
.doc-text{margin-top:14px;font-size:16px;color:var(--ink-2)}
.doc-scope{margin-top:18px;border-top:1px solid var(--rule)}
.doc-scope li{position:relative;padding:9px 0 9px 18px;border-bottom:1px solid var(--rule);font-size:15px;line-height:1.45;color:var(--ink-2)}
.doc-scope li::before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;background:var(--green)}
.doc-side{grid-column:10/13}
.doc-side h4{padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:14px;font-weight:600}
.hours div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px;transition:background .2s}
.hours dt{font-weight:600}
.hours dd small{display:block;font-size:13px;color:var(--ink-3)}
.hours dd small a{color:inherit}
.hours div.is-match{background:var(--green-tint);margin:0 -10px;padding:10px}
.doc-call{display:inline-block;margin-top:16px;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.doc-call:hover{color:var(--green)}
.doc-zl{margin-top:6px;font-size:13.5px;color:var(--ink-3)}
.doc.is-target{animation:docflash 2.6s ease-out}
@keyframes docflash{0%,45%{background:var(--green-tint);box-shadow:0 0 0 20px var(--green-tint)}100%{background:transparent;box-shadow:0 0 0 20px transparent}}

.who{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;border-top:1px solid var(--ink)}
.who div{padding:20px 0;border-bottom:1px solid var(--rule)}
.who dt{font-size:18px;font-weight:600;letter-spacing:-.01em}
.who dd{margin-top:6px;font-size:16px;color:var(--ink-2)}
.team-end{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:24px;align-items:end}
.team-end .hero-act{grid-column:auto}
.team-links{display:flex;gap:24px;margin-top:20px}

@media (max-width:1100px){
  .filters-in{flex-direction:column;align-items:flex-start;gap:0;padding-bottom:12px}
  .f-group{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}
}
@media (max-width:900px){
  .page-head h1,.page-lead{grid-column:1/13}
  .page-lead{margin-top:24px}
  .dgroup-desc{grid-column:1/13}
  .doc-ph{grid-column:1/4}
  .doc-main{grid-column:5/13}
  .doc-side{grid-column:5/13;margin-top:24px}
  .who,.team-end{grid-template-columns:1fr}
}
@media (max-width:600px){
  .page-head .grid{margin:40px 0 40px}
  .filters{position:static}
  .f-group{margin:0 -16px;padding:0 16px}
  .f-btn{padding:16px 10px}
  .dgroup{padding-top:56px}
  .doc{padding:28px 0}
  .doc-ph{grid-column:1/5}
  .doc h3{font-size:1.4rem}
  .doc-side{grid-column:1/13}
  .doc .ttl,.doc-aff{font-size:13.5px}
}

/* ---------- Print: checklist only ---------- */
@media print{
  body{background:#fff}
  body.page-home *{visibility:hidden}
  #lista,#lista *{visibility:visible}
  #lista{position:absolute;left:0;top:0;width:100%}
  .print-only{display:block;margin-bottom:16px;font-size:13px}
  .check-foot{display:none}
}

/* Links from the schedule to doctor profiles */
.slot b a{text-decoration:none}
.slot b a:hover{color:var(--green)}
.nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:.45em}

/* ---------- Subpages (poradnie, badania, cennik, artykuły) ---------- */
.sub-head .grid{margin:64px 0 56px}
.sub-head h1{grid-column:1/9;font-size:clamp(2.2rem,4.4vw,3.9rem);line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.sub-head .page-lead{grid-column:9/13}
.sub-head .page-lead .lead{font-size:17px}
.sub{padding:0 0 120px}
.prose{grid-column:1/8;border-top:1px solid var(--ink);padding-top:28px;font-size:17px;color:var(--ink-2);min-width:0}
.prose > *{max-width:66ch}
.prose > * + *{margin-top:14px}
.prose h2,.prose h3,.prose h4{color:var(--ink);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.prose h2{font-size:26px;margin-top:48px;padding-top:24px;border-top:1px solid var(--rule)}
.prose > h2:first-child,.prose > h3:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{font-size:20px;margin-top:32px}
.prose h4{font-size:17px;font-weight:600;margin-top:24px}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.prose a:hover{color:var(--green)}
.prose ul,.prose ol{padding-left:0}
.prose ul li,.prose ol li{position:relative;padding-left:22px}
.prose ul li + li,.prose ol li + li{margin-top:6px}
.prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;background:var(--green)}
.prose ol{counter-reset:li}
.prose ol li{counter-increment:li}
.prose ol li::before{content:counter(li) ".";position:absolute;left:0;color:var(--ink-3);font-size:15px}
.prose img{max-width:100%;height:auto;margin:20px 0;border-radius:2px}
.prose td img{margin:4px 6px 4px 0;display:inline-block;vertical-align:middle}
.prose iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;margin:20px 0}
.prose table{width:100%;max-width:none;border-collapse:collapse;font-size:16px;margin-top:8px;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 16px 12px 0;border-bottom:1px solid var(--rule)}
.prose th{font-size:14px;font-weight:600;color:var(--ink);border-bottom-color:var(--ink)}
.prose tr td:last-child{color:var(--ink);font-weight:500;min-width:9em}
.prose hr{border:0;border-top:1px solid var(--rule);margin:32px 0}
.prose blockquote{border-left:3px solid var(--green);padding-left:18px}
.prose .p-call,.prose .zl{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--ink);padding:9px 14px;border-radius:2px;font-size:15px;font-weight:500;transition:.2s}
.prose .p-call{background:var(--green);border-color:var(--green);color:#fff}
.prose .p-call:hover{background:var(--green-ink);border-color:var(--green-ink);color:#fff}
.prose .zl:hover{background:var(--ink);color:#fff}
.sub-side{grid-column:9/13;align-self:start;position:sticky;top:100px}
.sub-side a[aria-current="page"]{color:var(--green);font-weight:600}
.sub-side a[aria-current="page"]::after{color:var(--green)}
.sub-cta{margin-top:32px}
.sub-cta p{margin-top:10px;font-size:14px;color:var(--ink-3)}
@media (max-width:900px){
  .sub-head h1,.sub-head .page-lead{grid-column:1/13}
  .sub-head .page-lead{margin-top:20px}
  .prose,.sub-side{grid-column:1/13}
  .sub-side{position:static;margin-top:64px}
}
@media (max-width:600px){
  .sub-head .grid{margin:40px 0 36px}
  .sub{padding-bottom:80px}
  .prose td,.prose th{padding-right:12px}
  .prose tr td:last-child{white-space:normal}
}
.sub-cta p a{display:inline;padding:0;border:0;font-size:inherit;color:var(--ink-2)}
.sub-cta p a::after{content:none}
/* ZnanyLekarz booking widgets */
.zlw{margin-top:20px;max-width:640px}
.zlw > a.zl-url{display:inline-flex;text-decoration:none;border:1px solid var(--ink);padding:9px 14px;border-radius:2px;font-size:15px;font-weight:500}
.zlw iframe{display:block;width:100%;max-width:100%;border:0}
.doc-zlw{grid-column:4/13;margin-top:28px}
@media (max-width:900px){.doc-zlw{grid-column:5/13}}
@media (max-width:600px){.doc-zlw{grid-column:1/13}}

/* ---------- More green ---------- */
.brand b{color:var(--green)}
.sec-head,.prose{border-top:2px solid var(--green)}
.label{color:var(--green-ink)}
.side h3,.cols3 h3,.clinics h3{color:var(--green-ink);border-bottom:2px solid var(--green)}
.faq summary::after{color:var(--green)}
.hero-meta{border-bottom-color:var(--green)}
.dark{background:var(--green-ink)}
.dark .sec-head{border-top-color:#9FE28F}
.dark .label{color:#9FE28F}
.dark .label::before{background:#9FE28F}
.callbar{background:var(--green)}
.dark .intro,.dark .reasons p,.dark .quote-more p,.dark .quote-more cite{color:#D6E4D1}
/* call button inside subpage sidebar: don't inherit sidebar link styles */
.sub-side .btn-call{display:flex;padding:20px 24px;border-bottom:0;color:#fff;font-size:inherit}
.sub-side .btn-call:hover{color:#fff;background:var(--green-ink)}
.sub-side .btn-call::after{content:none}
