/* Production refinements for the approved Heidekreis V2 design. */
html { scroll-padding-top: 110px; }
body { overflow-x:clip; }
* { min-width:0; }
[id] { scroll-margin-top:0; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #099bd7; outline-offset:5px; }
.hero :focus-visible,footer :focus-visible,.site-header :focus-visible { outline-color:#aee8fb; }
.site-header.scrolled :focus-visible { outline-color:#098fc8; }
.skip-link { position:fixed;z-index:500;left:16px;top:10px;padding:12px 20px;background:white;color:var(--navy);transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.js-only { display:none; }
.js .js-only { display:inline-flex; }
.js .assistant-launch { display:grid; }
.header-actions { margin-left:auto;flex-shrink:0; }
.brand { min-width:0; }
.brand img { width:168px;object-fit:contain;background:rgba(255,255,255,.94);padding:4px; }
.brand .mini { width:118px;flex-shrink:0; }
.nav { gap:24px; }
.menu-btn { cursor:pointer;flex-shrink:0;border:1px solid currentColor;border-radius:2px;align-items:center;justify-content:center; }
.js .menu-btn { display:none; }
.lang { min-height:44px; }
.hero-grid { grid-template-columns:minmax(0,1fr) minmax(285px,.45fr);gap:5vw; }
.hero-title { overflow-wrap:normal;hyphens:auto;font-size:clamp(3rem,6.35vw,6.9rem);line-height:.98; }
.hero-title .accent { line-height:.98; }
.hero-grid>div:first-child>* { opacity:1;transform:none;animation:none; }
.js.motion-enabled .hero-grid>div:first-child>* { animation:heroIn .65s ease both;animation-delay:.04s; }
.hero-media { background:#062f57; }
.hero-poster { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.hero-media video { opacity:0;transition:opacity .5s; }
.hero-media video.playing { opacity:1; }
.hero-card { display:block; }
.hero-card h2 { font-family:'Archivo';font-size:1.4rem;line-height:1.15;font-weight:400;margin:11px 0 24px; }
.hero-card-list small { opacity:.85; }
.eyebrow { color:#086b94; }
.hero-micro { color:#d1e0e9; }
.scrollcue { display:none; }
.motion-toggle { position:absolute;right:104px;bottom:15px;z-index:5;min-height:44px;padding:6px 12px;background:#062f57b8;color:#fff;border:1px solid #ffffff60;font-size:.75rem;cursor:pointer; }
.reveal,.reveal.in { opacity:1;transform:none;filter:none;clip-path:none; }
.js.motion-enabled .reveal.in { animation:revealIn .65s cubic-bezier(.2,.75,.25,1) both; }
@keyframes revealIn { from { transform:translateY(18px); } to { transform:none; } }
.story { padding:0; }
.story-grid { min-height:0!important; }
.chapter { min-height:85svh!important;padding:15vh 49vw 12vh var(--pad)!important;opacity:1!important;transform:none;filter:none; }
.chapter>* { max-width:650px; }
.chapter h3 { font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.05;overflow-wrap:break-word;hyphens:auto; }
.chapter p { color:#d4e1e9; }
.chapter ul { margin-left:34px; }
.chapters { pointer-events:auto; }
.sticky-media .fallback { background-image:url('../images/care-poster.webp');filter:saturate(.78) brightness(.75);transition:background-image .4s; }
.sticky-media video { opacity:0;object-fit:cover; }
.sticky-media video.playing { opacity:1; }
.media-info { z-index:4; }
.media-info small { color:#c6f0fd; }
.service-card { display:flex;flex-direction:column; }
.service-card .icon { margin-bottom:30px; }
.service-card p,.service-card.dark p,.section-top p,.contact p { color:#536b7b; }
.service-card h3 { overflow-wrap:break-word; }
.service-request { margin-top:auto;padding-top:26px;text-decoration:underline;text-underline-offset:5px;font-size:.95rem;font-weight:600;min-height:44px;align-self:flex-start; }
.service-card .arrow { pointer-events:none; }
.service-card:focus-within { box-shadow:inset 0 0 0 2px var(--blue); }
.flyer-frame { transform:none; }
.flyer-frame img { aspect-ratio:565/420;object-fit:cover; }
.image-note { position:absolute;left:12px;bottom:12px;font-size:.7rem;background:#062f57c9;color:white;padding:4px 9px; }
.float-note { bottom:-24px; }
.contact-card { padding:28px; }
.contact-card img { width:210px;height:auto; }
.contact-line { display:block; }
.contact-line small { display:block;margin-bottom:4px; }
.contact-line b,.contact-line a,.contact-line address { display:block;text-align:left;overflow-wrap:anywhere; }
address { font-style:normal;line-height:1.65; }
.contact-line a { text-decoration:underline;text-underline-offset:4px; }
footer { padding-bottom:108px; }
.foot img { filter:none;background:#f3f5f5;opacity:1;padding:6px;width:190px;height:auto; }
.footer-brand { max-width:530px;line-height:1.7;overflow-wrap:anywhere; }
.footer-brand p { margin-bottom:5px; }
.foot-links a { display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px; }
.foot-links { max-width:520px;gap:8px 24px; }
.foot-note { color:#b4c7d3; }
.foot-note a { padding-block:12px; }
dialog.assistant { display:none;inset:auto 22px 94px auto;margin:0;padding:0;width:min(440px,calc(100vw - 30px));max-height:calc(100dvh - 120px);border:1px solid #cbdce5;background:#fff;color:var(--ink);opacity:1;transform:none;pointer-events:auto;transition:opacity .15s; }
dialog.assistant[open] { display:flex;flex-direction:column; }
dialog.assistant::backdrop { background:#031c3166;backdrop-filter:blur(2px); }
.as-head { flex-shrink:0; }
.as-avatar { flex-shrink:0; }
.as-avatar img { width:38px;height:auto; }
.as-close { min-width:44px;min-height:44px; }
.as-body { max-height:none;overflow:auto;overscroll-behavior:contain;padding:22px; }
.as-body h2 { font-size:1.45rem;line-height:1.2;margin:10px 0 16px; }
.as-body p { font-size:.94rem;line-height:1.5; }
.as-step { color:#536b7b;font-size:.8rem; }
.choices { display:grid;grid-template-columns:1fr; }
.choice { text-align:left;min-height:46px;font-size:.92rem; }
.choice[aria-pressed="true"] { background:var(--navy);color:white;border-color:var(--navy); }
.as-body label { display:block;font-weight:600;margin-block:15px 8px; }
.as-body input,.as-body textarea { width:100%;max-width:100%;padding:12px;border:1px solid #9ab2c2;border-radius:2px;font:inherit; }
.as-body textarea { min-height:155px;font-size:.88rem;resize:vertical; }
.as-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:18px; }
.as-actions .choice { flex:1; }
.as-primary { background:var(--navy);color:white;border-color:var(--navy); }
.as-body .handoff { display:block;padding:13px 14px;margin-top:10px;min-height:46px;background:var(--navy);color:white;text-align:center;font-weight:600; }
.as-body .secondary-link { display:block;text-decoration:underline;margin-top:14px;padding-block:6px; }
.as-error { color:#9c2424;font-weight:600; }
.as-summary { margin:0; }
.as-summary dt { color:#526b7c;font-size:.84rem;margin-top:14px; }
.as-summary dd { margin:3px 0 0;font-weight:600;overflow-wrap:anywhere; }
.as-note { color:#526b7c;font-size:.83rem!important; }
.as-body button:disabled { opacity:.5;cursor:not-allowed; }
.legal-page .site-header { background:#f3f5f5;color:var(--navy);border-color:var(--line); }
.legal-page .call-btn { color:white;background:var(--navy); }
.legal-content { max-width:980px;padding:150px 28px 95px;margin:auto;line-height:1.75; }
.legal-content h1 { font-size:clamp(2.8rem,6vw,4.8rem);line-height:1.1;letter-spacing:-.05em;margin:20px 0 45px; }
.legal-content h2 { margin:38px 0 10px;font-size:1.45rem;line-height:1.3; }
.legal-content a { text-decoration:underline;overflow-wrap:anywhere;text-underline-offset:4px; }
.legal-content .eyebrow { display:flex;margin-top:40px; }
.back-link { display:inline-block;min-height:44px; }
body:not(.js) .site-header { position:relative;background:var(--navy);height:auto;flex-wrap:wrap;gap:16px;padding:18px; }
body:not(.js) .nav { display:flex;flex-wrap:wrap;color:white; }
body:not(.js) .chapter { min-height:auto!important;padding:60px var(--pad)!important; }
body:not(.js) .sticky-media { display:none; }
body:not(.js) .story-grid,body:not(.js) .chapters { display:block!important; }
body:not(.js) .hero-grid { padding-top:65px; }
body.motion-paused * { animation:none!important;scroll-behavior:auto!important; }
body.motion-paused .hero-media { transform:none!important; }
@media(max-width:1200px){.brand .mini { display:none; }.nav { gap:18px; }.site-header { padding-inline:24px; }}
@media(max-width:1050px){
 .js .menu-btn { display:inline-flex; }
 .js .nav { display:none; }
 .js .nav.open { display:flex;position:absolute;top:100%;left:0;right:0;margin:0;padding:20px 24px;background:#f3f5f5;color:var(--navy);flex-direction:column;align-items:stretch;box-shadow:0 20px 30px #062f5720;max-height:calc(100dvh - 88px);overflow:auto; }
 .nav a { padding:12px 0;min-height:44px; }
 .nav a:after { display:none; }
 .hero-grid { grid-template-columns:1fr;gap:35px; }
 .hero-title { max-width:850px; }
 .hero-card { max-width:620px; }
 .story-grid { display:block!important; }
 .sticky-media { display:none; }
 .chapters { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff20; }
 .chapter { min-height:0!important;padding:60px 30px!important;background:#08283f; }
 .chapter>* { margin-left:0;max-width:none; }
 .chapter ul { margin-left:0; }
 .chapter::before { display:none; }
 .chapter h3 { font-size:2.6rem; }
 .chapter .num { font-size:.7rem; }
 .hero-grid { padding-bottom:72px; }
}
@media(max-width:680px){
 html { scroll-padding-top:90px; }[id] { scroll-margin-top:0; }
 .site-header { left:0;right:0;top:0;height:76px;padding:8px 12px;border-radius:0; }
 .brand img { width:119px;height:55px; }
 .header-actions { gap:7px; }.lang { width:58px;padding:8px 5px; }
 .hero-grid { padding:124px 20px 75px; }
 .hero-title { font-size:clamp(2.65rem,11.8vw,4.7rem);line-height:1.02; }
 .hero-card { display:block;padding:22px; }
 .hero-card h2 { font-size:1.3rem; }
 .hero-card-list div { padding:11px 0; }
 .motion-toggle { right:90px; }
 .hero-poster { object-position:80% center; }
 .intro h2,.story-head h2,.section-top h2,.care-copy h2,.contact h2,.values h2 { font-size:clamp(2.45rem,10.3vw,3.4rem);line-height:1.04;hyphens:auto;overflow-wrap:break-word; }
 .story-head { padding:80px 20px 55px; }
 .chapters { grid-template-columns:1fr; }
 .chapter { padding:48px 25px!important; }
 .chapter h3 { font-size:2.3rem; }
 .chapter>* { max-width:none; }
 .chapter p { line-height:1.6; }
 .chapter li { font-size:.73rem; }
 .service-card { min-height:300px!important;padding:25px; }
 .contact-shell { padding:24px 18px; }
 .contact-card { padding:24px 18px; }
 .float-note { position:relative;right:auto;bottom:auto;margin:0;max-width:none; }
 .care-grid { gap:35px; }
 .foot { display:grid; }
 .foot-links { gap:6px 18px; }
 .foot-note { display:block; }
 .foot-note a { display:block;margin-top:10px; }
 dialog.assistant { right:10px;left:10px;bottom:12px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px); }
 .as-body { padding:18px; }
 .assistant-launch { bottom:max(16px,env(safe-area-inset-bottom));right:16px; }
 .legal-content { padding:118px 22px 60px; }
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
 .hero-grid>div:first-child>*,.reveal,.chapter { opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important; }
 .hero-media { transform:none!important; }.story-grid { display:block!important; }.sticky-media { display:none; }.chapter { min-height:auto!important;padding:55px var(--pad)!important; }.chapter>* { max-width:760px; }
}
