/* Structure shared by both variants. Colours, type and a few compositions live in theme-a.css / theme-b.css. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ff-text);font-size:var(--fs-body);line-height:1.6;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
main:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--surface);color:var(--ink);padding:.75rem 1rem}.skip:focus{top:1rem}
h1,h2,h3{font-family:var(--ff-display);font-weight:var(--fw-display);line-height:1.12;letter-spacing:var(--ls-display);text-wrap:balance}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:1.25}
p{max-width:68ch;text-wrap:pretty}
.icon{width:1.1em;height:1.1em;flex:none}
.mark{width:2rem;height:2rem;flex:none;color:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.25rem;padding:.8rem 1.4rem;border-radius:var(--radius-btn);font-family:var(--ff-ui);font-weight:600;font-size:1rem;letter-spacing:var(--ls-ui);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .12s}
.btn:active{transform:scale(.98)}
.btn--call{background:var(--call);color:var(--call-ink)}.btn--call:hover{background:var(--call-hover)}
.btn--line{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn--line:hover{border-color:var(--ink)}
.btn--block{width:100%}

/* Header */
.hdr{position:sticky;top:0;z-index:40;background:var(--paper);transition:box-shadow .2s}
.hdr.is-scrolled{box-shadow:0 1px 0 var(--line)}
.hdr__in{max-width:var(--max);margin:auto;padding:.85rem var(--gutter);display:flex;align-items:center;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;margin-right:auto;min-width:0}
.brand__name{font-family:var(--ff-display);font-weight:var(--fw-display);font-size:1.35rem;letter-spacing:var(--ls-display);white-space:nowrap}
.brand__place{font-family:var(--ff-ui);font-size:.88rem;color:var(--muted);padding-left:.75rem;border-left:1px solid var(--line-strong);white-space:nowrap}
.hdr__nav{display:flex;gap:1.6rem;font-family:var(--ff-ui);font-size:1rem}
.hdr__nav a{text-decoration:none;padding:.4rem 0;border-bottom:1px solid transparent}.hdr__nav a:hover,.hdr__nav a[aria-current]{border-color:currentColor}
.hdr__call{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-ui);font-weight:650;font-size:1.1rem;font-variant-numeric:tabular-nums;text-decoration:none;padding:.65rem 1rem;border-radius:var(--radius-btn);background:var(--call);color:var(--call-ink);white-space:nowrap}
.hdr__call:hover{background:var(--call-hover)}
.hdr__menu{display:none;align-items:center;gap:.6rem;background:none;border:1px solid var(--line-strong);border-radius:var(--radius-btn);min-height:2.9rem;padding:0 .9rem;cursor:pointer;font-family:var(--ff-ui);font-weight:600}
.hdr__menu-lines{width:1.1rem;height:.7rem;border-block:2px solid currentColor;position:relative}
.hdr__menu[aria-expanded="true"] .hdr__menu-lines{border-color:transparent}
.hdr__menu[aria-expanded="true"] .hdr__menu-lines::before,.hdr__menu[aria-expanded="true"] .hdr__menu-lines::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid currentColor;transform:rotate(45deg)}
.hdr__menu[aria-expanded="true"] .hdr__menu-lines::after{transform:rotate(-45deg)}
.hdr--hub .hdr__calls{display:flex;gap:1.75rem}
.hdr__num{display:flex;flex-direction:column;text-decoration:none;font-family:var(--ff-ui);font-weight:650;font-size:1.05rem;line-height:1.25;font-variant-numeric:tabular-nums}
.hdr__num small{font-weight:400;font-size:.8rem;color:var(--muted)}
.menu{position:fixed;inset:var(--hdr-h,4.6rem) 0 0;z-index:39;background:var(--paper);overflow:auto;padding:1rem var(--gutter) 7rem;display:flex;flex-direction:column;gap:2rem}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font-family:var(--ff-display);font-size:1.9rem;text-decoration:none;padding:.55rem 0;border-bottom:1px solid var(--line)}
.menu__foot{display:grid;gap:.9rem;font-family:var(--ff-ui)}
.is-locked{overflow:hidden}
@media (max-width:999px){.hdr__nav{display:none}.hdr__menu{display:inline-flex}}
@media (max-width:719px){.hdr__call{display:none}.brand{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;row-gap:0}.brand .mark{grid-row:span 2}.brand__place{font-size:.85rem;padding-left:0;border:0;line-height:1.2}.brand__name{font-size:1.15rem;line-height:1.2}.hdr__menu-label{font-size:.95rem}.mark{width:1.7rem;height:1.7rem}.hdr__in{gap:.75rem;padding-block:.7rem}.hdr--hub .hdr__calls{display:none}}

/* Hero */
.hero__in{max-width:var(--max);margin:auto;padding:var(--hero-pad) var(--gutter) clamp(2.5rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(20rem,.9fr);grid-template-areas:"copy card" "facts card";grid-template-rows:auto 1fr;gap:0 clamp(2rem,5vw,5rem);align-items:start}
.hero__copy{grid-area:copy}.callcard{grid-area:card}.hero__facts{grid-area:facts}
.hero__place{font-family:var(--ff-ui);font-size:1rem;color:var(--muted);margin-bottom:1rem}
.hero h1{max-width:13ch}
.hero__lead{font-size:var(--fs-lead);line-height:1.55;margin-top:1.4rem;max-width:36rem;color:var(--ink-soft)}
.hero__facts{padding-top:2rem}
.facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.facts li{font-family:var(--ff-ui);font-size:.92rem;padding:.4rem .8rem;border:1px solid var(--line-strong);border-radius:var(--radius-tag)}
.callcard{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius-card);padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:.9rem;box-shadow:var(--shadow)}
.callcard__label{font-family:var(--ff-ui);font-weight:600;font-size:.95rem;color:var(--muted)}
.callcard__num{font-family:var(--ff-number);font-weight:var(--fw-number);font-size:var(--fs-number);line-height:1;letter-spacing:var(--ls-number);font-variant-numeric:lining-nums tabular-nums;text-decoration:none;color:var(--ink);white-space:nowrap}
.callcard__num:hover .callcard__digits{text-decoration:underline;text-decoration-thickness:2px}
.callcard__alt{font-family:var(--ff-ui);font-size:1rem;color:var(--muted)}.callcard__alt a{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.callcard .btn{width:100%;font-size:1.05rem}
.callcard__addr{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;font-family:var(--ff-ui);font-size:.95rem;padding-top:.9rem;border-top:1px solid var(--line)}
.callcard__addr a{font-weight:600}
.status{display:flex;align-items:center;gap:.55rem;font-family:var(--ff-ui);font-size:1rem}
.status__dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--closed);flex:none}
.status.is-open .status__dot{background:var(--open)}
@media (max-width:899px){.hero__in{grid-template-columns:1fr;grid-template-areas:"copy" "card" "facts";grid-template-rows:auto;padding-top:clamp(1.25rem,5vw,2.5rem);row-gap:1.5rem}.hero h1{max-width:16ch}.facts{margin-top:0}}

/* Sections */
.sec{max-width:var(--max);margin:auto;padding:clamp(3.5rem,8vw,6.5rem) var(--gutter)}
.sec__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:clamp(1.5rem,4vw,2.75rem);padding-bottom:1rem;border-bottom:1px solid var(--line-strong)}
.sec__more{font-family:var(--ff-ui);font-weight:600}
.sec__note{margin-top:2rem;color:var(--muted);font-family:var(--ff-ui);font-size:.95rem}
.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:0 clamp(1.5rem,4vw,3rem)}
.svc{padding:1.5rem 0 1.6rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.55rem}
.svc__head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;flex-wrap:wrap}
.svc p{color:var(--ink-soft)}
.svc__price{font-family:var(--ff-ui);font-weight:600;font-size:.95rem;margin-top:auto;padding-top:.3rem;align-self:flex-start}
.svc__tags{display:flex;gap:.35rem}
.tag{font-family:var(--ff-ui);font-size:.78rem;font-weight:650;letter-spacing:.01em;padding:.18rem .5rem;border-radius:var(--radius-tag);white-space:nowrap}
.tag--nfz{background:var(--nfz-bg);color:var(--nfz-ink)}
.tag--prywatnie{border:1px solid var(--line-strong);color:var(--muted)}
.band{background:var(--band);color:var(--band-ink)}
.band__in{max-width:var(--max);margin:auto;padding:clamp(3rem,7vw,5.5rem) var(--gutter);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,5rem)}
.band__copy{display:grid;gap:1rem;font-size:1.05rem}
.band__links{display:flex;flex-wrap:wrap;gap:.75rem 2rem;font-family:var(--ff-ui);font-weight:600;margin-top:.5rem}
.band a{color:inherit}
@media (max-width:799px){.band__in{grid-template-columns:1fr}}
.team{columns:3 17rem;column-gap:clamp(1.5rem,4vw,3rem)}
.team__group{break-inside:avoid;margin-bottom:2rem}
.team__group h3{font-family:var(--ff-ui);font-weight:600;font-size:1rem;letter-spacing:var(--ls-ui);color:var(--muted);padding-bottom:.6rem;border-bottom:1px solid var(--line-strong);margin-bottom:.4rem}
.team__group li{display:flex;flex-direction:column;padding:.7rem 0;border-bottom:1px solid var(--line)}
.person__name{font-family:var(--ff-display);font-size:1.3rem;line-height:1.3}
.person__role{font-family:var(--ff-ui);font-size:.9rem;color:var(--muted)}
.sec--about{padding-top:0}
.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,5rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line-strong)}
.about__copy{display:grid;gap:1rem}
.about__copy h3{font-family:var(--ff-ui);font-weight:600;font-size:1rem;color:var(--muted);margin-top:1rem}
.equip{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:0 2rem}
.equip li{display:flex;flex-direction:column;padding:.75rem 0;border-bottom:1px solid var(--line)}
.equip span{font-family:var(--ff-ui);font-size:.9rem;color:var(--muted)}
@media (max-width:799px){.about{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);align-items:start}
.contact__main{display:grid;gap:.8rem}
.contact__main h3{font-size:var(--fs-h3);margin-bottom:.4rem}
.contact__phones{display:flex;flex-direction:column;gap:.2rem;margin:.6rem 0}
.contact__num{font-family:var(--ff-number);font-weight:var(--fw-number);font-size:clamp(1.8rem,3vw,2.3rem);font-variant-numeric:lining-nums tabular-nums;text-decoration:none;line-height:1.2}
.contact__num--alt{font-size:1.35rem;color:var(--ink-soft)}
.contact__main a:not(.contact__num){font-family:var(--ff-ui);font-weight:600}
.contact__hours{display:grid;gap:1rem}
.contact__hours h3,.contact h3.sm{font-family:var(--ff-ui);font-size:1rem;font-weight:600;color:var(--muted)}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .1rem;border-bottom:1px solid var(--line);font-family:var(--ff-ui);font-variant-numeric:tabular-nums}
.hours li.is-today{font-weight:650;background:var(--tint);padding-inline:.6rem;margin-inline:-.5rem;border-radius:var(--radius-tag)}
.hours li.is-today span:first-child::after{content:", dziś";font-weight:400;color:var(--muted)}
.map{min-height:19rem;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;text-align:center;padding:1.5rem;background:var(--tint);border-radius:var(--radius-card);font-family:var(--ff-ui)}
.map small{color:var(--muted)}
.map iframe{width:100%;height:100%;min-height:19rem;border:0;border-radius:var(--radius-card)}
.map:has(iframe){padding:0}
@media (max-width:999px){.contact{grid-template-columns:1fr 1fr}.map{grid-column:1/-1}}
@media (max-width:639px){.contact{grid-template-columns:1fr}}
.other{border-top:1px solid var(--line-strong);background:var(--tint)}
.other__in{max-width:var(--max);margin:auto;padding:clamp(2.5rem,6vw,4rem) var(--gutter);display:grid;gap:.6rem}
.other__label{font-family:var(--ff-ui);color:var(--muted)}
.other h2 a{text-decoration:none}.other h2 a:hover{text-decoration:underline}
.other__call{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;margin-top:.4rem;font-family:var(--ff-ui);font-weight:600}
.other__num{font-family:var(--ff-number);font-weight:var(--fw-number);font-size:1.6rem;font-variant-numeric:tabular-nums;text-decoration:none}

/* Subpages */
.phead{max-width:var(--max);margin:auto;padding:clamp(2rem,6vw,4.5rem) var(--gutter) clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;background:linear-gradient(var(--line-strong),var(--line-strong)) bottom center/calc(100% - 2 * var(--gutter)) 1px no-repeat}
.phead__crumb{font-family:var(--ff-ui);margin-bottom:.8rem;color:var(--muted)}.phead__crumb a{color:inherit}
.phead__lead{margin-top:1rem;font-size:var(--fs-lead);color:var(--ink-soft)}
.phead__call{display:grid;gap:.3rem;font-family:var(--ff-ui);color:var(--muted);text-align:right;justify-items:end}
.phead__num{font-family:var(--ff-number);font-weight:var(--fw-number);font-size:clamp(1.7rem,3vw,2.4rem);font-variant-numeric:lining-nums tabular-nums;color:var(--ink);text-decoration:none;line-height:1.1}
.phead--plain{grid-template-columns:1fr}
@media (max-width:719px){.phead{grid-template-columns:1fr}.phead__call{text-align:left;justify-items:start}}
.page{max-width:var(--max);margin:auto;padding:clamp(2rem,5vw,3.5rem) var(--gutter) clamp(3rem,8vw,6rem)}
.page .band{margin:clamp(2.5rem,6vw,4rem) calc(-1 * var(--gutter)) 0;border-radius:0}
.prose{max-width:46rem;display:grid;gap:1rem}
.prose h2{font-size:var(--fs-h3);margin-top:1.5rem}
.prose a{font-weight:600}
.list{display:grid;gap:.5rem;padding-left:1.2rem;list-style:disc}
.prices{display:grid;gap:1.5rem}
.prices__note{color:var(--ink-soft)}
.prices__tools{display:grid;grid-template-columns:minmax(0,34rem) auto;align-items:end;gap:.5rem 1.5rem;font-family:var(--ff-ui)}
.prices__tools label{grid-column:1/-1;font-weight:600}
.prices__tools input{width:100%;font:inherit;font-size:1.05rem;padding:.9rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-btn);background:var(--surface);color:var(--ink)}
.prices__count{color:var(--muted)}
@media (max-width:599px){.prices__tools{grid-template-columns:1fr}}
.prices__index{display:flex;flex-wrap:wrap;gap:.4rem;font-family:var(--ff-ui);font-size:.92rem}
.prices__index a{text-decoration:none;padding:.4rem .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-tag)}.prices__index a:hover{border-color:var(--ink)}
.prices__cat{scroll-margin-top:6rem;margin-top:1.5rem}
.prices__cat h2{font-size:var(--fs-h3);margin-bottom:.6rem}
.prices__table{width:100%;border-collapse:collapse;font-family:var(--ff-ui)}
.prices__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.prices__table th,.prices__table td{text-align:left;padding:.8rem 0;border-bottom:1px solid var(--line);vertical-align:baseline}
.prices__table tbody th{font-weight:400;padding-right:1rem}
.prices__table tbody th small{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}
.prices__table td{text-align:right;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}
.prices__empty{font-family:var(--ff-ui)}

/* Hub */
.hub{max-width:var(--max);margin:auto;padding:clamp(1.75rem,6vw,4.5rem) var(--gutter) clamp(2rem,5vw,4rem)}
.hub{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:"title lead" "doors doors";gap:clamp(1.75rem,5vw,3.5rem) 4rem;align-items:end}
.hub__title{grid-area:title;font-size:var(--fs-hub)}
.hub__lead{grid-area:lead;color:var(--ink-soft);font-size:1.05rem}
.doors{grid-area:doors}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.5vw,2rem)}
.door{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);position:relative;overflow:hidden}
.door::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--accent)}
.door__in{padding:clamp(1.5rem,3.5vw,2.75rem);display:grid;gap:.9rem;height:100%;align-content:start}
.door__place{font-size:var(--fs-h2)}
.door__place a{text-decoration:none}.door__place a:hover{text-decoration:underline;text-decoration-thickness:2px}
.door__summary{color:var(--ink-soft);min-height:3.2em}
.door__num{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-number);font-weight:var(--fw-number);font-size:var(--fs-number);letter-spacing:var(--ls-number);font-variant-numeric:lining-nums tabular-nums;line-height:1.05;text-decoration:none;margin-top:.4rem;white-space:nowrap}
.door__num .icon{width:.55em;height:.55em;color:var(--accent)}
.door__alt{font-family:var(--ff-ui);color:var(--muted)}.door__alt a{color:var(--ink);font-weight:600}
.door__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}
.door__actions .btn{flex:1 1 auto;white-space:nowrap}
.door__addr{font-family:var(--ff-ui);font-size:.95rem;color:var(--muted);padding-top:.9rem;border-top:1px solid var(--line)}
.hub__nfz{max-width:var(--max);margin:auto;padding:0 var(--gutter) clamp(3rem,7vw,5rem)}
.hub__nfz p{font-family:var(--ff-ui);font-size:.98rem;color:var(--ink-soft);max-width:none;padding-top:1.5rem;border-top:1px solid var(--line)}
.hub__nfz a{font-weight:600;color:var(--ink)}
@media (max-width:799px){.hub{grid-template-columns:1fr;grid-template-areas:"title" "doors" "lead";gap:1.25rem}.hub__title{font-size:clamp(1.8rem,7.4vw,2.4rem)}.hub__lead{font-size:1rem}.doors{grid-template-columns:1fr;gap:.9rem}.door__summary,.door__alt{display:none}.door__in{gap:.55rem;padding:1.15rem 1.15rem 1.25rem}.door__place{font-size:1.6rem}.door__num{font-size:2.15rem;margin-top:.1rem}.door__actions{flex-wrap:nowrap;margin-top:.3rem}.door__actions .btn{min-height:3rem;padding-inline:.9rem}.door__addr{display:none}}

/* Footer */
.foot{background:var(--foot);color:var(--foot-ink);margin-top:0}
.foot__in{max-width:var(--max);margin:auto;padding:clamp(3rem,7vw,5rem) var(--gutter) 2rem;display:grid;gap:2.5rem}
.foot__brand{display:flex;gap:.9rem;align-items:flex-start;font-family:var(--ff-ui)}
.foot__brand .mark{color:var(--foot-accent)}
.foot__brand strong{font-family:var(--ff-display);font-weight:var(--fw-display);font-size:1.35rem}
.foot__clinics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:2rem;font-family:var(--ff-ui);font-size:.98rem}
.foot__clinic{display:grid;gap:.35rem;align-content:start}
.foot__name{font-family:var(--ff-display);font-size:1.25rem;text-decoration:none}.foot__name:hover{text-decoration:underline}
.foot__clinic a{font-variant-numeric:tabular-nums}.foot__tels{display:flex;flex-wrap:wrap;gap:.2rem 1.25rem}
.foot__nav{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;font-family:var(--ff-ui)}
.foot__legal{font-family:var(--ff-ui);font-size:.9rem;opacity:.85}
.foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-top:1.5rem;border-top:1px solid var(--foot-line);font-family:var(--ff-ui);font-size:.9rem;opacity:.9}
.foot__base p{display:flex;gap:.4rem 1.25rem;flex-wrap:wrap;align-items:center}.foot__base p:first-child,.foot__base p:last-child{display:block}
.foot__base button{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;min-height:2.75rem}

/* Mobile call bar, cookies, variant switch, review notes */
.callbar{display:none}
@media (max-width:719px){
  .callbar{display:flex;position:fixed;z-index:45;left:0;right:0;bottom:0;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--paper);box-shadow:0 -1px 0 var(--line)}
  .callbar__call{flex:1;display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.5rem;border-radius:var(--radius-btn);background:var(--call);color:var(--call-ink);text-decoration:none;font-family:var(--ff-ui)}
  .callbar__call .icon{width:1.3rem;height:1.3rem}
  .callbar__call span{display:flex;flex-direction:column;line-height:1.15;font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums}
  .callbar__call small{font-weight:500;font-size:.8rem;opacity:.9}
  .callbar__route{display:flex;align-items:center;padding:0 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-btn);text-decoration:none;font-family:var(--ff-ui);font-weight:600}
  body:has(.callbar) .foot{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}
  .callbar--hub .callbar__call{gap:.5rem}.callbar--hub .callbar__call span{font-size:1.08rem}
}
.cookies{position:fixed;z-index:50;left:1rem;right:1rem;bottom:1rem;max-width:44rem;margin:auto;display:flex;align-items:center;gap:1rem 1.5rem;padding:1rem 1.2rem;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-card);box-shadow:0 10px 40px rgb(20 20 20 / .14);font-family:var(--ff-ui);font-size:.92rem;line-height:1.45}
.cookies__actions{display:flex;gap:.5rem;flex:none}
.cookies .btn{min-height:2.75rem;padding:.5rem 1rem;font-size:.92rem}
@media (max-width:719px){.cookies{flex-direction:column;align-items:stretch;left:.75rem;right:.75rem;bottom:calc(5rem + env(safe-area-inset-bottom));padding:.9rem 1rem}.cookies__actions .btn{flex:1}}
.variant{position:fixed;z-index:44;right:1rem;bottom:1rem;font-family:var(--ff-ui);font-size:.85rem;font-weight:600;padding:.5rem .8rem;border-radius:var(--radius-btn);background:var(--ink);color:var(--paper);text-decoration:none;opacity:.85}
@media (max-width:719px){.variant{bottom:calc(5.2rem + env(safe-area-inset-bottom));right:.75rem}}
body:has(.cookies:not([hidden])) .variant{display:none}
.review{display:block;margin:.5rem 0;padding:.5rem .75rem;border-left:3px solid #c48a00;background:#fff4cc;color:#3d2f00;font:500 .82rem/1.45 system-ui,sans-serif;border-radius:2px;max-width:46rem}
.foot .review{color:#3d2f00}

/* One orchestrated load: heading, then the call card with the number. Nothing animates on scroll. */
@keyframes rise{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes digits{from{opacity:.3;letter-spacing:.09em;filter:blur(2px)}to{opacity:1;letter-spacing:var(--ls-number);filter:none}}
.motion .hero__copy>*{animation:rise .5s cubic-bezier(.2,.7,.2,1) both}
.motion .hero__copy>:nth-child(2){animation-delay:.06s}.motion .hero__copy>:nth-child(3){animation-delay:.12s}.motion .hero__copy>:nth-child(n+4){animation-delay:.18s}
.motion .callcard{animation:rise .55s .1s cubic-bezier(.2,.7,.2,1) both}
.motion .callcard__digits{display:inline-block;animation:digits .6s .2s cubic-bezier(.2,.7,.2,1) both}
.motion .door{animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.motion .door+.door{animation-delay:.08s}
.motion .door__num span{display:inline-block;animation:digits .6s .15s cubic-bezier(.2,.7,.2,1) both}.motion .door+.door .door__num span{animation-delay:.23s}
.motion .menu:not([hidden]) nav a{animation:rise .35s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.hdr,.callbar,.cookies,.variant,.menu{display:none!important}}
