/* Visivello — design system and layout.
   Calm by default: one accent, borders over shadows, motion only where it explains a change.
   The eye mark opening over the hero photograph is the single signature moment. */

@font-face{font-family:'DM Sans';src:url('./fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
@font-face{font-family:'DM Serif';src:url('./fonts/dm-serif.woff2') format('woff2');font-weight:400;font-display:swap}

/* ---------- Tokens ---------- */
/* Warm ivory, ink, deep blue, mist and apricot are the documented brand palette (docs/BRAND.md). */
:root{
  --ink:#233e4c;--brand:#254f62;--brand-dark:#1d4152;--muted:#4f6570;--body:#344f5c;
  --tint:#eaf0f1;--accent:#eac39d;--paper:#faf8f3;--white:#fffefa;
  --line:rgb(35 62 76 / .14);--line-2:rgb(35 62 76 / .26);
  --danger:#9c3f2b;
  --focus:var(--brand);
  --serif:'DM Serif',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r-sm:8px;--r:12px;--r-lg:16px;--r-xl:20px;
  --pop:0 2px 6px rgb(35 62 76 / .08),0 12px 28px -8px rgb(35 62 76 / .22);
  --ease:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.55,0,1,.45);
  --fs-display:clamp(2.5rem,1.7rem + 2.6vw,4rem);--fs-headline:clamp(1.85rem,1.4rem + 1.5vw,2.75rem);--fs-headline-sm:clamp(1.6rem,1.3rem + 1vw,2.2rem);--fs-title-serif:clamp(1.45rem,1.2rem + .7vw,1.85rem);
  --fs-figure-lg:2.25rem;--fs-figure:1.5rem;--fs-title:1.2rem;--fs-body-lg:clamp(1.05rem,1rem + .25vw,1.18rem);--fs-body:16px;--fs-ui:15px;--fs-label:14px;--fs-caption:13px;
  --r-xs:6px;--r-full:999px;
  --gutter:clamp(20px,4.4vw,64px);--max:1280px;--header-h:72px;
  --map-land:var(--white);--map-coast:rgb(35 62 76 / .18);--map-border:var(--tint);
  color-scheme:light;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px)}
body{margin:0;min-height:100vh;background:var(--paper);font-size:var(--fs-body);line-height:1.6}
[hidden]{display:none!important}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
button:disabled{cursor:not-allowed}
a{color:inherit;text-decoration:none}
a,button,input,label,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:var(--fs-display);line-height:1.05;margin-bottom:20px}
h2{font-size:var(--fs-headline);line-height:1.1;margin-bottom:16px}
h3{font-size:var(--fs-title);line-height:1.3;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
p{text-wrap:pretty}
fieldset{border:0;margin:0;padding:0;min-width:0}
::selection{background:rgb(234 195 157 / .6);color:var(--ink)}
:focus-visible{outline:2.5px solid var(--focus);outline-offset:3px}
/* On ink and deep-blue surfaces the focus ring takes the apricot focal point, keeping at least 3:1. */
.preview-bar,.site-footer,.journey,.compare-tray{--focus:var(--accent)}
html:has(.toolbar){scroll-padding-top:calc(var(--header-h) + var(--toolbar-h,0px) + 20px)}
html:has(.compare-tray:not(.is-leaving)){scroll-padding-bottom:96px}
main:focus,[tabindex="-1"]:focus{outline:none}
.icon{width:20px;height:20px;flex:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:min(var(--max),100% - 2 * var(--gutter));margin-inline:auto}
.map-defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:fixed;top:-100px;left:16px;z-index:90;padding:14px 18px;border-radius:var(--r);background:var(--brand);color:#fff;font-weight:600}
.skip:focus{top:12px}
noscript{display:block;padding:24px;text-align:center}
.lead{font-size:var(--fs-body-lg);line-height:1.65;color:var(--muted);max-width:640px}
.muted{color:var(--muted)}

/* ---------- Primitives ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:var(--r);border:1px solid transparent;background:var(--brand);color:#fff;font-size:var(--fs-ui);font-weight:600;line-height:1.1;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
.button:hover{background:var(--brand-dark)}
.button:active{background:var(--ink)}
.button-icon{display:grid;place-items:center}
.button-icon .icon{width:18px;height:18px;transition:transform .3s var(--ease)}
.button:hover .button-icon .icon{transform:translateX(3px)}
.button-secondary{background:var(--white);border-color:var(--line-2);color:var(--ink)}
.button-secondary:hover{background:var(--white);border-color:var(--ink)}
.button-light{background:var(--white);color:var(--brand)}
.button-light:hover{background:var(--tint)}
.button-ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
.button-ghost:hover{background:var(--white);border-color:var(--ink)}
.button>.icon{width:17px;height:17px}
.button-sm{min-height:44px;padding:0 16px;font-size:var(--fs-label)}
.button:disabled{opacity:.45}
.button-light:disabled:hover{background:var(--white)}
.button-lead .button-icon .icon,.button-lead:hover .button-icon .icon{transform:none}

.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-ui);font-weight:600;color:var(--brand);white-space:nowrap}
.link-arrow span{text-decoration:underline;text-decoration-color:rgb(37 79 98 / .35);text-underline-offset:4px;transition:text-decoration-color .2s}
.link-arrow .icon{width:17px;height:17px;transition:transform .3s var(--ease)}
a.link-arrow{padding-block:10px;margin-block:-10px}
a.link-arrow:hover span,a:hover .link-arrow span{text-decoration-color:currentColor}
a.link-arrow:hover .icon,a:hover .link-arrow .icon{transform:translateX(3px)}

.icon-button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);background:var(--white);flex:none;transition:border-color .2s}
.icon-button:hover{border-color:var(--ink)}

.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:var(--r-sm);background:var(--tint);color:var(--brand);font-size:var(--fs-label);font-weight:550;line-height:1.3}
.tag-kind{background:transparent;border:1px solid var(--line-2);color:var(--ink)}
.tag-kind i,.lg{width:10px;height:10px;border-radius:50%;flex:none;background:var(--brand)}
.tag-kind.is-assess i,.lg.is-assess{background:var(--white);box-shadow:inset 0 0 0 2px var(--brand)}
.lg.is-size{width:15px;height:15px}

.source-note{display:flex;gap:10px;align-items:flex-start;margin:24px 0 0;font-size:var(--fs-label);line-height:1.6;color:var(--muted)}
.source-note .icon{width:17px;height:17px;margin-top:2px}
.source-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.source-note a:hover{text-decoration-color:currentColor}

/* ---------- Motion ---------- */
@keyframes fade-up{from{opacity:0;transform:translateY(8px)}}
@keyframes draw{to{stroke-dashoffset:0}}
/* Route changes crossfade with a short lift (View Transitions API). */
::view-transition-old(root){animation:vt-out .2s var(--ease-in) both}
::view-transition-new(root){animation:vt-in .4s var(--ease) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
::view-transition-group(site-header),::view-transition-group(compare-tray){animation-duration:.3s}
::view-transition-group(clinic-hero){animation-duration:.55s;animation-timing-function:var(--ease)}
::view-transition-image-pair(clinic-hero){border-radius:var(--r-lg);overflow:hidden}
::view-transition-old(clinic-hero),::view-transition-new(clinic-hero){height:100%;width:100%;object-fit:cover;animation-duration:.4s}

/* ---------- Shell ---------- */
.preview-bar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:9px 16px;background:var(--ink);color:#fff;font-size:var(--fs-caption);text-align:center}
.preview-bar a{padding-block:12px;margin-block:-12px;color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgb(255 255 255 / .5)}
.preview-bar a:hover{text-decoration-color:#fff}

.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid transparent;transition:border-color .2s;view-transition-name:site-header}
.site-header.is-scrolled{border-bottom-color:var(--line)}
.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;min-height:44px;gap:10px;font-size:28px;font-weight:560;letter-spacing:-.05em;line-height:1;color:var(--ink)}
.logo .mark{width:34px;height:34px}
.nav{display:flex;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--r-sm);font-size:var(--fs-ui);font-weight:550;color:var(--muted);transition:color .2s,background-color .2s}
.nav a:hover{color:var(--ink)}
.nav a.is-active{color:var(--ink);background:var(--tint)}
.header-actions{display:flex;align-items:center;gap:12px}
.market{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--muted);white-space:nowrap}
.market .icon{width:16px;height:16px}
.save-nav{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--r-sm);font-size:var(--fs-ui);font-weight:550;transition:background-color .2s}
.save-nav:hover,.save-nav[aria-current]{background:var(--tint)}
.save-nav .icon{width:19px;height:19px}
.save-count{min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-full);display:grid;place-items:center;background:var(--brand);color:#fff;font-size:var(--fs-caption);font-weight:700}
.save-count[data-count="0"]{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2)}
.menu-button{display:none;width:44px;height:44px;border-radius:var(--r);place-items:center;border:1px solid var(--line-2);background:var(--white)}
.menu-button .icon{width:22px;height:22px}

.menu-sheet{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:10px var(--gutter) calc(24px + env(safe-area-inset-bottom));border:0;background:var(--paper);color:var(--ink);flex-direction:column;opacity:0;transition:opacity .2s,overlay .2s allow-discrete,display .2s allow-discrete}
.menu-sheet[open]{display:flex;opacity:1}
@starting-style{.menu-sheet[open]{opacity:0}}
.menu-sheet::backdrop{background:transparent}
.menu-top{display:flex;align-items:center;justify-content:space-between;min-height:52px}
.menu-nav{display:grid;margin-top:20px;border-top:1px solid var(--line)}
.menu-nav a{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:var(--fs-headline-sm);line-height:1.15}
.menu-nav a .icon{width:22px;height:22px;color:var(--muted)}
.menu-foot{margin-top:auto;display:grid;gap:14px;padding-top:24px}
.menu-foot .button{justify-content:space-between}
.menu-foot p{margin:0;font-size:var(--fs-label);color:var(--muted)}

.site-footer{margin-top:clamp(56px,8vw,112px);padding:clamp(48px,7vw,88px) 0 0;background:var(--ink);color:rgb(255 255 255 / .82)}
.footer-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:clamp(36px,5vw,56px);border-bottom:1px solid rgb(255 255 255 / .16)}
.footer-sign{margin:0;font-family:var(--serif);font-size:var(--fs-display);line-height:1.05;color:#fff}
.footer-main{display:flex;justify-content:space-between;gap:40px;padding:clamp(36px,5vw,52px) 0}
.site-footer .logo{color:#fff}
.footer-brand p{max-width:340px;margin:16px 0 0;font-size:var(--fs-ui);color:rgb(255 255 255 / .74)}
.footer-links{display:flex;gap:clamp(32px,5vw,72px)}
.footer-links div{display:flex;flex-direction:column;font-size:var(--fs-ui)}
.footer-links strong{color:#fff;font-size:var(--fs-label);font-weight:650;margin-bottom:6px}
.footer-links a{padding-block:10px;color:rgb(255 255 255 / .78)}
.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding:22px 0 28px;border-top:1px solid rgb(255 255 255 / .16);font-size:var(--fs-caption);color:rgb(255 255 255 / .7)}
body:has(.compare-tray:not(.is-leaving)) .footer-bottom{padding-bottom:104px}

/* ---------- Hero ---------- */
.hero{padding:clamp(28px,4vw,56px) 0 clamp(48px,6vw,80px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero-title{margin:0 0 22px}
.hero-title span{display:block;color:var(--brand)}
.hero .intro{font-size:var(--fs-body-lg);line-height:1.65;color:var(--muted);max-width:520px;margin-bottom:28px}
.search-wrap{position:relative;z-index:6}
.hero-search{position:relative;max-width:580px}
.search-shell{display:flex;align-items:center;gap:6px;padding:6px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line-2);transition:border-color .2s,box-shadow .2s}
.search-shell:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgb(37 79 98 / .12)}
.search-icon{display:grid;place-items:center;width:40px;margin-left:2px;color:var(--brand)}
.search-icon .icon{width:20px;height:20px}
.search-shell input{flex:1;min-width:0;height:44px;padding:0 4px;border:0;outline:0;background:transparent;font-size:var(--fs-body)}
.search-shell input::placeholder,.toolbar-search input::placeholder,.field input::placeholder{color:var(--muted)}
.search-shell input::-webkit-search-cancel-button{appearance:none}
.search-shell .button{border-radius:calc(var(--r-lg) - 6px)}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);padding:8px;border-radius:var(--r-lg);background:var(--white);box-shadow:var(--pop);animation:fade-up .2s var(--ease)}
.suggest-label{margin:0;padding:8px 12px;font-size:var(--fs-caption);font-weight:600;color:var(--muted)}
.suggest-list{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto}
.suggest [role=option]{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border-radius:var(--r);cursor:pointer}
.suggest [role=option]:hover,.suggest [role=option][aria-selected=true]{background:var(--tint)}
.opt-icon{width:38px;height:38px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--tint);color:var(--brand);flex:none}
.opt-icon .icon{width:18px;height:18px}
.opt-icon b{font-size:var(--fs-caption);letter-spacing:.04em}
[aria-selected=true] .opt-icon,[role=option]:hover .opt-icon{background:var(--white)}
.opt-text{flex:1;min-width:0;display:grid;gap:1px}
.opt-text strong{font-size:var(--fs-ui);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opt-text small{font-size:var(--fs-caption);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suggest mark{background:rgb(234 195 157 / .65);color:inherit;border-radius:var(--r-full);padding:0 1px}
.suggest [role=option]>.icon{width:17px;height:17px;color:var(--muted);opacity:0}
.suggest [role=option]:hover>.icon,.suggest [role=option][aria-selected=true]>.icon{opacity:1}
.suggest-foot{margin:6px 0 0;padding:10px 12px 6px;border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--muted)}
.popular{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 0;font-size:var(--fs-label);color:var(--muted)}
.popular>span{margin-right:2px}
.popular a{padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--line-2);color:var(--ink);font-weight:550;transition:border-color .2s,background-color .2s}
.popular a:hover{border-color:var(--ink);background:var(--white)}
.popular b{margin-left:4px;font-weight:600;color:var(--muted)}

.hero-visual{position:relative}
.hero-figure{position:relative;margin:0}
.hero-frame{position:relative;aspect-ratio:4/5;max-height:640px;margin-inline:auto;border-radius:50% 50% var(--r-lg) var(--r-lg) / 40% 40% var(--r-lg) var(--r-lg);overflow:hidden;background:var(--tint)}
.hero-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero-focal{position:absolute;left:50%;top:46%;z-index:2;width:28px;height:28px;border-radius:50%;background:var(--accent);opacity:0;transform:translate(-50%,-50%);pointer-events:none}
.photo-label{margin-top:10px;font-size:var(--fs-caption);color:var(--muted);text-align:right}
.photo-note{position:absolute;left:-24px;bottom:72px;display:flex;align-items:center;gap:12px;max-width:300px;padding:14px 18px 14px 14px;border-radius:var(--r-lg);background:var(--white);box-shadow:var(--pop)}
.photo-note .icon{width:22px;height:22px;color:var(--brand)}
.photo-note strong{display:block;font-size:var(--fs-ui);font-weight:600}
.photo-note small{display:block;font-size:var(--fs-label);color:var(--muted)}

/* Commitments strip */
.commitments{border-block:1px solid var(--line)}
.commitments ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin:0;padding:18px 0;list-style:none}
.commitments li{display:flex;align-items:center;gap:10px;font-size:var(--fs-ui);color:var(--body)}
.commitments .icon{width:18px;height:18px;color:var(--brand)}

/* ---------- Sections ---------- */
.section{padding:clamp(64px,8vw,112px) 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:clamp(28px,3.5vw,44px)}
.section-head h2{margin:0;max-width:20ch}
.section-head>p,.section-aside p{max-width:400px;margin:0;font-size:var(--fs-body);color:var(--muted)}
.section-aside{display:grid;justify-items:start;gap:14px}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;font-size:var(--fs-label);color:var(--muted)}
.facts strong{color:var(--ink);font-weight:650}

/* Ways to start */
.paths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.path{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:22px;border-top:2px solid var(--ink)}
.path:nth-child(2){border-top-color:var(--brand)}
.path:nth-child(3){border-top-color:var(--accent)}
.path h3{margin:0;font-family:var(--serif);font-weight:400;font-size:var(--fs-title-serif);letter-spacing:-.01em;line-height:1.15}
.path p{margin:0 0 6px;color:var(--muted);max-width:28em}
.path .link-arrow{margin-top:auto}
.path:hover h3{color:var(--brand)}

/* Atlas: map + countries / listings */
.atlas-section{border-block:1px solid var(--line);background:var(--tint)}
.atlas{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(18px,2.6vw,36px);align-items:start}
.atlas-map{position:sticky;top:calc(var(--header-h) + 20px)}
.atlas-directory{grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr)}
.atlas-directory .atlas-map{top:calc(var(--header-h) + var(--toolbar-h,150px) + 20px)}
.atlas-list{display:grid;gap:14px;align-content:start;min-width:0}
.map-card{position:relative;padding:clamp(14px,1.8vw,24px);border-radius:var(--r-xl);background:var(--white);border:1px solid var(--line)}
.nordic-map{display:block;width:100%;height:auto;max-height:min(70vh,640px);overflow:hidden;border-radius:var(--r);--z:1}
.nordic-map .land{fill:var(--tint);stroke:rgb(35 62 76 / .2);stroke-width:.35;transition:fill .3s}
.nordic-map .land-dots{fill:url(#live-dots);opacity:.36;pointer-events:none}
#live-dots circle{fill:var(--brand)}
.nordic-map .country{transition:opacity .3s}
.atlas-home .nordic-map .country{cursor:pointer}
.nordic-map .country.is-active .land{fill:var(--accent)}
.has-country .nordic-map .country:not(.is-active){opacity:.5}
.nordic-map .country.is-dim{opacity:.35}
.nordic-map .borders{fill:none;stroke:var(--white);stroke-width:.7;stroke-dasharray:1.4 1;pointer-events:none}
.map-inset rect{fill:none;stroke:var(--line-2);stroke-width:.5;stroke-dasharray:2 2}
.map-inset text{font-family:var(--sans);font-size:7.6px; /* impeccable-disable-line design-system-font-size -- SVG user units in a scaled map, renders at about 12px */font-weight:600;fill:var(--muted)}
.city-dot{cursor:pointer;transition:opacity .3s}
.dot-body{transform:scale(var(--z))}
.dot-hit{fill:transparent}
.dot-ring{fill:var(--brand);stroke:var(--white);stroke-width:.55;transform-box:fill-box;transform-origin:center;transition:transform .25s var(--ease)}
.is-assess .dot-ring{fill:var(--white);stroke:var(--brand);stroke-width:.8}
.dot-core,.dot-pulse{display:none}
.city-dot:hover .dot-ring,.city-dot.is-active .dot-ring{transform:scale(1.5)}
.city-dot.is-dim,.city-label.is-dim{opacity:.15}
.has-active .city-dot:not(.is-active){opacity:.4}
.has-country .city-dot:not(.is-active),.has-country .city-label:not(.is-active){opacity:.3}
.pin-label{font-family:var(--sans);font-size:7.6px; /* impeccable-disable-line design-system-font-size -- SVG user units in a scaled map, renders at about 12px */font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--white);stroke-width:2px;stroke-linejoin:round;pointer-events:none}
.city-label{transition:opacity .3s}
.map-route{fill:none;stroke:var(--brand);stroke-width:.8;stroke-dasharray:1.6 1.4;stroke-linecap:round;opacity:.45}
.map-route.is-active,.map-route.is-visible{opacity:1}
.aux-mark{fill:var(--white);stroke:var(--brand);stroke-width:.5}
.map-tip{position:absolute;z-index:3;display:grid;gap:1px;padding:8px 12px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:var(--fs-caption);line-height:1.35;white-space:nowrap;pointer-events:none;transform:translate(-50%,calc(-100% - 10px))}
.map-tip strong{font-size:var(--fs-label)}
.map-tip span{color:rgb(255 255 255 / .8)}
.map-legend{display:grid;gap:8px;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none;font-size:var(--fs-label);color:var(--muted)}
.map-legend li{display:flex;align-items:center;gap:10px}
.map-legend .lg{margin-inline:2px}
.map-legend .lg.is-size{margin-inline:0}
.map-note{margin:10px 0 0;font-size:var(--fs-caption);color:var(--muted)}

/* Country rows */
.country-list{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line-2)}
.country-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:'code main stats go' 'code bar bar go';align-items:center;column-gap:18px;row-gap:10px;padding:18px 4px;border-bottom:1px solid var(--line-2);transition:background-color .2s}
.country-row:hover,.country-row.is-active{background:rgb(255 254 250 / .7)}
.country-code{grid-area:code;width:48px;height:48px;border-radius:var(--r);display:grid;place-items:center;background:var(--white);border:1px solid var(--line);color:var(--brand);font-size:var(--fs-label);font-weight:700;letter-spacing:.04em;transition:background-color .2s,color .2s,border-color .2s}
.country-row:hover .country-code,.country-row.is-active .country-code{background:var(--brand);border-color:var(--brand);color:#fff}
.country-main{grid-area:main;display:grid;gap:1px;min-width:0}
.country-main strong{font-family:var(--serif);font-size:var(--fs-title-serif);font-weight:400;line-height:1.15}
.country-main small{font-size:var(--fs-label);color:var(--muted)}
.country-stats{grid-area:stats;display:grid;justify-items:end;gap:1px;font-size:var(--fs-label);color:var(--muted);white-space:nowrap}
.country-stats b{font-size:var(--fs-title);font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.country-stats small{font-size:var(--fs-caption)}
.country-bar{grid-area:bar;height:4px;border-radius:var(--r-full);background:rgb(35 62 76 / .1);overflow:hidden}
.country-bar i{display:block;height:100%;width:100%;background:var(--brand);transform:scaleX(var(--share));transform-origin:0 50%}
.country-go{grid-area:go;color:var(--muted);transition:transform .3s var(--ease),color .2s}
.country-row:hover .country-go,.country-row.is-active .country-go{color:var(--ink);transform:translateX(3px)}
.atlas-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px}

/* Clinic card (container query component) */
.clinic-card{container-type:inline-size;position:relative;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);overflow:hidden;transition:border-color .2s}
.clinic-card:hover,.clinic-card.is-active{border-color:var(--ink)}
.clinic-card:has(.clinic-name a:focus-visible){outline:2.5px solid var(--focus);outline-offset:3px}
.card-grid{display:grid;height:100%}
.clinic-art{position:relative;height:160px;background:var(--tint);overflow:hidden;--map-land:var(--white);--map-border:var(--tint)}
.clinic-art .crop,.profile-art .crop{position:absolute;inset:0;width:100%;height:100%}
.pin-ring{fill:var(--brand);stroke:var(--white);stroke-width:.45}
.crop-pin.is-assess .pin-ring{fill:var(--white);stroke:var(--brand);stroke-width:.55}
.pin-core{fill:var(--accent)}
.crop-pin.is-assess .pin-core{fill:var(--brand)}
.pin-pulse{display:none}
.crop-near{fill:var(--brand);opacity:.35}
.crop .map-route{stroke-width:.4;stroke-dasharray:.9 .8}
.crop .aux-mark{stroke-width:.35}
.art-chip{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:5px 10px;border-radius:var(--r-sm);background:var(--white);font-size:var(--fs-caption);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clinic-body{display:flex;flex-direction:column;padding:20px 22px;min-width:0}
.clinic-name{margin:0 0 4px;font-size:var(--fs-title)}
.clinic-name a::after{content:'';position:absolute;inset:0;z-index:1}
.clinic-name a:focus-visible{outline:none}
.clinic-meta{margin:0 0 12px;font-size:var(--fs-label);color:var(--muted)}
.clinic-meta .partner{color:var(--ink);font-weight:600}
.clinic-address{display:flex;align-items:flex-start;gap:6px;margin:0 0 12px;font-size:var(--fs-label);color:var(--body)}
.clinic-address .icon{width:16px;height:16px;margin-top:3px;color:var(--muted)}
.clinic-elsewhere{display:flex;align-items:flex-start;gap:9px;margin:12px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:rgb(234 195 157 / .35);font-size:var(--fs-label);line-height:1.45}
.clinic-elsewhere .icon{width:17px;height:17px;margin-top:1px;color:var(--brand)}
.clinic-price{display:grid;gap:2px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.clinic-price small,.clinic-price span{font-size:var(--fs-caption);color:var(--muted)}
.clinic-price strong{font-size:var(--fs-figure);font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.25}
.clinic-noprice{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:var(--fs-label);color:var(--muted)}
.clinic-noprice .icon{width:17px;height:17px}
.clinic-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px}
.clinic-foot .link-arrow{font-size:var(--fs-label)}
.clinic-card:hover .link-arrow .icon{transform:translateX(3px)}
@container (min-width:600px){
  .card-grid{grid-template-columns:minmax(190px,36%) 1fr}
  .clinic-art{height:auto;min-height:100%}
  .clinic-body{padding:22px 24px}
  .clinic-name{margin-right:52px}
}
.save-button{position:absolute;z-index:2;top:12px;right:12px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:1px solid var(--line-2);color:var(--ink);transition:background-color .2s,color .2s,border-color .2s}
.save-button:hover{border-color:var(--ink)}
.save-button .icon{width:19px;height:19px}
.save-button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.save-button[aria-pressed=true] .icon,.save-wide[aria-pressed=true] .icon{fill:currentColor}
.burst{position:absolute;inset:-1px;border-radius:50%;pointer-events:none}
.is-popping{animation:press .35s var(--ease)}
.is-popping .burst{animation:burst .5s var(--ease)}
@keyframes press{40%{transform:scale(.88)}}
@keyframes burst{from{box-shadow:0 0 0 0 rgb(234 195 157 / .9)}to{box-shadow:0 0 0 14px rgb(234 195 157 / 0)}}
.compare-toggle{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 10px;border-radius:var(--r-sm);border:1px solid var(--line-2);font-size:var(--fs-label);font-weight:600;cursor:pointer;user-select:none;transition:background-color .2s,border-color .2s,color .2s}
.compare-toggle:hover{border-color:var(--ink)}
.compare-toggle input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.compare-box{width:18px;height:18px;border-radius:var(--r-xs);border:1.5px solid var(--line-2);display:grid;place-items:center;color:var(--ink);transition:background-color .2s,border-color .2s}
.compare-box .icon{width:12px;height:12px;stroke-width:2.8;opacity:0}
.compare-toggle:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff}
.compare-toggle:has(input:checked) .compare-box{background:var(--white);border-color:var(--white)}
.compare-toggle:has(input:checked) .compare-box .icon{opacity:1}
.compare-toggle:has(input:focus-visible){outline:2.5px solid var(--focus);outline-offset:3px}

/* Journey panel */
.journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding:clamp(32px,5vw,64px);border-radius:var(--r-xl);background:var(--brand);color:#fff}
.journey h2{color:#fff;max-width:14ch}
.journey-copy p{max-width:430px;margin-bottom:28px;color:rgb(255 255 255 / .84)}
.journey-try{align-self:center}
.journey-q{margin:0 0 14px;font-size:var(--fs-body);font-weight:600;color:#fff}
.journey-options{display:grid;gap:8px}
.journey-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:var(--r);background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);color:#fff;font-size:var(--fs-body);font-weight:550;text-align:left;transition:background-color .2s,border-color .2s}
.journey-option:hover{background:rgb(255 255 255 / .18);border-color:rgb(255 255 255 / .45)}
.journey-option>span:nth-child(2){flex:1}
.journey-option .option-icon{display:grid;place-items:center;color:var(--accent)}
.journey-option>.icon{opacity:.7;transition:transform .3s var(--ease),opacity .2s}
.journey-option:hover>.icon{opacity:1;transform:translateX(3px)}
.journey-fine{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:var(--fs-label);color:rgb(255 255 255 / .8)}
.journey-fine .icon{width:16px;height:16px}
.journey-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:28px 0 0;list-style:none;border-top:1px solid rgb(255 255 255 / .2)}
.journey-steps li{display:flex;align-items:flex-start;gap:14px}
.journey-steps b{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);font-size:var(--fs-label);font-weight:700}
.journey-steps h3{margin:4px 0 4px;font-size:var(--fs-body);color:#fff}
.journey-steps p{margin:0;font-size:var(--fs-ui);color:rgb(255 255 255 / .8)}

/* Guides list */
.guide-list{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line-2)}
.guide-row{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto;align-items:baseline;gap:8px 32px;padding:24px 4px;border-bottom:1px solid var(--line-2);transition:background-color .2s}
.guide-row:hover{background:var(--white)}
.guide-topic{font-size:var(--fs-label);font-weight:600;color:var(--brand)}
.guide-row h3{margin:0 0 4px;font-family:var(--serif);font-size:var(--fs-title-serif);font-weight:400;line-height:1.15}
.guide-row p{margin:0;color:var(--muted)}
.guide-row .link-arrow{align-self:center}

/* Principles & FAQ */
.principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);margin:0;padding:0;list-style:none}
.principle{padding:22px 0;border-top:1px solid var(--line-2)}
.principle h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:var(--fs-title)}
.principle h3 .icon{width:20px;height:20px;color:var(--brand)}
.principle p{margin:0;padding-left:30px;font-size:var(--fs-ui);color:var(--muted)}
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,88px);align-items:start;margin-top:clamp(56px,8vw,104px)}
.faq-head{position:sticky;top:calc(var(--header-h) + 28px)}
.faq-head p{margin:0 0 20px;color:var(--muted)}
.faq-list{border-top:1px solid var(--line-2)}
.faq-item{border-bottom:1px solid var(--line-2)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4px;cursor:pointer;list-style:none;font-size:var(--fs-body-lg);font-weight:600}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--brand)}
.faq-toggle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);flex:none;transition:transform .3s var(--ease),background-color .2s,color .2s,border-color .2s}
.faq-toggle .icon{width:16px;height:16px}
.faq-item[open] .faq-toggle{transform:rotate(45deg);background:var(--brand);border-color:var(--brand);color:#fff}
.faq-answer p{margin:0;padding:0 56px 22px 4px;color:var(--body)}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq-item::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}
  .faq-item[open]::details-content{block-size:auto}
}

/* ---------- Directory ---------- */
.page-hero{padding:clamp(28px,4vw,56px) 0 clamp(24px,3vw,40px)}
.page-title{max-width:20ch;margin:0 0 16px;font-size:var(--fs-display)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none;font-size:var(--fs-label);color:var(--muted)}
.breadcrumbs li+li::before{content:'/';margin-right:8px;opacity:.6}
.breadcrumbs a{display:inline-block;padding-block:11px;margin-block:-11px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.breadcrumbs a:hover{color:var(--ink)}
.toolbar{position:sticky;top:var(--header-h);z-index:20;padding:12px 0;background:var(--paper);border-block:1px solid var(--line)}
.toolbar-inner{display:grid;gap:10px}
.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.toolbar-more{display:contents}
.filters-toggle{display:none;align-items:center;gap:8px;height:48px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--white);font-size:var(--fs-ui);font-weight:600;color:var(--ink);transition:border-color .2s}
.filters-toggle:hover{border-color:var(--ink)}
.filters-toggle .icon{width:18px;height:18px}
.filters-toggle b{min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-full);display:grid;place-items:center;background:var(--brand);color:#fff;font-size:var(--fs-caption);font-weight:700}
.toolbar-search{flex:1 1 280px;display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-radius:var(--r);background:var(--white);border:1px solid var(--line-2);transition:border-color .2s,box-shadow .2s}
.toolbar-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px rgb(37 79 98 / .12)}
.toolbar-search .icon{color:var(--muted)}
.toolbar-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:var(--fs-body)}
.select-wrap{position:relative;display:inline-flex;align-items:center}
.select-wrap select{appearance:none;-webkit-appearance:none;height:48px;padding:0 40px 0 16px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--white);font-size:var(--fs-ui);font-weight:550;color:var(--ink);cursor:pointer;transition:border-color .2s}
.select-wrap select:hover{border-color:var(--ink)}
.select-wrap select:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgb(37 79 98 / .12)}
.select-wrap>.icon{position:absolute;right:14px;width:17px;height:17px;color:var(--muted);pointer-events:none}
.select-large{display:flex}
.select-large select{width:100%;height:54px;font-size:var(--fs-body)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip,.segmented-track label{position:relative;cursor:pointer}
.chip input,.segmented-track input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.chip>span{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--white);font-size:var(--fs-ui);font-weight:550;color:var(--body);white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.chip:hover>span{border-color:var(--ink);color:var(--ink)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.chip b{font-size:var(--fs-caption);font-weight:600;color:var(--muted)}
.chip input:checked+span b{color:rgb(255 255 255 / .8)}
.chip.is-zero>span{border-style:dashed;color:var(--muted)}
.chip input:focus-visible+span,.segmented-track input:focus-visible+span{outline:2.5px solid var(--focus);outline-offset:3px}
.segmented{display:flex;align-items:center;gap:10px}
.seg-label{font-size:var(--fs-label);color:var(--muted)}
.segmented-track{position:relative;display:inline-grid;grid-auto-columns:1fr;grid-auto-flow:column;padding:2px;border-radius:var(--r);background:rgb(35 62 76 / .08)}
.segmented-track label{z-index:1}
.segmented-track span{display:grid;place-items:center;height:44px;padding:0 14px;border-radius:var(--r-sm);font-size:var(--fs-label);font-weight:600;color:var(--muted);white-space:nowrap;transition:color .2s}
.segmented-track input:checked+span{color:var(--ink)}
.segmented-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / 3);border-radius:var(--r-sm);background:var(--white);box-shadow:0 1px 2px rgb(35 62 76 / .16);transition:transform .3s var(--ease)}
.segmented-track:has(input[value=city]:checked) .segmented-thumb{transform:translateX(100%)}
.segmented-track:has(input[value=price]:checked) .segmented-thumb{transform:translateX(200%)}
.active-filters{display:flex;flex-wrap:wrap;gap:8px}
.filter-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px 0 12px;border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:var(--fs-label);font-weight:600}
.filter-pill .icon{width:15px;height:15px}
.filter-pill:hover{background:var(--ink)}
.results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;min-height:44px;margin:22px 0 16px;font-size:var(--fs-ui);color:var(--muted)}
#result-count{display:grid;gap:2px}
#result-count strong{font-weight:650;color:var(--ink)}
.results-note{font-size:var(--fs-label)}
.results-hint{display:flex;align-items:center;gap:8px}
.results-hint .icon{width:18px;height:18px}
.map-toggle{display:none;align-items:center;gap:8px;height:44px;white-space:nowrap;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--white);font-size:var(--fs-label);font-weight:600;color:var(--ink)}
.map-toggle .icon{width:17px;height:17px}
.atlas-list-wrap{min-width:0}
.more{display:grid;justify-items:center;gap:10px;margin-top:24px;text-align:center}
.more p{margin:0;font-size:var(--fs-label);color:var(--muted)}
.more .button:hover .button-icon .icon{transform:none}
.empty{grid-column:1/-1;padding:48px 24px;border-radius:var(--r-lg);border:1px dashed var(--line-2);background:var(--white);text-align:center}
.empty-icon{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--brand)}
.empty-icon .icon{width:24px;height:24px}
.empty h2{font-size:var(--fs-headline-sm)}
.empty p{max-width:460px;margin:0 auto 22px;color:var(--muted)}
.empty-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;padding:0;list-style:none}

/* ---------- Clinic profile ---------- */
.profile-art{position:relative;height:clamp(170px,20vw,260px);margin-bottom:clamp(28px,4vw,48px);border-radius:var(--r-xl);overflow:hidden;background:var(--tint);--map-land:var(--white);--map-border:var(--tint)}
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:'intro aside' 'details aside';column-gap:clamp(28px,5vw,72px);align-items:start}
.profile-intro{grid-area:intro}
.profile-details{grid-area:details}
.profile-aside{grid-area:aside;position:sticky;top:calc(var(--header-h) + 24px)}
.profile .page-title{margin-bottom:10px}
.profile-meta{margin:0 0 18px;font-size:var(--fs-ui);color:var(--muted)}
.profile-meta strong{color:var(--ink);font-weight:600}
.profile .lead{margin:20px 0 36px}
.profile-details p,.profile-details li>span,.related .section-head p{max-width:36em}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.info-title{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--sans);font-size:var(--fs-ui);font-weight:650;letter-spacing:0;color:var(--ink)}
.info-title .icon{width:18px;height:18px;color:var(--brand)}
.info-strong{margin:0;font-size:var(--fs-body);font-weight:600}
.info-price{margin:0;font-size:var(--fs-figure);font-weight:650;letter-spacing:-.02em}
.info-price.is-empty,.action-price.is-empty{font-family:var(--serif);font-weight:400;font-size:var(--fs-title-serif);letter-spacing:0;color:var(--muted)}
.info-note{margin:2px 0 10px;font-size:var(--fs-ui);color:var(--muted)}
.info-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:auto;font-size:var(--fs-ui);font-weight:600;color:var(--brand)}
.info-link .icon{width:17px;height:17px}
.info-link:hover span{text-decoration:underline;text-underline-offset:3px}
.ask{margin-top:clamp(44px,6vw,72px)}
.ask-list{display:grid;margin:20px 0 0;padding:0;list-style:none;border-top:1px solid var(--line-2)}
.ask-list li{display:flex;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-2);font-size:var(--fs-body-lg);font-weight:500}
.ask-list .icon{width:18px;height:18px;color:var(--brand);transform:translateY(3px)}
.source-card{display:flex;gap:16px;margin-top:36px;padding:22px;border-radius:var(--r-lg);background:var(--tint)}
.source-card h2{margin:0 0 6px;font-family:var(--sans);font-size:var(--fs-body);font-weight:650;letter-spacing:0}
.source-card p{margin:0;font-size:var(--fs-ui);color:var(--body)}
.source-card a{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-weight:600}
.source-card a .icon{width:15px;height:15px}
.source-icon{color:var(--brand);flex:none}
.evidence{display:grid;gap:8px;margin:12px 0 14px;padding:0;list-style:none}
.evidence li{display:grid;gap:2px;padding:10px 14px;border-radius:var(--r-sm);background:var(--white)}
.evidence a{font-size:var(--fs-ui);overflow-wrap:anywhere}
.evidence small{font-size:var(--fs-caption);color:var(--muted)}
.action-card{display:grid;gap:10px;padding:24px;border-radius:var(--r-xl);background:var(--white);border:1px solid var(--line-2)}
.action-card small{font-size:var(--fs-label);color:var(--muted)}
.action-price{margin:0;font-size:var(--fs-figure-lg);font-weight:650;letter-spacing:-.03em;line-height:1.1}
.action-note{margin:0 0 10px;font-size:var(--fs-label);color:var(--muted)}
.action-card .button{width:100%;justify-content:space-between}
.action-card .button-lead{justify-content:flex-start}
.action-card .button-ghost{justify-content:center}
.save-wide[aria-pressed=true]{border-color:var(--brand);color:var(--brand)}
.related{padding-top:clamp(56px,7vw,96px);padding-bottom:0}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ---------- Guides & articles ---------- */
.read-progress{position:fixed;left:0;right:0;top:0;z-index:45;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:0 50%}
@supports (animation-timeline:scroll()){
  .read-progress{animation:progress linear both;animation-timeline:scroll(root)}
  @keyframes progress{to{transform:scaleX(1)}}
}
.article-hero{max-width:900px;padding:clamp(28px,4vw,56px) 0 clamp(28px,4vw,48px)}
.article-meta{margin:0 0 4px;font-size:var(--fs-ui);color:var(--muted)}
.article-layout{display:grid;grid-template-columns:220px minmax(0,700px);gap:clamp(32px,6vw,96px);padding-bottom:24px}
.article-toc{position:sticky;top:calc(var(--header-h) + 28px);align-self:start}
.article-toc p{margin:0 0 12px;font-size:var(--fs-label);font-weight:650;color:var(--ink)}
.article-toc ol{margin:0;padding:0;list-style:none}
.article-toc button{display:block;width:100%;padding:8px 0 8px 16px;border-left:2px solid var(--line);font-size:var(--fs-ui);line-height:1.4;text-align:left;color:var(--muted);transition:color .2s,border-color .2s}
.article-toc button:hover,.article-toc button.is-active{color:var(--ink);border-left-color:var(--brand)}
.article-section{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 32px)}
.article-section h2{margin-bottom:12px;font-size:var(--fs-headline-sm)}
.article-section p{margin:0;font-size:var(--fs-body-lg);line-height:1.75;color:var(--body)}
.article-note{display:flex;gap:14px;padding:20px 22px;border-radius:var(--r-lg);background:var(--tint);font-size:var(--fs-ui);color:var(--body)}
.article-note .icon{color:var(--brand);margin-top:3px}
.article-note p{margin:0}
.article-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.article-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.next-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:var(--r-xl);background:var(--brand);color:#fff;transition:background-color .2s}
.next-guide:hover{background:var(--brand-dark)}
.next-guide span{display:block;font-size:var(--fs-label);color:rgb(255 255 255 / .82)}
.next-guide strong{display:block;font-family:var(--serif);font-weight:400;font-size:var(--fs-title-serif);line-height:1.15}
.next-guide .icon{width:24px;height:24px;flex:none;transition:transform .3s var(--ease)}
.next-guide:hover .icon{transform:translateX(4px)}

/* ---------- Editorial pages ---------- */
.prose-rows{padding-bottom:24px}
.prose-row{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(16px,5vw,80px);padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--line-2)}
.prose-row h2{margin:0;font-size:var(--fs-headline-sm)}
.prose p{margin:0 0 16px;font-size:var(--fs-body-lg);line-height:1.75;color:var(--body)}
.prose p:last-child{margin-bottom:0}
.prose a:not(.link-arrow):not(.button){color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.prose a:not(.link-arrow):not(.button):hover{text-decoration-color:currentColor}
.palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0 28px;padding:0;list-style:none}
.palette li{display:grid;gap:2px;font-size:var(--fs-label)}
.swatch{aspect-ratio:1;margin-bottom:8px;border-radius:var(--r);border:1px solid var(--line)}
.palette code{font-family:var(--mono);font-size:var(--fs-caption);color:var(--muted)}
.ledger-wrap{margin-bottom:clamp(28px,4vw,48px);overflow-x:auto}
.ledger{width:100%;border-collapse:collapse;font-size:var(--fs-ui)}
.ledger th,.ledger td{padding:16px 20px 16px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ledger thead th{border-bottom:1px solid var(--line-2);font-size:var(--fs-label);font-weight:650;color:var(--ink)}
.ledger tbody tr:last-child>*{border-bottom:0}
.ledger td{font-variant-numeric:tabular-nums}
.ledger tbody th{font-weight:400}
.ledger tfoot th,.ledger tfoot td{border-top:1px solid var(--ink);border-bottom:0;font-weight:650}
.ledger-name{display:block;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.ledger tbody th small{display:block;margin-top:2px;font-size:var(--fs-label);color:var(--muted)}
.storage{display:grid;justify-items:start;gap:12px;margin-top:22px;padding:20px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
.storage-head{display:flex;align-items:center;gap:12px}
.storage-head>.icon{width:22px;height:22px;color:var(--brand)}
.storage-head strong{display:block;font-size:var(--fs-body)}
.storage-head small{font-size:var(--fs-label);color:var(--muted)}
.storage-value{width:100%;padding:12px 14px;border-radius:var(--r-sm);background:var(--tint);font-size:var(--fs-label);color:var(--muted);overflow-wrap:anywhere}
.storage-value code{font-family:var(--mono);color:var(--ink)}
.not-found{padding:clamp(48px,8vw,120px) 0}
.not-found .lead{margin:0 0 28px}

/* ---------- Enquiry demonstration ---------- */
.match{padding:clamp(20px,4vw,48px) 0 clamp(24px,4vw,40px)}
.match-wrap{max-width:760px}
.match-card{padding:clamp(22px,4vw,44px);border-radius:var(--r-xl);background:var(--white);border:1px solid var(--line-2)}
.match-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:var(--fs-label);font-weight:550;color:var(--muted)}
.match-top span{display:inline-flex;align-items:center;gap:6px}
.match-top .icon{width:16px;height:16px}
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 clamp(24px,4vw,36px);padding:0;list-style:none}
.progress-bar{display:block;height:4px;border-radius:var(--r-full);background:var(--tint);overflow:hidden}
.progress-bar i{display:block;width:100%;height:100%;background:var(--brand);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.progress li.is-done .progress-bar i{transform:scaleX(1)}
.progress li.is-current .progress-bar i{transform:scaleX(.5)}
.progress-label{display:block;margin-top:8px;font-size:var(--fs-caption);font-weight:550;color:var(--muted)}
.progress .is-current .progress-label,.progress .is-done .progress-label{color:var(--ink)}
.match-body[data-dir=forward]{--from:16px}
.match-body[data-dir=back]{--from:-16px}
.match-body.step-in>*{animation:step-in .35s var(--ease) backwards}
@keyframes step-in{from{opacity:0;transform:translateX(var(--from,16px))}}
.recap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.recap-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px 0 12px;border-radius:var(--r-sm);background:var(--tint);font-size:var(--fs-label);font-weight:550;color:var(--brand);transition:background-color .2s}
.recap-chip .icon{width:14px;height:14px}
.recap-chip:hover{background:rgb(37 79 98 / .14)}
.recap-reset{min-height:44px;padding:0 6px;font-size:var(--fs-label);font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.recap-reset:hover{color:var(--ink);text-decoration-color:currentColor}
.journey-about{display:flex;align-items:center;gap:8px;margin:-4px 0 18px;font-size:var(--fs-ui);color:var(--body)}
.journey-about .icon{width:17px;height:17px;color:var(--brand)}
.step-title{margin:0 0 10px;font-size:var(--fs-headline);line-height:1.1}
.step-text{max-width:580px;margin:0 0 24px;color:var(--muted)}
.options{display:grid;gap:8px}
.option{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px 14px 14px;border-radius:var(--r-lg);border:1.5px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .2s,background-color .2s}
.option:hover{border-color:var(--line-2)}
.option input{position:absolute;opacity:0;pointer-events:none}
.option:has(input:focus-visible){outline:2.5px solid var(--focus);outline-offset:3px}
.option:has(input:checked){border-color:var(--brand);background:rgb(234 240 241 / .55)}
.option-icon{width:44px;height:44px;border-radius:var(--r);display:grid;place-items:center;background:var(--tint);color:var(--brand);flex:none;transition:background-color .2s,color .2s}
.option-icon b{font-size:var(--fs-label);letter-spacing:.04em}
.option:has(input:checked) .option-icon{background:var(--brand);color:#fff}
.option-text{flex:1;display:grid;gap:2px;min-width:0}
.option-text strong{font-size:var(--fs-body);font-weight:600}
.option-text small{font-size:var(--fs-label);line-height:1.45;color:var(--muted)}
.option-text .option-note{color:var(--body);font-weight:550}
.option-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line-2);color:#fff;flex:none;transition:background-color .2s,border-color .2s}
.option-check .icon{width:14px;height:14px;stroke-width:2.6;opacity:0}
.option:has(input:checked) .option-check{background:var(--brand);border-color:var(--brand)}
.option:has(input:checked) .option-check .icon{opacity:1}
.options-country{grid-template-columns:repeat(2,minmax(0,1fr))}
.options-country .option:last-child:nth-child(odd){grid-column:1/-1}
.city-field{margin-top:18px}
.clinic-options{display:grid;gap:8px;max-height:min(52vh,460px);margin:0 -6px 6px;padding:6px;overflow:auto;overscroll-behavior:contain}
.clinic-option{padding:10px 16px 10px 10px}
.clinic-option-art{position:relative;width:60px;height:60px;flex:none;border-radius:var(--r);overflow:hidden;background:var(--tint);--map-land:var(--white);--map-border:var(--tint)}
.clinic-option-art .crop{position:absolute;inset:0;width:100%;height:100%}
.chosen-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:16px 0 4px}
.chosen-actions .link-arrow{font-size:var(--fs-label)}
.chosen-actions .save-wide[aria-pressed=true]{border-color:var(--brand);color:var(--brand)}
.contact-preview{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.contact-title{margin:0 0 14px;font-family:var(--sans);font-size:var(--fs-title);font-weight:600;letter-spacing:-.01em;line-height:1.3}
.takeaway{margin-top:32px}
.takeaway h2{margin:0;font-size:var(--fs-headline-sm)}
.takeaway .ask-list{margin-top:16px}
.form-error,.field-error{display:flex;align-items:center;gap:7px;margin:14px 0 0;font-size:var(--fs-label);font-weight:550;color:var(--danger)}
.form-error .icon,.field-error .icon{width:16px;height:16px}
.field-error{margin:0}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.back-link{display:inline-flex;align-items:center;gap:8px;padding:10px 4px;font-size:var(--fs-ui);font-weight:600;color:var(--muted);transition:color .2s}
.back-link:hover{color:var(--ink)}
.back-link .icon{width:18px;height:18px}
.uncovered .empty-icon{margin:0 0 20px}
.demo-banner{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;border-radius:var(--r);background:rgb(234 195 157 / .35);font-size:var(--fs-ui)}
.demo-banner p{margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-grid .full{grid-column:1/-1}
.field{display:grid;gap:8px;align-content:start}
.field label{font-size:var(--fs-ui);font-weight:600}
.field label span{font-weight:400;color:var(--muted)}
.field input{width:100%;height:50px;padding:0 14px;border-radius:var(--r);border:1.5px solid var(--line-2);background:var(--white);font-size:var(--fs-body);transition:border-color .2s,box-shadow .2s}
.field input:hover{border-color:rgb(35 62 76 / .45)}
.field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgb(37 79 98 / .12)}
.field input[aria-invalid=true]{border-color:var(--danger)}
.consent{position:relative;display:flex;align-items:flex-start;gap:14px;margin:22px 0 10px;padding:16px;border-radius:var(--r-lg);border:1.5px solid var(--line);font-size:var(--fs-ui);line-height:1.6;cursor:pointer;transition:border-color .2s,background-color .2s}
.consent input{position:absolute;opacity:0;pointer-events:none}
.consent-box{width:22px;height:22px;margin-top:2px;border-radius:var(--r-xs);border:1.5px solid var(--line-2);display:grid;place-items:center;color:#fff;flex:none;transition:background-color .2s,border-color .2s}
.consent-box .icon{width:14px;height:14px;stroke-width:2.8;opacity:0}
.consent:has(input:checked){border-color:var(--brand);background:rgb(234 240 241 / .55)}
.consent:has(input:checked) .consent-box{background:var(--brand);border-color:var(--brand)}
.consent:has(input:checked) .consent-box .icon{opacity:1}
.consent:has(input:focus-visible){outline:2.5px solid var(--focus);outline-offset:3px}
.consent:has(input[aria-invalid=true]){border-color:var(--danger)}
.success-mark{width:72px;height:72px;margin-bottom:20px}
.success-mark svg{width:100%;height:100%;overflow:visible}
.sm-ring{fill:var(--tint);stroke:var(--brand);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);animation:draw .7s var(--ease) .1s forwards}
.sm-check{fill:none;stroke:var(--brand);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .45s var(--ease) .6s forwards}
.handover{display:grid;margin:24px 0 0;border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden}
.handover div{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:var(--fs-ui)}
.handover div:last-child{border-bottom:0;background:var(--tint)}
.handover dt{color:var(--muted)}
.handover dd{margin:0;font-weight:600;text-align:right}
.match-foot{max-width:34em;margin:24px auto 0;font-size:var(--fs-label);line-height:1.7;text-align:center;color:var(--muted)}
.option-text small,.consent>span:last-child,.demo-banner p,.match-body .source-note span{max-width:36em}
.match-foot a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ---------- Comparison, dialog, toast ---------- */
.compare-tray{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:35;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 12px;border-radius:var(--r-lg);background:var(--ink);color:#fff;box-shadow:var(--pop);transform:translateX(-50%);view-transition-name:compare-tray;animation:tray-in .3s var(--ease)}
@keyframes tray-in{from{opacity:0;transform:translate(-50%,16px)}}
.tray-slots{display:flex;gap:4px}
.tray-slot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1.5px dashed rgb(255 255 255 / .45);font-size:var(--fs-label);font-weight:700}
.tray-slot.is-filled{background:var(--accent);color:var(--ink);border:0}
.tray-text{display:grid;min-width:0;font-size:var(--fs-label);line-height:1.35;color:rgb(255 255 255 / .85)}
.tray-names{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tray-text strong{color:#fff}
.tray-clear{min-height:44px;padding:0 12px;border-radius:var(--r-sm);font-size:var(--fs-label);font-weight:600;color:rgb(255 255 255 / .85);text-decoration:underline;text-underline-offset:3px}
.tray-clear:hover{color:#fff}
.compare-dialog{width:min(920px,100% - 32px);max-width:none;max-height:min(90dvh,920px);margin:auto;padding:0;border:0;border-radius:var(--r-xl);background:var(--paper);color:var(--ink);box-shadow:var(--pop);overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateY(12px);transition:opacity .2s,transform .3s var(--ease),overlay .3s allow-discrete,display .3s allow-discrete}
.compare-dialog[open]{opacity:1;transform:none}
@starting-style{.compare-dialog[open]{opacity:0;transform:translateY(12px)}}
.compare-dialog::backdrop{background:rgb(35 62 76 / 0);transition:background-color .3s,overlay .3s allow-discrete,display .3s allow-discrete}
.compare-dialog[open]::backdrop{background:rgb(35 62 76 / .55)}
@starting-style{.compare-dialog[open]::backdrop{background:rgb(35 62 76 / 0)}}
.dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 30px 18px;background:var(--paper);border-bottom:1px solid var(--line)}
.dialog-head h2{margin:0 0 4px;font-size:var(--fs-headline)}
.dialog-head p{margin:0;color:var(--muted)}
.compare-table{padding:0 30px}
.compare-row{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.compare-arts{padding:20px 0 0;border-bottom:0}
.compare-heads{position:sticky;top:var(--head-h,0);z-index:1;padding:10px 0 12px;background:var(--paper)}
.compare-head{display:grid;gap:2px;align-content:start}
.compare-art{position:relative;height:96px;border-radius:var(--r);overflow:hidden;background:var(--tint);--map-land:var(--white);--map-border:var(--tint)}
.compare-art .crop{position:absolute;inset:0;width:100%;height:100%}
.compare-head strong{font-size:var(--fs-body)}
.compare-head small{font-size:var(--fs-label);color:var(--muted)}
.compare-label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:var(--fs-label);font-weight:600;color:var(--muted)}
.compare-label em{padding:2px 8px;border-radius:var(--r-sm);font-size:var(--fs-caption);font-style:normal;font-weight:700}
.compare-label .same{background:var(--tint);color:var(--brand)}
.compare-label .differs{background:var(--accent);color:var(--ink)}
.compare-label .unknown{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--muted)}
.compare-cell{min-width:0;font-size:var(--fs-ui);line-height:1.55}
.compare-cell small{display:block;margin-top:2px;font-size:var(--fs-label);color:var(--muted)}
.compare-row.is-different .compare-cell{margin:-8px -10px;padding:8px 10px;border-radius:var(--r-sm);background:rgb(234 195 157 / .25)}
.compare-price{font-size:var(--fs-figure);font-weight:650;letter-spacing:-.02em}
.link-out{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--brand)}
.link-out .icon{width:15px;height:15px}
.compare-actions{border-bottom:0}
.compare-actions .button{width:100%;justify-content:space-between}
.compare-dialog>.source-note{margin:8px 0 0;padding:0 30px 28px}
#toast{position:fixed;left:50%;bottom:24px;z-index:50;max-width:calc(100% - 32px);opacity:0;transform:translate(-50%,10px);pointer-events:none;transition:opacity .2s,transform .3s var(--ease),bottom .3s var(--ease)}
#toast.is-visible{opacity:1;transform:translate(-50%,0)}
body:has(.compare-tray:not(.is-leaving)) #toast{bottom:92px}
.toast-inner{display:flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:var(--r);background:var(--ink);color:#fff;font-size:var(--fs-ui);font-weight:550;box-shadow:var(--pop)}
.toast-inner .icon{width:18px;height:18px;color:var(--accent)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .market{display:none}
  .nav a{padding:0 11px}
  .profile-grid{grid-template-columns:minmax(0,1fr) 320px}
}
@media (max-width:980px){
  :root{--header-h:64px}
  .nav{display:none}
  .menu-button{display:grid}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{max-width:680px}
  .hero-visual{width:min(100%,520px);margin:8px auto 0}
  .photo-note{left:0;bottom:56px}
  .paths-grid{grid-template-columns:1fr;gap:28px}
  .atlas,.atlas-directory{grid-template-columns:1fr}
  .atlas-map{position:static}
  .atlas-directory .atlas-map{order:-1;display:none}
  .atlas-directory.is-map-open .atlas-map{display:block}
  .map-toggle{display:inline-flex}
  .map-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:8px 24px;align-items:center}
  .map-card .nordic-map{grid-row:span 2;max-height:440px}
  .map-legend{margin:0;padding:0;border:0;align-self:end}
  .map-note{align-self:start}
  .journey{grid-template-columns:1fr}
  .guide-row{grid-template-columns:minmax(0,1fr) auto}
  .guide-topic{grid-column:1/-1}
  .faq{grid-template-columns:1fr}
  .faq-head{position:static}
  .profile-grid{grid-template-columns:1fr;grid-template-areas:'intro' 'aside' 'details'}
  .profile-aside{position:static;margin-bottom:36px}
  .article-layout{grid-template-columns:1fr}
  .article-toc{position:static;padding:16px 18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line)}
  .prose-row{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start;gap:16px}
}
/* Short viewports, including 200% zoom on a laptop: the toolbar scrolls away so focus is never hidden beneath it. */
@media (max-height:720px){
  .toolbar{position:static}
  html:has(.toolbar){scroll-padding-top:calc(var(--header-h) + 20px)}
  .atlas-directory .atlas-map{top:calc(var(--header-h) + 20px)}
}
@media (max-width:640px){
  :root{--header-h:60px}
  html:has(.toolbar){scroll-padding-top:calc(var(--header-h) + 20px)}
  .preview-bar a{display:none}
  .header-actions{gap:8px}
  .header-cta{display:none}
  .save-nav .label{display:none}
  .save-nav{padding:0 10px}
  .hero{padding-top:16px}
  .search-shell{padding:5px}
  .search-icon{display:none}
  .search-shell input{padding-left:12px}
  .search-submit{padding:0 16px}
  .search-submit .button-icon{display:none}
  .photo-note{left:-8px;right:24px;bottom:40px;max-width:none}
  .commitments ul{flex-direction:column;gap:10px}
  .map-card{display:block}
  .map-card .nordic-map{max-height:none}
  .map-legend{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
  .country-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'code main go' 'code stats go' 'bar bar bar';padding:16px 2px}
  .country-stats{justify-items:start}
  .country-code{width:44px;height:44px}
  .clinic-body{padding:18px}
  .clinic-foot{flex-wrap:wrap}
  .journey{padding:28px 22px}
  .journey-steps{grid-template-columns:1fr;gap:16px}
  .guide-row{grid-template-columns:1fr;gap:6px}
  .guide-row .link-arrow{justify-self:start;margin-top:6px}
  .principle-grid{grid-template-columns:1fr}
  .faq-answer p{padding-right:8px}
  .footer-cta{flex-direction:column;align-items:flex-start}
  .footer-main{flex-direction:column}
  .footer-links{flex-wrap:wrap;gap:32px 48px}
  .footer-bottom{flex-direction:column}
  .toolbar{position:static;padding:0 0 4px;border:0;background:transparent}
  .toolbar-search{flex:1 1 160px;min-width:0}
  .filters-toggle{display:inline-flex}
  .toolbar-more{display:none}
  .toolbar-more.is-open{display:flex;flex-wrap:wrap;gap:10px;width:100%}
  .toolbar-row .select-wrap{flex:1 1 calc(50% - 5px)}
  .toolbar-row .select-wrap select{width:100%}
  .segmented{width:100%}
  .segmented-track{flex:1}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter);scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .results-hint{display:none}
  .info-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .action-card{padding:20px}
  .palette{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ledger thead{display:none}
  .ledger,.ledger tbody,.ledger tfoot,.ledger tr,.ledger th,.ledger td{display:block}
  .ledger tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .ledger tbody tr:last-child{border-bottom:0}
  .ledger th,.ledger td{padding:4px 0;border:0}
  .ledger tbody th,.ledger tfoot th{margin-bottom:6px}
  .ledger td{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-ui)}
  .ledger td::before{content:attr(data-label);color:var(--muted)}
  .progress-label{display:none}
  .option{padding:12px 14px 12px 12px;gap:12px}
  .option-icon{width:40px;height:40px}
  .options-country{grid-template-columns:1fr}
  .clinic-option-art{width:50px;height:50px}
  .contact-grid{grid-template-columns:1fr}
  .step-actions{flex-wrap:wrap-reverse}
  .step-actions .button{flex:1}
  .compare-dialog{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:var(--r-xl) var(--r-xl) 0 0;transform:translateY(24px)}
  .compare-dialog[open]{transform:none}
  @starting-style{.compare-dialog[open]{transform:translateY(24px)}}
  .dialog-head{padding:20px 20px 14px}
  .compare-table{padding:0 20px}
  .compare-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px}
  .compare-label{grid-column:1/-1;flex-direction:row;align-items:center}
  .compare-actions .compare-label{display:none}
  .compare-art{height:76px}
  .compare-arts .compare-label,.compare-heads .compare-label{position:absolute}
  .compare-dialog>.source-note{padding:0 20px 28px}
  .compare-tray{gap:10px;padding-left:10px}
  .tray-slots,.tray-names{display:none}
  .tray-text{white-space:nowrap}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important}
  .sm-ring,.sm-check{stroke-dashoffset:0}
}
