/*
Theme Name: Architekten Doberenz – Editor
Theme URI: https://architekten-doberenz.de/
Author: Architekten Doberenz
Description: Individuelles WordPress-Theme für Architekten Doberenz – Denkmalschutz, Umbau, Sanierung und Neubau.
Version: 8.1.0
Text Domain: architekten-doberenz
*/

:root{--ink:#111;--paper:#f3f1ec;--white:#fff;--muted:#6b6a66;--line:#d5d1c8;--accent:#8b4a32;--dark:#151515;--pad:clamp(20px,4vw,64px);--max:1580px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);color:#fff;mix-blend-mode:difference;pointer-events:none}.brand,.menu-btn{pointer-events:auto}.brand{font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.brand small{display:block;font-size:9px;letter-spacing:.25em;font-weight:400;margin-top:3px}.menu-btn,.nav-close{background:none;border:0;color:inherit;text-transform:uppercase;letter-spacing:.14em;font-size:11px;cursor:pointer}.nav{position:fixed;z-index:70;inset:0;background:#111;color:#fff;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.25s}.nav.open{opacity:1;visibility:visible}.nav-close{position:absolute;right:var(--pad);top:24px}.nav ul{list-style:none;padding:0;text-align:center}.nav a{font-size:clamp(28px,5vw,70px);font-weight:300;letter-spacing:-.04em}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:calc(var(--pad) + 70px) var(--pad) var(--pad);background:#222;color:#fff;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}.hero-content{position:relative;z-index:2;max-width:1100px}.eyebrow,.section-no,.meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.hero h1{font-size:clamp(56px,10vw,150px);letter-spacing:-.06em;line-height:.85;margin:.18em 0}.hero p{font-size:clamp(18px,2vw,29px);max-width:900px}.section{padding:clamp(72px,9vw,150px) var(--pad);max-width:var(--max);margin:auto}.section-head{display:grid;grid-template-columns:180px 1fr;gap:30px;margin-bottom:60px}.section-head h2{font-size:clamp(36px,5vw,76px);line-height:.96;letter-spacing:-.045em;margin:0}.section-head p{max-width:850px;font-size:18px}.services{display:grid;gap:1px;background:var(--line)}.service{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);min-height:430px}.service:nth-child(even) .service-media{order:-1}.service-copy{padding:clamp(30px,5vw,76px);display:flex;flex-direction:column;justify-content:center}.service-copy h3{font-size:clamp(34px,4vw,62px);line-height:1;letter-spacing:-.04em;margin:10px 0 24px}.service-copy p{font-size:18px;max-width:620px}.service-media img{width:100%;height:100%;object-fit:cover}.projects-wrap{background:#111;color:#fff}.projects-wrap .section{max-width:none}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter{border:1px solid #555;background:transparent;color:#fff;border-radius:99px;padding:9px 14px;cursor:pointer}.filter.active{background:#fff;color:#111}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.project-card{background:#111;position:relative;min-height:420px;overflow:hidden;cursor:pointer}.project-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.74;transition:.35s}.project-card:hover img{transform:scale(1.025);opacity:.55}.project-card.noimage{background:linear-gradient(135deg,#292929,#151515)}.project-card-content{position:absolute;inset:auto 0 0;padding:24px;z-index:2;background:linear-gradient(transparent,rgba(0,0,0,.88))}.project-card h3{font-size:24px;line-height:1.08;margin:7px 0}.project-card .meta{color:#ddd}.office-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.office-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.text-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,110px)}.text-cols h3{font-size:32px;line-height:1.05}.funding{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.funding a{border:1px solid var(--line);background:#fff;padding:22px;min-height:120px}.funding strong{display:block;font-size:22px;margin-top:6px}.legal{background:#e6e2d9}.legal details{border-top:1px solid #bbb;padding:18px 0}.legal summary{font-size:24px;cursor:pointer}.contact{background:#8b4a32;color:#fff}.contact h2{font-size:clamp(45px,8vw,118px);line-height:.9;letter-spacing:-.055em}.contact a{text-decoration:underline}.footer{padding:25px var(--pad);display:flex;gap:20px;justify-content:space-between;font-size:12px;background:#111;color:#aaa}.modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.88);display:none;overflow:auto}.modal.open{display:block}.modal-inner{background:var(--paper);max-width:1100px;margin:4vh auto;padding:clamp(25px,5vw,70px);position:relative}.modal-close{position:sticky;top:10px;float:right;background:#111;color:#fff;border:0;padding:10px 14px;cursor:pointer}.modal h2{font-size:clamp(34px,5vw,64px);line-height:1;margin:15px 0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.gallery img{width:100%;height:340px;object-fit:cover}.archive-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.archive-grid figure{margin:0;background:#fff}.archive-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.archive-grid figcaption{font-size:10px;padding:6px;word-break:break-word}.editor-note{border-left:4px solid var(--accent);background:#fff5e8;padding:15px 18px;margin:20px 0}.prototype-tag{position:fixed;left:10px;bottom:10px;z-index:80;background:#fff;color:#111;padding:5px 8px;font-size:10px;box-shadow:0 2px 10px #0002}@media(max-width:900px){.service{grid-template-columns:1fr}.service:nth-child(even) .service-media{order:0}.service-media{min-height:300px}.project-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr}.text-cols{grid-template-columns:1fr}.funding{grid-template-columns:1fr 1fr}.office-grid{grid-template-columns:1fr 1fr}.archive-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.project-grid{grid-template-columns:1fr}.funding{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr 1fr}.footer{flex-direction:column}.gallery{grid-template-columns:1fr}.gallery img{height:auto}}

/* Denkmalschutz-Unterseite */
.subpage-intro{padding:clamp(130px,16vw,210px) var(--pad) 55px;max-width:1500px;margin:auto}.subpage-kicker,.subpage-intro .subpage-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#707070;margin-bottom:28px}.subpage-intro h1{font-size:clamp(54px,8.2vw,126px);font-weight:300;letter-spacing:-.055em;line-height:.92;margin:0 0 42px;max-width:1200px}.subpage-lead{font-size:clamp(19px,2vw,30px);line-height:1.5;max-width:930px;margin:0;color:#333}.subpage-hero-image{margin:0 var(--pad) clamp(65px,9vw,130px);height:min(68vw,780px);overflow:hidden}.subpage-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.denkmal-approach{padding-top:0}.denkmal-approach .section-head{margin-bottom:55px}.denkmal-services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ccc;border-left:1px solid #ccc}.denkmal-services-grid article{padding:34px 28px 38px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;min-height:235px}.denkmal-services-grid h3{font-size:20px;font-weight:500;margin:0 0 20px}.denkmal-services-grid p{font-size:15px;line-height:1.65;margin:0;color:#505050}.denkmal-projects{padding-top:70px}.denkmal-project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:#d2d2d2}.denkmal-project-card{grid-column:span 4;background:#f5f4f0;display:flex;flex-direction:column;min-width:0}.denkmal-project-card img,.denkmal-project-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#e5e3de}.denkmal-project-placeholder{display:flex;align-items:center;justify-content:center}.denkmal-project-placeholder span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8a8986}.denkmal-project-copy{padding:25px 25px 31px;display:flex;flex-direction:column;flex:1}.denkmal-project-copy h3{font-size:clamp(21px,2vw,30px);font-weight:400;line-height:1.16;margin:12px 0 18px}.denkmal-project-copy p{font-size:14px;line-height:1.62;color:#4d4d4d;margin:0 0 25px}.denkmal-project-copy a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:auto;border-bottom:1px solid #aaa;width:max-content;max-width:100%;padding-bottom:3px}.denkmal-contact{padding-top:120px;padding-bottom:130px}.denkmal-contact h2{font-size:clamp(48px,7vw,105px);font-weight:300;letter-spacing:-.05em;line-height:.96;margin:22px 0 38px}.denkmal-contact>p{font-size:clamp(17px,1.7vw,24px);line-height:1.55;max-width:780px}.text-link{display:inline-block;margin-top:12px;border-bottom:1px solid currentColor;padding-bottom:4px}
@media(max-width:900px){.denkmal-services-grid{grid-template-columns:repeat(2,1fr)}.denkmal-project-card{grid-column:span 6}}@media(max-width:620px){.subpage-intro{padding-top:115px}.subpage-hero-image{margin-left:0;margin-right:0}.denkmal-services-grid{grid-template-columns:1fr}.denkmal-project-card{grid-column:span 12}.denkmal-project-copy{padding:22px 20px 28px}}

/* Büro-Unterseite */
.buero-gallery{margin-top:34px}.buero-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd4d2}.buero-focus-grid>a{display:block;background:#fff;padding:34px;text-decoration:none;color:inherit;min-height:250px}.buero-focus-grid>a span{display:block;font-size:11px;letter-spacing:.16em;color:#7b8581;margin-bottom:34px}.buero-focus-grid h3{font-size:clamp(24px,2.5vw,38px);font-weight:400;margin:0 0 18px}.buero-focus-grid p{margin:0;line-height:1.6}.office-teaser{grid-template-columns:repeat(2,1fr)}@media(max-width:820px){.buero-focus-grid{grid-template-columns:1fr}.office-teaser{grid-template-columns:1fr}}

/* Kontakt-Unterseite */
.contact-intro{padding-bottom:90px}.contact-page{padding-top:10px}.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#c8c5bd}.contact-page-grid article{background:#fff;padding:clamp(30px,5vw,70px);min-height:390px}.contact-page-grid h2{font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.05;margin:28px 0 34px}.contact-large{font-size:clamp(21px,2.4vw,34px);line-height:1.55}.contact-large a{border-bottom:1px solid #bbb}.contact-start{padding-top:60px}@media(max-width:760px){.contact-page-grid{grid-template-columns:1fr}}

/* Rechtliche Unterseiten */
.legal-intro{padding-bottom:40px}.legal-page{padding-top:20px}.legal-copy{max-width:900px}.legal-copy h2{font-size:clamp(26px,3vw,42px);font-weight:400;line-height:1.1;margin:70px 0 20px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{font-size:16px;line-height:1.75;color:#333}.legal-copy a:not(.text-link){border-bottom:1px solid #bbb}


/* Prototyp 04.1 – typografische Verfeinerung, Projekt-Diashow und PDF-Einbettung */
body{font-family:"Helvetica Neue","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-weight:300;letter-spacing:.005em}
button,input,textarea,select{font:inherit}.brand{font-weight:500}.brand small{font-weight:300}.nav a{font-weight:200;letter-spacing:-.025em}
.hero h1,.section-head h2,.service-copy h3,.contact h2,.subpage-intro h1,.denkmal-contact h2,.modal h2{font-weight:200;letter-spacing:-.035em}
.hero p,.section-head p,.service-copy p,.subpage-lead{font-weight:300}.meta,.eyebrow,.section-no,.subpage-kicker{font-weight:400;letter-spacing:.18em}
.project-card h3,.denkmal-project-copy h3,.text-cols h3{font-weight:300;letter-spacing:-.015em}

/* Kleine Diashow innerhalb der Projektansicht */
.gallery.project-slideshow{position:relative;display:block;margin:30px 0;background:#dedbd4;overflow:hidden}
.gallery.project-slideshow .slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.gallery.project-slideshow .slides::-webkit-scrollbar{display:none}
.gallery.project-slideshow .slides>img{flex:0 0 100%;width:100%;height:min(62vw,620px);object-fit:contain;background:#e7e4dd;scroll-snap-align:start}
.gallery.project-slideshow .slide-nav{position:absolute;inset:50% 12px auto;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}
.gallery.project-slideshow .slide-btn{pointer-events:auto;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(15,15,15,.58);color:#fff;cursor:pointer;font-size:20px;line-height:1;backdrop-filter:blur(5px)}
.gallery.project-slideshow .slide-count{position:absolute;right:12px;bottom:12px;background:rgba(15,15,15,.62);color:#fff;padding:6px 9px;font-size:10px;letter-spacing:.12em}
.gallery.project-slideshow.single .slide-nav,.gallery.project-slideshow.single .slide-count{display:none}

/* PDF-Unterlagen können je Projekt ohne Layoutänderung direkt eingebettet werden */
.project-pdf{margin:34px 0;border-top:1px solid var(--line);padding-top:24px}.project-pdf h3{font-size:18px;font-weight:400;margin:0 0 14px}.project-pdf-frame{width:100%;height:min(72vh,760px);border:1px solid var(--line);background:#fff}.project-pdf-link{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}
@media(max-width:600px){.gallery.project-slideshow .slides>img{height:62vw}.project-pdf-frame{height:62vh}}

/* Prototyp 04.5: kompakte Projekt-Diashows; Projektübersicht bleibt unverändert */
.gallery.project-slideshow{
  width:min(32vw,454px);
  max-width:100%;
  margin:30px 0;
  background:var(--paper);
}
.gallery.project-slideshow .slides{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--paper);
}
.gallery.project-slideshow .slides>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  object-fit:contain;
  background:var(--paper);
  transition:opacity .35s ease;
  pointer-events:none;
}
.gallery.project-slideshow .slides>img.active{opacity:1}
@media(max-width:600px){
  .gallery.project-slideshow{width:100%}
}

/* Gutenberg content in the editable edition */
.wp-block-group{box-sizing:border-box}.wp-block-image{margin:0}.wp-block-image img{display:block;max-width:100%}.project-card .wp-block-image img{max-width:none}.project-card h3 a{color:inherit;text-decoration:none}.project-card h3 a::after{content:"";position:absolute;inset:0}.project-card{display:block;color:inherit;text-decoration:none}.gallery .wp-block-image{min-width:0}.gallery .wp-block-image img{width:100%;height:100%;object-fit:cover}

/* Version 3.0 – geprüfte WordPress-Fassung */
.dob-zahlen{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(70px,8vw,120px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}
.dob-zahl{border-top:1px solid var(--line);padding:28px 24px 20px 0;min-width:0}
.dob-zahl h3{font-size:clamp(52px,6vw,90px);font-weight:300;letter-spacing:-.055em;line-height:.9;margin:0 0 12px}
.dob-zahl p{margin:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-card{min-height:0;aspect-ratio:1/1}
.project-card:hover img{transform:scale(1.07);opacity:.55}
.service-media{overflow:hidden}.service-media img{min-height:100%}
.gallery.runtime-slideshow{position:relative;display:block;width:min(454px,100%);height:min(454px,92vw);margin:30px 0;background:#fff;overflow:hidden}
.gallery.runtime-slideshow>.wp-block-image,.gallery.runtime-slideshow>img{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;transition:opacity .55s ease;pointer-events:none}
.gallery.runtime-slideshow>.wp-block-image.active,.gallery.runtime-slideshow>img.active{opacity:1;pointer-events:auto}
.gallery.runtime-slideshow>.wp-block-image img,.gallery.runtime-slideshow>img{width:100%;height:100%;object-fit:contain;background:#fff}
.runtime-slide-controls{position:absolute;z-index:4;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.runtime-slide-controls button{pointer-events:auto;width:38px;height:38px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(20,20,20,.58);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.runtime-slide-controls span{background:rgba(20,20,20,.58);color:#fff;padding:6px 9px;font-size:10px;letter-spacing:.12em}
.site-footer{padding:25px var(--pad);display:flex;gap:20px;justify-content:space-between;font-size:12px;background:#111;color:#aaa}.site-footer a{color:inherit}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dob-zahlen{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.site-footer{flex-direction:column}.project-card{aspect-ratio:1/1}}


/* Version 4.0 – stabile Gutenberg-Breitenlogik.
   Die Layout-Gruppen der Startseite werden im Import als "default" statt "constrained" gespeichert.
   Diese Regeln sind die zusätzliche Absicherung gegen Theme/Core-Contentbreiten. */
body .projects-wrap,
body .wp-block-group.projects-wrap,
body .projects-wrap > .section,
body .projects-wrap .project-grid,
body .wp-block-group.project-grid{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}
body .projects-wrap{margin-left:0 !important;margin-right:0 !important;}
body .projects-wrap > .section{padding-left:var(--pad);padding-right:var(--pad);}
body .projects-wrap .project-grid,
body .wp-block-group.project-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body .project-grid > .project-card,
body .project-grid > .wp-block-group.project-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  aspect-ratio:1/1;
}
body .dob-zahlen,
body .wp-block-group.dob-zahlen{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  width:100% !important;
  max-width:var(--max) !important;
}
@media(max-width:900px){
  body .projects-wrap .project-grid,
  body .wp-block-group.project-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:600px){
  body .projects-wrap .project-grid,
  body .wp-block-group.project-grid,
  body .dob-zahlen,
  body .wp-block-group.dob-zahlen{grid-template-columns:1fr !important;}
}

/* Version 5.0 - Projekt 5 Planansicht und robuste Roh-Grid-Struktur */
.plan-preview{position:relative;width:100%;aspect-ratio:1/1;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#fff;border:1px solid var(--line);margin:34px 0 12px;cursor:zoom-in;overflow:hidden;user-select:none;-webkit-user-select:none}
.plan-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 76%,rgba(0,0,0,.45));pointer-events:none}
.plan-preview-hint{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.46);padding:7px 9px}
.plan-preview-note{font-size:12px!important;color:var(--muted);max-width:820px}
.plan-lightbox{position:fixed;z-index:200;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:3vw}
.plan-lightbox.open{display:flex}
.plan-lightbox img{max-width:96vw;max-height:94vh;object-fit:contain;background:#fff;box-shadow:0 10px 50px #0008;user-select:none;-webkit-user-drag:none}
.plan-lightbox-close{position:fixed;right:20px;top:20px;border:1px solid #fff;background:rgba(0,0,0,.55);color:#fff;padding:10px 14px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* Raw HTML grid emitted in v5 - no Gutenberg child wrappers, so these are authoritative. */
.project-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:none!important;gap:1px!important}
.project-grid>.project-card{width:100%!important;min-width:0!important;margin:0!important;grid-column:auto!important}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr!important}}
.plan-preview>img{width:100%;height:100%;object-fit:contain;background:#fff;pointer-events:none;-webkit-user-drag:none}


/* Version 7.0 – typografischer Feinschliff und breite redaktionelle Abschnitte */
/* Gutenberg darf die zweite Spalte der redaktionellen Abschnittsköpfe nicht künstlich verengen. */
body .section-head{
  display:grid !important;
  grid-template-columns:minmax(125px,170px) minmax(0,1fr) !important;
  column-gap:clamp(34px,4vw,72px) !important;
  row-gap:22px;
  width:100% !important;
  max-width:none !important;
  align-items:start;
}
body .section-head > *{min-width:0 !important;max-width:none !important;}
body .section-head > .wp-block-group,
body .section-head > div:not(.section-no){
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
body .section-head h2{
  width:100%;
  max-width:1120px !important;
  font-size:clamp(36px,4.35vw,68px);
  line-height:1.00;
  text-wrap:balance;
}
body .section-head p{
  width:100%;
  max-width:1120px !important;
  font-size:clamp(17px,1.35vw,21px);
  line-height:1.68;
  text-wrap:pretty;
}
body .section-no{
  white-space:nowrap;
  padding-top:.45em;
}
/* Startseite und Büro bekommen bewusst etwas mehr horizontale Luft für Fließtext. */
body #projekte .section-head h2,
body #foerderung .section-head h2,
body #buero .section-head h2,
body .denkmal-approach .section-head h2,
body .buero-workflow .section-head h2{max-width:1250px !important;}
body #projekte .section-head p,
body #foerderung .section-head p,
body #buero .section-head p,
body .denkmal-approach .section-head p,
body .buero-workflow .section-head p{max-width:1180px !important;}

/* Förderung – aus Linkkästen werden informative, ruhige Karten. */
body .funding{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:38px;
  background:var(--line);
  border:1px solid var(--line);
}
body .funding a{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:285px;
  padding:clamp(25px,2.3vw,38px);
  border:0;
  background:#fff;
  transition:transform .18s ease,background .18s ease;
}
body .funding a:hover{background:#faf9f6;transform:translateY(-2px);}
body .funding span{
  font-size:11px;
  line-height:1.4;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--muted);
}
body .funding strong{
  display:block;
  font-size:clamp(31px,3vw,47px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
  margin:16px 0 22px;
}
body .funding p{
  margin:0 0 25px;
  font-size:15px;
  line-height:1.62;
  color:#3f3f3d;
  max-width:46ch;
}
body .funding small{
  display:block;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #ddd9d1;
  font-size:11px;
  letter-spacing:.08em;
}
body .funding-note{
  max-width:1180px;
  margin:30px 0 0;
  padding:20px 24px;
  border-left:2px solid var(--accent);
  background:#ebe8e1;
  font-size:14px;
  line-height:1.65;
  color:#4c4b47;
}

/* Lesbarkeit auf mittleren Bildschirmen: Label oben, Text über volle Breite. */
@media(max-width:1050px){
  body .section-head{grid-template-columns:1fr !important;gap:20px !important;}
  body .section-no{white-space:normal;padding-top:0;}
  body .section-head h2,
  body .section-head p{max-width:100% !important;}
  body .funding{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
  body .funding{grid-template-columns:1fr;}
  body .funding a{min-height:0;}
}


/* Version 8.0 – kompaktere Desktop-Typografie / weniger Scrollstrecke */
@media (min-width:721px){
  body .section{
    padding-top:clamp(62px,5.5vw,92px) !important;
    padding-bottom:clamp(62px,5.5vw,92px) !important;
  }
  body .section-head{
    grid-template-columns:minmax(105px,135px) minmax(0,1fr) !important;
    column-gap:clamp(28px,3vw,52px) !important;
    row-gap:12px !important;
    margin-bottom:clamp(30px,3.2vw,48px) !important;
    align-items:start !important;
  }
  body .section-head > div:not(.section-no),
  body .section-head > .wp-block-group{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  body .section-head h2{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(34px,3.05vw,52px) !important;
    line-height:1.02 !important;
    letter-spacing:-.032em !important;
    margin:0 0 16px !important;
    text-wrap:balance;
  }
  body .section-head p{
    width:100% !important;
    max-width:none !important;
    font-size:clamp(16px,1.18vw,19px) !important;
    line-height:1.5 !important;
    margin:0 0 10px !important;
    text-wrap:pretty;
  }
  body .section-no{
    white-space:nowrap !important;
    padding-top:.35em !important;
  }
  /* Die wichtigen redaktionellen Abschnitte bewusst über die ganze Textspalte. */
  body #projekte .section-head h2,
  body #projekte .section-head p,
  body #foerderung .section-head h2,
  body #foerderung .section-head p,
  body #buero .section-head h2,
  body #buero .section-head p,
  body .denkmal-approach .section-head h2,
  body .denkmal-approach .section-head p,
  body .buero-workflow .section-head h2,
  body .buero-workflow .section-head p{
    max-width:none !important;
  }
  body #foerderung .section-head,
  body #projekte .section-head,
  body #buero .section-head{margin-bottom:32px !important;}

  /* Unterseiten: große Auftakttexte etwas ruhiger und breiter. */
  body .subpage-intro{
    padding-top:clamp(125px,11vw,170px) !important;
    padding-bottom:44px !important;
    max-width:var(--max) !important;
  }
  body .subpage-intro h1{
    font-size:clamp(54px,6vw,92px) !important;
    line-height:.96 !important;
    max-width:none !important;
    margin-bottom:30px !important;
  }
  body .subpage-lead{
    font-size:clamp(18px,1.55vw,24px) !important;
    line-height:1.48 !important;
    max-width:1180px !important;
  }
  body .denkmal-approach{padding-top:24px !important;}
  body .denkmal-approach .section-head{margin-bottom:36px !important;}
  body .buero-workflow .section-head{margin-bottom:36px !important;}
  body .text-cols h3{font-size:clamp(24px,2vw,30px) !important;line-height:1.12 !important;}
}

/* 7.0 schaltete bei 1050 px bereits auf Einspaltigkeit. Für PC/Tablet war das zu früh. */
@media (min-width:721px) and (max-width:1050px){
  body .section-head{
    grid-template-columns:105px minmax(0,1fr) !important;
    gap:26px !important;
  }
  body .section-head h2{font-size:clamp(32px,4.2vw,44px) !important;}
  body .section-head p{font-size:16px !important;line-height:1.48 !important;}
  body .section-no{white-space:nowrap !important;}
}

/* Erst auf kleinen Bildschirmen wirklich stapeln. */
@media (max-width:720px){
  body .section{padding-top:58px !important;padding-bottom:58px !important;}
  body .section-head{grid-template-columns:1fr !important;gap:14px !important;margin-bottom:32px !important;}
  body .section-head h2{font-size:clamp(32px,9vw,45px) !important;line-height:1.02 !important;margin-bottom:12px !important;}
  body .section-head p{font-size:16px !important;line-height:1.5 !important;max-width:100% !important;}
  body .section-no{white-space:normal !important;padding-top:0 !important;}
  body .subpage-intro h1{font-size:clamp(48px,14vw,72px) !important;}
}

/* Version 8.1 – kompaktere Nicht-Projektseiten
   Gilt für Büro, Denkmalschutz, Umbau & Bestand, Neubau, Kontakt sowie Rechtliches.
   Die einzelnen Projektseiten bleiben bewusst unverändert. */
@media (min-width:721px){
  /* Seitenauftakt: weniger Leerraum, breitere Zeilen, geringere Bildhöhe */
  body .subpage-intro{
    padding-top:clamp(108px,8vw,138px) !important;
    padding-bottom:clamp(28px,2.8vw,42px) !important;
    max-width:var(--max) !important;
  }
  body .subpage-intro .subpage-kicker{
    margin-bottom:18px !important;
  }
  body .subpage-intro h1{
    font-size:clamp(48px,4.9vw,76px) !important;
    line-height:.96 !important;
    letter-spacing:-.04em !important;
    margin:0 0 22px !important;
    max-width:1280px !important;
  }
  body .subpage-lead{
    max-width:1220px !important;
    font-size:clamp(17px,1.28vw,21px) !important;
    line-height:1.48 !important;
  }
  body .subpage-hero-image{
    margin:0 var(--pad) clamp(42px,4.2vw,66px) !important;
    height:min(46vw,620px) !important;
  }

  /* Redaktionelle Raster kompakter – Inhalt bleibt gut lesbar, aber ohne hohe Leerzonen. */
  body .denkmal-approach,
  body .buero-workflow,
  body .contact-start{
    padding-top:clamp(34px,3vw,48px) !important;
  }
  body .denkmal-services-grid article{
    min-height:0 !important;
    padding:clamp(22px,2vw,30px) clamp(20px,1.8vw,28px) clamp(24px,2.2vw,32px) !important;
  }
  body .denkmal-services-grid h3{
    margin-bottom:12px !important;
    font-size:19px !important;
  }
  body .denkmal-services-grid p{
    line-height:1.52 !important;
  }

  /* Büro: Fokusfelder und Bilder enger zusammenziehen. */
  body .buero-gallery{margin-top:24px !important;}
  body .buero-focus-grid>a{
    min-height:0 !important;
    padding:clamp(24px,2.2vw,32px) !important;
  }
  body .buero-focus-grid>a span{margin-bottom:18px !important;}
  body .buero-focus-grid h3{
    font-size:clamp(23px,2vw,31px) !important;
    margin-bottom:12px !important;
  }
  body .buero-focus-grid p{line-height:1.5 !important;}
  body .office-grid{gap:7px !important;}

  /* Kontaktseite: zwei große Kontaktfelder nicht mehr künstlich hoch. */
  body .contact-intro{padding-bottom:36px !important;}
  body .contact-page{padding-top:0 !important;padding-bottom:clamp(42px,4vw,62px) !important;}
  body .contact-page-grid article{
    min-height:0 !important;
    padding:clamp(26px,3.2vw,46px) !important;
  }
  body .contact-page-grid h2{
    font-size:clamp(29px,3vw,44px) !important;
    margin:18px 0 22px !important;
  }
  body .contact-large{
    font-size:clamp(20px,1.8vw,28px) !important;
    line-height:1.42 !important;
  }
  body .contact-start{padding-top:28px !important;}

  /* Impressum/Datenschutz: weniger vertikaler Abstand, breitere Textspalte. */
  body .legal-intro{padding-bottom:18px !important;}
  body .legal-page{padding-top:8px !important;}
  body .legal-copy{max-width:1120px !important;}
  body .legal-copy h2{
    font-size:clamp(24px,2.2vw,34px) !important;
    margin:42px 0 14px !important;
  }
  body .legal-copy p{
    font-size:15.5px !important;
    line-height:1.58 !important;
    margin-top:0 !important;
    margin-bottom:14px !important;
  }

  /* CTA am Ende der Arbeitsfeldseiten ebenfalls kompakter. */
  body .denkmal-contact{
    padding-top:clamp(58px,5vw,78px) !important;
    padding-bottom:clamp(64px,5.5vw,88px) !important;
  }
  body .denkmal-contact h2{
    font-size:clamp(43px,5.2vw,76px) !important;
    margin:16px 0 24px !important;
  }
  body .denkmal-contact>p{
    font-size:clamp(16px,1.35vw,20px) !important;
    line-height:1.48 !important;
    max-width:980px !important;
  }
}

@media (max-width:720px){
  /* Auf dem Handy bleibt es ruhig, aber auch dort ohne unnötige Leerhöhen. */
  body .subpage-intro{padding-top:96px !important;padding-bottom:30px !important;}
  body .subpage-intro .subpage-kicker{margin-bottom:16px !important;}
  body .subpage-intro h1{font-size:clamp(40px,11vw,58px) !important;margin-bottom:20px !important;}
  body .subpage-lead{font-size:16px !important;line-height:1.48 !important;}
  body .subpage-hero-image{margin-bottom:42px !important;height:min(70vw,520px) !important;}
  body .denkmal-services-grid article{min-height:0 !important;padding:24px 20px 26px !important;}
  body .buero-focus-grid>a{min-height:0 !important;padding:24px 20px !important;}
  body .contact-page-grid article{min-height:0 !important;padding:28px 22px !important;}
  body .legal-copy h2{margin-top:38px !important;}
}
/* Slideshow – sichere Bildumschaltung */
.gallery.runtime-slideshow > .wp-block-image {
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 1 !important;
}

.gallery.runtime-slideshow > .wp-block-image.active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
}

.gallery.runtime-slideshow > .wp-block-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
/* Unterseiten Projekte – endgültige Rasterkorrektur */
body .denkmal-project-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
}

body .denkmal-project-grid > .denkmal-project-card {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
}

/* Tablet */
@media (max-width: 900px) {
    body .denkmal-project-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Handy */
@media (max-width: 620px) {
    body .denkmal-project-grid {
        grid-template-columns: 1fr !important;
    }
}
/* Projekt-Unterseiten – korrektes 12-Spalten-Raster */
body .denkmal-project-grid,
body .wp-block-group.denkmal-project-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1px !important;
}

body .denkmal-project-grid > .denkmal-project-card,
body .wp-block-group.denkmal-project-grid > .denkmal-project-card {
    grid-column: span 4 !important;
    min-width: 0 !important;
}

/* Tablet: 2 Projekte nebeneinander */
@media screen and (max-width: 900px) {
    body .denkmal-project-grid > .denkmal-project-card,
    body .wp-block-group.denkmal-project-grid > .denkmal-project-card {
        grid-column: span 6 !important;
    }
}

/* Handy: 1 Projekt */
@media screen and (max-width: 620px) {
    body .denkmal-project-grid > .denkmal-project-card,
    body .wp-block-group.denkmal-project-grid > .denkmal-project-card {
        grid-column: span 12 !important;
    }
}