:root{--ink:#0b111a;--ink-2:#111a25;--ink-3:#192430;--blue:#0867f9;--blue-2:#0d79ff;--white:#f5f7fa;--muted:#aab5c0;--line:rgba(255,255,255,.16);--font-head:'Space Grotesk',Arial,sans-serif;--font-body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--blue);color:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(100% - 8vw,1500px);margin-inline:auto}.section-pad{padding:clamp(100px,11vw,180px) 0}.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}.skip-link{position:fixed;z-index:100;top:-60px;left:20px;background:var(--blue);padding:12px 18px}.skip-link:focus{top:12px}.cursor-glow{position:fixed;z-index:100;pointer-events:none;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(0,104,255,.09),transparent 68%);transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:104px;padding:0 4vw;transition:background .4s,height .4s,border-color .4s;border-bottom:1px solid transparent}.site-header.scrolled{height:76px;background:rgba(9,15,23,.92);backdrop-filter:blur(20px);border-color:rgba(255,255,255,.1)}.brand{display:inline-flex;align-items:baseline;gap:11px;width:max-content;font-family:var(--font-head);letter-spacing:-.045em}.brand-tsn{position:relative;font-size:31px;font-weight:700;font-style:italic;line-height:1}.brand-tsn:after{content:'';position:absolute;left:5px;bottom:-10px;width:25px;height:5px;background:var(--blue)}.brand-name{font-size:24px;font-weight:400;letter-spacing:-.05em}.desktop-nav{display:flex;align-items:center;gap:clamp(22px,2.4vw,44px)}.desktop-nav a{position:relative;font-size:17px;white-space:nowrap;color:#f2f4f7;transition:color .25s}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:right .28s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.desktop-nav a:hover{color:white}.header-cta{justify-self:end;display:flex;align-items:center;gap:8px;padding:17px 23px;background:var(--blue);border-radius:3px;font-weight:700;font-size:13px;letter-spacing:.02em;transition:background .25s,transform .25s}.header-cta:hover{background:#2d86ff;transform:translateY(-2px)}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;min-height:min(940px,100svh);height:max(760px,100svh);overflow:hidden;display:flex;align-items:center;background:#121820}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-bg{background:url('assets/hero-workshop.jpg') center center/cover no-repeat;transform:scale(1.035);will-change:transform}.hero-overlay{background:linear-gradient(90deg,rgba(2,8,14,.82) 0%,rgba(3,9,16,.58) 36%,rgba(5,9,14,.12) 70%),linear-gradient(180deg,rgba(2,7,12,.44),transparent 30%,transparent 72%,rgba(2,7,12,.2))}.hero-content{position:relative;z-index:1;padding-top:75px}.eyebrow{font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero-kicker{display:flex;align-items:center;gap:11px;margin:0 0 24px;opacity:.9}.pulse-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 5px rgba(0,101,249,.15);animation:pulse 2s infinite}.hero h1{font-family:var(--font-head);font-size:clamp(76px,6.4vw,124px);font-weight:700;line-height:.82;letter-spacing:-.085em;margin:0 0 27px;max-width:900px}.blue-text{color:var(--blue)}.hero-lead{font-size:clamp(18px,1.4vw,25px);line-height:1.35;color:#e6e9ee;margin:0 0 25px}.hero-actions{display:flex;gap:18px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:0 29px;border-radius:3px;border:1px solid transparent;font-weight:700;font-size:15px;transition:transform .28s,background .28s,border-color .28s,box-shadow .28s}.btn span{font-size:20px;font-weight:400;line-height:1}.btn:hover{transform:translateY(-4px)}.btn-primary{background:var(--blue);color:white}.btn-primary:hover{background:#2a82ff;box-shadow:0 12px 35px rgba(0,98,255,.23)}.btn-outline{border-color:rgba(255,255,255,.7);background:rgba(0,0,0,.15);color:white}.btn-outline:hover{background:white;color:var(--ink)}.scroll-cue{position:absolute;z-index:1;bottom:47px;left:4vw;display:flex;align-items:end;gap:15px;font-family:var(--font-head);font-size:10px;line-height:1.22}.scroll-line{display:block;position:relative;width:1px;height:62px;background:rgba(255,255,255,.65)}.scroll-line:before{content:'';position:absolute;top:0;left:-5px;width:11px;height:11px;border:1px solid white;border-radius:50%;background:#16202a}.scroll-line i{position:absolute;top:19px;left:0;width:1px;height:24px;background:white;animation:scrollDown 2s infinite}.hero-index{position:absolute;z-index:1;right:4vw;bottom:48px;font-family:var(--font-head);font-size:11px;letter-spacing:.2em}
.services{background:#0d141d}.section-head{display:grid;grid-template-columns:1.1fr .5fr;gap:60px;align-items:end;margin-bottom:59px}.section-head .eyebrow,.portal-top .eyebrow,.about .eyebrow,.faq .eyebrow,.contact .eyebrow{color:#aeb8c3;margin:0 0 24px}.section-no{color:var(--blue);font-size:16px;margin-right:6px}.section-head h2,.portal h2,.about h2,.faq h2,.contact h2{font-family:var(--font-head);font-size:clamp(54px,6vw,100px);line-height:.93;letter-spacing:-.075em;margin:0;font-weight:700}.section-head h2 em,.portal h2 em,.about h2 em,.faq h2 em,.contact h2 em{font-style:normal;color:var(--blue)}.section-intro{max-width:410px;justify-self:end;font-size:18px;line-height:1.55;color:#aeb9c4;margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{background:#16212c;border:1px solid #283541;overflow:hidden;transition:transform .4s,border-color .4s,box-shadow .4s;transition-delay:var(--card-delay)}.service-card:hover{transform:translateY(-8px);border-color:#426b9a;box-shadow:0 26px 40px rgba(0,0,0,.22)}.service-image{display:block;height:clamp(200px,17.8vw,300px);position:relative;overflow:hidden;background:#1d2833}.service-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,17,26,.34),transparent 60%)}.service-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.1);transition:transform .7s,filter .7s}.service-card:hover img{transform:scale(1.08);filter:saturate(.95) contrast(1.08)}.service-image-arrow{position:absolute;z-index:1;right:18px;top:18px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.65);border-radius:50%;font-size:19px;transition:background .3s,transform .3s}.service-card:hover .service-image-arrow{background:var(--blue);border-color:var(--blue);transform:rotate(45deg)}.service-body{padding:24px 27px 25px}.service-meta{display:flex;align-items:center;justify-content:space-between;color:#91a0ae;font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:.15em}.service-icon{font-size:26px;line-height:1;color:var(--blue)}.service-card h3{font-family:var(--font-head);font-size:clamp(29px,2.25vw,37px);line-height:1.05;letter-spacing:-.06em;margin:20px 0 13px}.service-card h3 span{color:#aeb8c3}.service-card p{color:#a5b0bd;line-height:1.55;font-size:14px;min-height:65px;margin:0 0 20px}.service-bottom{padding-top:17px;border-top:1px solid #33404c;display:flex;align-items:center;justify-content:space-between;gap:9px}.price-tag{font-family:var(--font-head);font-weight:700;font-size:20px;letter-spacing:-.04em;color:#f5f8fc}.service-bottom a{font-size:10px;font-weight:700;letter-spacing:.13em;color:#5fa6ff;white-space:nowrap}.service-bottom a:hover{color:white}.pricing-note{font-size:12px;color:#778694;max-width:620px;margin:27px 0 0}
.about{background:#0e151f}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}.about h2{font-size:clamp(52px,5vw,82px)}.about-lead{max-width:550px;color:#aeb8c3;font-size:20px;line-height:1.6;margin:35px 0}.about-rule{height:1px;background:#31404e;max-width:550px}.about-points{max-width:550px;margin:10px 0 38px}.about-points div{display:flex;gap:22px;align-items:center;border-bottom:1px solid #263644;padding:14px 0}.about-points span{font-family:var(--font-head);color:var(--blue);font-size:12px}.about-points p{margin:0;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:23px;font-size:11px;font-weight:700;letter-spacing:.13em;border-bottom:1px solid var(--blue);padding-bottom:12px;transition:gap .25s,color .25s}.text-link:hover{gap:33px;color:#6eb0ff}.text-link span{font-size:18px}.about-visual{position:relative;height:min(680px,55vw);overflow:hidden;background:#1c2833}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:60% center;filter:brightness(.7) contrast(1.15)}.about-image-tag{position:absolute;bottom:0;left:0;padding:25px 29px;background:var(--blue);min-width:205px}.about-image-tag span{font-size:9px;font-weight:700;letter-spacing:.14em}.about-image-tag strong{display:block;font-family:var(--font-head);font-size:28px;line-height:1;margin-top:13px;letter-spacing:-.07em}
.faq{background:#111d29}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,120px)}.faq h2{font-size:clamp(52px,4.8vw,78px)}.faq-heading>p:not(.eyebrow){max-width:370px;color:#aab7c3;font-size:17px;line-height:1.6;margin:26px 0 35px}.faq-list{border-top:1px solid #344452}.faq-list details{border-bottom:1px solid #344452}.faq-list summary{list-style:none;display:flex;align-items:center;gap:19px;padding:26px 0;cursor:pointer;font-family:var(--font-head);font-size:clamp(17px,1.5vw,22px);font-weight:600;letter-spacing:-.03em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{align-self:flex-start;color:var(--blue);font-size:12px;letter-spacing:0;padding-top:6px}.faq-list summary i{position:relative;width:28px;height:28px;flex:none;margin-left:auto;border:1px solid #748291;border-radius:50%;transition:background .25s,transform .25s}.faq-list summary i:before,.faq-list summary i:after{content:'';position:absolute;background:white;left:8px;right:8px;top:13px;height:1px}.faq-list summary i:after{transform:rotate(90deg)}.faq-list details[open] summary i{background:var(--blue);border-color:var(--blue);transform:rotate(45deg)}.faq-answer{padding:0 48px 28px 36px;color:#a9b6c2;font-size:15px;line-height:1.7;max-width:700px}
.reveal{opacity:0;transform:translateY(35px)}.reveal.in-view{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(0,101,249,0)}}@keyframes scrollDown{0%{transform:translateY(0);opacity:1}80%,100%{transform:translateY(20px);opacity:0}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:1100px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;justify-content:center;flex-direction:column;gap:7px;width:44px;height:44px;border:0;background:none;padding:8px}.menu-toggle span{display:block;height:2px;width:27px;background:white;transition:transform .3s}.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{display:flex;position:fixed;z-index:49;top:0;inset-inline:0;min-height:100svh;flex-direction:column;justify-content:center;gap:16px;padding:100px 8vw 55px;background:#0b1522}.mobile-nav[hidden]{display:none}.mobile-nav a{font-family:var(--font-head);font-weight:700;font-size:clamp(32px,6vw,55px);letter-spacing:-.06em}.mobile-nav-cta{color:var(--blue);padding-top:25px}.portal-story{grid-template-columns:220px minmax(0,1fr);gap:25px}.dashboard{grid-template-columns:135px minmax(0,1fr)}.dash-sidebar{padding:20px 8px}.dash-main{padding:20px 15px}.service-card h3{font-size:30px}}
@media(max-width:800px){.wrap{width:min(100% - 40px,650px)}.site-header{height:75px;padding:0 20px}.site-header.scrolled{height:65px}.brand-tsn{font-size:27px}.brand-name{font-size:21px}.hero{height:760px;min-height:100svh}.hero-bg{background-position:60% center}.hero-overlay{background:linear-gradient(90deg,rgba(2,8,14,.84),rgba(2,8,14,.44)),linear-gradient(0deg,rgba(2,8,14,.35),transparent 50%)}.hero-content{padding-top:15px}.hero h1{font-size:clamp(59px,10vw,90px)}.hero-kicker{font-size:10px}.hero-lead{font-size:18px}.scroll-cue{left:20px;bottom:28px}.hero-index{right:20px;bottom:30px}.section-head,.portal-top-grid,.faq-grid{grid-template-columns:1fr;gap:30px}.section-intro{justify-self:start}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-image{height:230px}.service-card h3{font-size:28px}.portal{padding-bottom:95px}.portal-story{display:flex;flex-direction:column;margin-top:35px}.portal-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;order:2;width:100%}.portal-chapter{min-height:0;padding:18px 10px;border-left:0;border-top:1px solid #abb9c7}.chapter-progress{height:3px!important;width:0;top:-2px;left:0;transition:width .3s}.portal-chapter.active .chapter-progress{width:100%}.portal-chapter strong{font-size:20px}.portal-chapter small{font-size:11px;margin-top:8px}.chapter-number{font-size:8px;margin-bottom:11px}.dashboard-shell{position:relative;top:auto;order:1;width:100%}.dashboard{transform:none}.dashboard-shell:hover .dashboard{transform:none}}
@media(max-width:590px){.hero{min-height:700px}.hero h1{font-size:clamp(55px,12vw,73px)}.hero-content{padding-top:45px}.hero-actions{flex-wrap:wrap;gap:10px}.hero-actions .btn{min-height:53px;padding:0 18px;font-size:13px}.hero-actions .btn-primary{width:100%;justify-content:space-between}.hero-actions .btn-outline{width:100%}.desktop-break{display:none}.ticker{height:56px}.ticker-track{font-size:18px;gap:25px}.section-pad{padding:85px 0}.section-head h2,.portal h2,.faq h2{font-size:clamp(50px,10.5vw,72px)}.section-head{margin-bottom:38px}.service-grid{grid-template-columns:1fr;gap:15px}.service-image{height:230px}.service-card p{min-height:0}.statement{padding:85px 0}.statement h2{font-size:clamp(58px,12vw,90px)}.statement-bottom{align-items:start;flex-direction:column;gap:15px}.statement-mark{font-size:62px}.statement-bottom p{font-size:16px}.portal{padding-top:85px}.portal-top-grid p{font-size:16px}.dashboard{grid-template-columns:1fr;min-height:0}.dash-sidebar{display:none}.dash-main{padding:17px 13px}.dash-topbar h3{font-size:21px}.dash-breadcrumb{font-size:9px}.dash-top-actions{gap:6px}.live-chip{font-size:7px;padding:6px}.dash-bell{display:none}.dash-highlight{padding:17px}.dash-highlight h4{font-size:21px}.dash-highlight p{font-size:10px}.progress-visual{width:75px;height:75px}.progress-visual strong{font-size:18px}.dash-card-grid{gap:7px}.dash-card,.timeline-card{padding:12px}.vehicle-silhouette{height:55px}.vehicle-silhouette svg{width:125px}.vehicle-card b,.update-card b{font-size:10px}.update-card time{margin:11px 0 5px}.timeline-step small{display:none}.timeline-step span{font-size:7px}.timeline-step i{width:24px;height:24px}.dashboard-foot{font-size:7px}.dashboard-foot button{font-size:8px}.portal-chapter{padding-inline:5px}.portal-chapter strong{font-size:15px}.portal-chapter small{display:none}.chapter-number{font-size:7px}.faq-list summary{font-size:17px}.faq-answer{padding-left:30px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.ticker-track,.pulse-dot,.scroll-line i{animation:none!important}.hero-bg,.dashboard,.service-card,.service-image img,.btn{transition:none!important}.cursor-glow{display:none}}
.service-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;margin-bottom:16px}.service-card .service-heading h3{flex:1;min-width:0;margin:0;font-size:clamp(27px,2.1vw,34px);overflow-wrap:anywhere}.service-icon-wrap{display:grid;place-items:center;flex:0 0 78px;width:78px;height:78px;border:1px solid #345171;border-radius:15px;background:linear-gradient(145deg,rgba(34,75,116,.18),rgba(10,25,42,.22))}.service-heading .service-icon{display:block;width:70px;height:70px;object-fit:contain}.service-heading .service-icon[src$="mechatronik.svg"]{transform:scale(1.75)}@media(max-width:480px){.service-heading{gap:12px;min-height:66px}.service-icon-wrap{flex-basis:66px;width:66px;height:66px;border-radius:13px}.service-heading .service-icon{width:60px;height:60px}.service-card .service-heading h3{font-size:27px}}

.faq-visual{margin:clamp(28px,3.5vw,52px) 0 0;aspect-ratio:5/4;max-height:420px;overflow:hidden;background:#1c2833}
.faq-visual img{width:100%;height:100%;object-fit:cover;object-position:68% center;filter:brightness(.78) contrast(1.1)}
.faq-more-link{margin-top:32px}
@media(max-width:800px){.faq-visual{aspect-ratio:16/10;max-height:360px;margin-top:30px}}

/* Kontaktbereich im Footer */
.footer{position:relative;overflow:hidden;scroll-margin-top:76px;background:#080f18;padding:clamp(88px,9vw,132px) 0 28px}
.footer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 55% at 78% 15%,rgba(13,86,154,.14),transparent 75%)}
.footer .wrap{position:relative}
.footer-heading h2{margin:0;font-family:var(--font-head);font-weight:700}
.footer-heading h2 em{color:#3e89ff;font-style:normal}
.footer-cards{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px;margin:54px 0 85px}
.footer-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:330px;padding:32px;background:linear-gradient(145deg,#142331,#101b28);border:1px solid #283c50;overflow:hidden}
.footer-card-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #3b5f85;border-radius:14px;background:rgba(30,96,156,.14);color:#80b7ff}
.footer-card-icon svg{width:27px;height:27px}
.footer-card-label{display:block;margin-top:32px;color:#80a8d2;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.15em}
.footer-contact-card .footer-card-label{margin-bottom:auto}
.footer-contact-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding-top:15px;margin-top:15px;border-top:1px solid #34485d;transition:color .2s}
.footer-contact-link>span:first-child{grid-column:1/-1;color:#8ca0b3;font-size:12px}
.footer-contact-link strong{font-family:var(--font-head);font-size:clamp(17px,1.55vw,23px);font-weight:600;letter-spacing:-.035em;overflow-wrap:anywhere}
.footer-contact-link:hover{color:#78b3ff}
.footer-hours-copy{margin-top:auto}
.footer-hours-copy>.footer-weekdays{display:block;margin-bottom:12px;color:#b1c5d8;font-size:14px}
.footer-hours-copy strong{display:block;font-family:var(--font-head);font-size:clamp(23px,2vw,30px);font-weight:600;line-height:1.13;letter-spacing:-.05em}
.footer-hours-copy p{max-width:330px;margin:15px 0 0;color:#a6b7c7;font-size:14px;line-height:1.55}
.footer-location-card{padding:0;background:#101b28;transition:border-color .25s}
.footer-location-card:hover{border-color:#70a9e9}
.footer-map-preview{height:210px;min-height:210px;overflow:hidden;background:#dfe6e7}
.footer-map-preview iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.7) contrast(1.04)}
.footer-location-copy{display:flex;flex:1;flex-direction:column;padding:23px 30px 26px}
.footer-location-copy .footer-card-label{margin-top:0}
.footer-address{display:block;margin-top:15px;font-family:var(--font-head);font-size:clamp(25px,2vw,32px);font-weight:600;line-height:1.13;letter-spacing:-.055em}
.footer-map-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(179,215,236,.32);color:#b7d6fa;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.1em}
.footer-map-link span{font-size:22px;font-weight:400;line-height:1}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #29394a;padding-top:28px;color:#91a2b1;font-size:11px;letter-spacing:.08em}
.footer .brand-tsn{font-size:31px;color:#f5f7fa}
.footer .brand-name{font-size:23px;color:#f5f7fa}
.footer .brand-tsn:after{bottom:-10px;width:25px;height:5px}
@media(max-width:950px){.footer-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-location-card{grid-column:1/-1;min-height:400px}}
@media(max-width:620px){.footer{padding-top:85px}.footer-cards{grid-template-columns:1fr;gap:12px;margin:38px 0 65px}.footer-card{min-height:0;padding:26px}.footer-card-label{margin-top:25px}.footer-contact-card{min-height:285px}.footer-hours-card{min-height:240px}.footer-location-card{grid-column:auto;min-height:0;padding:0}.footer-location-copy{padding:23px 26px 25px}.footer-map-preview{height:200px;min-height:200px}.footer-bottom{flex-wrap:wrap;align-items:flex-end}.footer-bottom>span{order:3;width:100%;margin-top:12px}.footer .brand-tsn{font-size:28px}.footer .brand-name{font-size:21px}}

.section-head h2,.faq h2,.footer-heading h2{font-size:clamp(22px,7.4vw,62px);line-height:1.05;letter-spacing:-.065em;white-space:nowrap}

/* Einheitliches TSN-Logo in Navigation und Footer. */
.brand{align-items:center;gap:0}
.brand-logo{display:block;width:auto;max-width:none;object-fit:contain}
.site-header .brand-logo{height:96px}
.site-header.scrolled .brand-logo{height:74px}
.footer .brand-logo{height:110px}
@media(max-width:800px){.site-header .brand-logo{height:70px}.site-header.scrolled .brand-logo{height:64px}.footer .brand-logo{height:96px}}

/* Kompaktere Seitenelemente; die Portal-Animation bleibt in Originalgröße. */
.site-header,main > :not(#portal),.footer{zoom:.8}
.mobile-nav{zoom:.8;min-height:125svh}
@media(max-width:1100px){.menu-toggle{width:55px;height:55px}}
@media(min-width:801px){.hero{height:max(760px,125svh);min-height:0}}
@media(max-width:800px){.hero{height:125svh;min-height:700px}}

/* Flache Kontaktkacheln mit einer durchgehenden Kartenzeile. */
.footer-cards{gap:16px;margin:34px 0 46px}
.footer-card{height:174px;min-height:174px;padding:18px 24px;border-radius:10px}
.footer-card .footer-card-label{font-size:14px}
.footer-contact-card,.footer-hours-card{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:24px;row-gap:8px;align-content:center;align-items:start}
.footer-contact-card .footer-card-icon,.footer-hours-card .footer-card-icon{grid-column:1;grid-row:1/4;align-self:center}
.footer-contact-card .footer-card-label,.footer-hours-card .footer-card-label{grid-column:2;grid-row:1;margin:0}
.footer-contact-link{position:relative;grid-column:2;display:block;min-width:0;margin:0;padding:0;border:0}
.footer-contact-link:nth-of-type(1){grid-row:2}
.footer-contact-link:nth-of-type(2){grid-row:3}
.footer-contact-link>span:first-child{display:block;font-size:14px}
.footer-contact-link strong{display:block;margin-top:2px;font-size:clamp(20px,1.8vw,25px);line-height:1.13}
.footer-hours-card{grid-template-rows:auto auto;row-gap:7px}
.footer-hours-card .footer-card-icon{grid-row:1/3}
.footer-hours-copy{grid-column:2;grid-row:2;align-self:start;display:grid;grid-template-columns:minmax(0,1fr);margin:0;min-width:0}
.footer-hours-copy strong{grid-column:1;grid-row:1;white-space:nowrap}
.footer-hours-copy strong{font-size:clamp(22px,2.1vw,30px)}
.footer-hours-copy>.footer-weekdays{grid-column:1;grid-row:2;margin:5px 0 0;color:#b1c5d8;font-size:14px}
.footer-open-status{grid-column:1;grid-row:3;justify-self:start;align-self:center;display:inline-flex;align-items:center;gap:8px;flex:none;width:max-content;max-width:100%;margin-top:9px;padding:6px 10px;border:1px solid currentColor;border-radius:100px;color:#9bafbf;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}
.footer-open-status i{flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.footer-open-status[data-state="open"]{color:#70dbaa;background:rgba(34,155,100,.12)}
.footer-open-status[data-state="closing"]{color:#ffbf69;background:rgba(195,118,29,.13)}
.footer-open-status[data-state="closed"]{color:#ff8989;background:rgba(183,55,55,.12)}
.footer-location-card{position:relative;padding:0;background:#e9f0f5}
.footer-map-preview{position:absolute;inset:0;height:100%;min-height:0}
.footer-map-preview iframe{pointer-events:none;filter:saturate(.85) contrast(1.02)}
.footer-location-copy{position:absolute;inset:0;display:block;padding:21px 24px;background:linear-gradient(90deg,rgba(241,247,251,.96),rgba(241,247,251,.83) 48%,rgba(241,247,251,.1) 86%);color:#132638}
.footer-location-copy .footer-card-label{margin:0;color:#4775a2}
.footer-address{margin-top:17px;font-size:clamp(20px,1.9vw,26px);line-height:1.2}
.footer-bottom{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 34px;align-items:center;font-size:12px;letter-spacing:0}
.footer-bottom>.brand{grid-column:1;grid-row:1/3}
.footer-legal{grid-column:2;grid-row:1;display:flex;gap:22px;font-weight:700}
.footer-legal a{color:#d3dfeb;transition:color .2s}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#74adff}
.footer-bottom>span{grid-column:2;grid-row:2}
@media(max-width:950px){.footer-location-card{grid-column:1/-1;height:180px;min-height:180px}}
@media(max-width:620px){
  .footer-cards{gap:12px;margin:28px 0 35px}
  .footer-card{padding:16px 20px}
  .footer-contact-card,.footer-hours-card{grid-template-columns:52px minmax(0,1fr);column-gap:24px}
  .footer-contact-card{height:160px;min-height:160px}
  .footer-hours-card{height:136px;min-height:136px}
  .footer-hours-copy{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center}
  .footer-hours-copy strong{font-size:clamp(20px,5vw,23px)}
  .footer-hours-copy>.footer-weekdays{grid-column:1/-1;grid-row:2}
  .footer-open-status{position:absolute;top:50%;right:20px;grid-column:auto;grid-row:auto;transform:translateY(-50%);margin:0;gap:6px;padding:5px 8px;font-size:12px}
  .footer-location-card{grid-column:auto;height:160px;min-height:160px;padding:0}
  .footer-location-copy{padding:17px 20px}
  .footer-address{margin-top:16px;font-size:22px}
  .footer-bottom{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px}
  .footer-bottom>.brand{grid-column:1;grid-row:1}
  .footer .brand-logo{height:82px}
  .footer-legal{grid-column:2;grid-row:1;justify-self:end;gap:12px;font-size:14px;white-space:nowrap}
  .footer-bottom>span{grid-column:1/-1;grid-row:2;width:auto;margin:0;text-align:center}
}
@media(max-width:400px){.footer-contact-card,.footer-hours-card{column-gap:17px}.footer-hours-copy strong{font-size:20px}}
@media(max-width:390px){.footer-hours-card{height:158px;min-height:158px}.footer-open-status{top:auto;right:auto;bottom:10px;left:calc(20px + 52px + 17px);transform:none}}
@supports (-webkit-touch-callout: none){@media(max-width:620px){.footer-map-preview iframe{width:125%;height:125%;max-width:none}}}

/* Eigene, scharf skalierende Pfeile statt plattformabhängiger Emoji-Glyphen. */
.tsn-arrow-up-right{display:inline-block;flex:none;width:16px;height:16px;vertical-align:-3px;overflow:visible}
.service-bottom a{display:inline-flex;align-items:center;gap:6px}
.service-bottom .tsn-arrow-up-right{width:13px;height:13px}
.faq-more-link .tsn-arrow-up-right{width:18px;height:18px}
.mobile-nav-cta .tsn-arrow-up-right{width:24px;height:24px}

/* Leistungsillustrationen bleiben bewusst etwas kleiner als ihre Rahmen. */
.service-heading .service-icon{width:62px;height:62px}
@media(max-width:480px){.service-heading .service-icon{width:52px;height:52px}}

/* Scrollhinweis mittig im Hero, mit einem echten Vektorpfeil. */
.scroll-cue{left:50%;bottom:36px;transform:translateX(-50%);flex-direction:column;align-items:center;gap:10px;text-align:center;white-space:nowrap;font-size:11px;letter-spacing:.14em;color:#fff}
.scroll-arrow{display:block;width:23px;height:23px;animation:scrollCueArrow 1.8s ease-in-out infinite}
@keyframes scrollCueArrow{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(7px);opacity:1}}
@media(max-width:800px){.scroll-cue{left:50%;bottom:24px}}
@media(prefers-reduced-motion:reduce){.scroll-arrow{animation:none}}

/* Abschnittstitel auf Handys besser lesbar, ohne die einzeilige Darstellung zu ändern. */
@media(max-width:480px){.section-head h2,.faq h2,.footer-heading h2{font-size:clamp(30px,9.5vw,53px)}}
