/* Regional page components: incumbent Humme tokens, no new theme or framework. */
.karlsruhe-page ::selection{background:var(--accent);color:#fff}
.karlsruhe-page h2{font-size:clamp(28px,2.65vw,38px);max-width:30ch;text-wrap:balance;letter-spacing:-.03em}
.karlsruhe-page h3{font-size:21px;line-height:1.3;letter-spacing:-.02em;text-wrap:balance}
.karlsruhe-page main p{max-width:68ch}
.ka-opening,.ka-close{background:var(--night);color:#fff}
.ka-opening :focus-visible,.ka-close :focus-visible{outline-color:#f0d5b6}
.ka-breadcrumb{display:flex;align-items:center;gap:12px;padding-block:8px;font-size:13px;color:#d1deeb}
.ka-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.ka-hero-stage{position:relative;isolation:isolate;overflow:hidden;background:var(--night)}
.ka-hero-background,.ka-hero-video,.ka-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.ka-hero-background{z-index:-3;display:block}
.ka-hero-background img,.ka-hero-video{width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block}
.ka-hero-video{z-index:-2;opacity:0;transition:opacity .25s ease-out}
@media(min-width:1600px){.ka-hero-background img,.ka-hero-video{object-position:center 75%}}
@media(min-width:2200px){.ka-hero-background img,.ka-hero-video{object-position:center 64%}}
.ka-hero-stage.has-video .ka-hero-video{opacity:1}
.ka-hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(9,25,43,.93) 0%,rgba(9,25,43,.86) 28%,rgba(9,25,43,.42) 52%,rgba(9,25,43,.06) 76%)}
.ka-hero-breadcrumb{position:relative}
.ka-hero{display:flex;align-items:center;min-height:clamp(490px,38vw,580px);padding-block:40px 70px}
.ka-hero-copy{max-width:520px;width:45%}
.ka-video-toggle{position:absolute;right:max(28px,calc((100vw - 1280px)/2));bottom:22px;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #ffffff70;border-radius:6px;color:#fff;background:#102942d9;font:600 14px Hanken,sans-serif;cursor:pointer}
.ka-video-toggle[hidden],.ka-video-toggle [hidden]{display:none}
.ka-video-toggle:hover{background:var(--night)}
.ka-video-toggle:focus-visible{outline:3px solid #f0d5b6;outline-offset:4px}
.ka-hero h1{font-size:clamp(44px,4.6vw,64px);line-height:1.08;letter-spacing:-.035em}
.ka-hero-copy>p{margin-top:18px;color:#d1deeb;font-size:17px;line-height:1.55}
.ka-hero-copy>.ka-lead{font-size:23px;line-height:1.4;font-weight:600;color:#fff;max-width:29ch;margin-top:20px}
.ka-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:26px}
.ka-opening .text-link,.ka-close .text-link{color:#fff;text-decoration:underline;text-underline-offset:5px}
.ka-hero-copy>.ka-note{font-size:14px;margin-top:12px}
.ka-jump{display:flex;gap:8px 36px;flex-wrap:wrap;border-top:1px solid #496076;padding-block:10px;font-size:14px;font-weight:600}
.ka-jump a{min-height:44px;display:flex;align-items:center}
.ka-jump a:hover{text-decoration:underline;text-underline-offset:5px}
.ka-intro{margin-top:24px;color:var(--muted);font-size:18px;max-width:70ch}
.ka-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}
.ka-group-icon{width:32px;height:32px;color:var(--accent);margin-bottom:16px}
.ka-groups h3{max-width:24ch;min-height:2.6em}
.ka-groups p,.ka-comparison p{margin-top:16px;color:var(--muted)}
.ka-rides{padding-bottom:88px}
.ka-rides h2{max-width:30ch}
.ka-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px;border-block:1px solid var(--line);padding-block:28px}
.ka-region{background:var(--pale)}
.ka-region h2{max-width:31ch}
.ka-region-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:64px;align-items:start;margin-top:40px}
.ka-region-visual{position:sticky;top:24px;min-width:0}
.ka-map{margin:0}.ka-map img{display:block;width:100%;height:auto;background:#fff}
.ka-map figcaption{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}
.ka-map figcaption a{text-decoration:underline;display:inline-block;min-height:28px;padding-top:4px}
.ka-directions{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #c5d0e4;padding-top:18px;margin-top:22px;font-weight:600;font-size:16px}
.ka-local-examples article+article{margin-top:28px;padding-top:28px;border-top:1px solid #c5d0e4}
.ka-local-examples p{margin-top:12px;color:var(--muted)}
.ka-region-link{margin-top:32px;max-width:100%;line-height:1.5}
.ka-region-link .icon{flex-shrink:0}
.ka-person{display:grid;grid-template-columns:.7fr 1.3fr;gap:72px}
.ka-person h2{max-width:18ch}
.ka-person p{font-size:20px;line-height:1.6}.ka-person p+p{margin-top:20px;color:var(--muted);font-size:18px}
.ka-person-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:24px}.ka-person-links a{font-size:19px;text-decoration:underline;text-underline-offset:5px}
.ka-process{background:#f3f6fb}
.ka-process-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.ka-process-heading .button{flex-shrink:0}
.ka-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px;padding:0}
.ka-step-number{display:block;color:var(--accent);font-family:var(--display);font-size:36px;font-weight:700;line-height:1;margin-bottom:20px;font-variant-numeric:tabular-nums}
.ka-steps p{margin-top:14px;color:var(--muted)}
.ka-price{display:grid;grid-template-columns:1fr 1fr;gap:32px 72px}
.ka-price>div>p{margin-top:24px;color:var(--muted)}
.ka-factors{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.ka-factors>div{border-top:1px solid var(--line);padding-top:16px}
.ka-factors dt{font-weight:700;font-size:19px}.ka-factors dd{margin:8px 0 0;color:var(--muted)}
.ka-price-note{grid-column:2;margin:0;font-weight:600}
.ka-urgent{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;padding:32px;background:var(--pale)}
.ka-urgent h2{font-size:27px}.ka-urgent p{font-size:16px;margin-top:14px;color:var(--muted)}
.ka-urgent-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ka-urgent .button{font-size:16px;white-space:normal}
.ka-faq{max-width:820px}.ka-faq h2{margin-bottom:28px}.ka-faq .faq-list{width:100%}
.ka-faq .faq-item summary{font-size:19px;min-height:64px}.ka-faq .faq-item summary .icon{flex-shrink:0}
.ka-faq .faq-item div{color:var(--muted)}
.ka-close h2{max-width:27ch;font-size:clamp(32px,3.4vw,46px)}
.ka-close p{margin-top:24px;color:#d1deeb;font-size:18px}
.ka-close .button{background:#fff;color:var(--night)}.ka-close .button:hover{background:var(--pale)}
@media(max-width:1100px){.ka-region-grid,.ka-person,.ka-price{gap:40px}.ka-groups,.ka-comparison,.ka-steps{gap:28px}.ka-urgent{gap:28px}}
@media(max-width:780px){.ka-hero-stage{min-height:680px}.ka-hero{min-height:620px;align-items:flex-start;padding-top:12px;padding-bottom:32px}.ka-hero-copy{width:100%;max-width:370px}.ka-hero-background img{object-fit:cover;object-position:50% 100%}.ka-hero-shade{background:linear-gradient(180deg,rgba(9,25,43,.9) 0%,rgba(9,25,43,.78) 37%,rgba(9,25,43,.22) 61%,rgba(9,25,43,.06) 100%)}.ka-hero-video,.ka-video-toggle{display:none}.ka-hero h1{font-size:clamp(40px,8vw,58px)}.ka-hero-copy>.ka-lead{max-width:33ch}.ka-jump{gap:0 24px}.ka-groups,.ka-comparison,.ka-region-grid,.ka-person,.ka-price{grid-template-columns:1fr}.ka-groups{gap:28px}.ka-groups article{position:relative;padding-left:50px}.ka-group-icon{position:absolute;left:0;top:0}.ka-groups h3{min-height:0;max-width:100%}.ka-groups p{margin-top:10px}.ka-comparison{gap:24px}.ka-comparison article+article{border-top:1px solid var(--line);padding-top:24px}.ka-region-grid{gap:32px}.ka-region-visual{position:static}.ka-region h2{max-width:28ch}.ka-region-link{font-size:16px}.ka-person{gap:24px}.ka-person h2{max-width:25ch}.ka-price-note{grid-column:1}.ka-rides{padding-bottom:60px}.ka-urgent{grid-template-columns:1fr;padding:28px;gap:24px}.ka-steps{gap:28px;grid-template-columns:1fr}.ka-steps li{position:relative;padding-left:48px}.ka-step-number{position:absolute;left:0;top:0;font-size:30px}.ka-steps p{margin-top:10px}.ka-process-heading{align-items:flex-start;flex-direction:column}.ka-intro{font-size:17px}.ka-person p{font-size:19px}.ka-person p+p{font-size:17px}}
@media(max-width:480px){.karlsruhe-page main p{font-size:17px}.ka-hero-copy>.ka-lead{font-size:22px}.ka-hero-copy>.ka-note{font-size:14px}.ka-jump{font-size:13px;gap:0 20px}.ka-directions{flex-wrap:wrap;gap:6px 18px}.karlsruhe-page .ka-directions p{font-size:16px}.ka-urgent h2{font-size:25px}.ka-factors{gap:24px}.ka-faq .faq-item summary{font-size:18px}.ka-groups article{padding-left:44px}.ka-group-icon{width:28px;height:28px}.ka-person-links{gap:8px}.ka-person-links a{font-size:18px}}
@media(max-width:360px){.ka-hero h1{font-size:38px}.ka-actions{gap:12px 20px}.ka-urgent{padding:24px 18px}.ka-urgent .button{font-size:15px;padding-inline:14px}.ka-factors{grid-template-columns:1fr}.ka-directions{display:grid;gap:8px}}

/* Local geographic map: enlarge without a third-party map embed. */
.ka-map-expand{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:4px;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ka-map-expand:hover{color:var(--accent-hover)}

@media(min-width:601px) and (max-width:780px){.ka-hero-background img{object-fit:contain;object-position:right bottom}.ka-hero-copy{max-width:50%}.ka-hero-shade{background:linear-gradient(90deg,#102942 10%,#102942ed 33%,#10294255 63%,transparent 100%)}}
@media(max-width:480px){.ka-hero h1{font-size:44px}.ka-hero-copy>.ka-lead{font-size:21px;max-width:26ch;margin-top:16px}.ka-hero .ka-actions{margin-top:22px;gap:12px 20px}.ka-hero .button{padding-inline:18px}.ka-hero-copy>.ka-note{color:#fff}}
@media(max-width:360px){.ka-hero h1{font-size:38px}.ka-hero-copy>.ka-lead{font-size:20px}.ka-hero .ka-actions{gap:12px}.ka-hero .button{font-size:15px;padding-inline:14px}.ka-hero .text-link{font-size:15px}.ka-hero-stage{min-height:660px}.ka-hero{min-height:600px}}
@media(prefers-reduced-motion:reduce){.ka-hero-video,.ka-video-toggle{display:none}.ka-hero-video{transition:none}}
