@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');

@property --button-orbit{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}

:root{
  --paper:#f2f0e9;
  --surface:#ffffff;
  --ink:#1e252c;
  --muted:#66717a;
  --line:#d9ddd8;
  --section-rule:rgba(30,37,44,.12);
  --navy:#202a33;
  --blue:#4297c9;
  --link:#086f99;
  --blue-soft:#dcebf3;
  --yellow:#f7e803;
  --green:#24a45a;
  --content:1240px;
  --radius:18px;
  --hero-gap:2.5rem;
  --card-gap:2rem;
  --card-padding:clamp(1.5rem,3vw,2.5rem);
  --shadow:0 18px 48px rgba(28,37,44,.10);
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#11171c;
  --surface:#192229;
  --ink:#eef3f5;
  --muted:#aeb9c0;
  --line:#334149;
  --section-rule:rgba(255,255,255,.11);
  --navy:#0b1115;
  --blue:#62b6e5;
  --link:#79c8ec;
  --blue-soft:#233a45;
  --yellow:#f7e803;
  --green:#31b96b;
  --shadow:0 20px 54px rgba(0,0,0,.32);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-y:scroll}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
main:focus:not(:focus-visible){outline:none}
main:focus-visible{outline:none}
h1,h2,h3{font-synthesis:none;text-wrap:balance}
p{overflow-wrap:break-word}
a{color:inherit}
img{max-width:100%}
.skip-link{position:fixed;left:-9999px;top:1rem;z-index:100;background:var(--surface);color:var(--ink);padding:.7rem 1rem;border-radius:8px}
.skip-link:focus{left:1rem}

.site-header{height:72px;display:flex;align-items:center;position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid rgba(30,37,44,.09);padding-inline:max(1.5rem,calc((100% - var(--content))/2))}
.main-nav{display:flex;align-items:center;gap:1.65rem;height:100%}
.main-nav>a,.nav-parent{position:relative;color:#5b6670;text-decoration:none;font-size:.86rem;font-weight:600;letter-spacing:.01em;transition:color .2s}
.main-nav>a:after,.nav-parent:after{content:"";position:absolute;left:0;right:100%;bottom:-.55rem;height:2px;background:var(--blue);transition:right .2s}
.main-nav>a:hover,.main-nav>a.active,.nav-parent:hover,.nav-group[data-active="true"]>.nav-parent{color:var(--ink)}
.main-nav>a:hover:after,.main-nav>a.active:after,.nav-parent:hover:after,.nav-group[data-active="true"]>.nav-parent:after{right:0}
.nav-group{position:relative;align-self:stretch;display:flex;align-items:center}
.nav-submenu{display:none;position:absolute;left:-1rem;top:100%;z-index:60;min-width:220px;background:var(--surface);border:1px solid var(--line);padding:.65rem;border-radius:0 0 14px 14px;box-shadow:var(--shadow)}
.nav-submenu a{display:block;color:var(--muted);text-decoration:none;padding:.7rem .85rem;border-radius:8px;font-size:.88rem;white-space:nowrap}
.nav-submenu a:hover,.nav-submenu a:focus-visible,.nav-submenu a.active{background:var(--paper);color:var(--ink)}
.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu{display:block}
.menu-toggle{display:none}
.theme-toggle,.search-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);position:relative;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.theme-toggle{margin-left:auto;display:grid;place-items:center;padding:0}
.theme-toggle:hover,.search-toggle:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-1px)}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-icon-sun{display:none}
[data-theme="dark"] .theme-icon-moon{display:none}
[data-theme="dark"] .theme-icon-sun{display:block}
.search-toggle{margin-left:.5rem}
.search-toggle:hover{background:var(--navy);border-color:var(--navy)}
.search-toggle span{position:absolute;width:13px;height:13px;border:2px solid #66717a;border-radius:50%;left:10px;top:9px}
.search-toggle span:after{content:"";position:absolute;width:7px;height:2px;background:#66717a;right:-5px;bottom:-3px;transform:rotate(45deg)}
.search-toggle:hover span{border-color:#fff}.search-toggle:hover span:after{background:#fff}
.search-panel{display:none;position:absolute;right:max(1.5rem,calc((100% - var(--content))/2));top:62px;padding:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);gap:.5rem;flex-wrap:wrap}
.search-panel.open{display:flex}
.search-panel label{position:absolute;left:-9999px}
.search-panel input{width:240px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.62rem .75rem;font:inherit}
.search-panel button{border:0;border-radius:8px;background:var(--yellow);color:#1e252c;font-weight:700;padding:.62rem .85rem;cursor:pointer}
.search-status{display:none;flex-basis:100%;margin:.2rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}
.search-status:not(:empty){display:block}
.search-results{display:none;flex-basis:100%;margin-top:.15rem;border-top:1px solid var(--line);padding-top:.35rem}
.search-results:not(:empty){display:grid;gap:.2rem}
.search-result{display:block;padding:.45rem .55rem;border-radius:7px;color:var(--ink);text-decoration:none;font-size:.84rem}
.search-result:hover,.search-result:focus-visible{background:var(--paper);color:var(--ink)}

main{min-height:68vh}
.page{width:min(calc(100% - 3rem),var(--content));margin:0 auto;padding:4rem 0 6rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);column-gap:5rem;align-items:start}
.page>*{min-width:0}
.page:before{content:"";grid-column:1;grid-row:1;display:block;width:min(100%,390px);aspect-ratio:453/161;background:url('assets/naef-logo.png') left center/contain no-repeat;transform:translateY(.15rem)}

.hero{grid-column:2;grid-row:1;align-self:center}
.hero-logo,.hero-image,.hero-copy>.eyebrow,.hero-copy>p,.hero-copy>.btn{display:none}
.hero-copy h1,.brand-claim{font:600 clamp(3.2rem,5vw,5rem)/.98 "Manrope",Arial,sans-serif;letter-spacing:-.06em;margin:0;max-width:650px;text-wrap:wrap}
.blue{color:var(--blue)}
.yellow{color:var(--yellow)}

.page-divider{grid-column:1/-1;grid-row:2;height:1px;margin:var(--hero-gap) 0;background:var(--section-rule)}
.mosaic{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:165px;gap:14px}
.tile{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:center;padding:1.45rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.tile:hover{transform:translateY(-2px);border-color:var(--blue)}
.tile-image{background-image:var(--tile-bg);background-size:cover;background-position:center;padding:0}
.tile-action{grid-column:1/4;grid-row:1;background:var(--surface);color:var(--ink);align-items:center;text-align:center}
.tile-action h2{font:600 1.7rem/1.08 "Manrope",sans-serif;margin:0;max-width:210px;letter-spacing:-.04em}
.tile-action h2{text-wrap:wrap}
.tile-action h2 span{color:var(--yellow)}
.tile-cta{color:var(--link);margin-top:1.1rem;font-size:.9rem;font-weight:700}
.tile-main{grid-column:4/9;grid-row:1/3}
.tile-branches{grid-column:9/11;grid-row:1;background:var(--surface);color:var(--ink);align-items:center;text-align:center;font:600 1.35rem/1.15 "Manrope",sans-serif}
.tile-branches strong{display:block;font-weight:600}.tile-branches strong span{color:var(--blue)}.tile-branches small{display:block;font-size:1.15rem;color:var(--ink)}
.tile-small{grid-column:11/13;grid-row:1}
.tile-hanger{grid-column:5/8;grid-row:3;background:var(--surface);align-items:center}
.tile-hanger svg{width:80%;max-width:150px;fill:none;stroke:var(--blue);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.tile-wide{grid-column:9/13;grid-row:2}
.tile-phone{grid-column:1/5;grid-row:3;background:var(--surface);align-items:center;text-align:center;font:600 1.45rem/1.2 "Manrope",sans-serif}
.tile-phone strong{color:var(--link);font-weight:700}
.tile-service{grid-column:1/4;grid-row:2}
.tile-fashion{grid-column:8/10;grid-row:3}
.tile-detail{grid-column:10/13;grid-row:3}

.intro{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--card-gap);margin-top:4rem;padding:0}
.intro>div,.promise{border-radius:var(--radius);padding:var(--card-padding)}
.intro>div{background:var(--surface);border:1px solid var(--line)}
.intro h2{font:600 clamp(2rem,3.4vw,3.3rem)/1.12 "Manrope",sans-serif;letter-spacing:-.045em;margin:.5rem 0 1.2rem;max-width:700px}
.intro p{color:var(--muted);max-width:680px}
.eyebrow{display:block;color:var(--link);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;margin-bottom:.8rem}
.promise{background:var(--yellow);color:#1e252c;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
.promise strong{font:700 clamp(2rem,3.2vw,3rem)/1.08 "Manrope",sans-serif;letter-spacing:-.045em}
.promise p{color:#414639;margin:1rem 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;max-width:100%;border:0;border-radius:999px;background:var(--yellow);color:#1e252c;text-decoration:none;text-align:center;font-size:.95rem;font-weight:700;line-height:1.4;padding:.85rem 1.25rem;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);background:var(--yellow);box-shadow:0 3px 10px rgba(247,232,3,.09)}
.btn.alt{background:var(--yellow);color:#1e252c;margin-top:.6rem}
.intro .btn.alt{background:var(--yellow);color:#1e252c}
.intro .btn.alt,.cta-band .btn{position:relative;isolation:isolate}
.intro .btn.alt:before,.cta-band .btn:before{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--button-orbit),transparent 0 76%,rgba(255,255,255,.5) 82%,rgba(142,214,247,.22) 86%,transparent 91%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;pointer-events:none}
.intro .btn.alt:hover,.cta-band .btn:hover{box-shadow:0 3px 10px rgba(247,232,3,.09)}
.intro .btn.alt:hover:before,.intro .btn.alt:focus-visible:before,.cta-band .btn:hover:before,.cta-band .btn:focus-visible:before{opacity:.62;animation:button-orbit 1.8s linear infinite}
@keyframes button-orbit{to{--button-orbit:360deg}}
@media(prefers-reduced-motion:reduce){.intro .btn.alt:hover:before,.intro .btn.alt:focus-visible:before,.cta-band .btn:hover:before,.cta-band .btn:focus-visible:before{animation:none;opacity:.4}}
.cta-band{grid-column:1/-1;margin-top:var(--card-gap);padding:var(--card-padding);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.cta-band h2{font:600 clamp(1.8rem,3vw,2.8rem)/1.15 "Manrope",sans-serif;letter-spacing:-.04em;margin:0}
.cta-band .btn{flex-shrink:0}

.page-hero{grid-column:2;grid-row:1;align-self:center}
.page-section-head{grid-column:1/-1;grid-row:3;padding:var(--card-padding);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:.5rem var(--card-gap);align-items:center;min-height:182px}
.page[data-page="kontakt"] .page-section-head,
.page[data-page="offene-stellen"] .page-section-head,
.page[data-page="ueber-uns"] .page-section-head{display:grid;min-height:182px}
.page[data-page="kontakt"] .page-section-head>.eyebrow,
.page[data-page="offene-stellen"] .page-section-head>.eyebrow,
.page[data-page="ueber-uns"] .page-section-head>.eyebrow{display:none}
.page[data-page="kontakt"] .section-title,
.page[data-page="offene-stellen"] .section-title,
.page[data-page="ueber-uns"] .section-title{margin:0}
.page[data-page="kontakt"] .lede,
.page[data-page="offene-stellen"] .lede,
.page[data-page="ueber-uns"] .lede{margin-top:.45rem;max-width:42rem}
.page-section-head>.eyebrow{display:none}
.section-title{grid-column:1;grid-row:1;font:600 clamp(2rem,3.2vw,3.5rem)/1.12 "Manrope",sans-serif;letter-spacing:-.045em;margin:0;overflow-wrap:break-word}
.lede{grid-column:1;grid-row:2;color:var(--muted);font-size:1.08rem;margin:.45rem 0 0;max-width:640px}
.subnav{grid-column:2;grid-row:1;align-self:start;justify-self:end;display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;margin-top:0}
.subnav a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:.48rem .78rem;color:#53606a;font-size:.84rem;font-weight:600}
.subnav a:hover{border-color:var(--blue);color:#087eae}
.subnav a[aria-current="page"]{background:var(--paper);border-color:var(--blue);color:var(--ink)}

.content-grid,.branch-grid,.price-cards,.legal,.original-action{grid-column:1/-1;grid-row:auto;margin-top:var(--card-gap)}
.content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:var(--card-gap);align-items:stretch}
.content-grid>*{min-width:0}
.content-grid>div,.legal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--card-padding)}
.content-grid h2,.legal h2{font:600 1.7rem/1.2 "Manrope",sans-serif;letter-spacing:-.035em;margin:0 0 1rem}
.content-grid h2:not(:first-child),.legal h2:not(:first-child){margin-top:2.3rem}
.content-grid p,.legal p{color:var(--muted);line-height:1.75;margin:0 0 1.15rem;max-width:72ch}
.content-grid a:not(.btn),.legal a{color:var(--link);text-underline-offset:.2em;overflow-wrap:anywhere}
.content-grid>div>:last-child,.side-card>:last-child,.legal>:last-child{margin-bottom:0}
.side-card{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:var(--card-padding);align-self:stretch}
.side-card h3{font:600 1.55rem/1.2 "Manrope",sans-serif;letter-spacing:-.035em;margin:0 0 .8rem}
.side-card p{color:var(--muted)}.side-card a:not(.btn){color:var(--link)}
.side-card h3:not(:first-child){margin-top:1.8rem}
.page[data-page="dienstleistungen"] .content-grid{grid-template-columns:1fr}
.page[data-page="dienstleistungen"] .side-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:2rem}
.page[data-page="dienstleistungen"] .side-card h3,.page[data-page="dienstleistungen"] .side-card p{grid-column:1}
.page[data-page="dienstleistungen"] .side-card p{margin-bottom:0}
.page[data-page="dienstleistungen"] .side-card .btn{grid-column:2;grid-row:1/3;align-self:center}
.page[data-page="filialnetz"] .content-grid>div{display:flex;flex-direction:column}
.page[data-page="filialnetz"] .content-grid>div>.btn{margin-top:auto;align-self:flex-start}
.page[data-page="filialnetz"] .content-grid{display:contents}
.page[data-page="filialnetz"]{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);column-gap:var(--card-gap)}
.page[data-page="filialnetz"] .location-map{grid-column:1;grid-row:4/6;margin-top:var(--card-gap);align-self:stretch;grid-template-columns:1fr;grid-template-rows:auto minmax(560px,1fr)}
.page[data-page="filialnetz"] .location-map .map-canvas{min-height:560px;height:100%}
.page[data-page="filialnetz"] .content-grid>.headquarters-card{grid-column:2;grid-row:4;margin-top:var(--card-gap)}
.page[data-page="filialnetz"] .content-grid>div{grid-column:2;grid-row:5;min-height:0;margin-top:var(--card-gap)}
.headquarters-card{overflow:hidden;padding:0}
.headquarters-card>img{display:block;width:100%;height:170px;object-fit:cover}
.headquarters-card>h3,.headquarters-card>p{margin-inline:var(--card-padding)}
.headquarters-card>h3{margin-top:var(--card-padding)}
.headquarters-card>p:last-child{margin-bottom:var(--card-padding)}
.location-map{grid-column:1/-1;margin-top:var(--card-gap);display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:var(--card-gap);align-items:stretch;padding:var(--card-padding);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.location-map h2{font:600 clamp(1.7rem,2.5vw,2.35rem)/1.15 "Manrope",sans-serif;letter-spacing:-.04em;margin:.35rem 0 .75rem}
.location-map p{color:var(--muted);line-height:1.65;margin:0;max-width:28ch}
.location-map iframe{width:100%;min-height:310px;border:0;border-radius:calc(var(--radius) - 6px);filter:saturate(.8) contrast(.96)}
.map-canvas{width:100%;min-height:460px;border-radius:calc(var(--radius) - 6px);overflow:hidden;background:var(--paper)}
.map-info{display:flex;flex-direction:column;gap:.2rem;min-width:210px;margin-top:0;padding:0 .15rem;color:#1e2930;font:500 14px/1.45 "DM Sans",sans-serif}
.map-info strong{font:700 16px/1.25 "Manrope",sans-serif;color:#101820;margin-bottom:.15rem}
.map-info span{display:block}
.map-info .map-hours{margin-top:0;padding-top:0;border-top:0;font-size:12px;line-height:1.5}
.map-info-title{font:700 16px/1.25 "Manrope",sans-serif;color:#101820;padding:.1rem 0}
.map-note{font-size:.86rem;margin-top:1rem!important}
.map-links{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.map-links a{border:1px solid var(--line);border-radius:999px;padding:.35rem .6rem;color:var(--link);font-size:.8rem;text-decoration:none}
.legal{width:min(100%,960px);margin-inline:auto}
.lede:empty{display:none}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;padding:0;margin:0 0 2rem;list-style:none}
.service-list li{padding:.72rem 0;border-bottom:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere}
.service-list li:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);margin-right:.6rem}
.branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.branch,.price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem}
.branch h3,.price-card h3{font:600 1.55rem "Manrope",sans-serif;margin:.2rem 0 .75rem}
.notice{grid-column:1/-1;margin-top:1rem;padding:1.2rem 1.4rem;background:var(--blue-soft);color:#294b5b;border-radius:12px}
.price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hours{width:100%;border-collapse:collapse;margin:1.5rem 0 0;font-variant-numeric:tabular-nums}
.hours td{padding:1rem 0;border-bottom:1px solid var(--line);vertical-align:middle}.hours td:first-child{padding-right:1rem}.hours td:last-child{text-align:right}
.document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.document-link{min-height:160px;background:var(--blue-soft);border-radius:14px;padding:1.5rem;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}
.document-link:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.document-link span{color:var(--link);font-size:.72rem;font-weight:700;letter-spacing:.16em}
.document-link strong{font:600 1.45rem/1.2 "Manrope",sans-serif}
.job-highlight{background:var(--yellow);color:#1e252c;border-radius:14px;padding:1.8rem;font:600 clamp(1.8rem,3vw,2.7rem)/1.1 "Manrope",sans-serif;letter-spacing:-.04em}
.original-action{width:min(100%,900px);margin-inline:auto;margin-bottom:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.original-action img{display:block;width:100%;height:auto;border-radius:12px}

.site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--section-rule);padding:4rem max(1.5rem,calc((100% - var(--content))/2)) 2rem}
.footer-grid{display:grid;grid-template-columns:1.25fr .85fr .7fr;gap:3rem}
.site-footer h2{font:600 1.8rem "Manrope",sans-serif;margin:0 0 .6rem}.site-footer h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--blue)}
.site-footer p,.site-footer a{color:var(--muted);text-decoration:none;font-size:.9rem}.site-footer a:hover{color:var(--ink)}
.copyright{margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}
.footer-grid>div{min-width:0}.site-footer a{overflow-wrap:anywhere}.site-footer h3{margin-top:0}
.cookie{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);z-index:80;width:min(720px,calc(100% - 2rem));display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow)}
.cookie.hidden{display:none}.cookie strong{font:700 1rem "Manrope",sans-serif}.cookie p{font-size:.78rem;margin:.1rem 0 0;color:var(--muted)}
.cookie button{border:0;border-radius:999px;background:var(--green);color:#fff;padding:.62rem .9rem;font-weight:700;cursor:pointer}

[data-theme="dark"] .site-header{background:var(--paper);border-bottom-color:rgba(255,255,255,.1)}
[data-theme="dark"] .site-footer h3{color:var(--yellow)}
[data-theme="dark"] .main-nav>a,[data-theme="dark"] .nav-parent{color:#b8c2c8}
[data-theme="dark"] .main-nav>a:hover,[data-theme="dark"] .main-nav>a.active,[data-theme="dark"] .nav-parent:hover,[data-theme="dark"] .nav-group[data-active="true"]>.nav-parent{color:#fff}
[data-theme="dark"] .subnav a{color:#b6c2c8}
[data-theme="dark"] .service-list li{color:#bdc6cb}
[data-theme="dark"] .tile-branches small{color:var(--ink)}
[data-theme="dark"] .notice{color:#c9e2ec}
[data-theme="dark"] .document-link{color:#eef3f5}
[data-theme="dark"] .search-toggle span,[data-theme="dark"] .search-toggle span:after{border-color:#b8c2c8}
[data-theme="dark"] .search-toggle span:after{background:#b8c2c8}

@media(max-width:1050px){
  .page{column-gap:2.5rem}
  .main-nav{gap:1.05rem}
  .mosaic{grid-auto-rows:150px}
}

@media(min-width:901px){
  .page[data-page="dienstleistungen"] .content-grid>div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:3rem;align-items:start}
  .page[data-page="dienstleistungen"] .content-grid>div>p:first-child{grid-column:1/-1;margin-bottom:2rem}
  .page[data-page="dienstleistungen"] .content-grid>div>h2:first-of-type{grid-column:1;grid-row:2;margin-top:0}
  .page[data-page="dienstleistungen"] .service-list{grid-column:1;grid-row:3/5;margin-bottom:0}
  .page[data-page="dienstleistungen"] .content-grid>div>h2:nth-of-type(2){grid-column:2;grid-row:2;margin-top:0}
  .page[data-page="dienstleistungen"] .content-grid>div>p:nth-of-type(2){grid-column:2;grid-row:3}
  .page[data-page="dienstleistungen"] .content-grid>div>.btn{grid-column:2;grid-row:4;justify-self:start}
}

@media(max-width:900px){
  :root{--hero-gap:1.5rem;--card-gap:1.5rem}
  .site-header{height:68px;padding-inline:1rem}
  .menu-toggle{display:block;margin-left:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.5rem .75rem;font:600 .88rem "DM Sans",sans-serif}
  .menu-toggle span{display:inline-block;width:14px;height:2px;background:currentColor;vertical-align:middle;margin-left:.3rem}
  .main-nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;background:var(--surface);padding:1rem;border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:.75rem;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}
  .nav-group{display:block;width:100%}
  .nav-submenu{display:block;position:static;min-width:0;background:var(--paper);box-shadow:none;padding:.35rem .65rem;margin-top:.5rem;border-radius:10px}
  .nav-submenu a{color:#5b6670;padding:.5rem .55rem}
  [data-theme="dark"] .nav-submenu{background:var(--paper);border:1px solid var(--line)}
  [data-theme="dark"] .nav-submenu a{color:#b9c5cb}
  [data-theme="dark"] .nav-submenu a:hover,[data-theme="dark"] .nav-submenu a:focus-visible,[data-theme="dark"] .nav-submenu a.active{background:#27343c;color:#fff}
  .theme-toggle,.search-toggle{margin-left:.5rem}
  .search-panel{top:61px;right:1rem}
  .page{width:min(calc(100% - 2rem),var(--content));display:block;padding:2.5rem 0 4rem}
  .page:before{width:min(370px,80vw);margin-bottom:1.5rem}
  .hero-copy h1,.brand-claim{font-size:clamp(2.8rem,9vw,4.1rem)}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:170px}
  .tile-action,.tile-branches,.tile-small,.tile-hanger,.tile-service,.tile-fashion,.tile-detail{grid-column:auto;grid-row:auto}
  .tile-action{order:1}.tile-main{order:2}.tile-branches{order:3}.tile-small{order:4}.tile-service{order:5}.tile-wide{order:6}.tile-phone{order:7}.tile-hanger{order:8}.tile-fashion{order:9}.tile-detail{order:10}
  .tile-main{grid-column:1/-1;grid-row:span 2}
  .tile-wide,.tile-phone{grid-column:1/-1;grid-row:auto}
  .tile-detail{grid-column:1/-1}
  .intro{grid-template-columns:1fr;margin-top:3rem}
  .page-section-head{display:flex;flex-direction:column;align-items:flex-start;min-height:0}
  .page[data-page="kontakt"] .page-section-head,
  .page[data-page="offene-stellen"] .page-section-head,
  .page[data-page="ueber-uns"] .page-section-head{display:flex;min-height:0}
  .section-title{font-size:clamp(1.8rem,6.5vw,3rem)}
  .lede{margin-top:1rem}
  .subnav{margin-top:1.4rem}
  .content-grid{grid-template-columns:1fr}
  .page[data-page="filialnetz"] .content-grid{display:block}
  .page[data-page="filialnetz"]{grid-template-columns:1fr}
  .page[data-page="filialnetz"] .location-map{display:grid;grid-column:auto;grid-row:auto;margin-top:var(--card-gap);grid-template-columns:1fr}
  .page[data-page="filialnetz"] .location-map .map-canvas{min-height:360px}
  .page[data-page="filialnetz"] .content-grid>div{margin-top:0}
  .location-map{grid-template-columns:1fr}
  .location-map iframe{min-height:260px}
  .map-canvas{min-height:360px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .menu-toggle{margin-left:0;margin-right:auto;min-height:44px}
  .theme-toggle,.search-toggle{width:42px;height:42px;flex-shrink:0}
  .search-toggle span{left:12px;top:11px}
  .main-nav{max-height:calc(100dvh - 68px);overflow-y:auto;align-items:stretch;gap:.25rem}
  .main-nav>a,.nav-parent{display:block;padding:.65rem .5rem;min-height:44px}
  .main-nav>a:after,.nav-parent:after{bottom:.25rem;left:.5rem}
  .nav-submenu a{min-height:44px}
}

@media(max-width:560px){
  .search-panel{left:1rem;right:1rem}.search-panel input{width:100%;min-width:0}
  .hero-copy h1,.brand-claim{font-size:clamp(2rem,8.5vw,2.9rem);line-height:1.07;letter-spacing:-.05em;text-wrap:balance}
  .mosaic{grid-auto-rows:145px;gap:10px}
  .tile{padding:1.05rem;border-radius:14px}
  .tile-action h2{font-size:1.35rem}.tile-branches{font-size:1.1rem}.tile-branches small{font-size:1rem}
  .tile-phone{font-size:1.2rem}
  .intro>div,.promise,.page-section-head,.content-grid>div,.legal,.side-card{padding:1.5rem}
  .cta-band{padding:var(--card-padding);align-items:flex-start;flex-direction:column;gap:1.5rem}
  .service-list,.branch-grid,.price-cards,.document-list,.footer-grid{grid-template-columns:1fr}
  .hours td{display:table-cell;padding:.85rem 0;font-size:.9rem}.hours td:last-child{text-align:right}
  .cookie{align-items:flex-start}.cookie button{white-space:nowrap}
  .subnav{gap:.5rem}.subnav a{min-height:42px;display:inline-flex;align-items:center}
  .job-highlight{font-size:clamp(1.5rem,6.5vw,2rem);line-height:1.2;padding:1.25rem;overflow-wrap:break-word}
  .footer-grid{gap:2rem}.site-footer{padding:3rem 1rem 1.5rem}
  .copyright{margin-top:2rem}
  .page[data-page="dienstleistungen"] .side-card{display:block}
  .page[data-page="dienstleistungen"] .side-card .btn{margin-top:1.5rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .tile:hover,.btn:hover,.document-link:hover{transform:none}
}
