/* ============================================================
   MASSWERK BAUBETREUUNG  ·  Stylesheet
   Marken-Palette: Marineblau/Gold · Editorial Luxury
   ============================================================ */

:root{
  --navy:        #1F3A5F;
  --navy-deep:   #16294A;
  --navy-card:   #2A4A70;
  --gold:        #C9A961;
  --gold-soft:   #D9BE7E;
  --cream:       #F5F1EA;
  --paper:       #FBF8F3;
  --ink:         #1B2433;
  --ink-soft:    #4A5468;
  --line:        #E2DDD2;
  --white:       #FFFFFF;

  --serif: 'Cormorant Garamond', 'Georgia', serif;
  --sans:  'Inter', system-ui, sans-serif;

  --container: 1180px;
  --radius: 4px;
  --transition: 240ms cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-weight:400;
  font-size:16px;
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:var(--transition)}

/* ---------- Typografie ---------- */
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:600;
  line-height:1.15;
  color:var(--navy-deep);
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.4rem,5vw,4rem)}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}
h3{font-size:1.4rem}
h4{font-size:1.1rem;font-family:var(--sans);font-weight:600;letter-spacing:.02em}

.eyebrow{
  font-family:var(--sans);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.2rem;
  display:inline-block;
}

.lead{
  font-family:var(--serif);
  font-size:1.35rem;
  line-height:1.5;
  color:var(--ink-soft);
  font-weight:400;
}

/* ---------- Layout ---------- */
.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 1.5rem;
}

section{padding:6rem 0}
@media (max-width:768px){section{padding:4rem 0}}

.section-dark{
  background:var(--navy);
  color:var(--cream);
}
.section-dark h1,.section-dark h2,.section-dark h3{color:var(--white)}
.section-dark .lead{color:rgba(245,241,234,.78)}

.section-cream{background:var(--cream)}

/* Goldener Akzentstrich (statt AI-typischer Linien dezent eingesetzt) */
.accent-rule{
  display:block;
  width:48px;
  height:2px;
  background:var(--gold);
  margin:1.6rem 0 1.6rem;
  border:none;
}

/* ---------- Header / Navigation ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(251,248,243,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.5rem;
  max-width:var(--container);margin:0 auto;
}
.brand{
  display:flex;align-items:center;
  flex-shrink:0;
}
.brand img{
  height:64px;width:auto;display:block;
}
@media (max-width:520px){
  .brand img{height:48px}
}

.nav-links{
  display:flex;gap:2.2rem;align-items:center;list-style:none;
}
.nav-links a{
  font-size:.92rem;
  font-weight:500;
  color:var(--ink-soft);
  position:relative;
  padding:.3rem 0;
}
.nav-links a:hover,.nav-links a.active{color:var(--navy-deep)}
.nav-links a.active::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;
  height:2px;background:var(--gold);
}

.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;
  width:32px;height:32px;flex-direction:column;justify-content:center;gap:6px;
}
.nav-toggle span{display:block;height:2px;background:var(--navy-deep)}

@media (max-width:820px){
  .nav-toggle{display:flex}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;
    transition:max-height var(--transition);
  }
  .nav-links.open{max-height:400px}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:1rem 1.5rem;border-top:1px solid var(--line)}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.8rem;
  font-family:var(--sans);font-size:.92rem;font-weight:600;
  letter-spacing:.04em;
  border-radius:var(--radius);
  cursor:pointer;border:none;
  transition:var(--transition);
}
.btn-primary{background:var(--gold);color:var(--navy-deep)}
.btn-primary:hover{background:var(--gold-soft);transform:translateY(-1px)}
.btn-outline{background:transparent;border:1.5px solid var(--navy-deep);color:var(--navy-deep)}
.btn-outline:hover{background:var(--navy-deep);color:var(--white)}
.section-dark .btn-outline,
.hero .btn-outline,
.page-header .btn-outline{border-color:var(--gold);color:var(--gold)}
.section-dark .btn-outline:hover,
.hero .btn-outline:hover,
.page-header .btn-outline:hover{background:var(--gold);color:var(--navy-deep)}

.btn-arrow::after{content:'→';font-size:1.1em;transition:transform var(--transition)}
.btn-arrow:hover::after{transform:translateX(4px)}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:var(--navy);
  color:var(--cream);
  padding:7rem 0 8rem;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  opacity:.55;
}
.hero::before{
  /* dunkler Verlauf von links für Text-Lesbarkeit */
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(22,41,74,.92) 0%,rgba(22,41,74,.78) 35%,rgba(22,41,74,.35) 70%,rgba(22,41,74,.15) 100%);
  pointer-events:none;
}
.hero::after{
  /* Goldener Lichteffekt oben rechts */
  content:'';position:absolute;top:-40%;right:-20%;z-index:1;
  width:80%;height:120%;
  background:radial-gradient(closest-side,rgba(201,169,97,.18),transparent 70%);
  pointer-events:none;
}
.hero-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;
  position:relative;z-index:2;
}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}}

.hero h1{color:var(--white)}
.hero h1 em{
  font-style:italic;
  color:var(--gold);
  font-weight:500;
}
.hero-text p{font-size:1.15rem;color:rgba(245,241,234,.82);margin:1.5rem 0 2.2rem;max-width:520px}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}

.hero-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(201,169,97,.3);
  border-radius:var(--radius);
  padding:2.2rem;
  position:relative;
}
.hero-card::before{
  content:'';position:absolute;top:0;left:0;width:3px;height:60px;background:var(--gold);
}
.hero-card h4{color:var(--gold);margin-bottom:1rem;letter-spacing:.04em}
.hero-card ul{list-style:none;padding:0}
.hero-card li{
  padding:.7rem 0;
  border-bottom:1px solid rgba(245,241,234,.12);
  font-size:.95rem;
  display:flex;align-items:flex-start;gap:.8rem;
}
.hero-card li:last-child{border:none}
.hero-card li::before{
  content:'';flex-shrink:0;
  width:6px;height:6px;border-radius:50%;
  background:var(--gold);margin-top:.55rem;
}

/* ---------- Section Header ---------- */
.section-head{max-width:680px;margin-bottom:3.5rem}
.section-head .lead{margin-top:.8rem}

/* Sub-Service-Boxen (z.B. unter Aufmaß: CAD, WoFlV, 360°) */
.sub-services{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:.8rem;margin-top:1.8rem;
}
@media (max-width:1100px){
  .sub-services{grid-template-columns:1fr}
}
.sub-service{
  background:var(--paper);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  border-radius:var(--radius);
  padding:1rem 1.1rem;
}
.sub-service h4{
  font-family:var(--serif);
  font-size:1rem;
  color:var(--navy-deep);
  margin-bottom:.4rem;
  font-weight:600;
  line-height:1.25;
}
.sub-service p{
  font-size:.82rem;
  color:var(--ink-soft);
  line-height:1.5;
  margin:0;
}
.sub-service .tag{
  display:inline-block;
  font-size:.62rem;
  letter-spacing:.16em;
  color:var(--gold);
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:.3rem;
}

/* Beispiel-Block (z.B. Aufmaß-Beispielbild) */
.beispiel-block{
  margin-top:2.5rem;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2rem;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:2rem;
  align-items:center;
}
@media (max-width:820px){
  .beispiel-block{grid-template-columns:1fr;padding:1.5rem;gap:1.5rem}
}
.beispiel-block .beispiel-img{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1rem;
  position:relative;
}
.beispiel-block .beispiel-img img{
  width:100%;height:auto;display:block;border-radius:2px;
}
.beispiel-block .beispiel-img::after{
  content:'';position:absolute;left:-8px;top:-8px;width:36px;height:36px;
  border-top:2px solid var(--gold);border-left:2px solid var(--gold);
  z-index:2;border-radius:0;
}
.beispiel-block .beispiel-text h4{
  font-family:var(--serif);
  font-size:1.4rem;
  color:var(--navy-deep);
  margin-bottom:.6rem;
  font-weight:600;
}
.beispiel-block .beispiel-text .tag{
  display:inline-block;
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--gold);
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:.5rem;
}
.beispiel-block .beispiel-text p{
  font-size:.92rem;
  color:var(--ink-soft);
  line-height:1.65;
  margin-bottom:.8rem;
}

/* ---------- Cards / Leistungen ---------- */
.cards-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;
}
.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2.2rem 2rem;
  transition:var(--transition);
  position:relative;
}
.card:hover{
  transform:translateY(-3px);
  border-color:var(--gold);
  box-shadow:0 12px 32px rgba(31,58,95,.08);
}
.card .num{
  font-family:var(--serif);
  font-size:1.8rem;
  color:var(--gold);
  font-style:italic;
  display:block;margin-bottom:.6rem;
}
.card h3{margin-bottom:.7rem}
.card p{color:var(--ink-soft);font-size:.95rem}

/* Leistungen ausführlich */
.leistung-row{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start;
  padding:3.5rem 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:90px;
}
.leistung-row:last-child{border-bottom:none}
.leistung-row.reverse{grid-template-columns:1.1fr .9fr}
.leistung-row.reverse .leistung-text{order:2}
@media (max-width:820px){
  .leistung-row,.leistung-row.reverse{grid-template-columns:1fr;gap:1.8rem}
  .leistung-row.reverse .leistung-text{order:0}
}
.leistung-text h2{margin-bottom:.6rem}
.leistung-text ul{list-style:none;margin-top:1.6rem}
.leistung-text li{
  padding:.55rem 0 .55rem 1.6rem;
  position:relative;
  color:var(--ink-soft);
}
.leistung-text li::before{
  content:'';position:absolute;left:0;top:1.05rem;
  width:8px;height:1px;background:var(--gold);
}
.leistung-visual{
  background:var(--cream);
  border-radius:var(--radius);
  aspect-ratio:4/3;
  position:relative;overflow:hidden;
}
.leistung-visual img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s cubic-bezier(.4,0,.2,1);
}
.leistung-row:hover .leistung-visual img{transform:scale(1.03)}
.leistung-visual::after{
  content:'';position:absolute;left:-10px;top:-10px;width:42px;height:42px;
  border-top:2px solid var(--gold);border-left:2px solid var(--gold);
  z-index:2;
}

/* ---------- Stats / Vorteile (4-Box-Grid) ---------- */
.benefits-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;
  background:rgba(201,169,97,.25);
  border:1px solid rgba(201,169,97,.25);
}
.benefit{
  background:var(--navy);
  padding:2.4rem 2rem;
}
.benefit h4{color:var(--gold);margin-bottom:.8rem;font-family:var(--serif);font-size:1.35rem;font-weight:600}
.benefit p{color:rgba(245,241,234,.78);font-size:.95rem}

/* ---------- Über / Vita ---------- */
.about-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;
}
@media (max-width:820px){.about-grid{grid-template-columns:1fr;gap:2.5rem}}

.portrait{
  aspect-ratio:4/5;
  background:var(--cream);
  border-radius:var(--radius);
  position:relative;overflow:hidden;
}
.portrait img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.portrait::before{
  content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,transparent 60%,rgba(31,58,95,.18));
  pointer-events:none;
}
.portrait::after{
  content:'';position:absolute;left:-12px;top:-12px;width:48px;height:48px;
  border-top:2px solid var(--gold);border-left:2px solid var(--gold);
  z-index:3;
}

.vita-list{list-style:none;margin-top:2rem}
.vita-list li{
  display:grid;grid-template-columns:160px 1fr;gap:1.5rem;
  padding:1.1rem 0;
  border-bottom:1px solid var(--line);
}
.vita-list li:last-child{border-bottom:none}
.vita-list dt{font-weight:600;color:var(--gold);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.vita-list dd{color:var(--ink-soft)}
@media (max-width:520px){.vita-list li{grid-template-columns:1fr;gap:.3rem}}

/* ---------- Referenzen / Galerie ---------- */
.gallery{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;
}
.gallery-item{
  position:relative;
  aspect-ratio:4/3;
  background:linear-gradient(135deg,#2A4A70,#1F3A5F);
  border-radius:var(--radius);
  overflow:hidden;
  cursor:pointer;
  border:1px solid var(--line);
  transition:var(--transition);
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.gallery-item:hover{transform:translateY(-2px);border-color:var(--gold)}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item .ref-meta{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.4rem;
  background:linear-gradient(transparent,rgba(22,41,74,.65) 35%,rgba(22,41,74,.95) 100%);
  color:var(--cream);
}
.gallery-item .ref-meta strong{
  display:block;font-family:var(--serif);font-size:1.15rem;font-weight:600;
  color:var(--white);margin-bottom:.25rem;
}
.gallery-item .ref-meta span{font-size:.82rem;letter-spacing:.04em;color:var(--gold)}

.gallery-placeholder{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--serif);font-style:italic;color:var(--ink-soft);opacity:.45;
  font-size:1rem;text-align:center;padding:1rem;
}

/* ---------- Quote / Trust ---------- */
.quote-block{
  text-align:center;
  max-width:780px;margin:0 auto;
  padding:4rem 0;
}
.quote-block blockquote{
  font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.1rem);
  line-height:1.4;color:var(--white);
  font-weight:500;font-style:italic;
}
.quote-block blockquote .qmark{
  color:var(--gold);font-style:normal;font-weight:600;
  display:inline-block;
}
.quote-block cite{
  display:block;margin-top:1.5rem;
  font-style:normal;color:var(--gold);
  font-family:var(--sans);font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;
}

/* ---------- Kontakt ---------- */
.contact-grid{
  display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start;
}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}

.contact-info dl{display:grid;gap:1.4rem;margin-top:2rem}
.contact-info dt{
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:.3rem;
}
.contact-info dd{font-size:1.08rem;color:var(--navy-deep);font-family:var(--serif);font-weight:500}
.contact-info dd a:hover{color:var(--gold)}

/* Formular */
form.contact-form{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2.5rem;
}
.form-row{margin-bottom:1.4rem}
.form-row.split{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media (max-width:520px){.form-row.split{grid-template-columns:1fr}}

.form-row label{
  display:block;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:600;margin-bottom:.4rem;
}
.form-row label .req{color:var(--gold)}
.form-row input,.form-row textarea,.form-row select{
  width:100%;
  padding:.85rem 1rem;
  font-family:var(--sans);font-size:.98rem;color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  transition:var(--transition);
}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{
  outline:none;border-color:var(--gold);background:var(--white);
}
.form-row textarea{resize:vertical;min-height:140px}
.form-row .check{
  display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:var(--ink-soft);
  cursor:pointer;
  text-transform:none;letter-spacing:normal;font-weight:400;
}
.form-row .check input{width:auto;margin-top:.25rem}

.form-status{
  margin-top:1rem;padding:.9rem 1.1rem;border-radius:var(--radius);
  font-size:.9rem;display:none;
}
.form-status.show{display:block}
.form-status.ok{background:rgba(201,169,97,.15);color:var(--navy-deep);border:1px solid var(--gold)}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--navy-deep);
  color:rgba(245,241,234,.7);
  padding:4rem 0 2rem;
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
  margin-bottom:3rem;
}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}

.footer-brand{font-family:var(--serif);font-size:1.4rem;color:var(--white);font-weight:600;margin-bottom:.8rem}
.footer-grid h5{
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:1.1rem;
}
.footer-grid ul{list-style:none}
.footer-grid li{padding:.35rem 0;font-size:.92rem}
.footer-grid a:hover{color:var(--gold)}

.footer-bottom{
  padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  font-size:.82rem;
}

/* ---------- Cookie-Banner ---------- */
.cookie-banner{
  position:fixed;left:1.5rem;right:1.5rem;bottom:1.5rem;
  background:var(--navy-deep);color:var(--cream);
  padding:1.4rem 1.6rem;
  border-radius:var(--radius);
  border:1px solid var(--gold);
  box-shadow:0 18px 40px rgba(0,0,0,.25);
  display:none;
  z-index:200;
  max-width:540px;
  margin-left:auto;
}
.cookie-banner.show{display:block;animation:slideUp .4s ease-out}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

.cookie-banner h5{
  font-family:var(--serif);font-size:1.15rem;color:var(--white);margin-bottom:.5rem;
}
.cookie-banner p{font-size:.88rem;line-height:1.5;margin-bottom:1rem;color:rgba(245,241,234,.78)}
.cookie-banner p a{color:var(--gold);text-decoration:underline}
.cookie-buttons{display:flex;gap:.7rem;flex-wrap:wrap}
.cookie-buttons .btn{padding:.7rem 1.3rem;font-size:.85rem}

/* ---------- Reveal-Animation ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ---------- Page-Header (Subseiten) ---------- */
.page-header{
  background:var(--navy);
  color:var(--cream);
  padding:5rem 0 4rem;
  position:relative;overflow:hidden;
}
.page-header::before{
  content:'';position:absolute;top:-30%;right:-15%;
  width:60%;height:120%;
  background:radial-gradient(closest-side,rgba(201,169,97,.14),transparent 70%);
}
.page-header h1{color:var(--white);position:relative;z-index:2}
.page-header p{color:rgba(245,241,234,.8);max-width:560px;margin-top:1rem;font-size:1.1rem;position:relative;z-index:2}
.page-header .crumbs{
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.2rem;position:relative;z-index:2;
}
.page-header .crumbs a{opacity:.7}
.page-header .crumbs a:hover{opacity:1}

/* ============================================================
   FINALISIERUNG 2026-04-27 · Mobile, Performance, Datenschutz
   ============================================================ */
:root{
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Segoe UI', Roboto, Arial, system-ui, sans-serif;
}
html,body{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-size:clamp(15px,1.6vw,16px)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(201,169,97,.55);outline-offset:3px}
.site-header{box-shadow:0 6px 22px rgba(31,58,95,.04)}
.brand img{height:clamp(44px,6vw,64px)}
.nav{min-height:74px}
.hero{min-height:calc(100vh - 74px);display:flex;align-items:center}
.hero-bg{background-position:center center;transform:scale(1.01)}
.hero-card{box-shadow:0 24px 60px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.card,.sub-service,form.contact-form,.gallery-item{box-shadow:0 10px 30px rgba(31,58,95,.045)}
.leistung-visual img,.gallery-item img{background:var(--cream)}
.footer-bottom span:last-child{opacity:.65}
.cookie-banner{max-width:min(540px,calc(100vw - 2rem));left:auto;right:1rem;bottom:1rem}

@media (max-width: 820px){
  .nav{padding:.75rem 1rem;min-height:64px}
  .brand img{height:44px;max-width:220px;object-fit:contain}
  .nav-toggle{width:42px;height:42px;align-items:center;border:1px solid rgba(31,58,95,.12);border-radius:4px;background:rgba(255,255,255,.35)}
  .nav-links a{font-size:1rem;background:var(--paper)}
  section{padding:3.6rem 0}
  .container{padding:0 1rem}
  .hero{min-height:auto;padding:4.6rem 0 4.2rem}
  .hero::before{background:linear-gradient(180deg,rgba(22,41,74,.94) 0%,rgba(22,41,74,.82) 52%,rgba(22,41,74,.54) 100%)}
  .hero-bg{opacity:.43;background-position:center top}
  .hero-grid{gap:1.5rem}
  .hero h1{font-size:clamp(2.05rem,10vw,2.85rem);line-height:1.04;letter-spacing:-.025em}
  .hero-text p{font-size:1rem;line-height:1.55;margin:1rem 0 1.45rem;max-width:none}
  .eyebrow{font-size:.68rem;letter-spacing:.16em;margin-bottom:.85rem}
  .hero-cta{gap:.75rem}
  .hero-cta .btn{width:100%;justify-content:center;padding:.9rem 1rem}
  .hero-card{padding:1.25rem;background:rgba(255,255,255,.075)}
  .hero-card li{font-size:.9rem;padding:.55rem 0}
  .section-head{margin-bottom:2rem}
  .lead{font-size:1.12rem;line-height:1.5}
  .cards-grid{grid-template-columns:1fr;gap:1rem}
  .card{padding:1.55rem 1.25rem}
  .benefit{padding:1.6rem 1.25rem}
  .leistung-row,.leistung-row.reverse{padding:2.4rem 0;gap:1.2rem}
  .leistung-visual{aspect-ratio:16/10;order:-1}
  .sub-services{grid-template-columns:1fr;gap:.7rem}
  .page-header{padding:3.2rem 0 2.7rem}
  .page-header h1{font-size:clamp(2rem,9vw,2.6rem)}
  .page-header p{font-size:1rem;line-height:1.55}
  .quote-block{padding:2rem 0}
  form.contact-form{padding:1.45rem 1.15rem}
  .footer-grid{gap:1.5rem}
}

@media (max-width: 520px){
  h2{font-size:clamp(1.65rem,8vw,2.15rem)}
  h3{font-size:1.22rem}
  .btn{width:100%;justify-content:center;padding:.9rem 1rem}
  .brand img{height:40px;max-width:200px}
  .nav{padding:.65rem .9rem}
  .hero{padding:3.6rem 0 3.2rem}
  .hero-card h4{font-size:.98rem}
  .hero-card li::before{margin-top:.5rem}
  .accent-rule{margin:1.15rem 0 1.2rem}
  .benefits-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr;gap:1rem}
  .contact-info dd{font-size:1rem}
  .cookie-banner{left:.75rem;right:.75rem;bottom:.75rem;max-width:none;padding:1.05rem}
  .cookie-buttons .btn{width:100%}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}
