@font-face{font-family:Anton;src:url('assets/anton.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DriveSans;src:url('assets/body.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/caveat.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--navy:#063c45;--blue:#16cde9;--ice:#e1f9fc;--lime:#d3fa32;--body:DriveSans,Arial,sans-serif;--head:Anton,'Arial Narrow',sans-serif;--wrap:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--navy);background:white;font-family:var(--body);font-size:18px;line-height:1.4}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;height:auto;display:block}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2ad1eb;outline-offset:5px}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(var(--wrap),calc(100% - 100px));margin-inline:auto}.section{position:relative;isolation:isolate}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--head);font-weight:400;text-transform:uppercase;line-height:1.04;letter-spacing:-.018em}h2{font-size:clamp(38px,4.7vw,65px)}h2 small{display:block;font-size:.67em;line-height:1.2}h2 em{font-style:normal;color:var(--blue)}h3{font-size:25px;line-height:1.1;font-weight:800}p{margin-top:12px}.eyebrow{color:var(--blue);font-size:14px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:13px}.slashes{display:inline-block;width:82px;height:39px;background:linear-gradient(90deg,var(--blue) 0 42%,transparent 42% 55%,#4bd8ee 55% 98%);transform:skew(-34deg);vertical-align:middle;pointer-events:none}.handwritten{font-family:Caveat,'Segoe Script','Bradley Hand',cursive;font-weight:700;font-size:30px;line-height:1.05;transform:rotate(-8deg);color:var(--navy)}.art{stroke:none;width:auto;height:auto;fill:none}.header{height:104px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;gap:28px}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;color:var(--navy)}.logo-mark{width:58px;height:40px;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1;white-space:nowrap}.brand-text strong{font-weight:900;font-size:27px;letter-spacing:-.02em}.brand-text small{font-weight:700;font-size:12.5px;letter-spacing:.2em;color:var(--blue);text-transform:uppercase;margin-top:3px}.desktop-nav{display:flex;gap:27px;font-size:14px;font-weight:600}.desktop-nav a:hover{color:var(--blue)}.button{border:0;border-radius:50px;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 17px 13px 25px;font-size:16px;font-weight:700;min-height:50px;transition:transform .2s,box-shadow .2s;white-space:normal}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #16cde92b}.compact{padding:10px 27px;min-height:42px;font-size:14px}.arrow-disc{width:43px;height:43px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;flex-shrink:0;border:1px solid #ffffff80}.arrow-disc svg{width:27px;height:27px}.lime{background:var(--lime);color:var(--navy);border:0}.actions{display:flex;align-items:center;gap:27px;margin-top:30px;flex-wrap:wrap}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:16px;font-weight:700;color:var(--blue);background:none;border:0;padding:8px 0}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translateX(5px)}.hero{position:relative;min-height:680px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#fff 0%,#f8fdfe 45%,#ecfbfd 100%)}.hero-hills{position:absolute;z-index:-1;inset:0;width:100%;height:100%}.hero-clouds{position:absolute;z-index:0;width:230px;right:4%;top:70px;opacity:.9}.hero-inner{position:relative;min-height:570px;padding-top:59px}.hero-copy{position:relative;z-index:6;width:56%}.hero h1{font-size:clamp(62px,7.6vw,108px);line-height:1.02}.hero h1 span{color:var(--blue)}.hero-description{max-width:510px;font-size:20px;line-height:1.4;margin-top:22px}.hero-art{position:absolute;inset:0;pointer-events:none}.hero-car{position:absolute;z-index:5;right:-70px;top:247px;width:650px;filter:drop-shadow(0 18px 14px #1d434826)}.hero-slashes{position:absolute;top:118px;left:39%;width:75px;height:40px}.hero-note{position:absolute;z-index:3;right:42%;top:86px;font-size:31px;color:var(--navy)}.gauge{position:absolute;right:9%;top:-6px;width:400px}.gauge>svg{width:100%;height:auto;overflow:visible}.gauge-face{stroke:#fff;stroke-width:21;fill:#ecfbfd90}.gauge-lime{stroke:var(--lime);stroke-width:18;stroke-linecap:butt}.gauge-tick{stroke:var(--blue);stroke-width:4}.gauge-tick.faint{opacity:.23}#gauge-needle{fill:var(--navy);stroke:none;transform-origin:160px 174px;transform:rotate(-108deg)}.munot{position:absolute;right:-95px;top:118px;width:250px;opacity:.95}.hero-trees{position:absolute;right:-135px;top:190px;width:130px;opacity:.9}.example{font-size:12px;color:#4e878f}.car-example{position:absolute;z-index:8;right:24px;top:600px}.hero-route{position:absolute;left:0;bottom:-2px;width:100%;height:260px;z-index:1;overflow:visible}.route-blue{stroke:var(--blue);stroke-width:42;fill:none}.route-dash{stroke:white;stroke-width:2.5;stroke-dasharray:28 36;fill:none}.scroll-prompt{position:absolute;z-index:8;bottom:16px;color:var(--navy);left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.18em;background:#ffffffd9;padding:2px 16px 8px;border-radius:30px;backdrop-filter:blur(4px)}.scroll-prompt span{font-size:34px;line-height:1.1;letter-spacing:0}.hero-bottom-slashes{position:absolute;bottom:30px;right:5%;z-index:2}.parking{background:linear-gradient(#e4f9fc,#dbf7fc);padding:47px 0 55px;overflow:hidden}.center{text-align:center}.center>p:last-child{font-size:22px;margin-top:12px}.parking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:43px 18px 0;border-bottom:10px solid #fff}.parking-bay{position:relative;min-height:245px;border-left:9px solid white;display:flex;align-items:center;gap:25px;padding:20px 20px 20px 18px}.parking-bay:last-child{border-right:9px solid white}.parking-bay img{width:95px;height:188px;object-fit:contain;filter:drop-shadow(6px 11px 5px #4e8e9825);transition:transform .8s}.parking-bay:hover img{transform:translateY(-13px)}.parking-bay h3{font-size:23px}.parking-bay p{font-size:18px;line-height:1.3}.bay-number{position:absolute;left:36px;top:-20px;background:var(--lime);padding:3px 14px;font-family:var(--head);transform:rotate(-8deg);font-size:19px}.services{padding-top:70px;overflow:hidden}.service-wrap{padding-right:65px}.services h2{margin-bottom:28px}.services h2 .slashes{width:59px;height:30px;margin-left:22px}.service-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:145px 145px 118px;gap:20px}.service-card{text-align:left;position:relative;border:1.5px solid #ccf4fa;background:white;border-radius:18px;box-shadow:0 3px 10px #16cde912;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px #16cde922}.lesson{grid-row:span 2;background:linear-gradient(135deg,#fff 35%,#d9f7fb);padding:25px;isolation:isolate}.tag{display:inline-block;background:#cff5fb;color:var(--blue);border-radius:40px;padding:5px 15px;font-size:14px;font-weight:800;margin-bottom:12px}.lesson h3{font-size:32px}.lesson p{font-size:18px;position:relative;z-index:2}.lesson img{position:absolute;right:-10px;bottom:27px;width:65%;z-index:-1}.card-more{position:absolute;left:25px;bottom:26px;color:var(--blue);font-size:15px;font-weight:700}.lesson .arrow-disc{position:absolute;right:24px;bottom:22px;width:58px;height:58px}.ticket{display:flex;align-items:center;gap:20px;padding:22px}.ticket:after{content:'';position:absolute;right:81px;top:12px;bottom:12px;border-left:2px dashed #b0eef8}.ticket .arrow-disc{margin-left:auto;width:40px;height:40px}.ticket p{font-size:16px;line-height:1.3;margin-top:8px}.ticket h3{font-size:24px}.service-icon{width:50px;height:50px;flex-shrink:0;stroke-width:1.8}.theory{grid-column:span 2;display:flex;align-items:center;gap:30px;padding:24px 30px;background:linear-gradient(120deg,#106977,#063941);color:white;border:0}.theory p{font-size:18px;margin-top:6px}.theory .arrow-disc{margin-left:auto}.theory .slashes{margin-left:auto;opacity:.5;background:linear-gradient(90deg,#fff 0 42%,transparent 42% 55%,#adedf7 55% 98%)}.services-landscape{height:190px;margin-top:20px;position:relative;overflow:hidden}.landscape-hills{position:absolute;inset:0;width:100%;height:100%}.rheinfall{position:absolute;right:4%;bottom:-6px;width:470px}.feedback{background:linear-gradient(110deg,#0f5e6b,#06353c);color:white;padding:62px 0;overflow:hidden}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.feedback h2{font-size:48px}.feedback h2 small{color:#89e0ed;font-size:.62em}.feedback p{font-size:18px}.rating{font-size:63px;line-height:1.2;margin-top:12px}.rating span{font-size:40px}.feedback .example{color:#d3f0f5;font-size:12px}.feedback blockquote{border-left:1px solid #7fc3ce50;position:relative;margin:22px 0;padding:10px 0 10px 110px;align-self:center}.quote-mark{position:absolute;left:28px;top:-8px;color:#4dd9ef;font-family:var(--head);font-size:150px;line-height:.7}.feedback blockquote p{margin-top:5px;font-size:21px;line-height:1.4}.feedback blockquote footer{font-size:12px;color:#c5ebf0;margin-top:35px}.feedback-route{position:absolute;right:-20px;bottom:-35px;width:390px;height:130px;color:#38d5ed;stroke-width:4}.feedback-route circle{fill:#0e5661;stroke:white;stroke-width:5}.feedback>.slashes{position:absolute;bottom:-13px;left:40%;opacity:.6}.about{padding:65px 0 50px;overflow:hidden}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about figure{position:relative;z-index:1}.about figure img{width:100%;border-radius:17px;aspect-ratio:1.33;object-fit:cover}.about figcaption{font-size:12px;color:#5f969e;margin-top:8px}.about-copy{position:relative;z-index:2;max-width:470px;padding-bottom:25px}.about h2{font-size:46px}.about .eyebrow{margin-bottom:14px}.about-copy>p:not(.eyebrow){max-width:350px}.name-placeholder{font-size:14px;color:#5a888f}.outline{background:white;color:var(--blue);border:1px solid #83e4f3;margin-top:25px;min-height:45px;font-size:15px;padding:10px 20px}.about-trees{position:absolute;right:-30px;bottom:15px;width:250px;opacity:.55;z-index:-1}.about>.slashes{position:absolute;bottom:5px;right:5%;width:75px;height:36px}.faq{padding:32px 0 70px}.faq h2{font-size:51px;margin-bottom:30px}.faq h2 small{font-size:.52em}.faq h2:after{content:'';display:block;width:70px;height:4px;background:var(--blue);margin-top:12px}.faq-list{border-top:1.5px solid #c4eef5}.faq details{border-bottom:1.5px solid #c4eef5}.faq summary{list-style:none;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 0;font-size:18px}.faq summary::-webkit-details-marker{display:none}.faq summary span{width:17px;height:17px;position:relative;flex-shrink:0}.faq summary span:before,.faq summary span:after{content:'';position:absolute;top:7px;left:0;width:17px;height:3px;background:var(--blue)}.faq summary span:after{transform:rotate(90deg);transition:transform .2s}.faq details[open] summary span:after{transform:rotate(0)}.faq details p{margin:0;padding:0 40px 20px 0;font-size:16px;max-width:950px;line-height:1.6}.contact{background:linear-gradient(120deg,#16cde9,#13b7d0);color:white;padding:55px 0 65px;overflow:hidden}.contact-inner{position:relative;min-height:235px;display:flex;align-items:center}.contact-inner>div{position:relative;z-index:2}.contact h2{font-size:78px}.contact h2 small{font-size:.48em}.contact p{font-size:18px}.contact .actions{gap:24px}.lime-button{background:var(--lime);color:var(--navy);font-size:15px;padding:14px 22px}.light{color:white;font-size:14px}.contact-wheel{position:absolute;right:16%;top:-40px;width:330px;height:330px;color:white;fill:currentColor;transform:rotate(-16deg);opacity:.95}.contact .handwritten{position:absolute;right:0;top:20px;font-size:30px;color:white}.contact .slashes{position:absolute;bottom:0;right:0;background:linear-gradient(90deg,#c4f2fa 0 42%,transparent 42% 55%,#d1f5fb 55% 98%)}.footer{background:linear-gradient(110deg,#0f5964,#06353c);padding:42px 0;color:white}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand{color:white}.footer-brand .brand-text small{color:#a7ecf7}.footer nav{display:flex;gap:25px;font-size:13px}.footer nav button{border:0;background:none;color:inherit;font:inherit;padding:0}.footer .handwritten{font-size:28px;margin:0;color:white}.route-nav{position:fixed;z-index:15;right:15px;top:50%;transform:translateY(-50%);width:104px;height:300px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;pointer-events:none;transition:opacity .2s}.route-nav.visible{opacity:1;pointer-events:auto}.route-nav>svg{position:absolute;left:0;top:0;width:36px;height:300px;color:var(--blue);stroke-width:2}.route-nav>a{position:relative;padding-left:38px;height:24px;display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--navy)}.route-nav a span{position:absolute;left:13px;width:11px;height:11px;border:2px solid var(--navy);border-radius:50%;background:white}.route-nav a:nth-of-type(even) span{left:8px}.route-nav a[aria-current]{color:var(--blue);font-weight:800}.route-nav a[aria-current] span{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 3px #d3fa322b}#nav-dot{fill:var(--lime);stroke:#fff;stroke-width:1.5}.menu-toggle,.mobile-nav{display:none}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:15px}.skip-link:focus{top:15px}dialog{border:0;border-radius:22px;width:min(550px,calc(100% - 32px));padding:40px;color:var(--navy);box-shadow:0 25px 100px #063c4540}dialog::backdrop{background:#063b43aa;backdrop-filter:blur(5px)}dialog h2{font-size:40px;margin:20px 0}dialog p{font-size:17px;line-height:1.6}dialog .dialog-close{position:absolute;top:13px;right:18px;background:none;border:0;font-size:30px}.dialog-actions{margin-top:25px}.contact-draft{width:100%;min-height:140px;border:1px solid #b0eef8;border-radius:10px;padding:14px;margin-top:18px;font-size:16px}.dialog-note{font-size:14px!important;color:#4f8891}.copy-status{min-height:24px;font-size:14px!important;color:var(--blue)}
@media(min-width:1450px){.route-nav{right:max(16px,calc((100vw - 1430px)/2))}}@media(max-width:1250px){:root{--wrap:1050px}.wrap{width:calc(100% - 72px)}.hero-car{right:-40px;width:590px;top:270px}.hero h1{font-size:8.1vw}.hero-copy{width:60%}.gauge{width:345px;right:8%;top:10px}.hero-note{right:41%;font-size:26px}.munot{width:215px;right:-60px;top:145px}.hero-trees{right:-90px;top:210px;width:105px}.hero-clouds{width:180px;top:60px}.route-nav{right:5px;width:88px}.route-nav>a{font-size:10px;padding-left:31px}.service-wrap{padding-right:70px}.parking-bay{gap:15px;padding-inline:15px}.parking-bay img{width:80px}.parking-bay h3{font-size:21px}.parking-bay p{font-size:16px}.ticket{padding:18px;gap:15px}.ticket h3{font-size:22px}.ticket .service-icon{width:38px}.ticket:after{right:70px}.contact-wheel{right:10%;opacity:.7}.contact .handwritten{right:0;font-size:19px}}@media(max-width:950px){body{font-size:17px}.desktop-nav{gap:16px;font-size:12px}.brand{gap:8px}.logo-mark{width:46px;height:32px}.brand-text strong{font-size:22px}.brand-text small{font-size:10.5px}.header{gap:15px;height:90px}.hero{min-height:650px}.hero h1{font-size:8.3vw}.hero-copy{width:61%}.hero-description{font-size:18px;max-width:390px}.hero .actions{gap:15px;max-width:430px}.hero .button,.hero .text-link{font-size:14px}.hero-car{width:520px;right:-60px;top:300px}.hero-note{display:none}.hero-slashes{left:49%;width:45px;height:25px}.gauge{width:300px;right:8%;top:45px}.munot{width:170px;right:-50px;top:200px}.hero-trees{display:none}.hero-clouds{display:none}.car-example{top:550px}.parking-bay{flex-direction:column;gap:14px;min-height:340px;text-align:center}.parking-bay img{width:80px;height:155px}.parking-bay h3 br{display:none}.parking-bay p br{display:none}.bay-number{left:calc(50% - 20px)}.route-nav{display:none}.service-wrap{padding-right:0}.service-grid{grid-template-columns:1.05fr 1fr;gap:15px}.lesson img{width:78%;bottom:38px}.lesson p{font-size:16px}.ticket{gap:12px;padding:15px}.ticket h3{font-size:21px}.ticket p{font-size:14px}.ticket .arrow-disc{width:34px;height:34px}.ticket:after{right:57px}.service-icon{width:38px;height:38px}.feedback-grid{gap:30px}.feedback h2{font-size:39px}.feedback blockquote{padding-left:40px}.quote-mark{left:5px}.about-grid{gap:32px}.about h2{font-size:37px}.about-copy>p{font-size:16px}.contact h2{font-size:67px}.contact-wheel{right:0;width:260px;height:260px;opacity:.35}.contact .handwritten{display:none}.footer .handwritten{display:none}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{height:78px;gap:12px}.brand{gap:7px}.logo-mark{width:40px;height:28px}.brand-text strong{font-size:19px}.brand-text small{font-size:9px}.desktop-nav{display:none}.header-contact{margin-left:auto;min-height:36px;padding:8px 15px;font-size:12px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px;border:0;background:none;width:34px;height:38px}.menu-toggle span{display:block;height:2px;width:20px;background:var(--navy)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:78px;left:0;right:0;background:white;box-shadow:0 15px 20px #063b4310;padding:20px;gap:0;z-index:25}.mobile-nav a{padding:12px 8px;border-bottom:1px solid #effbfd;font-weight:700}.hero{min-height:820px}.hero-inner{padding-top:32px;min-height:730px}.hero-copy{width:100%}.eyebrow{font-size:11px;letter-spacing:.14em}.hero h1{font-size:clamp(56px,13.3vw,83px);line-height:1.03}.hero-description{font-size:16px;max-width:350px;margin-top:17px}.desktop-break{display:none}.hero .actions{gap:10px 20px;margin-top:21px}.hero .button{padding:8px 10px 8px 18px;gap:12px;min-height:43px;font-size:13px}.hero .arrow-disc{width:32px;height:32px}.hero .text-link{font-size:13px;gap:5px}.hero-art{top:330px;height:375px}.hero-car{top:122px;right:-18px;width:calc(100% + 25px);max-width:none}.gauge{top:0;right:18%;width:235px}.munot{top:60px;right:-25px;width:160px}.hero-slashes{top:40px;left:2%;width:45px;height:23px}.car-example{top:auto;bottom:-12px;right:20px;font-size:10px}.hero-wave{bottom:5px;height:320px}.wave-two{bottom:205px;height:290px;left:32%}.hero-route{height:150px;bottom:0}.route-blue{stroke-width:30}.hero-bottom-slashes{width:50px;height:25px;right:7%;bottom:34px}.scroll-prompt{font-size:10px;bottom:23px}.parking{padding:35px 0 40px}.parking h2{font-size:39px}.center>p:last-child{font-size:16px}.parking-grid{gap:0;margin:42px 0 0;border-bottom-width:6px}.parking-bay{padding:10px 8px 20px;border-left-width:5px;min-height:268px;gap:12px}.parking-bay:last-child{border-right-width:5px}.parking-bay img{width:58px;height:123px}.parking-bay h3{font-size:15px;line-height:1.15}.parking-bay p{font-size:13px;line-height:1.35;margin-top:8px}.bay-number{font-size:14px;padding:3px 10px;left:calc(50% - 15px)}.services{padding-top:42px}.services h2{font-size:44px;margin-bottom:24px}.services h2 .slashes{width:43px;height:23px;margin-left:10px}.service-grid{grid-template-columns:1fr;grid-template-rows:280px 112px 112px 115px;gap:13px}.lesson{grid-row:auto;padding:22px}.lesson h3{font-size:30px}.lesson img{width:70%;bottom:24px;right:-6px;max-width:330px}.lesson p{font-size:16px}.lesson .arrow-disc{width:49px;height:49px}.ticket{padding:20px;gap:22px}.ticket h3{font-size:22px}.ticket p{font-size:15px}.ticket .service-icon{width:43px;height:43px}.ticket .arrow-disc{width:38px;height:38px}.ticket:after{right:72px}.theory{grid-column:auto;padding:22px;gap:20px}.theory h3{font-size:23px}.theory p{font-size:14px}.theory .slashes{display:none}.theory .arrow-disc{width:37px;height:37px}.services-landscape{height:120px;margin-top:18px}.rheinfall{width:280px;right:3%}.feedback{padding:38px 0 48px}.feedback-grid{grid-template-columns:1fr;gap:25px}.feedback h2{font-size:43px}.feedback p{font-size:16px}.rating{font-size:50px;margin-top:10px}.rating span{font-size:28px}.feedback blockquote{padding-left:60px;margin:12px 0 0;border-left:0}.quote-mark{left:0;font-size:100px}.feedback blockquote p{font-size:18px}.feedback blockquote footer{margin-top:20px}.feedback-route{opacity:.6;width:220px;height:70px;bottom:-15px}.about{padding:40px 0 30px}.about-grid{grid-template-columns:1fr;gap:30px}.about figure img{aspect-ratio:1.3}.about-copy{max-width:100%;padding:0 0 30px}.about h2{font-size:43px}.about-copy>p:not(.eyebrow){max-width:85%;font-size:17px}.about-trees{width:150px;right:-40px;bottom:0;opacity:.3}.about>.slashes{width:50px;height:24px;bottom:5px}.faq{padding:24px 0 43px}.faq h2{font-size:45px}.faq summary{font-size:16px;padding:18px 0}.faq details p{font-size:15px;padding-right:15px}.contact{padding:35px 0 42px}.contact h2{font-size:62px}.contact p{font-size:16px;max-width:270px}.contact .actions{gap:10px;margin-top:24px;align-items:flex-start;flex-direction:column}.contact .button{font-size:13px;padding:13px 17px;gap:12px}.contact-wheel{width:230px;height:230px;right:-100px;top:10px;opacity:.22}.contact .slashes{width:48px;height:25px;bottom:4px}.footer{padding:32px 0}.footer-inner{flex-direction:column;align-items:flex-start;gap:28px}.footer nav{gap:25px;font-size:13px}.footer-brand{gap:8px}.route-nav{display:none}dialog{padding:30px 24px}dialog h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.parking-bay:hover img{transform:none}}

@font-face{font-family:DriveSans;src:url('assets/body-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:DriveSans;src:url('assets/body-900.woff2') format('woff2');font-weight:900;font-display:swap}

/* M&M Drive: one turquoise paint colour, with accessible petrol text. */
:root{--turquoise:#00c0e8;--blue:var(--turquoise);--navy:#07343c;--ice:#e8f9fa;--lime:#d9f76a;--ink-muted:#45696e;--wrap:1180px}
.original-logo{width:190px;height:82px;object-fit:contain}.header{height:116px}.desktop-nav{font-size:14px}.button{color:var(--navy);font-weight:800}.button:hover{box-shadow:0 10px 25px #17bad530}.eyebrow,.text-link,.brand-text small,.card-more{color:#08788c}.hero h1 span,h2 em{color:#0799b1}.hero{min-height:720px;background:linear-gradient(180deg,#fff 30%,#effbfc 100%)}.hero-inner{padding-top:65px}.hero-copy{width:58%}.hero h1{font-size:clamp(68px,7.3vw,106px)}.hero-description{max-width:470px}.hero-car{width:735px;right:-85px;top:263px;mix-blend-mode:multiply;filter:none;animation:car-arrive 1.2s cubic-bezier(.16,1,.3,1) both}.hero-orbit{position:absolute;width:560px;height:560px;border:1px solid #17bad521;border-radius:50%;right:-60px;top:20px}.gauge{right:5%;top:6px;width:370px;opacity:.8}.gauge-face{fill:#e9fafa90}.hero-note{right:34%;top:56px;font-size:26px}.hero-slashes{left:43%;top:128px;width:55px;height:30px}.hero-clouds{display:none}.munot{filter:grayscale(1);opacity:.25;right:-55px;top:120px;width:220px;mix-blend-mode:multiply}.car-example{top:642px;right:18px;font-size:10px;font-weight:700;letter-spacing:.18em;color:#45696e}.hero-route{height:205px;z-index:-1;bottom:-5px}.route-blue{stroke-width:31}.hero-hills{opacity:.45}.hero-bottom-slashes{opacity:.45}.parking{background:#e8f9fa;padding:55px 0 68px}.parking-bay img{filter:grayscale(1) drop-shadow(6px 11px 5px #477a9f25)}.parking-grid{margin-top:50px}.services{padding-top:88px}.service-wrap{padding-right:35px}.service-grid{grid-template-rows:168px 168px 115px;gap:18px}.service-card{border-color:#c6e9ed;box-shadow:none;border-radius:18px}.service-card:hover{box-shadow:0 12px 35px #07343c12}.lesson{background:linear-gradient(120deg,#fff,#eafafb)}.lesson img{width:70%;bottom:27px;mix-blend-mode:multiply}.lesson .service-price{display:block;margin-top:17px;font-size:28px;font-weight:800}.service-price small{font-size:13px;font-weight:400}.tag{background:#d8f4f6;color:#075c68}.ticket{gap:18px}.ticket-price{display:block;margin-top:9px;font-size:20px;color:#08778a}.ticket:after{border-color:#b9e3e8}.theory{background:var(--navy)}.theory .arrow-disc{background:var(--turquoise);color:var(--navy)}.theory p{color:#bce8ed}.price-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px;padding:30px 33px;background:#effafb;border:1px solid #c6e9ed;border-radius:18px}.price-strip .eyebrow{display:block;margin-bottom:8px;font-size:11px}.price-strip h3{font-size:24px}.price-strip p{font-size:16px;margin-top:8px}.insurance-note{font-size:14px;color:var(--ink-muted);margin-top:24px}.prep-links{display:flex;gap:24px;margin-top:26px;font-size:14px;font-weight:700}.prep-links button,.journey button{border:0;padding:0;background:none;font:inherit;color:inherit;text-align:left}.prep-links a:hover,.prep-links button:hover{text-decoration:underline}.services-landscape{height:auto;min-height:350px;margin-top:50px;position:relative;background:white}.services-landscape>img{width:100%;height:auto;min-height:320px;object-fit:cover}.landscape-caption{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:1;padding-left:53%}.landscape-caption .handwritten{font-size:36px;transform:rotate(-5deg);margin-top:14px}.landscape-caption>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-top:20px}.feedback{background:var(--navy);padding:64px 0}.feedback .eyebrow{color:#8ddbe7}.feedback h2{font-size:54px}.feedback h2 em{color:#36c4da}.feedback-grid{align-items:center;gap:50px}.promise-copy>p{font-size:27px;line-height:1.5}.promise-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.promise-tags span{font-size:12px;border:1px solid #75a3aa70;border-radius:30px;padding:8px 13px}.about{padding:90px 0}.about figure img{border-radius:100px 20px 20px 20px}.about h2{font-size:49px}.instructor-name{font-size:24px!important;font-weight:800;margin-top:24px}.instructor-qualification{font-size:13px!important;color:#45696e;margin-top:4px!important}.about-copy>p:last-of-type{margin-top:18px}.outline{color:#086777;border-color:#80cbd5}.journey{background:#f0faf9;padding:65px 0 50px}.journey-head{display:flex;justify-content:space-between;gap:32px;align-items:flex-end}.journey-head h2{font-size:49px}.journey-head>p{font-size:16px;color:#45696e;max-width:330px}.journey-grid{list-style:none;padding:0;margin:45px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.journey-grid li{border-top:2px solid #17bad544;padding-top:22px;position:relative}.journey-grid li>span{display:block;font-family:var(--head);font-size:34px;color:#07899e;margin-bottom:22px}.journey-grid h3{font-size:21px}.journey-grid p{font-size:15px;min-height:80px;line-height:1.5}.journey-grid a,.journey-grid button{font-size:13px;font-weight:700;color:#086777}.journey-source{font-size:12px;color:#45696e;margin-top:32px}.journey-source a{text-decoration:underline}.faq{padding:75px 0}.faq details a{color:#08788c;text-decoration:underline}.contact{background:var(--turquoise);color:var(--navy);padding:65px 0}.contact-wheel{opacity:.2;right:5%}.contact .handwritten{color:var(--navy)}.contact .light{color:var(--navy)}.footer{background:#052b32}.footer-brand .original-logo{filter:invert(1)}.footer-inner{gap:25px}.route-nav{display:none!important}.whatsapp-fab{position:fixed;bottom:22px;right:22px;z-index:35;border:2px solid white;background:#07343c;color:white;width:57px;height:57px;border-radius:50%;box-shadow:0 5px 24px #07343c30;display:grid;place-items:center}.whatsapp-fab svg{width:29px;height:29px}.whatsapp-panel{position:fixed;bottom:90px;right:22px;z-index:34;width:min(320px,calc(100% - 40px));padding:25px;background:white;border:1px solid #c6e9ed;border-radius:20px;box-shadow:0 20px 60px #07343c26}.whatsapp-panel p{font-size:14px;line-height:1.5}.whatsapp-panel .button{font-size:14px;margin-top:18px}.whatsapp-panel[hidden]{display:none}dialog{width:min(670px,calc(100% - 28px));max-height:92dvh;padding:35px;overscroll-behavior:contain}dialog h2{font-size:37px}dialog .eyebrow{font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:23px}.form-grid label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:7px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;min-height:46px;border:1px solid #a6cbd1;border-radius:9px;padding:11px;font:400 16px var(--body);color:var(--navy);background:white}.form-grid textarea{resize:vertical;min-height:90px}.form-grid .full{grid-column:1/-1}.check-row{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:13px!important;font-weight:400!important;line-height:1.5}.check-row input{width:18px;min-height:18px;flex-shrink:0;margin:2px 0;accent-color:#08788c}.form-note{font-size:13px!important;color:#45696e}.order-summary{margin-top:22px;border-radius:12px;background:#edf9fa;padding:20px}.order-summary dl{margin:0}.order-summary dl div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;font-size:15px}.order-summary dd{margin:0;font-weight:700}.order-summary .total{border-top:1px solid #b4dce1;margin-top:8px;padding-top:13px;font-size:19px}.status{font-size:14px!important;line-height:1.5!important;min-height:20px;margin-top:16px}.status.error{color:#a32525}.form-grid [hidden], [hidden]{display:none!important}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.review-list{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;font-size:14px}.review-list dd{margin:0;overflow-wrap:anywhere}.review-list dt{color:#45696e}.link-button{border:0;background:none;text-decoration:underline;font:inherit;padding:8px 0}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.dialog-actions .button{font-size:14px}.honeypot{position:absolute;left:-10000px;visibility:hidden}.terms{white-space:pre-wrap;font-size:13px;line-height:1.6;padding:15px;border:1px solid #badce0;border-radius:10px;max-height:200px;overflow:auto}.service-detail-price{font-family:var(--head);font-size:54px!important;color:#07899e}.service-detail-price small{font:16px var(--body)}
@keyframes car-arrive{from{transform:translateX(80px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(max-width:1050px){.original-logo{width:155px}.hero-car{width:620px;top:300px;right:-70px}.hero-note{display:none}.hero-copy{width:65%}.hero h1{font-size:8vw}.service-wrap{padding-right:0}.service-price small{display:block}.lesson img{bottom:32px}.landscape-caption{padding-left:50%}.landscape-caption .handwritten{font-size:28px}.journey-grid{gap:20px}.journey-grid p{min-height:115px}.about h2{font-size:42px}}
@media(max-width:700px){.header{height:87px}.original-logo{width:134px;height:65px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px;border:0;background:none;width:34px;height:38px}.menu-toggle span{display:block;height:2px;width:20px;background:var(--navy)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:87px;left:0;right:0;padding:20px;background:white;z-index:25;box-shadow:0 10px 20px #07343c20}.mobile-nav a{padding:12px}.hero{min-height:795px}.hero-inner{padding-top:30px;min-height:710px}.hero-copy{width:100%}.hero h1{font-size:clamp(58px,13vw,86px)}.hero-description{max-width:340px}.hero-art{top:340px;height:340px}.hero-car{width:calc(100% + 30px);top:132px;right:-15px}.gauge{width:235px;right:16%;top:-5px}.munot{top:50px;width:140px;right:-12px}.hero-orbit{width:320px;height:320px;right:0;top:0}.hero-slashes{top:28px;left:7%;width:35px;height:19px}.car-example{top:auto;bottom:-28px;right:8px;font-size:9px}.hero-route{height:140px}.parking{padding:40px 0 45px}.parking-bay h3{font-size:15px}.services{padding-top:50px}.service-grid{grid-template-columns:1fr;grid-template-rows:315px 140px 120px 120px}.lesson{grid-row:auto}.lesson .service-price{font-size:25px}.service-price small{display:inline}.lesson img{width:72%;bottom:35px}.ticket-price{font-size:18px}.theory{grid-column:auto}.theory p{font-size:13px}.price-strip{align-items:flex-start;flex-direction:column;padding:23px;gap:20px}.price-strip h3{font-size:22px}.prep-links{flex-direction:column;gap:16px}.services-landscape{min-height:290px;margin-top:40px;padding-top:95px}.services-landscape>img{min-height:200px;object-fit:cover;object-position:center}.landscape-caption{top:0;padding-left:0;display:block;text-align:center}.landscape-caption .handwritten{font-size:26px;margin-top:0}.landscape-caption .handwritten br{display:none}.landscape-caption>span{display:none}.landscape-caption .eyebrow{margin-bottom:8px}.feedback{padding:45px 0}.feedback h2{font-size:43px}.feedback-grid{grid-template-columns:1fr;gap:20px}.promise-copy>p{font-size:22px}.promise-tags{gap:6px}.promise-tags span{font-size:11px;padding:7px 9px}.about{padding:55px 0}.about h2{font-size:43px}.about figure img{border-top-left-radius:65px}.journey{padding:48px 0 38px}.journey-head{display:block}.journey-head h2{font-size:40px}.journey-head>p{margin-top:18px}.journey-grid{grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:30px}.journey-grid li>span{font-size:29px;margin-bottom:15px}.journey-grid h3{font-size:19px}.journey-grid p{font-size:14px;min-height:100px}.journey-grid a,.journey-grid button{font-size:12px}.faq{padding:50px 0}.contact{padding:45px 0}.contact .button{font-size:13px}.footer .original-logo{width:165px;height:75px}.whatsapp-fab{right:15px;bottom:15px;width:50px;height:50px}.form-grid{grid-template-columns:1fr;gap:15px}.form-grid .full{grid-column:auto}dialog{padding:30px 22px}.review-list{grid-template-columns:1fr;gap:4px}.review-list dd{margin-bottom:9px}.order-summary{padding:15px}.order-summary dl div{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-car{animation:none}}

.about figure img{object-position:25% center}.hero-car{width:735px}@media(max-width:1050px){.hero-car{width:620px}}@media(max-width:700px){.hero-car{width:calc(100% + 30px)}}

/* ===== Ehemals refinement.css (2026-09-10 zusammengefuehrt) ===== */
/* A little more breathing room, with the route always within reach. */
.parking{padding-block:84px 96px}.services{padding-top:110px}.feedback{padding-block:92px}.about{padding-block:112px}.journey{padding-block:100px 88px;overflow:hidden}.faq{padding-block:100px 112px}.contact{padding-block:92px}.parking-grid{margin-top:62px}.service-grid{gap:22px}.services h2{margin-bottom:38px}.faq-list{margin-top:36px}.journey-grid{margin-top:54px}.section{scroll-margin-top:32px}
.journey>.wrap{position:relative;z-index:1}.regional-art{position:absolute;right:-2%;top:-42px;width:min(670px,58vw);height:320px;pointer-events:none;opacity:.48;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,#000 65%,transparent)}.regional-art img{width:100%;height:100%;object-fit:contain}.journey-head>p{position:relative}.munot{filter:none;opacity:.32}
.contact{background-color:#087f9c;background-image:radial-gradient(ellipse at 8% 4%,#072d46 0%,transparent 58%),radial-gradient(ellipse at 91% 5%,#1643a4 0%,transparent 52%),radial-gradient(ellipse at 65% 110%,#01c5d8 0%,transparent 58%),radial-gradient(ellipse at 30% 100%,#067f9c 0%,transparent 64%);color:#fff}.contact .handwritten,.contact .light{color:#fff}.contact-wheel{opacity:.22;filter:drop-shadow(0 0 30px #9df5ff25)}.contact .slashes{opacity:.85}.contact .light{text-decoration:underline;text-underline-offset:5px}.contact .lime-button{color:#07343c;background:#dafa38}.footer{background:radial-gradient(ellipse at 83% 0%,#075366 0%,transparent 64%),linear-gradient(115deg,#052b32,#06283e);padding-block:52px}
.route-nav{display:flex!important;right:18px;top:50%;width:120px;height:352px;padding:0;opacity:1;pointer-events:auto;border-radius:22px;background:#fffffff0;box-shadow:0 6px 32px #07343c0a;backdrop-filter:blur(12px)}.route-nav>svg{width:36px;height:352px;stroke:#087da5}.route-nav>a{height:30px;min-height:30px;padding-left:38px;font-size:10px;color:#315c68}.route-nav a span{display:none}.route-nav a[aria-current]{color:#075568;font-weight:800}.route-nav #nav-stops circle{fill:#fff;stroke:#087da5;stroke-width:1.8}.route-nav #nav-dot{fill:#d3fa32;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 4px #d3fa3280)}
@media(min-width:1101px) and (max-width:1480px){.wrap{width:calc(100% - 200px);margin-left:48px;margin-right:152px}.hero h1{font-size:clamp(65px,7vw,98px)}.hero-car{right:-25px;width:650px}.desktop-nav{gap:18px}.service-wrap{padding-right:0}.contact-wheel{right:1%}.contact .handwritten{right:0}}
@media(max-width:1100px){.route-nav{top:auto;bottom:16px;left:50%;right:auto;transform:translateX(-50%);width:min(610px,calc(100% - 110px));height:62px;flex-direction:row;align-items:flex-end;padding:20px 8px 5px;border:1px solid #d3e9ed;border-radius:18px;box-shadow:0 8px 30px #07343c20}.route-nav>svg{display:none}.route-nav:before{content:'';position:absolute;left:6%;right:6%;top:14px;height:2px;background:linear-gradient(90deg,#078fba,#24bbd0)}.route-nav:after{content:'';position:absolute;top:9px;left:calc(6% + 88% * var(--route-progress,0));width:12px;height:12px;border-radius:50%;background:#d3fa32;border:2px solid #fff;transform:translateX(-50%);box-shadow:0 0 0 3px #d3fa3226}.route-nav>a{flex:1;justify-content:center;padding:0;font-size:9px;height:28px;min-width:0;text-align:center;line-height:1.05}.footer{padding-bottom:115px}.whatsapp-fab{bottom:20px;right:12px}.regional-art{width:70vw;opacity:.32}}
@media(max-width:700px){.parking{padding-block:58px 64px}.parking-grid{margin-top:48px}.services{padding-top:70px}.services h2{margin-bottom:30px}.feedback{padding-block:64px}.about{padding-block:72px}.journey{padding-block:70px 64px}.faq{padding-block:70px 76px}.contact{padding-block:62px 68px}.journey-grid{margin-top:38px}.service-grid{gap:18px}.regional-art{width:95vw;right:-15%;top:-10px;height:260px;opacity:.26}.contact-wheel{opacity:.17}.route-nav{left:12px;transform:none;width:calc(100% - 82px);bottom:15px;height:62px}.route-nav>a{font-size:8px}.footer{padding-top:42px}.section{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){.route-nav{transition:none}}

/* =====================================================================
   Finalisierung 2026-09-10 — Typografie, Handy-Layout, Stimmen, Formular,
   Rechtsseiten, Cookie-Hinweis. Diese Schicht liegt bewusst zuletzt.
   ===================================================================== */
@font-face{font-family:'Bricolage Grotesque';src:url('assets/bricolage-latin.woff2') format('woff2');font-weight:300 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';src:url('assets/bricolage-latin-ext.woff2') format('woff2');font-weight:300 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--body:'Bricolage Grotesque',DriveSans,Arial,sans-serif;--petrol:#07899e;--petrol-deep:#075c68;--line:#c6e9ed;--mesh-a:#d7f6fa;--mesh-b:#bfeff6}
body{font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}
h3{font-weight:800;letter-spacing:-.01em}
h1,h2{letter-spacing:-.01em}
h2 small{line-height:1.25;margin-bottom:.14em}
.faq h2 small{font-size:.5em;margin-bottom:.1em}
.eyebrow{letter-spacing:.16em}
.button{font-weight:700;letter-spacing:.005em}
.desktop-nav{gap:24px;font-weight:600}
.desktop-nav a{position:relative;padding:4px 0}
.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--turquoise);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.desktop-nav a:hover:after{transform:scaleX(1)}
.header-contact{border:0}

/* Hero: Handschrift wieder sichtbar, CTA als Button */
.hero .actions .button{border:0}
.hero-description{font-size:19px;line-height:1.55}

/* Parkfelder */
.parking-bay p{line-height:1.4}

/* Angebot */
.lesson{display:block}
.lesson-copy{display:block;position:relative;z-index:2}
.price-strip{border-left:6px solid var(--lime);gap:20px}
.price-strip p strong{color:var(--petrol-deep)}
.insurance-note{margin-top:16px}
.landscape-caption .handwritten br{display:none}

/* Stimmen: Zahlen statt Leere */
.feedback{padding-block:92px 84px}
.feedback-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}
.feedback-lead{font-size:21px;line-height:1.55;color:#cfeef3;max-width:460px;margin:0}
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:48px 0 0;padding:0}
.fact-strip>div{border:1px solid #ffffff1f;border-radius:16px;padding:22px 22px 20px;background:linear-gradient(160deg,#ffffff0d,#ffffff05)}
.fact-strip dt{display:flex;align-items:baseline;gap:8px}
.fact-strip dt b{font-family:var(--head);font-weight:400;font-size:54px;line-height:.95;color:#4ad8ee;letter-spacing:-.01em}
.fact-strip dt span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9ee5ef}
.fact-strip dd{margin:12px 0 0;font-size:14px;line-height:1.5;color:#cfeef3}
.reviews-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:64px;flex-wrap:wrap}
.reviews-head h3{font-size:26px;color:#fff}
.reviews-head p{margin:0;font-size:14px;color:#9ee5ef}
.reviews{list-style:none;margin:22px 0 0;padding:4px 0 10px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
.review{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;color:var(--navy);border-radius:18px;padding:22px 22px 20px;min-height:220px}
.stars{display:inline-flex;gap:2px}
.stars svg{width:17px;height:17px;fill:var(--turquoise);stroke:none}
.review p{margin-top:12px;font-size:15.5px;line-height:1.55;flex:1}
.review footer{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:14px;color:#45696e}
.review footer strong{color:var(--navy)}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--turquoise),#075c68);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0}

@media(min-width:1101px){.reviews{grid-auto-flow:row;grid-template-columns:repeat(6,1fr);grid-auto-columns:auto;overflow:visible;gap:24px}.review{grid-column:span 2;padding:24px 22px 20px;min-height:0}.review:nth-child(4){grid-column:2/span 2}.review:nth-child(5){grid-column:4/span 2}.review p{font-size:15px;line-height:1.55}.review footer{font-size:13px;margin-top:18px}.avatar{width:32px;height:32px;font-size:13px}}

/* Ueber mich: naeher am Tuerkis (mattes Mesh statt Weiss) */
.about{background:radial-gradient(ellipse at 12% 18%,var(--mesh-a) 0%,transparent 52%),radial-gradient(ellipse at 88% 85%,var(--mesh-b) 0%,transparent 48%),radial-gradient(ellipse at 70% 10%,#e9fbfc 0%,transparent 45%),#f4fdfe}
.about-figure{position:relative;isolation:isolate}
.about-backdrop{position:absolute;inset:18px -18px -18px 18px;border-radius:100px 20px 20px 20px;background:linear-gradient(135deg,#00c0e8 0%,#0799b1 100%);opacity:.22;z-index:-1;transform:rotate(-2deg)}
.about-figure img{box-shadow:0 24px 60px #07889e26}
.about-figure:after{content:'';position:absolute;inset:0;bottom:24px;border-radius:100px 20px 20px 20px;background:linear-gradient(160deg,#00c0e82e 0%,transparent 55%);pointer-events:none;mix-blend-mode:multiply}
.about figcaption{position:relative}
.about-copy>p:not(.eyebrow){max-width:430px}
.about-copy>p.instructor-qualification{max-width:none}
.about-facts{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.about-facts li{font-size:12.5px;font-weight:700;color:var(--petrol-deep);background:#fff;border:1px solid var(--line);border-radius:30px;padding:7px 12px}
.about .outline{margin-top:26px;border:0}

/* Werdegang */
.journey-grid p{min-height:0}
.journey-grid a,.journey-grid button{display:inline-block;margin-top:14px;border-bottom:1.5px solid #086777;padding-bottom:2px;cursor:pointer}
.journey-grid a:hover,.journey-grid button:hover{color:var(--petrol)}

/* Footer */
.footer-inner{display:grid;grid-template-columns:1.4fr .8fr .8fr auto;gap:36px;align-items:start}
.footer-brand-col p{font-size:13.5px;line-height:1.6;color:#b7dde3;margin-top:14px}
.footer-brand-col a{text-decoration:underline;text-underline-offset:3px}
.footer-nav{display:flex;flex-direction:column;gap:9px;font-size:14px}
.footer-nav strong{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8ddbe7;margin-bottom:4px}
.footer-nav a,.footer-nav button{color:#e6f7fa;text-align:left;padding:0;border:0;background:none;font:inherit;cursor:pointer}
.footer-nav a:hover,.footer-nav button:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer .handwritten{font-size:28px;margin:0;color:#fff;justify-self:end}
.footer-meta{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid #ffffff1a;font-size:12px;color:#8fb8bf}

/* Dialog + Mehrschritt-Formular */
dialog{padding:34px 36px 30px}
dialog .eyebrow{margin-bottom:6px}
dialog h2{margin:6px 0 14px;font-size:36px}
.step-nav{display:flex;gap:6px;margin:4px 0 22px;padding:0;list-style:none}
.step-nav li{flex:1}
.step-nav button{width:100%;border:0;background:none;padding:0;text-align:left;cursor:default;color:#7b9aa0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.step-nav button span{display:block;height:5px;border-radius:5px;background:#dcecef;margin-bottom:8px;transition:background .2s}
.step-nav li.done button{cursor:pointer;color:var(--petrol-deep)}
.step-nav li.done button span{background:var(--turquoise)}
.step-nav li.active button{color:var(--navy)}
.step-nav li.active button span{background:var(--navy)}
.step-nav li.done button:hover span{background:var(--petrol)}
.step-title{font-size:22px;font-weight:800;margin:0 0 4px}
.step-sub{margin:0 0 18px;font-size:15px;color:#45696e}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice>span{display:flex;flex-direction:column;gap:4px;min-height:96px;border:1.5px solid var(--line);border-radius:14px;padding:16px 16px 14px;background:#fff;transition:border-color .15s,box-shadow .15s}
.choice strong{font-size:17px;line-height:1.2}
.choice small{font-size:13px;color:#45696e;line-height:1.35}
.choice em{font-style:normal;font-weight:800;color:var(--petrol);margin-top:auto;padding-top:8px;font-size:14px}
.choice input:checked+span{border-color:var(--turquoise);box-shadow:0 0 0 3px #00c0e833,0 10px 24px #07889e14}
.choice input:focus-visible+span{outline:3px solid #2ad1eb;outline-offset:3px}
.choice.pill>span{min-height:0;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 14px;gap:10px}
.choice.pill strong{font-size:14px}
.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-top:8px}
.time-grid .choice>span{min-height:0;align-items:center;padding:10px 6px;font-weight:700;font-size:14px}
.time-empty{font-size:14px;color:#45696e;margin:8px 0 0;grid-column:1/-1}
.field-block{margin-top:16px}
.field-block>label,.field-label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.field-block input:not([type=checkbox]),.field-block select,.field-block textarea,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;min-height:48px;border:1.5px solid #b9d8dd;border-radius:11px;padding:11px 13px;font:400 16px var(--body);color:var(--navy);background:#fff;transition:border-color .15s,box-shadow .15s}
.field-block input:focus,.field-block textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:var(--turquoise);box-shadow:0 0 0 3px #00c0e833}
.field-block textarea{resize:vertical;min-height:96px}
.field-block input[aria-invalid=true],.form-grid input[aria-invalid=true]{border-color:#b5432a;box-shadow:0 0 0 3px #b5432a22}
.form-grid{margin-top:0;gap:14px}
.form-grid label>.lbl{display:block}
.lbl small{font-weight:400;color:#45696e;font-size:12.5px}
.check-row{align-items:flex-start}
.check-row a{text-decoration:underline;text-underline-offset:2px}
.check-row input{width:19px;height:19px;min-height:19px;margin-top:2px}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;flex-wrap:wrap}
.step-actions .button{gap:14px;padding-right:20px}
.step-hint{font-size:13px;color:#45696e;margin:0}
.form-error{margin:14px 0 0;padding:11px 14px;border-radius:10px;background:#fbeeea;color:#8a2f1c;font-size:14px;line-height:1.5}
.form-error[hidden]{display:none}
.review-list{margin-top:6px;grid-template-columns:auto 1fr auto;align-items:baseline;font-size:15px}
.review-list dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-top:3px}
.review-list dd{margin:0}
.review-list .edit-link{font-size:12px;font-weight:700;color:var(--petrol-deep);text-decoration:underline;text-underline-offset:2px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.order-summary{margin-top:18px}
.done-mark{width:58px;height:58px;border-radius:50%;background:var(--lime);display:grid;place-items:center;margin-bottom:14px}
.done-mark svg{width:30px;height:30px;stroke:var(--navy);stroke-width:2.5}

/* Cookie-Hinweis (analog alpeniq.ch: Karte unten rechts, Kategorien, Widerruf im Footer) */
.cookie-banner{position:fixed;z-index:60;left:0;right:0;bottom:0;background:#fff;color:var(--navy);border-top:1px solid var(--line);box-shadow:0 -12px 40px #07343c1f;padding:18px 20px 20px;font-size:14px;line-height:1.5;max-height:88vh;overflow:auto}
.cookie-banner h2{font:800 16px/1.3 var(--body);text-transform:none;letter-spacing:0;margin:0 0 6px}
.cookie-banner p{margin:0;color:#3d5f65;font-size:13.5px}
.cookie-banner p a{text-decoration:underline;text-underline-offset:2px;color:var(--petrol-deep)}
.cookie-options{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:#f2fbfc;padding:4px 14px}
.cookie-options[hidden]{display:none}
.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #d9eef1}
.cookie-option:first-child{border-top:0}
.cookie-option strong{display:block;font-size:14px}
.cookie-option small{display:block;font-size:12px;color:#45696e;line-height:1.45;margin-top:2px}
.cookie-option .always{flex-shrink:0;font-size:11px;font-weight:700;color:#45696e;border:1px solid var(--line);border-radius:6px;padding:3px 8px;background:#fff}
.switch{position:relative;flex-shrink:0;width:44px;height:24px;border-radius:24px;border:0;background:#3a3a40;cursor:pointer;transition:background .2s;padding:0}
.switch:before{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}
.switch[aria-checked=true]{background:var(--turquoise)}
.switch[aria-checked=true]:before{transform:translateX(20px)}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.cookie-actions .button{min-height:42px;padding:9px 18px;font-size:14px;gap:0}
.cookie-actions .button.secondary{background:#eef8fa;border:1px solid var(--line);color:var(--navy)}
.cookie-actions .button.secondary:hover{box-shadow:none;transform:none}
.cookie-actions .link-button{margin-left:auto;font-size:13px;color:#45696e;cursor:pointer}
.cookie-banner[hidden]{display:none}
@media(min-width:760px){.cookie-banner{left:auto;right:24px;bottom:24px;width:520px;border:1px solid var(--line);border-radius:20px;padding:22px 24px}}

/* Rechtsseiten */
.legal-page{padding:40px 0 90px}
.legal-page .wrap{max-width:820px}
.legal-page h1{font-size:clamp(44px,6vw,72px);margin-top:14px}
.legal-page h2{font-size:clamp(24px,3vw,30px);margin-top:44px;margin-bottom:8px}
.legal-page h3{font-size:18px;margin-top:26px}
.legal-page p,.legal-page li{font-size:16px;line-height:1.65;color:#1e4148}
.legal-page ul{padding-left:20px;margin-top:10px}
.legal-page li{margin-top:6px}
.legal-page .legal-meta{font-size:13px;color:#45696e;margin-top:10px}
.legal-page dl{display:grid;grid-template-columns:200px 1fr;gap:10px 22px;margin:18px 0 0;padding:20px 22px;background:#f2fbfc;border:1px solid var(--line);border-radius:14px;font-size:15.5px}
.legal-page dt{font-weight:700;color:var(--navy)}
.legal-page dd{margin:0;color:#1e4148}
.legal-page a{color:var(--petrol-deep);text-decoration:underline;text-underline-offset:3px}
.legal-page .back{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--petrol-deep);text-decoration:none;margin-bottom:8px}
.legal-page .note{border-left:4px solid var(--lime);padding:12px 16px;background:#fbfef0;border-radius:0 12px 12px 0;margin-top:20px;font-size:14.5px}
.legal-page .cookie-summary{margin-top:14px;font-size:14px;color:#45696e}

/* Tablet und Handy: die Wegleiste verschwindet unterhalb von 1100 px, nichts liegt mehr uebereinander */
@media(max-width:1100px){
 .route-nav{display:none!important}
 .footer{padding-bottom:52px}
 .feedback-head{grid-template-columns:1fr;gap:18px}
 .fact-strip{grid-template-columns:repeat(2,1fr)}
 .footer-inner{grid-template-columns:1fr 1fr;gap:30px}
 .footer .handwritten{justify-self:start}
}
@media(max-width:700px){
 body{font-size:16.5px}
 .header{height:82px}
 .header-contact{margin-left:auto;min-height:38px;padding:8px 14px;font-size:12.5px;white-space:nowrap}
 .mobile-nav:not([hidden]){top:82px}
 .hero{min-height:0}
 .hero-inner{min-height:0;padding-bottom:330px}
 .hero-art{top:auto;bottom:0;height:340px}
 .hero-description{font-size:16px}
 .hero .actions .button{padding:8px 10px 8px 18px;gap:12px;min-height:44px;font-size:13.5px}
 .scroll-prompt{display:none}
 .parking-grid{grid-template-columns:1fr;margin:38px 0 0;border:0;gap:12px}
 .parking-bay{flex-direction:row;text-align:left;min-height:0;padding:18px 18px 18px 14px;border:1px solid #c6e9ed;border-left:6px solid #fff;background:#ffffffa6;border-radius:0 16px 16px 0;gap:16px}
 .parking-bay:last-child{border-right:1px solid #c6e9ed}
 .parking-bay img{width:52px;height:100px}
 .parking-bay h3{font-size:18px}
 .parking-bay h3 br{display:none}
 .parking-bay p{font-size:14px;margin-top:6px}
 .parking-bay p br{display:none}
 .bay-number{left:auto;right:14px;top:-12px;font-size:13px}
 .service-grid{grid-template-rows:auto 120px 120px 112px}
 .lesson{padding:22px 20px 20px;display:flex;flex-direction:column;gap:0;min-height:0}
 .lesson-copy{position:static}
 .lesson img{position:static;width:72%;max-width:290px;margin:2px 0 0 auto;bottom:auto;right:auto}
 .lesson .card-more{position:static;display:block;margin-top:10px;line-height:49px}
 .lesson .arrow-disc{bottom:20px;right:20px}
 .feedback{padding-block:62px 56px}
 .feedback h2{font-size:42px}
 .feedback-lead{font-size:17px}
 .fact-strip{grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}
 .fact-strip>div{padding:16px 14px 14px}
 .fact-strip dt b{font-size:40px}
 .fact-strip dd{font-size:13px;margin-top:8px}
 .reviews-head{margin-top:40px}
 .reviews-head h3{font-size:22px}
 .reviews{grid-auto-columns:minmax(250px,80%);margin-inline:-20px;padding-inline:20px}
 .about-backdrop{inset:12px -10px -12px 12px}
 .about-copy>p:not(.eyebrow){max-width:100%}
 .journey-grid{grid-template-columns:1fr;gap:22px}
 .journey-grid li{border-top:0;border-left:2px solid #17bad544;padding:0 0 0 18px}
 .journey-grid li>span{font-size:28px;margin-bottom:8px}
 .faq h2{font-size:42px}
 .contact p{max-width:100%}
 .footer-inner{grid-template-columns:1fr;gap:26px}
 .footer-meta{flex-direction:column;gap:6px}
 dialog{width:calc(100% - 16px);max-height:94dvh;padding:24px 18px 22px;border-radius:18px}
 dialog h2{font-size:30px}
 .step-nav button{font-size:0}
 .step-nav button span{margin-bottom:0}
 .choice-grid,.choice-row{grid-template-columns:1fr}
 .choice>span{min-height:0}
 .review-list{grid-template-columns:1fr auto;font-size:14px}
 .review-list dt{grid-column:1/-1;padding-top:8px}
 .step-actions{flex-direction:column-reverse;align-items:stretch}
 .step-actions .button{justify-content:center}
 .legal-page dl{grid-template-columns:1fr;gap:4px 0}
 .legal-page dt{margin-top:10px}
 .whatsapp-fab{bottom:16px;right:14px;width:52px;height:52px}
}
@media(max-width:420px){.fact-strip{grid-template-columns:1fr 1fr}.parking-bay img{width:44px;height:86px}}

/* =====================================================================
   Runde 2 (2026-09-11) — Glanz, Mesh, eine Kartensprache, weniger CTAs,
   Formular in der Kontakt-Sektion, hellere Flaechen, Schrift mit Kante.
   ===================================================================== */
:root{--navy:#062b3b;--petrol:#0a7f98;--petrol-deep:#075a6e;--line:#c9e7ee;--turquoise:#00c0e8;--lime:#d9f76a;--glass-border:#ffffff26}
body{font-family:var(--body);font-optical-sizing:auto;color:var(--navy);line-height:1.5}
h3{font-weight:800;letter-spacing:-.015em}
.eyebrow{font-weight:800}
.desktop-nav{font-weight:700}

/* Glanz: Knoepfe und Pfeilscheiben mit Lichtkante, Schatten in der Farbe */
.button{background:linear-gradient(180deg,#43def5 0%,#0fc2e6 48%,#00abd4 100%);color:var(--navy);box-shadow:inset 0 1px 0 #ffffff99,inset 0 -1px 0 #0088aa33,0 10px 24px #00b6df40}
.button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff99,inset 0 -1px 0 #0088aa33,0 16px 32px #00b6df55}
.arrow-disc{background:linear-gradient(180deg,#43def5,#00abd4);box-shadow:inset 0 1px 0 #ffffff8c;border:0}
.lime,.lime-button,.hero .arrow-disc.lime{background:linear-gradient(180deg,#eeff8f 0%,#d9f76a 55%,#c6ea3e 100%);box-shadow:inset 0 1px 0 #ffffffb3,0 8px 20px #b9e23a3d;color:var(--navy)}
.outline{background:#fff;box-shadow:inset 0 0 0 1.5px #8fd7e3;color:var(--petrol-deep)}
.header-contact{font-size:14px;font-weight:800;color:var(--petrol-deep);padding:6px 0;border-bottom:2px solid var(--turquoise);border-radius:0;background:none;min-height:0;letter-spacing:.01em}
.header-contact:hover{color:var(--navy)}

/* Hero: Mesh mit Lichtfleck hinter dem Auto, keine Beschriftung mehr */
.hero{background:radial-gradient(ellipse 55% 45% at 72% 38%,#ffffff 0%,#ffffff00 62%),radial-gradient(ellipse 45% 40% at 88% 92%,#b6ebf7 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 8% 88%,#dcf6fb 0%,transparent 55%),linear-gradient(180deg,#ffffff 0%,#f4fcfe 55%,#e8f7fc 100%)}
.hero-hills{opacity:.28}
.hero-orbit{border:0;width:640px;height:640px;right:-90px;top:-10px;background:radial-gradient(circle,#00c0e83d 0%,#00c0e816 38%,transparent 68%);filter:blur(4px)}
/* Das Fahrzeugbild hat einen fast weissen Hintergrund (gemessen 253/253/253) — multiply bleibt, sonst steht ein weisser Kasten im Mesh. */
.car-example,.scroll-prompt{display:none}
.hero-bottom-slashes{opacity:.6}

/* Laufband unter dem Hero */
.ticker{position:relative;z-index:2;overflow:hidden;display:flex;white-space:nowrap;background:transparent;color:var(--petrol-deep);padding:14px 0;font-family:var(--head);text-transform:uppercase;font-size:21px;letter-spacing:.07em;border-top:1px solid #d3ecf1;border-bottom:1px solid #d3ecf1;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex;flex-shrink:0;min-width:100%;animation:ticker 42s linear infinite}
.ticker-track span{padding:0 30px;position:relative}
.ticker-track span:after{content:'';position:absolute;right:-4px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 2px #d9f76a55;transform:translateY(-50%)}
@keyframes ticker{to{transform:translateX(-100%)}}

/* Helle Flaechen: Verlauf zu Weiss statt Vollton */
.parking{background:linear-gradient(180deg,#fafeff 0%,#f0fafd 40%,#e9f6fb 100%)}
.parking-grid{border-bottom-color:#fff}
.services{background:#fff}
.lesson{background:linear-gradient(135deg,#fff 45%,#eefafc)}
.service-card{border-color:#d3ecf1;box-shadow:0 1px 0 #fff,0 10px 26px #0a5c7a0d}
.service-card:hover{box-shadow:0 18px 40px #0a5c7a1a}
.price-strip{background:linear-gradient(180deg,#fff,#f6fcfd);border-color:#d3ecf1;box-shadow:0 10px 26px #0a5c7a0d}
.about{background:radial-gradient(ellipse 45% 45% at 8% 25%,#e4f8fc 0%,transparent 60%),radial-gradient(ellipse 45% 50% at 92% 85%,#dbf4fb 0%,transparent 58%),linear-gradient(180deg,#ffffff,#f7fcfe)}
.about-backdrop{opacity:.16}
.about-copy>p:not(.eyebrow):not(.instructor-name):not(.instructor-qualification){max-width:470px;font-size:17.5px;line-height:1.6}
.journey{background:linear-gradient(180deg,#fcfeff 0%,#eff8fb 100%)}
.faq{background:#fff}

/* Dunkle Sektion: dasselbe Mesh wie im Kontakt, eine Kartensprache */
.feedback{background:radial-gradient(ellipse 55% 60% at 6% 0%,#0d506b 0%,transparent 60%),radial-gradient(ellipse 45% 50% at 96% 100%,#0b86ad 0%,transparent 55%),radial-gradient(ellipse 35% 35% at 62% 42%,#0a3f58 0%,transparent 60%),#062b3b}
.feedback h2 em{color:#3fd6f0}
.fact-strip>div,.review{background:linear-gradient(160deg,#ffffff16,#ffffff06);border:1px solid var(--glass-border);border-radius:18px;box-shadow:inset 0 1px 0 #ffffff1f,0 16px 36px #02121b3d;color:#fff;backdrop-filter:blur(8px)}
.fact-strip dt b{color:#3fd6f0;text-shadow:0 0 24px #3fd6f055}
.fact-strip dd{color:#d7f1f6}
.review{position:relative;padding:54px 20px 18px;min-height:0}
.review:before{content:'“';position:absolute;left:18px;top:6px;font-family:var(--head);font-size:80px;line-height:1;color:#3fd6f0;opacity:.95}
.stars{position:absolute;right:18px;top:20px}
.stars svg{fill:var(--lime);width:15px;height:15px}
.review p{color:#e8f7fa;font-size:15px;line-height:1.55;margin-top:0}
.review footer{color:#9ee5ef;margin-top:16px}
.review footer strong{color:#fff}
.avatar{background:linear-gradient(135deg,#3fd6f0,#0a6d8f);box-shadow:inset 0 1px 0 #ffffff66}
.reviews-head h3{color:#fff}

/* Kontakt: das Formular lebt hier */
.contact{padding-block:96px 100px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;position:relative;z-index:2}
.contact-copy{position:relative;z-index:2;padding-top:6px}
.contact-copy p{max-width:420px}
.contact-points{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:9px;font-size:15px}
.contact-points li{position:relative;padding-left:26px}
.contact-points li:before{content:'';position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #d9f76a33}
.contact-alt{margin-top:26px;font-size:15px}
.contact .text-link.light{font-size:15px;padding:0 0 0 6px}
.contact-copy .handwritten{position:static;display:inline-block;margin:38px 0 26px;font-size:30px;transform:rotate(-6deg)}
.contact-wheel{left:-4%;right:auto;top:auto;bottom:-70px;opacity:.13;width:380px;height:380px}
.contact-inner{display:none}
.booking-panel{background:#fff;color:var(--navy);border-radius:24px;padding:30px 30px 26px;box-shadow:0 30px 80px #02243366,inset 0 1px 0 #fff}
.booking-panel .eyebrow{margin-bottom:8px}
.panel-title{font-family:var(--head);font-weight:400;text-transform:uppercase;font-size:36px;line-height:1;letter-spacing:-.01em;margin:0 0 16px}
.panel-done{padding:12px 0 4px}
.panel-done .link-button{font-size:14px;color:var(--petrol-deep);margin-top:10px}

/* Einblenden beim Scrollen */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.07s}.reveal:nth-child(3){transition-delay:.14s}.reveal:nth-child(4){transition-delay:.21s}.reveal:nth-child(5){transition-delay:.28s}
.whatsapp-fab{background:linear-gradient(180deg,#0b4257,#062b3b);box-shadow:inset 0 1px 0 #ffffff33,0 8px 24px #02121b55}
.footer{background:radial-gradient(ellipse at 85% 0%,#0a4a63 0%,transparent 60%),linear-gradient(115deg,#04202d,#052a40)}

@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:1100px){
 .contact-grid{grid-template-columns:1fr;gap:34px}
 .contact-copy .handwritten{display:none}
}
@media(max-width:700px){
 .header-contact{margin-left:auto;font-size:13px}
 .ticker{font-size:17px;padding:11px 0}
 .ticker-track span{padding:0 20px}
 .contact{padding-block:64px 70px}
 .booking-panel{padding:22px 18px 20px;border-radius:20px}
 .panel-title{font-size:30px}
 .review{padding:50px 18px 16px}
 .about-copy>p:not(.eyebrow):not(.instructor-name):not(.instructor-qualification){font-size:16.5px}
}

/* Sicherheitsnetz fuers Einblenden: Druck, alte Browser, Screenshots */
@media print{.reveal{opacity:1!important;transform:none!important}}
.faq h2 small{margin-bottom:.24em;line-height:1.3}
/* Videos (2026-09-11): Hero-Auto und Bruecke als stumme Clips, Standbild als Poster */
video.hero-car{height:auto;aspect-ratio:1748/900;object-fit:contain;object-position:center bottom;background:transparent;display:block}
.regional-art video{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply}

/* Strecke (2026-09-11): drei Segmente aus GPT Image, multipliziert auf helle Flaechen, sonst unsichtbar */
.hero-route{display:none}
.hero-road{position:absolute;z-index:-1;right:0;bottom:-2px;width:100%;height:auto;max-height:100%;object-fit:cover;object-position:right bottom;mix-blend-mode:multiply;opacity:.6;pointer-events:none;mask-image:linear-gradient(180deg,transparent 0,#000 14%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%)}
.section-road{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply;opacity:.4;pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.parking>.wrap{position:relative;z-index:1}
.road-journey{opacity:.34;object-position:left center}
/* Parkfelder: Kachel mit Auto von oben, Text bleibt HTML */
.parking-bay img.bay-tile{width:118px;height:158px;object-fit:cover;border-radius:12px;filter:none;box-shadow:0 10px 26px #0a5c7a1a;transition:transform .5s}
.parking-bay:hover img.bay-tile{transform:translateY(-6px)}
@media(max-width:1250px){.parking-bay img.bay-tile{width:100px;height:134px}}
@media(max-width:700px){.section-road{display:none}.hero-road{opacity:.55}.parking-bay img.bay-tile{width:74px;height:98px;border-radius:9px}}
@media(prefers-reduced-motion:reduce){.parking-bay:hover img.bay-tile{transform:none}}

/* Tome als Illustration (2026-09-11): Comic-Portraet in Ueber mich und im WhatsApp-Panel, stehende Figur neben dem Formular */
.about figure img{aspect-ratio:1;object-position:center top}
.contact-grid{position:relative}
.contact-tome{display:none;width:auto;height:min(520px,40vw);pointer-events:none;filter:drop-shadow(0 24px 30px #02182466)}
.contact-copy{position:relative;z-index:2}
.whatsapp-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #d3ecf1;margin-bottom:10px;display:block}
@media(min-width:1101px){.contact-copy{display:flex;flex-direction:column;align-self:stretch}.contact-copy .handwritten,.contact-tome{align-self:flex-start}.contact-tome{display:block;margin:auto 0 -88px -26px}}
@media(min-width:1481px){.contact-tome{height:560px}}

/* Akzente und klare Reihenfolge der Angebote */
.service-grid{grid-template-rows:168px 168px}
.price-strip{background:linear-gradient(120deg,#06394c,#086989);color:#fff;border-color:#086989;box-shadow:0 14px 32px #07343c22}
.price-strip .eyebrow{color:#a8eefa}
.price-strip .button{background:#79def0;color:#062b3b}
.services .theory{display:flex;margin-top:26px;min-height:112px;background:#f5fbfd;color:var(--navy);border:1px solid #c9e7ee;gap:24px;padding:22px 30px}
.services .theory p{color:#45696e}
.services .theory .arrow-disc{margin-left:auto;flex-shrink:0}
.theory-icon{width:56px;height:56px;flex-shrink:0;border-radius:12px}
.text-highlight{background:#c4f1fb;color:inherit;padding:0 .13em;border-radius:.15em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.footer-inner{grid-template-columns:1.35fr .65fr .75fr .85fr auto}
/* Die Strecke erscheint erst hinter dem Hero und verdeckt keine Illustration. */
.route-nav{display:none!important}
.route-nav.visible{display:flex!important}
@media(max-width:1100px){.route-nav.visible{display:none!important}}
@media(min-width:1101px){.route-nav{background:transparent;box-shadow:none;backdrop-filter:none}.route-nav>a{text-shadow:0 1px 3px #fff,0 -1px 3px #fff}.route-nav #nav-stops circle{fill:#fff}}
@media(max-width:1100px){.footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-grid{grid-template-rows:280px 112px 112px}.services .theory{padding:20px;gap:16px}.theory-icon{width:46px;height:46px}.footer-inner{grid-template-columns:1fr}}

/* Lernfahrausweis: Datei waehlen und Rueckmeldung zum Upload */
.form-grid input[type=file]{padding:9px 12px;font-size:14px;background:#f3fbfc;cursor:pointer}
.form-grid input[type=file]::file-selector-button{font:inherit;font-weight:700;font-size:13px;margin-right:12px;padding:8px 14px;border:0;border-radius:9px;background:var(--petrol-deep);color:#fff;cursor:pointer}
.form-grid input[type=file]::file-selector-button:hover{background:var(--petrol)}
.licence-status{display:block;margin-top:3px;font-size:13px;font-weight:400;color:#45696e}
.licence-status[data-tone=ok]{color:#0a6a4d;font-weight:700}
.licence-status[data-tone=error]{color:#b5432a;font-weight:700}

/* =====================================================================
   Hero-Film + Fahr-Szene (2026-09-18)
   Der Hero traegt rechts das Fahrvideo als Panel mit schraegem Schnitt.
   Darunter das Schaffhausen-Band: die Strasse entspringt am Munot, der
   Mercedes faehrt darauf, der Tacho steht als Instrument daneben.
   ===================================================================== */

/* --- Hero: Kopie links, Film rechts --------------------------------- */
.hero{overflow:hidden}
.hero-inner{position:relative;padding-bottom:0}
.hero-film{position:relative;--cut:52px;z-index:4;
  background:linear-gradient(155deg,var(--blue) 0%,#7fe3f2 45%,var(--lime) 100%);
  clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%);
  filter:drop-shadow(-14px 10px 26px #063c451f)}
.hero-film-inner{position:absolute;inset:0;background:#04222a;
  clip-path:polygon(calc(var(--cut) + 6px) 0,100% 0,100% 100%,6px 100%)}
.hero-film-video{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;background:#04222a}
.hero-film:after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(190deg,#04222a4d 0%,transparent 26%,transparent 62%,#04222ab8 100%);
  clip-path:polygon(calc(var(--cut) + 6px) 0,100% 0,100% 100%,6px 100%)}
.film-tag{position:absolute;left:28px;bottom:22px;z-index:2;margin:0;white-space:nowrap;
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  display:flex;align-items:center;gap:11px;text-shadow:0 1px 8px #04222a99}
.film-tag span{background:var(--lime);color:#04222a;border-radius:4px;padding:3px 8px;
  font-size:11.5px;letter-spacing:.08em}

/* Der Film waechst mit dem Bildschirm mit, sonst steht links eine leere Flaeche.
   Der Schnitt waechst mit: oben bleibt Platz fuer die Zeile, unten fuellt das Bild. */
@media(min-width:961px){
  .hero{min-height:620px}
  .hero-hills{opacity:.42}
  .hero-bottom-slashes{right:auto;left:max(50px,calc((100vw - 1160px) / 2));bottom:42px;opacity:.55}
  .hero-film{position:absolute;top:0;right:0;bottom:0;width:clamp(340px,34vw,470px);--cut:26%;margin:0}
  .hero-copy{max-width:600px}
}
@media(min-width:1300px){
  .hero-film{width:min(46vw,1000px);--cut:42%}
  .hero-copy{max-width:640px}
}
/* Der WhatsApp-Knopf sitzt fix unten rechts — dazwischen liegt sonst die Bildzeile. */
@media(min-width:961px) and (max-width:1150px){.film-tag{bottom:84px}}

/* Schmal: Film sitzt unter dem Text, randlos */
@media(max-width:960px){
  .hero{min-height:0}
  .hero-inner{min-height:0;padding-bottom:0}
  .hero-copy{width:100%}
  .hero-film{margin:34px 0 0;aspect-ratio:16/11;width:100%}
  .hero-film-video{object-position:center 46%}
}
@media(max-width:700px){
  .hero-film{margin-top:28px;aspect-ratio:4/3;--cut:40px}
  .film-tag{left:20px;bottom:16px;font-size:11px;gap:9px}
}
@media(max-width:420px){.hero-film{aspect-ratio:1/1}}

/* --- Schaffhausen-Band ----------------------------------------------
   Alle Teile haengen an --h (Bandhoehe): die Strasse wird ueber die Hoehe
   skaliert, Munot und Auto sitzen an gemessenen Stellen ihres Verlaufs
   (Fluchtpunkt bei 80 % / 7 % des Bildes, Fahrbahnmitte unten bei 46,5 %).
   Damit stimmt die Szene auf jeder Bildschirmbreite. */
.drive-scene{--h:500px;--hz:calc(.28 * var(--h));position:relative;height:var(--h);margin-top:56px;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#ffffff 0%,#f7fdfe 38%,#e8f7fc 100%)}
.scene-copy{position:relative;z-index:4;padding-top:46px}
.scene-copy .eyebrow{margin-bottom:12px}
.scene-copy .handwritten{font-size:clamp(30px,3.1vw,44px);line-height:1.04;margin:0;transform:rotate(-6deg);
  transform-origin:left center}
.scene-region{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#4e878f;margin-top:22px}
.scene-road{position:absolute;z-index:1;top:19%;left:50%;height:128%;width:auto;max-width:none;
  transform:translateX(-50%);mix-blend-mode:multiply;opacity:.78;pointer-events:none;
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
/* Flache Landschaftsmotive im Stil des Musterbogens: als SVG gezeichnet statt
   generiert - scharf auf jeder Aufloesung, exakte Markenfarben, 2 KB statt 200.
   Sie haengen alle an EINER Linie: --hz ist der Horizont und liegt exakt auf dem
   Fluchtpunkt der Fahrbahn (gemessen: 28 % der Bandhoehe, dort steht der Munot).
   Huegel und Baeume stehen mit ihrer Unterkante darauf (translateY(-100%)),
   Wolken darueber im Himmel. Je weiter weg, desto kleiner und desto naeher an
   der Linie - deshalb ist der Baum halb so hoch wie der Munot und nicht doppelt. */
.scene-deko{position:absolute;z-index:1;height:auto;pointer-events:none;stroke:none}
.scene-deko *{stroke:none}
.deko-huegel{left:0;right:0;width:100%;height:calc(.30 * var(--h));
  top:calc(var(--hz) - .13 * var(--h));opacity:.9;
  mask-image:linear-gradient(90deg,transparent 0,#000 17%,#000 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 17%,#000 100%)}
.deko-tannen{left:calc(50% - .60 * var(--h));width:calc(.18 * var(--h));
  top:var(--hz);transform:translateY(-100%)}
.deko-baeume{left:calc(50% + .36 * var(--h));width:calc(.17 * var(--h));
  top:var(--hz);transform:translateY(-100%)}
.deko-wolke-a{left:calc(50% - .40 * var(--h));top:calc(.090 * var(--h));width:calc(.200 * var(--h))}
.deko-wolke-b{left:calc(50% - .06 * var(--h));top:calc(.078 * var(--h));width:calc(.156 * var(--h));opacity:.82}
.deko-wolke-c{left:calc(50% + .56 * var(--h));top:calc(.062 * var(--h));width:calc(.116 * var(--h));opacity:.72}
.scene-munot{position:absolute;z-index:1;width:calc(.30 * var(--h));height:auto;
  left:calc(50% + .896 * var(--h));top:var(--hz);
  transform:translate(-50%,calc(-100% + 10px));opacity:.5;mix-blend-mode:multiply}
.scene-car{position:absolute;z-index:3;width:calc(.92 * var(--h));height:auto;aspect-ratio:1400/716;
  left:calc(50% - .105 * var(--h));bottom:0;transform:translateX(-50%);
  object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;background:transparent;display:block}

/* Tacho als Instrument statt weisser Fleck: Glasscheibe, duenner Rand, Schatten. */
.scene-gauge{position:absolute;z-index:3;width:calc(.38 * var(--h));
  left:max(50px,calc((100vw - 1160px) / 2));bottom:calc(.08 * var(--h));
  filter:drop-shadow(0 14px 22px #0a7f9826)}
.scene-gauge>svg{width:100%;height:auto;overflow:visible;display:block}
.scene-gauge .gauge-face{stroke:#ffffff;stroke-width:22;fill:#ffffffd9}
.gauge-rim{fill:none;stroke:#a9e2f0;stroke-width:1.6}
.gauge-label{display:block;text-align:center;margin-top:-16px;font-size:11px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:#0a7f98}

@media(max-width:1250px){.drive-scene{--h:420px;margin-top:48px}}
@media(max-width:950px){
  .drive-scene{--h:350px;margin-top:40px}
  .deko-wolke-b{display:none}
  /* Schmaler wird die Handschrift relativ breiter: die Tannen ruecken nach
     rechts, damit sie nie hinter der Ueberschrift stehen (gemessen bei 760). */
  .deko-tannen{left:calc(50% - .32 * var(--h))}
  .scene-copy{padding-top:34px}
  .scene-gauge{width:calc(.34 * var(--h));left:26px;bottom:calc(.05 * var(--h))}
  .scene-munot{opacity:.42}
}
/* Schmal wird gestapelt statt geschichtet: Text oben links, Tacho oben rechts,
   Auto unten auf der Strasse. Der Munot ist hier zu klein, um noch zu tragen. */
@media(max-width:700px){
  .drive-scene{--h:340px;margin-top:34px}
  .scene-copy{padding-top:24px}
  .scene-region{margin-top:14px;font-size:11px}
  .scene-munot{display:none}
  .scene-deko{display:none}
  .scene-car{width:calc(.76 * var(--h));left:calc(50% - .02 * var(--h))}
  .scene-gauge{width:112px;left:auto;right:16px;top:20px;bottom:auto}
  .gauge-label{font-size:10px;margin-top:-12px}
}
@media(max-width:420px){
  .drive-scene{--h:312px}
  .scene-copy .handwritten{font-size:26px}
  .scene-car{width:calc(.74 * var(--h))}
  .scene-gauge{width:98px;right:12px;top:16px}
}

/* --- Fehlerbehebung 2026-09-18 ------------------------------------- */
/* Das Autobild lief ueber «/ Einzellektion». Die Einheit steht jetzt auf
   eigener Zeile (wie unter 1050 px schon immer) und liegt ueber dem Bild. */
.service-price{position:relative;z-index:2}
.service-price small{display:block}
/* «CHF 100 gespart.» stand in Petrol auf dem dunklen Preisband — gemessen
   1,4:1 und damit unlesbar. Lime auf #0a4a60 liegt bei rund 8:1. */
.price-strip p strong{color:var(--lime)}
/* Die Figur endet im Bild auf Oberschenkelhoehe. Statt einer harten Kante
   loest sie sich jetzt nach unten auf. */
.contact-tome{mask-image:linear-gradient(180deg,#000 72%,transparent 99%);
  -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 99%)}
/* Urheberzeile im Footer */
.footer-credit a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.footer-credit a:hover{color:#a7ecf7}


/* Treffpunkt: ruhiger Kartenblock mit direkter Routenführung */
.meeting-point{padding:104px 0 110px;overflow:hidden;background:radial-gradient(ellipse 55% 70% at 0 10%,#e3f8fc 0%,transparent 64%),linear-gradient(180deg,#fff 0%,#f3fbfd 100%)}
.meeting-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;align-items:center}
.meeting-copy{position:relative;z-index:2;padding-block:14px}
.meeting-copy h2{font-size:clamp(48px,5vw,70px);margin-bottom:32px}
.meeting-copy h2 em{color:var(--blue);font-style:normal}
.meeting-place{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start;max-width:500px;padding:22px 24px;border:1px solid #c9e7ee;border-radius:20px;background:#ffffffc7;box-shadow:0 14px 34px #07343c0d;backdrop-filter:blur(8px)}
.meeting-place strong{display:block;font-size:20px;line-height:1.25}
.meeting-place p{margin-top:8px;color:#45696e;font-size:16px;line-height:1.55}
.meeting-pin{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,var(--blue),#0788aa);color:#fff;box-shadow:0 10px 24px #00c0e833}
.meeting-pin svg{width:28px;height:28px;stroke-width:1.9}
.meeting-point .meeting-route{margin-top:28px;background:linear-gradient(180deg,#0b4257,#062b3b);color:#fff;box-shadow:inset 0 1px 0 #ffffff2b,0 12px 28px #063c4526;white-space:nowrap}
.meeting-point .meeting-route:hover{color:#fff;box-shadow:inset 0 1px 0 #ffffff2b,0 16px 34px #063c4538}
.meeting-map-shell{position:relative;min-height:470px;border:1px solid #bcdfe7;border-radius:28px;overflow:hidden;background:#dceff3;box-shadow:0 28px 70px #063c4521,inset 0 1px 0 #fff}
.meeting-map-shell:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(150deg,#062f3d00 42%,#062f3da8 100%)}
.meeting-map{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.72) contrast(.97);pointer-events:none}
.meeting-map-label{position:absolute;z-index:2;left:24px;bottom:24px;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid #ffffff55;border-radius:14px;background:#062f3ddd;color:#fff;box-shadow:0 10px 30px #00151d33;backdrop-filter:blur(10px);pointer-events:none}
.meeting-map-label span{color:#8ce8f5;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.meeting-map-label strong{font-size:16px}
.meeting-map-link{position:absolute;z-index:3;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:24px;color:#fff}
.meeting-map-link>span{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border-radius:999px;background:var(--blue);font-size:13px;font-weight:800;box-shadow:0 10px 28px #00151d40;transition:transform .2s,background .2s}
.meeting-map-link:hover>span{transform:translateY(-3px);background:#08aecb}
.meeting-map-link svg{width:19px;height:19px}
.meeting-map-credit{position:absolute;z-index:4;top:12px;right:14px;margin:0;padding:5px 8px;border-radius:8px;background:#fffffff0;color:#45696e;font-size:10px;line-height:1.2}
.meeting-map-credit a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:950px){.meeting-grid{grid-template-columns:1fr;gap:38px}.meeting-copy{max-width:680px}.meeting-map-shell{min-height:410px}}
@media(max-width:700px){.meeting-point{padding:70px 0 76px}.meeting-copy h2{font-size:44px;margin-bottom:24px}.meeting-place{grid-template-columns:44px 1fr;gap:14px;padding:18px 16px}.meeting-pin{width:44px;height:44px;border-radius:14px}.meeting-place strong{font-size:18px}.meeting-place p{font-size:15px}.meeting-point .meeting-route{margin-top:22px}.meeting-map-shell{min-height:340px;border-radius:22px}.meeting-map-label{left:16px;bottom:16px;padding:10px 13px}.meeting-map-link{padding:16px}.meeting-map-link>span{padding:10px 12px}.meeting-map-credit{top:9px;right:10px;max-width:180px}}


/* Notebook/Desktop: mehr Luft ohne kuenstliche Bildschirmhoehen */
@media(min-width:951px){
 .parking{padding-block:100px 112px}
 .services{padding-top:128px}
 .feedback{padding-block:108px 100px}
 .about{padding-block:128px}
 .journey{padding-block:116px 104px}
 .faq{padding-block:116px 128px}
 .meeting-point{padding-block:120px 126px}
 .contact{padding-block:112px 118px}
 .parking-grid{margin-top:72px}
 .services h2{margin-bottom:46px}
 .service-grid{gap:26px}
 .price-strip{margin-top:38px}
 .services .theory{margin-top:32px}
 .insurance-note{margin-top:24px}
 .prep-links{margin-top:32px}
 .fact-strip{margin-top:58px;gap:22px}
 .reviews-head{margin-top:76px}
 .reviews{margin-top:28px}
 .journey-grid{margin-top:66px}
 .faq-list{margin-top:46px}
 .faq summary{padding-block:22px}
}
@media(min-width:1101px){
 .feedback-head{gap:56px}
 .about-grid{gap:68px}
 .journey-grid{gap:34px}
 .meeting-grid{gap:76px}
 .contact-grid{gap:68px}
}


/* WhatsApp-Knopf: unten rechts, die uebliche Stelle fuer einen Floating
   Action Button. Er stand bis zum 2026-09-24 vertikal ZENTRIERT am rechten
   Rand (top:50% + transform:translateY(-50%)) — das war Absicht, der alte
   Kommentar hier sagte "haftet ab dem Hero mittig am rechten Rand".

   Geaendert auf Ansage des Kunden-Betreuers: mittig am Rand liegt der Knopf
   auf Augenhoehe mitten im Lesefluss und ueberdeckt Inhalt, waehrend unten
   rechts die Stelle ist, an der Nutzer ihn erwarten — und die Ecke, die auf
   dem Handy vom Daumen erreicht wird.

   DIE ECKE IST QUADRATISCH. Vor diesem Block verteilten sich Position und
   Groesse auf fuenf einander ueberschreibende Regeln, und keine davon war
   symmetrisch: 22/22 in der Basis, 15/15 unter 700px, dann 20/12 unter
   1100px, dann 16/14 in einer dritten Query. Ein Knopf, der 49px vom
   rechten und 28px vom unteren Rand steht, sitzt nicht "in der Ecke" — er
   sitzt daneben. Hier stehen die Abstaende deshalb je Breite GLEICH, und
   weil dieser Block am Ende der Datei liegt, gewinnt er gegen alle
   frueheren.

   `--fab` traegt die Kantenlaenge, `--fab-rand` den Abstand. Sie stehen auf
   `:root` und nicht auf dem Knopf, weil das Hinweisfeld ein GESCHWISTER des
   Knopfes ist — Custom Properties vererben nach unten, nicht zur Seite. Es
   rechnet seine Position daraus aus, statt sie nochmals zu tippen: Es stand
   vorher fix auf `bottom:90px`, waehrend der Knopf wanderte. */
:root{--fab:57px;--fab-rand:24px}
.whatsapp-fab{width:var(--fab);height:var(--fab);right:var(--fab-rand);bottom:var(--fab-rand);top:auto;background:#25d366;color:#fff;opacity:1;visibility:visible;pointer-events:auto;transition:background .2s,transform .2s,box-shadow .2s,opacity .25s,visibility .25s;box-shadow:inset 0 1px 0 #ffffff55,0 10px 28px #075a2d42}
.whatsapp-fab.visible{opacity:1;visibility:visible;pointer-events:auto}
.whatsapp-panel{right:var(--fab-rand);bottom:calc(var(--fab) + var(--fab-rand) + 12px)}
/* Der Hover hob den Knopf um seine halbe Hoehe an (`calc(-50% - 2px)`) —
   die Haelfte war die Zentrierung, die 2px das eigentliche Anheben. Ohne
   Zentrierung bleibt nur das Anheben uebrig. */
.whatsapp-fab:hover{background:#1fbd5a;transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff55,0 14px 32px #075a2d52}
.whatsapp-fab .whatsapp-mark{width:31px;height:31px;fill:currentColor;stroke:none}

/* SOLANGE DAS COOKIE-BANNER OFFEN IST, GIBT ES KEINEN KNOPF.
   Beide sitzen unten rechts, und das Banner liegt mit z-index 60 ueber dem
   Knopf (35). Auf dem Handy spannt es sich ueber die ganze Breite, auf dem
   Schirm ist es 520px breit — in beiden Faellen deckt es den Knopf ab.
   Vorher lugte er je nach Breite halb darunter hervor und war anklickbar,
   ohne anklickbar auszusehen.

   Er kommt zurueck, sobald ueber die Cookies entschieden ist — per
   `transition` weich, nicht als Sprung. `:has()` kennt jeder aktuelle
   Browser; wo nicht, faellt die Regel weg und es bleibt beim alten
   Verhalten (Knopf hinter dem Banner). Kein Risiko, nur kein Gewinn. */
body:has(.cookie-banner:not([hidden])) .whatsapp-fab{opacity:0;visibility:hidden;pointer-events:none}

@media(max-width:700px){
 .lesson img{width:min(68%,270px);max-width:calc(100% - 24px);height:auto;margin:10px 12px 0 auto;object-fit:contain;object-position:center;transform:none}
 :root{--fab:52px;--fab-rand:16px}
}
@media(min-width:1101px){
 :root{--fab-rand:32px}
}

/* Formular auf dem Handy (2026-10-19): Meldung direkt am fehlerhaften Feld, rote Kante
   auch fuer Auswahllisten und Textfeld, und Tippflaechen von mindestens 44 px fuer
   «ändern» und die Schrittleiste — ohne dass sich am Aussehen etwas verschiebt. */
.field-error{display:block;font-size:13px;font-weight:600;line-height:1.4;color:#8a2f1c}
.form-grid select[aria-invalid=true],.form-grid textarea[aria-invalid=true]{border-color:#b5432a;box-shadow:0 0 0 3px #b5432a22}
.booking-panel .edit-link{position:relative}
.booking-panel .edit-link::after{content:'';position:absolute;inset:-13px -8px}
@media(max-width:700px){
 .step-nav button{position:relative}
 .step-nav button::after{content:'';position:absolute;inset:-20px 0}
}

/* WhatsApp-Knopf tritt zur Seite, solange er ueber dem Anmeldeformular laege (app.js) */
.whatsapp-fab.ausweichen{opacity:0;visibility:hidden;pointer-events:none}
