@font-face{font-family:"Figtree";src:url(fonts/figtree-var.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Figtree Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans");font-weight:300 500;size-adjust:100.1%;ascent-override:94.9%;descent-override:25.0%;line-gap-override:0.0%}@font-face{font-family:"Figtree Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold");font-weight:600 900;size-adjust:97.6%;ascent-override:97.3%;descent-override:25.6%;line-gap-override:0.0%}
:root{--bg:#ffffff;--soft:#eef4fb;--fg:#15253a;--muted:#55657a;--line:#dde5ef;--blue:#1e5aa8;--cta:#1e5aa8;--cta-dark:#16437e;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 "Figtree","Figtree Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.wrap{max-width:1000px;margin:0 auto;padding-inline:20px}
a{color:var(--blue)}
a:focus-visible{outline:3px solid var(--cta);outline-offset:3px}
.draft{background:var(--soft);color:var(--muted);text-align:center;font-size:13px;padding:6px 16px}
header{border-bottom:1px solid var(--line);background:var(--bg)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);font-weight:800;font-size:18px}
.logo{gap:12px}
.wm{font-weight:800;font-size:30px;letter-spacing:-.04em;line-height:1;display:inline-flex;align-items:flex-end;gap:3px}
.wm i{width:8px;height:8px;border-radius:50%;background:var(--blue);margin-bottom:5px}
.sub{font-size:12px;line-height:1.25;font-weight:600;color:var(--muted)}
nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-weight:600;font-size:15px}
nav a{text-decoration:none;color:var(--muted);padding-block:4px}
nav a[aria-current]{color:var(--blue);border-bottom:2px solid var(--blue)}
main{padding-block:48px 64px}
.hero{background:var(--soft);border-radius:12px;padding:clamp(28px,6vw,60px);display:grid;gap:18px}
.kicker{font-weight:600;font-size:14px;color:var(--blue)}
h1{font-weight:800;font-size:clamp(34px,6.5vw,58px);line-height:1.08;letter-spacing:-.02em;margin:0;max-width:18ch;text-wrap:balance}
h2{font-weight:800;font-size:clamp(26px,4vw,34px);line-height:1.15;letter-spacing:-.01em;margin:0 0 18px;text-wrap:balance}
h3{font-size:19px;margin:0 0 6px}
.lead{font-size:19px;color:var(--muted);max-width:52ch;margin:0}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;font-weight:600;text-decoration:none;padding:12px 22px;border-radius:8px;border:2px solid var(--blue);color:var(--blue);background:#fff}
.btn.cta{background:var(--cta);border-color:var(--cta);color:#fff}
.btn.cta:hover{background:var(--cta-dark);border-color:var(--cta-dark)}
.badge{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:15px;max-width:560px}
section{padding-block:44px;border-bottom:1px solid var(--line)}
section:last-child{border-bottom:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:24px 32px}
.grid p,.muted{color:var(--muted);margin:0}
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.box{border-radius:10px;padding:22px;border:1px solid var(--line)}
.box.good{background:var(--soft);border-color:transparent}
.box ul{margin:8px 0 0;padding-left:20px;display:grid;gap:6px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:22px;counter-reset:s;max-width:660px}
.steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;counter-increment:s}
.steps li::before{content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800}
.steps span{color:var(--muted)}
.rows{max-width:680px}
.row{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--line)}
.row small{display:block;color:var(--muted);font-size:14px}
.row strong{white-space:nowrap}
.contact{display:grid;gap:10px;font-size:18px}
code{font:inherit;font-weight:600;font-size:17px;background:var(--soft);padding:3px 10px;border-radius:6px}
.legal dl{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:6px 16px}
.legal dt{color:var(--muted)}
.legal dd{margin:0}
@media(max-width:560px){.legal dl{grid-template-columns:1fr}}
mark{background:#fff1c9}
footer{background:var(--soft);padding-block:28px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer a{color:var(--muted)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--fg);color:#fff;padding:8px 12px;border-radius:6px;z-index:20}
.skip:focus{left:12px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10}
.menu-btn{display:none;font:inherit;font-weight:700;font-size:15px;background:#fff;color:var(--fg);border:2px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer}
.nav{position:relative}
@media(max-width:720px){.menu-btn{display:inline-block}nav{display:none}nav.open{display:flex;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:12px 20px 18px;gap:6px}}
nav a:hover,.logo:hover{color:var(--blue)}
.btn{transition:background .15s,color .15s,border-color .15s}
.btn:not(.cta):hover{background:var(--blue);color:#fff}
.faq{display:grid;gap:10px;max-width:720px}
.faq details{border:1px solid var(--line);border-radius:10px;padding:14px 18px;background:#fff}
.faq summary{font-weight:600;cursor:pointer}
.faq details[open] summary{color:var(--blue)}
.faq p{margin:10px 0 0;color:var(--muted)}
.float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--cta);color:#fff;font-weight:800;text-decoration:none;padding:12px 18px;border-radius:999px;box-shadow:0 6px 18px rgba(21,37,58,.2);z-index:15}
@media(min-width:721px){.float{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.fgrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:24px}
.fgrid>div{display:grid;gap:6px;align-content:start}
.fgrid b{color:var(--fg)}
.fgrid a{text-decoration:none}
.fgrid a:hover{color:var(--blue)}
.fgrid p{margin:0}
.form{display:grid;gap:8px;max-width:560px}
.form label{font-weight:600;font-size:15px;margin-top:8px}
.form input:not([type=checkbox]),.form textarea{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--fg);width:100%}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--soft)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--muted)}
.form .check input{margin-top:5px;width:18px;height:18px}
.form button{justify-self:start;margin-top:10px;cursor:pointer;font:inherit;font-weight:700;font-size:16px}
.hp{position:absolute;left:-9999px}
.msg{margin:6px 0 0;padding:12px 14px;border-radius:8px;font-weight:600}
.msg.ok{background:#e5f4ea;color:#1d5c34}
.msg.err{background:#fdecea;color:#8a2a1f}
.phone{position:relative;width:260px;max-width:100%;height:530px;background:#15253a;border-radius:38px;box-shadow:0 20px 40px rgba(21,37,58,.18)}
.scr{position:absolute;inset:12px;border-radius:28px;overflow:hidden}

img{max-width:100%;height:auto}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.float{opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s}
.float.show{opacity:1;pointer-events:auto;transform:none}
.carousel{display:grid;gap:14px;justify-items:center}
.car-nav{display:flex;align-items:center;gap:12px}
.arrow{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:#fff;color:var(--fg);font-size:22px;line-height:1;cursor:pointer}
.arrow:hover{border-color:var(--blue);color:var(--blue)}
.dots{display:flex;gap:2px}


.checks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-weight:600;font-size:15px}
.checks li::before{content:"✓";color:var(--blue);font-weight:800;margin-right:6px}
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.pcard{border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;gap:6px;background:#fff}
.pcard.hl{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.pl{font-weight:700;color:var(--blue);font-size:16px}
.pp{font-size:38px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pp small{font-size:16px;font-weight:600;color:var(--muted)}
.pcard p{margin:0;color:var(--muted)}
.tbl{overflow-x:auto}
.vs{width:100%;border-collapse:collapse;min-width:520px}
.vs th,.vs td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.vs th{font-size:14px;color:var(--muted)}
.vs th:last-child,.vs td:last-child{background:var(--soft)}
.vs th:last-child{color:var(--blue)}
.small-note{font-size:13px;margin-top:10px}
.final{background:var(--blue);color:#fff;border-radius:12px;padding:clamp(28px,5vw,48px);margin-top:44px;display:grid;gap:12px}
.final h2{margin:0;color:#fff}
.final p{margin:0;opacity:.9;max-width:52ch}
.final .btn.cta{background:#fff;border-color:#fff;color:var(--blue)}
.calc{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
@media(max-width:720px){.calc{grid-template-columns:1fr}}
.opts{display:grid;gap:10px}
.opts label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff}
.opts label em{margin-left:auto;font-style:normal;font-weight:700;color:var(--blue);white-space:nowrap}
.opts input{width:18px;height:18px;accent-color:var(--blue)}
.opts .start{background:var(--soft);border-color:transparent}
.sum{background:var(--soft);border-radius:12px;padding:22px;display:grid;gap:4px}
.sum span{color:var(--muted);font-size:14px}
.sum b{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:8px}
.sum .btn{justify-self:start}
.pages{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--muted);margin-top:10px}
.scr.shot{display:block;background:#fff}
.scr.shot img{width:100%;height:auto;display:block;animation:shotscroll 16s ease-in-out infinite}
.carousel:hover .scr.shot img{animation-play-state:paused}
@keyframes shotscroll{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(calc(-100% + 506px))}}
@media(prefers-reduced-motion:reduce){.scr.shot img{animation:none}}
.pages{max-width:260px;margin-inline:auto;line-height:1.4}
.pages b{display:block;color:var(--fg);font-size:15px}

.h-text{display:grid;gap:18px;min-width:0;justify-items:start}
.hero2 h1{font-size:clamp(32px,5.2vw,50px)}
.h-phone{display:grid;gap:10px;justify-items:center}
.car-link{font-weight:700;font-size:15px;text-decoration:none}

.car-link:hover{text-decoration:underline}

.team-strip{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.4;color:var(--muted);text-decoration:none}
.team-strip b{color:var(--fg)}
.team-strip:hover b{color:var(--blue)}
.avs{display:flex;flex:none}
.avs img{width:46px;height:46px;border-radius:50%;border:3px solid #fff;object-fit:cover;display:block;background:#e9edf2}
.avs img+img{margin-left:-12px}
.exgrid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin-top:20px;scrollbar-width:thin}
.ex{scroll-snap-align:start;display:grid;gap:10px;text-decoration:none;color:var(--muted);font-size:14px;line-height:1.35}
.ex .im{display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--soft)}
.ex img{width:100%;height:100%;object-fit:cover;display:block}

.ex b{display:block;color:var(--fg);font-size:16px}
.ex:hover b{color:var(--blue)}
.local{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
@media(max-width:820px){.local{grid-template-columns:minmax(0,1fr)}}
.l-text{display:grid;gap:16px;justify-items:start}
.l-text h2,.l-text p{margin:0}
.l-text p{color:var(--muted)}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;width:100%}
.mini{display:flex;gap:12px;align-items:center;background:var(--soft);border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.35;color:var(--muted)}
.mini img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.mini b{display:block;color:var(--fg);font-size:16px}
.towns{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.towns li{border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:14px;font-weight:600;color:var(--muted)}
.l-pics{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.l-pics figure,.house figure{margin:0;border-radius:14px;overflow:hidden;position:relative;background:var(--soft)}
.l-pics figure{aspect-ratio:3/4}
.l-pics figure:nth-child(2){margin-top:48px}
.l-pics img,.house img{width:100%;height:100%;object-fit:cover;display:block}
.l-pics figcaption,.house figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--fg);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.final.bgimg{background:linear-gradient(100deg,rgba(17,55,106,.96) 0%,rgba(30,90,168,.88) 50%,rgba(30,90,168,.3) 100%),url(img/ort/rheintal.webp) 70% 45%/cover;min-height:300px;align-content:center}
@media(max-width:720px){.final.bgimg{background:linear-gradient(180deg,rgba(17,55,106,.9),rgba(30,90,168,.8)),url(img/ort/rheintal-800.webp) 72% 45%/cover}}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.tcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:grid;align-content:start}
.tcard>img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 12%;display:block;background:#e9edf2}
.tb{padding:20px 22px 24px;display:grid;gap:8px}
.tb h2{margin:0;font-size:26px}
.role{margin:0;color:var(--blue);font-weight:700;font-size:16px}
.facts{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.facts li{padding-left:20px;position:relative;color:var(--muted);font-size:16px;line-height:1.5}
.facts li::before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.quote{margin:8px 0 0;font-weight:600;border-left:3px solid var(--blue);padding-left:12px}
.house{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:36px;align-items:center}
@media(max-width:720px){.house{grid-template-columns:minmax(0,1fr)}.house figure{max-width:340px}}
.house figure{aspect-ratio:3/4}
.h-txt{display:grid;gap:10px}
.h-txt h2,.h-txt p{margin:0}
.big57{font-size:clamp(56px,10vw,92px);font-weight:800;letter-spacing:-.04em;color:var(--blue);line-height:1}
.car-link{text-align:center;max-width:260px}
.why{max-width:62ch;display:grid;gap:14px}
.why p{margin:0}
@media(max-width:720px){.exgrid{grid-auto-columns:42%}}
section[id]{scroll-margin-top:84px}

/* ---- Überarbeitung Oktober 2026 ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
h1+.lead{margin-top:12px}
.lead+.team-strip{margin-top:16px}
.note{margin-top:14px}
.wm-sm{font-size:24px}
.legal-text{max-width:68ch;display:grid;gap:12px}
.nf{padding-block:80px;display:grid;gap:16px;justify-items:start}
@media(max-width:560px){.lead{font-size:17px}}

/* Startseite: Text, Handy, Rest */
.hero2{grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"text phone" "more phone";align-items:start;column-gap:44px;row-gap:18px}
.h-text{grid-area:text;align-self:end}
.h-phone{grid-area:phone;align-self:center}
.h-more{grid-area:more;display:grid;gap:18px;justify-items:start;min-width:0}
@media(max-width:820px){.hero2{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "phone" "more";row-gap:28px}}

/* Karussell: Pause, Punkte mit 24px Trefferfläche */
.dot{position:relative;width:24px;height:24px;border:0;background:none;cursor:pointer;padding:0;border-radius:50%}
.dot::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--line)}
.dot[aria-current]::before{background:var(--blue)}
.dot:hover::before{background:var(--muted)}
.pause{font-size:12px;letter-spacing:-1px}
.carousel.paused .scr.shot img{animation-play-state:paused}
.arrow:focus-visible,.dot:focus-visible,.menu-btn:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

/* Branchen */
.branches{margin-top:16px}

/* Vergleich am Handy als Karten */
@media(max-width:640px){
 .vs{min-width:0}
 .vs thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .vs,.vs tbody,.vs tr,.vs td,.vs tbody th{display:block}
 .vs tr{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fff}
 .vs td{border:0;padding:3px 0}
 .vs tbody th{border:0;padding:3px 0;font-weight:800;margin-bottom:4px;font-size:inherit;color:var(--fg)}
 .vs td[data-l]{display:flex;justify-content:space-between;gap:14px;text-align:right}
 .vs td[data-l]::before{content:attr(data-l);color:var(--muted);font-size:14px;text-align:left;white-space:nowrap}
 .vs td:last-child{background:var(--soft);border-radius:8px;padding:6px 10px;margin-top:6px}
 .vs td:last-child::before{color:var(--blue);font-weight:700}
}

/* Leistungen */
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:26px 32px}
.feat p{margin:0;color:var(--muted)}
.ic{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--soft);color:var(--blue);margin-bottom:12px}
.ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.exgrid-3{grid-auto-columns:minmax(168px,240px)}
.checks-col{flex-direction:column;gap:8px;font-weight:500;font-size:17px}
.final .btn.ghost{background:transparent;border-color:#fff;color:#fff}
.final .btn.ghost:hover{background:#fff;color:var(--blue)}

/* Formular */
.form input:focus-visible,.form textarea:focus-visible,.form .check input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.form [aria-invalid="true"]{border-color:#b3261e}
.ferr{color:#8a2a1f;font-size:14px;font-weight:600}
.btn[disabled]{opacity:.6;cursor:wait}
.msg.nojs{display:none}
.msg.nojs:target{display:block}
/* ganz schmale Handys (320–360 px) */
.car-nav{flex-wrap:wrap;justify-content:center;gap:8px}
.car-nav .arrow{width:38px;height:38px}
.car-nav .dots{gap:0}

/* Direktkontakt: WhatsApp im Kopf, schwebender Knopf, Kontaktkanäle */
nav{margin-left:auto}
.hwa{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;text-decoration:none;color:#fff;background:var(--cta);padding:8px 14px;border-radius:999px;white-space:nowrap}
.hwa:hover{background:var(--cta-dark)}
.hwa svg,.float svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:900px){.hwa span{display:none}.hwa{padding:9px 11px}}
@media(min-width:721px) and (max-width:860px){.logo .sub{display:none}}
@media(max-width:720px){.menu-btn{margin-left:auto}}
.float{display:inline-flex;align-items:center;gap:8px}
.direct{margin:0;font-size:15px;color:var(--muted)}
.direct a{font-weight:700;white-space:nowrap}
.slots{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--blue);white-space:nowrap}
.sd{display:inline-flex;gap:3px}
.sd i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.sd i.frei{background:var(--blue)}
.badge .slots{display:flex;margin-top:6px}
.channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.ch{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--muted);background:#fff;font-size:15px;line-height:1.35;min-width:0}
.ch:hover{border-color:var(--blue)}
.ch .ic{margin:0;flex:none}
.ch .ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ch b{display:block;color:var(--fg);font-size:17px}
.ch span:last-child{min-width:0;overflow-wrap:anywhere}
.fgrid a,.fgrid span{overflow-wrap:anywhere}

/* AGB und Auftragsverarbeitung */
.entwurf{background:#fff1c9;border-radius:8px;padding:10px 14px;margin:14px 0 0;max-width:68ch}
.pts{margin:0;padding-left:22px;display:grid;gap:8px}
.pts li{padding-left:4px}
.legal-text h2{margin:14px 0 0;font-size:22px}
h1{overflow-wrap:break-word;hyphens:manual}
@media(max-width:560px){.hero2 h1{font-size:31px}.h-text{gap:14px}.hero2{row-gap:22px}}

/* Nachbesserungen nach der Prüfung */
html{scroll-padding-top:90px}
.final a:focus-visible,.final .btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.float{visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.float.show{visibility:visible}
/* Rechner: Text links, Preis rechts, auch auf schmalen Handys */
.opts label{flex-wrap:nowrap;align-items:flex-start}
.opts input{flex:none;margin-top:3px}
.opts .ot{flex:1;min-width:0}
.opts .start .slots{display:flex;margin-top:4px;font-size:14px;white-space:normal}
.sum .gratis{color:var(--blue);font-weight:700;font-size:15px;margin:-4px 0 10px}
.pp small{margin-left:.3em}
.pflicht{margin:0;font-size:14px;color:var(--muted)}
.nf .logo{margin-bottom:28px}
/* Rahmen von Eingabefeldern und Punkten gut sichtbar (Kontrast mind. 3:1) */
.form input:not([type=checkbox]),.form textarea{border-color:#8494a8}
.dot::before{background:#8494a8}
/* Beispiele: am Computer alle nebeneinander, am Handy zum Wischen mit Anschnitt */
@media(min-width:721px){.exgrid{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.exgrid-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}}
@media(max-width:720px){.exgrid{grid-auto-columns:42%}}
@media(max-width:380px){.logo .sub{display:none}}

/* Prüfung 2: Zeilenköpfe, Kontrollkästchen, schmale Handys, ohne JavaScript, Leistungen */
@media(min-width:641px){.vs tbody th{font-size:inherit;color:var(--fg);font-weight:400}}
.form .check input{flex:none}
.h-phone,.carousel,.slide{width:100%;min-width:0}
.phone{height:auto;aspect-ratio:260/530}
.scr.shot{container-type:size}
@keyframes shotscroll{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(calc(-100% + 100cqh))}}
html:not(.js) #rechner{display:none}
.paket{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px 64px;align-items:start}
.pk{list-style:none;margin:0;padding:0;display:grid;gap:18px;max-width:60ch}
.pk li{color:var(--muted)}
.pk b{display:block;color:var(--fg);font-size:17px;margin-bottom:2px}
.pk-phone{margin:0;display:grid;gap:12px;justify-items:center}
.pk-phone .scr img{width:100%;height:auto;display:block}
.pk-phone figcaption{font-size:14px;color:var(--muted);text-align:center;max-width:260px}
@media(max-width:720px){.paket{grid-template-columns:minmax(0,1fr)}.pk-phone .phone{width:230px}}
/* Fußzeile: Links mit mind. 24 px Trefferfläche */
.fgrid>div{gap:2px}
.fgrid b{margin-bottom:4px}
.fgrid a{padding-block:3px}
/* Ohne JavaScript: Menü offen zeigen, Karussell-Knöpfe ausblenden */
html:not(.js) .car-nav{display:none}
/* Desktop: mehr Breite nutzen (Text bleibt durch ch-Grenzen gut lesbar) */
@media(min-width:1200px){.wrap{max-width:1240px;padding-inline:32px}.faq{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.rows{max-width:820px}}
/* Über uns: Arbeitsproben statt Hausfoto */
.work-phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;max-width:860px}
.wk{display:grid;justify-items:center;align-content:start;gap:12px;text-decoration:none;color:var(--muted);font-size:14px;line-height:1.35;text-align:center}
.wk .phone{width:100%;max-width:230px;height:auto;aspect-ratio:260/530}
.wk .scr{background:#fff}
.wk .scr img{width:100%;height:auto;display:block}
.wk b{display:block;color:var(--fg);font-size:16px}
.wk:hover b{color:var(--blue)}
.work-facts{margin-top:32px}
@media(max-width:720px){.work-phones{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:64%;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px}.wk{scroll-snap-align:start}}
@media(max-width:720px){html:not(.js) .menu-btn{display:none}html:not(.js) nav{display:flex;flex-basis:100%;order:4;gap:4px 16px}}
