/* Kanab Clinic prototype. Brand tokens from kanabclinic.pt (icons #2d4ca1 / #e2bf27, Barlow). */
:root{--kc-blue:#2d4ca1;--kc-blue-dk:#1f3677;--kc-yellow:#e2bf27;--kc-bg:#f5f7fc;--kc-ink:#1c2437;--kc-mute:#4a5570;--kc-line:#d9dfee;--kc-r:10px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font-family:Barlow,system-ui,sans-serif;font-size:18px;line-height:1.6;color:var(--kc-ink);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--kc-blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--kc-yellow);outline-offset:2px}
.kc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.kc-skip{position:absolute;left:-999px}.kc-skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:30}
h1,h2,h3{line-height:1.2;color:var(--kc-ink);font-weight:600;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}h3{font-size:1.2rem}
p{margin:0 0 1em;max-width:65ch}
/* header */
.kc-top{background:var(--kc-blue);color:#fff;font-size:15px}
.kc-top .kc-wrap{display:flex;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.kc-top a{color:#fff;text-decoration:none}.kc-top a:hover{text-decoration:underline}
.kc-head{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--kc-line)}
.kc-head .kc-wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.kc-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.kc-logo img{height:52px;width:auto}
.kc-nav{display:flex;align-items:center;gap:22px}
.kc-nav a{color:var(--kc-ink);text-decoration:none;font-weight:500;font-size:16px;padding:6px 0;border-bottom:2px solid transparent}
.kc-nav a:hover,.kc-nav a[aria-current=page]{border-bottom-color:var(--kc-yellow)}
.kc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--kc-blue);color:#fff!important;border:2px solid var(--kc-blue);border-radius:var(--kc-r);padding:12px 22px;font:600 17px/1.2 Barlow,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,transform .1s}
.kc-btn:hover{background:var(--kc-blue-dk);border-color:var(--kc-blue-dk)}.kc-btn:active{transform:translateY(1px)}
.kc-btn--ghost{background:#fff;color:var(--kc-blue)!important}.kc-btn--ghost:hover{background:var(--kc-bg)}
.kc-nav .kc-btn{border-bottom:2px solid var(--kc-blue);padding:10px 18px;color:#fff}
.kc-menu{display:none;background:none;border:1px solid var(--kc-line);border-radius:var(--kc-r);padding:8px 12px;font:600 16px Barlow,sans-serif;color:var(--kc-ink)}
@media (max-width:980px){.kc-menu{display:block}.kc-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px 24px 20px;border-bottom:1px solid var(--kc-line);gap:4px}.kc-nav.is-open{display:flex}.kc-nav a{padding:10px 0}}
/* hero */
.kc-hero{background:var(--kc-bg)}
.kc-hero .kc-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:56px}
.kc-hero p.kc-lead{font-size:1.2rem;color:var(--kc-mute)}
.kc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.kc-doc img{border-radius:var(--kc-r);aspect-ratio:4/5;object-fit:cover;width:100%}
.kc-doc figcaption{margin-top:10px;font-size:16px;color:var(--kc-mute)}.kc-doc strong{display:block;color:var(--kc-ink);font-size:18px}
@media (max-width:820px){.kc-hero .kc-wrap{grid-template-columns:1fr;gap:28px;padding-top:32px}.kc-doc{max-width:320px}}
/* trust strip */
.kc-trust{border-bottom:1px solid var(--kc-line)}
.kc-trust ul{list-style:none;margin:0;padding:18px 0;display:flex;flex-wrap:wrap;gap:12px 36px;font-size:16px;color:var(--kc-mute)}
.kc-trust li{display:flex;gap:8px;align-items:center}.kc-trust svg{flex:none;color:var(--kc-blue)}
section.kc-sec{padding:72px 0}
.kc-sec--tint{background:var(--kc-bg)}
/* path (circuit line) */
.kc-path{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.kc-path::before{content:"";position:absolute;top:13px;left:10%;right:10%;height:2px;background:var(--kc-blue)}
.kc-path li{position:relative;padding:40px 14px 0;text-align:center;font-size:16px;color:var(--kc-mute)}
.kc-path li::before{content:"";position:absolute;top:4px;left:50%;margin-left:-11px;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--kc-blue)}
.kc-path li:first-child::before{background:var(--kc-yellow);border-color:var(--kc-yellow)}
.kc-path strong{display:block;color:var(--kc-ink);font-size:18px;margin-bottom:4px}
@media (max-width:820px){.kc-path{grid-template-columns:1fr}.kc-path::before{top:0;bottom:0;left:10px;right:auto;width:2px;height:auto}.kc-path li{text-align:left;padding:0 0 22px 44px}.kc-path li::before{left:0;margin-left:0}}
/* split */
.kc-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:820px){.kc-split{grid-template-columns:1fr;gap:24px}}
.kc-checks{list-style:none;padding:0;margin:0 0 1em}
.kc-checks li{position:relative;padding-left:30px;margin-bottom:8px}
.kc-checks li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:7px;border-left:2.5px solid var(--kc-blue);border-bottom:2.5px solid var(--kc-blue);transform:rotate(-45deg)}
.kc-cols{columns:2;column-gap:40px}@media (max-width:820px){.kc-cols{columns:1}}
.kc-note{border-left:4px solid var(--kc-yellow);background:#fff;padding:14px 18px;border-radius:0 var(--kc-r) var(--kc-r) 0;font-size:16px;color:var(--kc-mute)}
.kc-types{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;margin-top:28px}
.kc-type{border:1px solid var(--kc-line);border-radius:var(--kc-r);padding:24px;background:#fff}
.kc-type--main{background:var(--kc-blue);color:#fff;border-color:var(--kc-blue)}.kc-type--main h3,.kc-type--main p{color:#fff}
.kc-type p{font-size:16px}.kc-type .kc-meta{font-weight:600}
@media (max-width:900px){.kc-types{grid-template-columns:1fr}}
/* faq */
.kc-faq details{border-bottom:1px solid var(--kc-line);padding:16px 0}
.kc-faq summary{cursor:pointer;font-weight:600;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.kc-faq summary::after{content:"+";color:var(--kc-blue);font-size:24px;line-height:1}
.kc-faq details[open] summary::after{content:"\2212"}
.kc-faq details p{margin:10px 0 0;color:var(--kc-mute)}
/* articles */
.kc-arts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:24px}
.kc-art img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--kc-r);width:100%}
.kc-art h3{font-size:19px;margin-top:12px}.kc-art h3 a{color:var(--kc-ink);text-decoration:none}.kc-art h3 a:hover{color:var(--kc-blue);text-decoration:underline}
.kc-art time{font-size:15px;color:var(--kc-mute)}
@media (max-width:900px){.kc-arts{grid-template-columns:1fr}}
/* cta band */
.kc-cta{background:var(--kc-blue);color:#fff}.kc-cta .kc-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:48px;padding-bottom:48px;flex-wrap:wrap}
.kc-cta h2,.kc-cta p{color:#fff;margin:0}.kc-cta .kc-btn{background:#fff;color:var(--kc-blue)!important;border-color:#fff}
/* footer */
.kc-foot{background:#141b2d;color:#c9d0e2;font-size:16px;padding:48px 0 28px}
.kc-foot a{color:#fff}.kc-foot .kc-cols3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.kc-foot h2{font-size:17px;color:#fff}.kc-foot ul{list-style:none;padding:0;margin:0}.kc-foot li{margin-bottom:6px}
.kc-foot .kc-legal{border-top:1px solid #2b3550;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (max-width:820px){.kc-foot .kc-cols3{grid-template-columns:1fr}}
/* booking wizard */
.kc-book{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.kc-steps{list-style:none;margin:0;padding:0;position:sticky;top:96px}
.kc-steps li{padding:10px 0 10px 36px;position:relative;color:var(--kc-mute);font-weight:500}
.kc-steps li::before{content:"";position:absolute;left:4px;top:15px;width:14px;height:14px;border-radius:50%;border:3px solid var(--kc-line);background:#fff}
.kc-steps li.is-current{color:var(--kc-ink);font-weight:600}.kc-steps li.is-current::before{border-color:var(--kc-blue);background:var(--kc-yellow)}
.kc-steps li.is-done::before{border-color:var(--kc-blue);background:var(--kc-blue)}
@media (max-width:820px){.kc-book{grid-template-columns:1fr;gap:16px}.kc-steps{position:static;display:flex;gap:6px}.kc-steps li{padding:0;font-size:0;flex:1;height:6px;background:var(--kc-line);border-radius:3px}.kc-steps li::before{display:none}.kc-steps li.is-current,.kc-steps li.is-done{background:var(--kc-blue)}}
.kc-panel[hidden]{display:none}
.kc-panel fieldset{border:0;padding:0;margin:0 0 20px}
.kc-panel legend{font-size:1.5rem;font-weight:600;margin-bottom:14px}
.kc-opts{display:grid;gap:12px}
.kc-opt{display:flex;gap:14px;align-items:flex-start;border:2px solid var(--kc-line);border-radius:var(--kc-r);padding:16px 18px;cursor:pointer;background:#fff}
.kc-opt:hover{border-color:#9fb0dc}.kc-opt:has(input:checked){border-color:var(--kc-blue);background:var(--kc-bg)}
.kc-opt input{margin-top:5px;width:20px;height:20px;accent-color:var(--kc-blue);flex:none}
.kc-opt span small{display:block;color:var(--kc-mute);font-size:15px}
.kc-field{display:grid;gap:6px;margin-bottom:18px}
.kc-field label{font-weight:600;font-size:16px}
.kc-field input,.kc-field select,.kc-field textarea{font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid #8390ad;border-radius:8px;color:var(--kc-ink);background:#fff;width:100%}
.kc-field .kc-help{font-size:15px;color:var(--kc-mute)}
.kc-err{color:#b3261e;font-size:15px;font-weight:500}
.kc-err:empty{display:none}
.kc-check{display:flex;gap:10px;align-items:flex-start;font-size:16px;margin-bottom:12px}.kc-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--kc-blue);flex:none}
.kc-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.kc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}@media (max-width:640px){.kc-grid2{grid-template-columns:1fr}}
.kc-summary{background:var(--kc-bg);border-radius:var(--kc-r);padding:20px 24px}
.kc-summary dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}.kc-summary dt{font-weight:600}.kc-summary dd{margin:0}
.kc-page-head{background:var(--kc-bg);padding:44px 0 36px}
.kc-page-head p{color:var(--kc-mute);font-size:1.1rem}
.kc-prose h2{margin-top:1.4em}
/* language switch + utilities (phase 3) */
.kc-head-end{order:3;display:flex;align-items:center;gap:12px}
.kc-nav{margin-left:auto}
.kc-lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--kc-line);border-radius:var(--kc-r);color:var(--kc-ink);font-weight:600;font-size:15px;text-decoration:none;letter-spacing:.04em;transition:border-color .2s,color .2s}
.kc-lang:hover{border-color:var(--kc-blue);color:var(--kc-blue)}
.kc-foot-logo{filter:brightness(0) invert(1);margin-bottom:12px}
.kc-mt{margin-top:24px}
.kc-rounded{border-radius:var(--kc-r)}
.kc-narrow{max-width:860px}
section.kc-sec--tight{padding-top:40px}
.kc-opt-tag{font-weight:400}
.kc-panel legend.kc-legend-sm{font-size:1.2rem}
.kc-doc--team{max-width:420px;margin:0}
.kc-years{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.kc-years a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--kc-line);border-radius:var(--kc-r);background:#fff;text-decoration:none;font-weight:500;font-variant-numeric:tabular-nums}
.kc-years a:hover{border-color:var(--kc-blue)}
section.kc-sec--year{padding:48px 0 8px;scroll-margin-top:84px}
section.kc-sec--year:last-of-type{padding-bottom:72px}
.kc-art-hero{margin-bottom:28px;width:100%;aspect-ratio:16/10;object-fit:cover}
.kc-prose ul{padding-left:1.2em;margin:0 0 1em;max-width:65ch}.kc-prose li{margin-bottom:.4em}
.kc-prose h2{font-size:1.5rem}
.kc-artnav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--kc-line);margin-top:36px;padding-top:20px;font-size:16px}
.kc-artnav a{max-width:48%}.kc-artnav a:last-child{text-align:right}
@media (max-width:640px){.kc-artnav{flex-direction:column}.kc-artnav a{max-width:none}.kc-artnav a:last-child{text-align:left}}
/* web-design-guidelines fixes */
html{scroll-padding-top:88px;-webkit-tap-highlight-color:rgba(45,76,161,.15)}
a,button,input,select,textarea,label,summary{touch-action:manipulation}
.kc-field select{background-color:#fff;color:var(--kc-ink)}
section.kc-sec--year{content-visibility:auto;contain-intrinsic-size:auto 900px}
.kc-art h3,.kc-artnav a,.kc-prose p{overflow-wrap:anywhere}
.kc-summary dd{overflow-wrap:anywhere;min-width:0}
