/* Keine externen Fonts oder weiteren Drittanbieter-Ressourcen beim Seitenaufruf. */

:root{
  --paper:#f7f6f2;
  --surface:#ffffff;
  --ink:#1f2422;
  --muted:#66706a;
  --line:#d8ddd6;
  --accent:#b39a74;
  --rail-bg:rgba(245,244,239,.78);
  --rail-border:rgba(255,255,255,.23);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;letter-spacing:.012em}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif}
.eyebrow,.section-number,.top nav a,.hero-overline{letter-spacing:.18em;text-transform:uppercase}

.top{
  position:fixed;top:0;left:0;right:0;z-index:30;
  height:84px;padding:0 clamp(20px,4vw,72px);
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,rgba(8,11,13,.52),rgba(8,11,13,.12));
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff;
}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:50px;height:50px;object-fit:contain}
.brand>span{font-size:16px;font-weight:700;line-height:1.2;letter-spacing:.13em}
.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:.19em;margin-top:3px;white-space:nowrap}
.brand-plus{display:inline-block;position:relative;top:-.32em;margin-left:.19em;vertical-align:baseline;font-size:1.5em;line-height:0;font-weight:400;letter-spacing:0;color:#fff}
.raised-plus{display:inline-block;position:relative;top:-.34em;vertical-align:baseline;line-height:0;font-size:1.05em;margin-left:.1em;letter-spacing:0}
.top nav{display:flex;align-items:center;gap:30px}
.top nav a{font-size:12px;opacity:.9;transition:opacity .2s}
.top nav a:hover{opacity:1}
.menu{display:none;border:0;background:none;color:#fff}

.hero{
  position:relative;min-height:100svh;overflow:hidden;color:#fff;
}
.slides,.slide,.shade{position:absolute;inset:0}
.slide{width:100%;height:100%;object-fit:cover;pointer-events:none}
.slide-base{opacity:1}
.slide-overlay{opacity:0;transition:opacity 2.4s cubic-bezier(.45,0,.55,1)}
.slide-overlay.is-visible{opacity:1}
.shade{
  background:
    linear-gradient(180deg,rgba(4,8,12,.52) 0%,rgba(4,8,12,.18) 24%,rgba(4,8,12,.18) 57%,rgba(4,8,12,.62) 100%),
    linear-gradient(90deg,rgba(4,8,12,.38) 0%,rgba(4,8,12,0) 48%,rgba(4,8,12,.42) 100%);
}
.hero-copy,.hero-bottom,.project-rail{position:relative;z-index:2}
.hero-copy{
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(120px,16vh,180px) clamp(24px,6vw,84px) clamp(170px,22vh,220px);
  max-width:min(850px,68vw);
}
.hero-overline{font-size:11px;margin-bottom:30px;opacity:.88}
.hero-copy .eyebrow{font-size:10px;font-weight:600;opacity:.95}
.hero-copy h1{margin:20px 0 22px;font-size:clamp(40px,5.4vw,82px);line-height:1.06;letter-spacing:.001em;font-weight:400}
.hero-copy h1 em,.intro h2 em,.section-heading h2 em,.about h2 em,.contact h2 em{font-style:normal;font-weight:300}
.hero-copy p{font-size:clamp(15px,1.35vw,20px);line-height:1.65;font-weight:300;max-width:530px}
.hero-bottom{
  position:absolute;left:clamp(24px,6vw,84px);right:clamp(24px,27vw,430px);bottom:36px;
  display:flex;align-items:flex-end;justify-content:flex-end;gap:20px;
}
.photo-controls{display:flex;gap:8px;flex-shrink:0}
.photo-controls button{
  width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.12);color:#fff;transition:background .2s,border-color .2s,transform .2s;
}
.photo-controls button:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.7);transform:translateY(-1px)}

.project-rail{
  position:absolute;top:108px;right:clamp(18px,2.4vw,34px);bottom:34px;width:min(340px,28vw);
}
.rail-panel{
  height:100%;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--rail-border);border-radius:22px;background:var(--rail-bg);backdrop-filter:blur(16px);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
.rail-header{padding:24px 24px 20px;color:#17201b;border-bottom:1px solid rgba(0,0,0,.08)}
.rail-header h2{margin:0;font-size:27px;line-height:1.1;font-weight:500}
.rail-window{position:relative;flex:1;overflow:hidden}
.rail-window::before,.rail-window::after{
  content:"";position:absolute;left:0;right:0;height:72px;z-index:2;pointer-events:none;
}
.rail-window::before{top:0;background:linear-gradient(180deg,rgba(245,244,239,1),rgba(245,244,239,0))}
.rail-window::after{bottom:0;background:linear-gradient(180deg,rgba(245,244,239,0),rgba(245,244,239,1))}
.rail-track{display:flex;flex-direction:column;will-change:transform;animation:railMove var(--rail-duration,220s) linear infinite}
.rail-group{flex:0 0 auto;display:flex;flex-direction:column;padding:14px 0}
.rail-window:hover .rail-track,.rail-window:focus-within .rail-track{animation-play-state:paused}
.rail-row{
  display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;align-items:baseline;text-align:left;
  padding:15px 24px;background:transparent;border:0;border-bottom:1px solid rgba(0,0,0,.06);
  color:#1d2521;transition:background .2s;
}
.rail-row:hover,.rail-row:focus-visible{background:rgba(255,255,255,.55);outline:none}
.rail-city{font-size:15px;font-weight:600}
.rail-project{font-size:12px;color:#647068;letter-spacing:.02em;text-align:left;white-space:normal}
@keyframes railMove{from{transform:translateY(0)}to{transform:translateY(-50%)}}

.wrap{width:min(1240px,calc(100% - 44px));margin:0 auto}
.intro,.services .wrap,.reference-section,.about .wrap,.contact{padding-top:100px;padding-bottom:100px}
.section-number{font-size:11px;font-weight:700;color:#8b938d;margin-bottom:22px}
.intro{display:grid;grid-template-columns:minmax(160px,230px) 1fr;gap:30px}
.intro h2,.section-heading h2,.about h2,.contact h2{font-size:clamp(34px,4vw,60px);line-height:1.12;letter-spacing:0;margin:0 0 18px;font-weight:400}
.intro p,.section-heading p,.about p,.contact p{max-width:760px;color:#5b645e;line-height:1.75;font-size:16px}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:700}
.services{background:#efeee8}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:34px}
.section-heading p{margin:0;max-width:420px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-grid article{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:20px;padding:24px;min-height:210px}
.service-grid article h3{margin:0 0 10px;font-size:22px;line-height:1.2}
.service-grid article p{margin:0;color:#5b645e;line-height:1.65}

.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.reference-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.reference-card .crop{aspect-ratio:1.25;overflow:hidden}
.reference-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.reference-card:hover img{transform:scale(1.03)}
.all-ref{margin-top:26px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.all-ref h3{margin:0;font-size:26px;line-height:1.15;font-weight:500}
.outline-btn{border:1px solid #1f2422;background:transparent;padding:13px 18px;border-radius:999px;font-weight:700}
.about{background:#eceae4}
.about-layout{display:grid;grid-template-columns:minmax(260px,1fr) 1.3fr;gap:40px;align-items:start}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:20px;margin-top:26px}
.contact-details>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.contact-details b{font-size:12px;letter-spacing:.16em;color:#738078}
footer{background:#111716;color:#d5ded7;padding:28px 22px 34px}
.footer-row,.footer-bottom{width:min(1240px,100%);margin:0 auto;display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-row{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer-name{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:700;letter-spacing:.15em}.footer-name span{font-size:11px;letter-spacing:.2em}
.footer-row p{margin:0;color:#aab5ae}.footer-bottom{padding-top:16px;font-size:14px}.footer-bottom small{color:#8f9b94}.footer-bottom>div{display:flex;gap:16px;align-items:center}.foot-link{background:none;border:0;color:inherit;padding:0}

 dialog{width:min(900px,calc(100% - 30px));border:0;border-radius:24px;padding:0;background:#fff;color:#1f2422;box-shadow:0 24px 100px rgba(0,0,0,.22)}
 dialog::backdrop{background:rgba(9,12,15,.58)}
 .dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:28px 30px 16px;border-bottom:1px solid var(--line)}
 .dialog-head h2{margin:8px 0 0;font-size:36px;line-height:1.06;font-weight:400}
 .dialog-head p{margin:8px 0 0;color:#5d6660;line-height:1.6}
 .close{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff}
 .search-label{display:block;padding:22px 30px 8px;font-size:13px;font-weight:700;letter-spacing:.08em;color:#76817b}
 #city-search{display:block;width:calc(100% - 60px);margin:0 30px 18px;padding:14px 16px;border-radius:14px;border:1px solid var(--line)}
 .city-results{padding:0 30px 30px;max-height:60svh;overflow:auto}
 .city-line{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 0;border-bottom:1px solid #eceee8}
 .city-line span:last-child{color:#66706a}
 #info-content{padding:8px 30px 30px;line-height:1.75;color:#49514c}
 #info-content h3{margin-top:0}

@media (max-width:1100px){
  .hero-copy{max-width:100%;padding-right:320px}
  .project-rail{width:min(310px,34vw)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .reference-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:920px){
  .top nav{display:none;position:absolute;top:84px;left:18px;right:18px;background:rgba(13,18,20,.94);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;flex-direction:column;align-items:flex-start;gap:14px}
  .top nav.open{display:flex}
  .menu{display:inline-flex;align-items:center;gap:10px}
  .hero{min-height:auto;padding-bottom:40px}
  .hero-copy{min-height:72svh;padding-right:24px;padding-bottom:120px}
  .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding:0 24px;margin-top:-76px;flex-direction:column;align-items:flex-start}
  .project-rail{position:relative;top:auto;right:auto;bottom:auto;width:auto;margin:24px}
  .intro{grid-template-columns:1fr}
  .section-heading,.about-layout,.all-ref,.footer-row,.footer-bottom{display:block}
  .section-heading p,.footer-row p{margin-top:14px}
}
@media (max-width:640px){
  .top{padding:0 16px;height:78px}
  html{scroll-padding-top:78px}
  .brand img{width:44px;height:44px}
  .brand>span{font-size:14px}
  .hero-copy{padding:112px 18px 98px}
  .hero-copy h1{font-size:46px}
  .hero-bottom{padding:0 18px}
  .project-rail{margin:18px}
  .rail-header,.rail-row{padding-left:16px;padding-right:16px}
  .wrap{width:min(100% - 28px,1240px)}
  .intro,.services .wrap,.reference-section,.about .wrap,.contact{padding-top:74px;padding-bottom:74px}
  .service-grid,.reference-grid,.contact-details{grid-template-columns:1fr}
  .dialog-head,.search-label,.city-results,#info-content{padding-left:18px;padding-right:18px}
  #city-search{width:calc(100% - 36px);margin-left:18px;margin-right:18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reference-card img,.photo-controls button{transition:none}
}

/* Smartphone- und Tablet-Optimierung: Das Desktop-Layout bleibt unangetastet. */
@media (max-width: 920px) {
  :root { --mobile-stage-height: max(650px, 100svh); }

  .top {
    padding-inline: 20px;
    background: linear-gradient(180deg, rgba(7, 12, 14, .83), rgba(7, 12, 14, .54));
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }
  .top .brand { min-width: 0; }
  .top .brand>span { white-space: nowrap; }
  .menu {
    min-width: 48px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    justify-content: center;
  }
  .top nav {
    left: 12px;
    right: 12px;
    top: 88px;
    z-index: 35;
    max-height: calc(100svh - 112px);
    overflow-y: auto;
    box-shadow: 0 20px 45px rgba(0,0,0,.28);
  }
  .top nav a {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    font-size: 15px;
    letter-spacing: .09em;
    border-bottom: 1px solid rgba(255,255,255,.12);
    padding-inline: 10px;
  }
  .top nav a:last-child { border-bottom: 0; }

  /* Erst ein bildschirmfüllendes Architekturfoto, darunter eine gut bedienbare Referenzliste. */
  .hero {
    min-height: 0;
    padding: 0 0 28px;
    background: var(--paper);
    overflow: hidden;
  }
  .hero .slides,
  .hero .shade {
    top: 0;
    bottom: auto;
    height: var(--mobile-stage-height);
  }
  .hero .shade {
    background: linear-gradient(180deg,
      rgba(5,9,12,.50) 0%,
      rgba(5,9,12,.05) 30%,
      rgba(5,9,12,.32) 60%,
      rgba(5,9,12,.80) 100%);
  }
  .hero-copy {
    min-height: var(--mobile-stage-height);
    max-width: none;
    width: 100%;
    padding: 118px clamp(20px, 5vw, 44px) 138px;
    display: flex;
    justify-content: flex-end;
  }
  .hero-overline { font-size: 10px; margin-bottom: 20px; }
  .hero-copy .eyebrow { font-size: 10px; line-height: 1.7; letter-spacing: .12em; margin-bottom: 12px; }
  .hero-copy h1 {
    font-size: clamp(42px, 8vw, 66px);
    line-height: 1.06;
    letter-spacing: -.055em;
    margin: 16px 0 14px;
  }
  .hero-copy p { font-size: clamp(15px, 2.4vw, 18px); line-height: 1.6; margin: 0; }
  .hero-bottom {
    position: absolute;
    top: calc(var(--mobile-stage-height) - 90px);
    left: 20px;
    right: 20px;
    bottom: auto;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
  }
  .photo-controls button { min-width: 44px; min-height: 44px; }

  .project-rail {
    position: relative;
    width: auto;
    height: 385px;
    margin: 18px clamp(16px, 4vw, 44px) 0;
    inset: auto;
  }
  .rail-panel {
    border-radius: 18px;
    background: #f0f0eb;
    border: 1px solid #dedfd8;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 0 12px 32px rgba(18,27,22,.08);
  }
  .rail-header { padding: 18px 22px 16px; }
  .rail-header h2 { font-size: 24px; }
  .rail-row { padding: 11px 22px; min-height: 44px; }
  .rail-window::before { background: linear-gradient(180deg,#f0f0eb,rgba(240,240,235,0)); }
  .rail-window::after { background: linear-gradient(180deg,rgba(240,240,235,0),#f0f0eb); }

  .intro { gap: 5px; }
  .intro,.services .wrap,.reference-section,.about .wrap,.contact { padding-top: 80px; padding-bottom: 80px; }
  .section-heading { display: block; }
  .section-heading p { margin-top: 16px; }
  .all-ref { display: flex; flex-wrap: wrap; }
  .all-ref .outline-btn { min-height: 44px; }
  .about-layout { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .footer-row,.footer-bottom { display: flex; flex-wrap: wrap; }
  .footer-bottom>div { display: flex; flex-wrap: wrap; }
  .contact-details a { overflow-wrap: anywhere; }
  .reference-card .crop { aspect-ratio: 1.33; }
  .city-results { max-height: min(57svh, 540px); }
}

@media (max-width: 640px) {
  :root { --mobile-stage-height: max(650px, 100svh); }
  .top { height: 76px; padding-inline: 16px; }
  .top .brand { gap: 9px; }
  .brand img { width: 43px; height: 43px; }
  .top .brand>span { font-size: 14px; }
  .top nav { top: 79px; }
  .hero-copy { padding: 110px 21px 143px; }
  .hero-copy h1 { font-size: clamp(42px, 11.3vw, 55px); }
  .hero-copy p { font-size: 15px; max-width: 480px; }
  .hero-bottom { top: calc(var(--mobile-stage-height) - 87px); right: 21px; }
  .project-rail { margin: 15px 15px 0; height: 360px; }
  .rail-header,.rail-row { padding-left: 18px; padding-right: 18px; }
  .rail-row { gap: 6px; align-items: baseline; line-height: 1.4; }
  .rail-city { font-size: 14px; }
  .rail-project { font-size: 12px; }
  .wrap { width: calc(100% - 38px); }
  .intro,.services .wrap,.reference-section,.about .wrap,.contact { padding-top: 68px; padding-bottom: 68px; }
  .intro h2,.section-heading h2,.about h2,.contact h2 { font-size: clamp(33px, 8.6vw, 46px); line-height: 1.13; }
  .intro p,.section-heading p,.about p,.contact p { font-size: 15px; line-height: 1.7; }
  .service-grid,.reference-grid,.contact-details { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .service-grid article { min-height: 0; padding: 24px 22px; }
  .service-grid article h3 { font-size: 23px; }
  .service-note { font-size: 17px; line-height: 1.65; }
  .reference-grid { gap: 16px; }
  .reference-card .crop { aspect-ratio: 1.23; }
  .all-ref { align-items: stretch; padding: 21px; gap: 18px; }
  .all-ref h3 { font-size: 24px; }
  .all-ref .outline-btn { width: 100%; }
  .contact-details { margin-top: 22px; }
  .contact-details>div { padding: 20px; }
  footer { padding: 28px 19px 34px; }
  .footer-row,.footer-bottom { gap: 18px; }
  .footer-name { display: block; margin-bottom: 6px; }
  .footer-row p { font-size: 13px; }
  .footer-bottom { font-size: 13px; }
  .footer-bottom>div { gap: 14px 18px; }
  .foot-link,.footer-bottom a { min-height: 40px; display: inline-flex; align-items: center; }
  dialog { width: calc(100% - 18px); max-height: calc(100svh - 18px); border-radius: 16px; }
  .dialog-head { padding: 20px 18px 14px; }
  .dialog-head h2 { font-size: 29px; }
  .close { min-width: 44px; min-height: 44px; }
  .city-line { grid-template-columns: minmax(0,1fr); gap: 3px; }
  #city-search { font-size: 16px; min-height: 48px; }
  .city-results { max-height: 53svh; }
}

@media (max-width: 360px) {
  :root { --mobile-stage-height: max(625px, 100svh); }
  .top .brand>span { font-size: 12px; }
  .brand img { width: 37px; height: 37px; }
  .menu { font-size: 13px; padding: 8px; }
  .hero-copy { padding-left: 17px; padding-right: 17px; padding-bottom: 133px; }
  .hero-copy h1 { font-size: 39px; }
  .hero-overline { font-size: 9px; }
  .hero-copy .eyebrow { font-size: 9px; margin-bottom: 10px; }
  .hero-bottom { right: 17px; }
  .project-rail { margin-inline: 12px; }
  .contact-details>div { padding: 18px 16px; }
}

/* Bedienbarkeit mit Tastatur / Touch, auch ohne Maus. */
:focus-visible { outline: 2px solid #b69762; outline-offset: 4px; }
.top nav a:focus-visible,.menu:focus-visible,.photo-controls button:focus-visible {
  outline-color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .top nav a,.reference-card img { transition: none; }
}

/* Auf Touch-Geräten darf ein vorangegangenes Antippen den Referenzlauf nicht dauerhaft stoppen. */
@media (hover: none) and (pointer: coarse) {
  .rail-window:hover .rail-track,
  .rail-window:focus-within .rail-track { animation-play-state: running; }
}

/* Revision: klare Zeilen auf der Startseite und ruhiger, gleichmäßiger Zeichenabstand. */
.hero-heading .hero-heading-line { display:block; white-space:nowrap; }
.hero-heading .hero-heading-second { margin-top:clamp(17px,2.4vh,30px); }
.hero-copy .hero-statement { max-width:none; line-height:1.65; letter-spacing:.015em; }
.hero-statement span { display:block; white-space:nowrap; }
.hero-statement span:nth-child(3) { margin-top:.12em; }
.hero-copy .eyebrow,.hero-overline { letter-spacing:.11em; }
.hero-copy .eyebrow{display:inline-block;margin-bottom:14px;}
.intro h2,.section-heading h2,.about h2,.contact h2 { letter-spacing:0; }
.service-grid article h3,.all-ref h3,.rail-header h2 { letter-spacing:.005em; }
.about p,.intro p,.contact p,.service-grid p { letter-spacing:.014em; }
.office-qualifications {
  margin:28px 0 18px;
  padding:24px 0 5px;
  border-top:1px solid #cbd0ca;
}
.office-qualifications p {
  margin:0 0 10px;
  font-size:clamp(16px,1.38vw,19px);
  font-weight:500;
  line-height:1.55;
  letter-spacing:.008em;
  color:#2f3933;
}
@media (max-width:920px) {
  .hero-copy h1 { font-size:clamp(40px,6.8vw,60px); letter-spacing:.001em; line-height:1.08; margin-bottom:20px; }
  .hero-heading .hero-heading-second { margin-top:20px; }
  .hero-copy .hero-statement { font-size:clamp(15px,2.2vw,18px); line-height:1.65; }
}
@media (max-width:640px) {
  .hero-copy h1 { font-size:clamp(32px,8.8vw,49px); }
  .hero-copy .hero-statement { font-size:clamp(12px,3.8vw,15px); line-height:1.65; }
  .office-qualifications p { font-size:16px; }
}
@media (max-width:360px) {
  .hero-copy h1 { font-size:clamp(29px,8.6vw,32px); }
  .hero-copy .hero-statement { font-size:12px; }
}

/* Feinabstimmung für Smartphone und Tablet, 27.10.2026 */
.hero-copy .eyebrow { line-height:1.75; }
.hero-copy h1 { font-weight:400; }
.hero-copy .hero-statement { line-height:1.74; }
.hero-copy .hero-statement span:last-child { margin-top:.25em; }
.hero-copy .hero-heading-second { margin-top:clamp(20px,2.9vh,34px); }
.service-grid article p, .about p, .intro p, .contact p { line-height:1.74; }
@media (min-width: 921px) and (max-width: 1220px) {
 .hero-copy h1 { font-size:clamp(41px,4.9vw,64px); }
 .hero-copy .eyebrow { font-size:10px; letter-spacing:.08em; }
}
@media (max-width:920px){
 .hero-copy{padding-top:122px;padding-bottom:142px;}
 .hero-copy h1{line-height:1.12;}
 .hero-copy .eyebrow{margin-bottom:16px;}
 .project-rail{height:380px;}
 .hero-copy .hero-statement{line-height:1.75;}
 .service-grid article h3{letter-spacing:.008em;}
}
@media (max-width:640px){
 .hero-copy{padding:116px 21px 141px;}
 .hero-copy .eyebrow{font-size:clamp(8.7px,2.32vw,10px);letter-spacing:.065em;line-height:1.7;margin-bottom:17px;}
 .hero-copy h1{font-size:clamp(30px,8.7vw,46px);line-height:1.13;letter-spacing:.003em;}
 .hero-copy .hero-statement{font-size:clamp(11.3px,3.6vw,15px);letter-spacing:.005em;line-height:1.78;}
 .hero-overline{font-size:9px;letter-spacing:.09em;line-height:1.5;}
 .section-number{letter-spacing:.11em;}
 .office-qualifications{margin-top:25px;}
 .office-qualifications p{line-height:1.62;margin-bottom:11px;}
}
@media (max-width:360px){
 .hero-copy{padding-left:16px;padding-right:16px;}
 .hero-copy .eyebrow{font-size:8.4px;letter-spacing:.04em;}
 .hero-copy h1{font-size:clamp(28px,8.7vw,32px);letter-spacing:0;}
 .hero-copy .hero-statement{font-size:12px;}
 .hero-heading .hero-heading-second{margin-top:17px;}
}


/* Büro / Qualifikationen: eine gut lesbare Auflistung mit zurückhaltender Betonung. */
.office-qualifications h3 {
  font-family: Arial,Helvetica,sans-serif;
  font-size:clamp(19px,1.6vw,22px);
  font-weight:600;
  letter-spacing:.005em;
  line-height:1.4;
  margin:0 0 16px;
}
.office-qualifications ul {
  margin:0;
  padding:0 0 0 20px;
  list-style:disc;
}
.office-qualifications li {
  padding-left:5px;
  margin:0 0 12px;
  font-size:clamp(16px,1.38vw,19px);
  font-weight:500;
  line-height:1.57;
  letter-spacing:.008em;
  color:#2f3933;
  overflow-wrap:break-word;
}
.office-qualifications li::marker {color:#8b806a; font-size:.85em;}
.office-qualifications li strong {font-weight:700;letter-spacing:.015em;}
@media (max-width:640px) {
  .office-qualifications ul {padding-left:19px;}
  .office-qualifications li {font-size:16px;line-height:1.65;margin-bottom:11px;}
}
