.v3{--display:system-ui,sans-serif;background:#fff;color:var(--ink)}
.v3 a:focus-visible,.v3 button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.v3 .shell{width:min(1160px,calc(100% - 44px));margin-inline:auto}
.v3 .skip{position:absolute;left:12px;top:-100px;z-index:4;background:#fff;padding:12px}.v3 .skip:focus{top:12px}
.top{background:white;border-bottom:1px solid var(--line)}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:10px}
.top .logo img{width:126px;height:auto;display:block}
.top nav{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-weight:650;font-size:.94rem}
.top nav a:hover,.top nav [aria-current]{color:var(--brand-dark);text-decoration:underline;text-underline-offset:5px}
.v3 .action{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;background:#0965b9;color:#fff;padding:11px 19px;font-weight:750;width:fit-content}
.v3 .action:hover{background:#074d8c}
.vhero{background:linear-gradient(115deg,#081730,#102e52);color:#fff}
.hero-inner{padding-block:clamp(44px,7vw,95px)}
.hero-inner.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.vhero h1{color:#fff;font-size:clamp(2.3rem,5vw,4.65rem);max-width:17ch;letter-spacing:-.055em;overflow-wrap:break-word}
.v3 .kicker{margin:0 0 14px;color:var(--brand-dark);font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:.75rem}
.vhero .kicker{color:#95ceff}
.vhero .intro{font-size:clamp(1rem,2vw,1.24rem);max-width:55ch;color:#e0edfb;margin:20px 0 26px}
.hero-photo{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.vsection{padding-block:clamp(30px,5vw,62px)}
.vsection+.vsection{padding-top:0}
.vsection h2,.v3 .callout h2{font-size:clamp(1.55rem,3vw,2.55rem);line-height:1.15;letter-spacing:-.035em}
.vsection h3{font-size:1.24rem;line-height:1.25}
.vsection p{max-width:70ch}
.vsection p a,.tiles article a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}
.vsection p .action{color:#fff;text-decoration:none}
.service-grid,.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.service{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:20px;border:1px solid var(--line);border-radius:12px;align-items:start;background:var(--paper)}
.service:hover{background:var(--accent-soft);border-color:var(--accent)}
.service .index{color:var(--brand-dark);font-weight:800;font-size:.85rem}
.service strong,.service small{display:block}.service small{color:var(--ink-soft);margin-top:5px;line-height:1.4}
.v3 .callout,.tiles article{border-radius:14px;padding:clamp(20px,4vw,38px);background:var(--paper);border:1px solid var(--line)}
.tiles article h2{font-size:1.4rem}
.foot{background:var(--navy);color:#e0edfb;padding-block:30px}
.foot-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 32px}
.foot a:hover,.channels a{text-decoration:underline;text-underline-offset:4px}
.channels{display:flex;flex-wrap:wrap;gap:18px}
.v3 .form-card{margin:20px 0 0;max-width:820px}
.v3 .photo-note{font-size:.85rem;color:var(--ink-soft)}
.v3 .feature-photo{width:min(100%,620px);border-radius:14px;display:block}
@media(max-width:790px){.top-inner{flex-wrap:wrap;gap:8px}.top nav{order:3;width:100%;padding:4px 0 10px;gap:6px 16px}.top .logo img{width:111px}.hero-inner.split{grid-template-columns:1fr}.hero-photo{max-height:420px}}
@media(max-width:560px){.v3 .shell{width:calc(100% - 30px)}.service-grid,.tiles{grid-template-columns:1fr}.service{padding:16px}}

.mascot{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:4/3}.mascot .hero-photo{position:absolute;width:230%;max-width:none;max-height:none;height:auto;aspect-ratio:auto;right:-2%;top:0;border-radius:0}.v3 figure{margin:0}.v3 figcaption{margin-top:8px}

/* Büroreinigung */
.office-service .vhero h1{font-size:clamp(1.75rem,4.5vw,3.65rem);max-width:24ch;line-height:1.1}
.office-service .vhero .intro{font-size:clamp(1rem,1.5vw,1.125rem)}
.office-service .office-copy{width:min(68ch,calc(100% - 44px));font-size:.975rem;line-height:1.7}
.office-copy p{margin:0 0 1em}
.office-copy h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:clamp(30px,5vw,54px) 0 .65em}
.office-copy h3{font-size:1.08rem;margin:1.4em 0 .3em}
.office-copy ul{margin:0 0 1.25em;padding-inline-start:1.4em}
.office-copy li+li{margin-top:.45em}
.office-copy li::marker{color:var(--brand-dark)}
.office-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-top:clamp(20px,4vw,32px)}
@media(max-width:560px){.office-service .office-copy{width:calc(100% - 30px)}}
.office-service .vhero h1,.office-service .vhero .intro{margin-inline:auto}

/* Startseite */
.home-hero h1{font-size:clamp(1.6rem,3.9vw,3.5rem);max-width:none;line-height:1.1}
.home-hero .hero-photo{object-position:center 58%}
.home-benefits{background:var(--paper);border-bottom:1px solid var(--line)}
.home-benefits ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:0;padding:16px 0;list-style:none;text-align:center;font-size:.94rem;font-weight:700}
.home-benefits li::before{content:"";display:inline-block;width:7px;height:7px;margin-inline-end:9px;border-radius:50%;background:var(--brand)}
@media(max-width:560px){.home-benefits ul{grid-template-columns:1fr;gap:6px;text-align:left}}

.home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 0;padding:0;list-style:none;counter-reset:home-step}
.home-steps li{counter-increment:home-step;padding:clamp(16px,2.4vw,24px);background:var(--paper);border:1px solid var(--line);border-radius:12px}
.home-steps li::before{content:counter(home-step,decimal-leading-zero);display:inline-block;margin-bottom:8px;color:var(--brand-dark);font-size:.85rem;font-weight:800}
.home-steps p{margin:.55rem 0 0;color:var(--ink-soft)}
@media(max-width:700px){.home-steps{grid-template-columns:1fr}}

/* Über uns */
.v3 .about-content{width:min(68ch,calc(100% - 44px));font-size:.975rem;line-height:1.7}
.about-content .about-experience{margin:0 0 clamp(24px,4vw,40px);padding:14px 18px;border-inline-start:4px solid var(--brand);border-radius:0 8px 8px 0;background:var(--accent-soft);color:var(--ink);font-size:clamp(1rem,2vw,1.2rem)}
.about-content h2{margin-bottom:.7em}
.about-content p{margin:0 0 1em}
.about-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:26px 0 0;padding:0}
.about-benefits li{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 15px;font-weight:700}
@media(max-width:560px){.v3 .about-content{width:calc(100% - 30px)}.about-benefits{grid-template-columns:1fr}}

.property-hero h1{font-size:clamp(1.6rem,3.8vw,3.5rem);max-width:none;line-height:1.1}
.property-note{margin:24px 0 0}

.v3 .property-figure{width:min(100%,640px)}
.v3 .property-figure .feature-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 62%}

.area-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:24px 0 0;padding:0;list-style:none}
.area-list li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-weight:700}
.area-list .area-main{background:var(--accent-soft);border-color:var(--accent)}
.area-main small{display:block;margin-top:2px;color:var(--ink-soft);font-weight:600}

.office-intervals{width:100%;table-layout:fixed;border-collapse:collapse;margin:0 0 1em;text-align:left;line-height:1.45}
.office-intervals th,.office-intervals td{border:1px solid var(--line);padding:clamp(8px,2vw,14px);vertical-align:top;overflow-wrap:anywhere;hyphens:auto}
.office-intervals thead{background:var(--accent-soft)}
.office-intervals thead th:first-child{width:42%}
.office-intervals tbody th{background:var(--paper)}

.office-copy .object-check-note{padding:12px 16px;background:var(--paper);border-inline-start:3px solid var(--accent);border-radius:0 8px 8px 0}

.contact-hero{text-align:center}
.contact-hero h1,.contact-hero .intro{margin-inline:auto}
.contact-channels{justify-content:center}
.contact-channels a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #95ceff;border-radius:8px;background:var(--paper);color:var(--ink);font-weight:700;text-decoration:none}
.contact-channels a:hover{background:var(--accent-soft)}
.contact-privacy{padding:12px 16px;background:var(--paper);border-inline-start:3px solid var(--accent)}
@media(max-width:560px){.contact-channels{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}}

/* Mobile header disclosure */
.top .menu-toggle{display:none}
@media(max-width:767px){
  .home-hero h1{letter-spacing:normal}
  .has-mobile-menu .top{position:relative;z-index:3}
  .has-mobile-menu .top-inner{flex-wrap:nowrap}
  .has-mobile-menu .top .menu-toggle{
    display:grid;place-items:center;flex:0 0 44px;min-height:44px;
    margin-left:auto;border:1px solid var(--line);border-radius:8px;
    background:#fff;color:var(--brand-dark);font:inherit;font-size:1.3rem;cursor:pointer
  }
  .has-mobile-menu .top .action{margin-left:0}
  .has-mobile-menu .top #hauptnavigation{
    position:absolute;top:100%;right:15px;width:min(260px,calc(100% - 30px));
    padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;
    box-shadow:0 8px 24px #08173026;gap:0
  }
  .has-mobile-menu .top .menu-toggle[aria-expanded="false"] + #hauptnavigation{display:none}
  .has-mobile-menu .top #hauptnavigation a{display:flex;align-items:center;width:100%;min-height:44px;padding:6px 12px}
}
