:root {
  --petrol-950: #031d21;
  --petrol-900: #052c32;
  --petrol-800: #234B4F;
  --petrol-700: #234B4F;
  --gold: #85663D;
  --gold-light: #ead28b;
  --anthracite: #2f3843;
  --ink: #172126;
  --paper: #f5f3ed;
  --fog: #e8eaed;
  --white: #fff;
  --line: rgba(7, 63, 71, .2);
  --shell: min(1500px, calc(100vw - 64px));
  --font-display: "Montserrat", "Avenir Next", "Arial Narrow", Arial, sans-serif;
  --font-body: "Source Sans 3", "Segoe UI", Calibri, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.55 var(--font-body); text-rendering: optimizeLegibility; }
.admin-bar .site-header { top: 32px; }
.kb-site main { min-height: 60vh; }
a { color: inherit; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
::selection { background: var(--gold); color: var(--petrol-950); }
.site { overflow: clip; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -80px; padding: 12px 18px; background: var(--gold); color: var(--petrol-950); font-weight: 800; }
.skip-link:focus { top: 16px; }

.site-header { position: relative; z-index: 40; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 248px; height: 78px; object-fit: contain; object-position: left center; }
.brand--compact img { width: 78px; height: 78px; }
.main-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); }
.main-nav a { position: relative; text-decoration: none; font-size: 13px; font-weight: 800; }
.main-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--gold); transition: right .25s ease; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.nav-cta { display: inline-flex; align-items: center; gap: 10px; padding: 14px 0 14px 28px; border-left: 1px solid var(--line); }
.nav-cta svg { width: 17px; }
.menu-toggle { display: none; }
.menu-toggle b { min-width: 22px; font-size: 20px; line-height: 1; }

.eyebrow { margin: 0 0 22px; color: var(--gold-light); font-size: 11px; font-weight: 900; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow--dark { color: var(--petrol-700); }
.section h2, .hero h1, blockquote, .page-hero h1 { margin: 0; font-family: var(--font-display); font-weight: 800; line-height: .92; letter-spacing: -.055em; }
.button { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 0 25px; text-decoration: none; font-size: 14px; font-weight: 900; }
.button svg { width: 18px; }
.button--gold { background: var(--gold); color: var(--petrol-950); }
.button--line { border: 1px solid rgba(255,255,255,.65); color: var(--white); }
.button--petrol { background: var(--petrol-900); color: var(--white); }
.text-link, .knowledge-more { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; font-size: 13px; font-weight: 900; }
.text-link svg, .knowledge-more svg { width: 16px; }

.hero { position: relative; min-height: min(900px, calc(100vh - 112px)); display: flex; align-items: stretch; color: var(--white); background: var(--petrol-950); isolation: isolate; }
.hero-image, .hero-shade, .hero-drawing { position: absolute; inset: 0; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -3; animation: hero-breathe 16s ease-in-out infinite alternate; }
.hero-shade { z-index: -2; background: linear-gradient(90deg, rgba(3,29,33,.97) 0%, rgba(3,29,33,.82) 43%, rgba(3,29,33,.18) 78%), linear-gradient(0deg, rgba(3,29,33,.48), transparent 42%); }
.hero-drawing { z-index: -1; left: 54%; border-left: 1px solid rgba(234,210,139,.4); transform: skewX(-8deg); }
.hero-drawing i { position: absolute; left: 0; width: 52vw; height: 1px; background: rgba(234,210,139,.24); }
.hero-drawing i:nth-child(1) { top: 24%; }.hero-drawing i:nth-child(2) { top: 51%; }.hero-drawing i:nth-child(3) { top: 79%; }
.hero-drawing span { position: absolute; top: 50%; left: 17px; color: var(--gold-light); font: 800 11px var(--font-display); transform: skewX(8deg); }
.hero-inner { min-height: inherit; display: grid; grid-template-columns: 62px minmax(0, 1fr) 330px; gap: 56px; align-items: end; padding-block: clamp(90px, 10vh, 135px) 58px; }
.section-rail { grid-row: 1 / span 3; align-self: stretch; margin: 0; display: flex; align-items: center; justify-content: flex-end; gap: 15px; color: var(--petrol-700); writing-mode: vertical-rl; transform: rotate(180deg); font-size: 10px; font-style: normal; letter-spacing: .16em; text-transform: uppercase; }
.section-rail span { font-weight: 900; }.section-rail i { width: 1px; height: 52px; background: currentColor; opacity: .55; }.section-rail strong { font-weight: 800; }
.hero .section-rail { color: var(--gold-light); }
.hero-copy { max-width: 980px; padding-bottom: 18px; animation: reveal-up .8s cubic-bezier(.2,.8,.2,1) both; }
.hero h1 { font-size: clamp(72px, 7.8vw, 132px); }
.hero h1 span { color: transparent; -webkit-text-stroke: 1.7px rgba(255,255,255,.92); }
.hero-lead { max-width: 760px; margin: 38px 0 0; font-size: clamp(20px, 1.55vw, 27px); color: rgba(255,255,255,.86); }
.actions { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 14px; }
.hero-proof { align-self: end; padding: 26px 0 20px; border-top: 1px solid rgba(255,255,255,.35); }
.hero-proof svg { width: 28px; color: var(--gold-light); }
.hero-proof > span { color: var(--gold-light); font-size: 30px; }
.hero-proof p { margin: 13px 0 0; display: flex; flex-direction: column; gap: 5px; }
.hero-proof strong { font-family: var(--font-display); font-size: 19px; }
.hero-proof span { color: rgba(255,255,255,.66); font-size: 13px; }

.section { position: relative; }
.section-layout { display: grid; grid-template-columns: 62px minmax(0, 1.25fr) minmax(320px, .75fr); column-gap: 58px; padding-block: clamp(110px, 12vw, 180px); }
.section-layout--wide { grid-template-columns: 62px minmax(0, 1fr); }
.manifesto { background: var(--white); }
.manifesto-copy h2 { color: var(--petrol-950); font-size: clamp(72px, 8.2vw, 138px); }
.manifesto-copy h2 span { color: var(--gold); }
.manifesto-note { align-self: end; border-top: 1px solid var(--line); padding-top: 24px; }
.manifesto-note p { margin: 0; font-size: 21px; }
.manifesto-note span { display: block; margin-top: 34px; color: var(--petrol-700); font: 800 13px/1.5 var(--font-display); text-transform: uppercase; letter-spacing: .08em; }

.services { background: var(--paper); }
.section-heading { grid-column: 2; display: grid; grid-template-columns: 1.25fr .55fr; gap: 55px; align-items: end; margin-bottom: 80px; }
.section-heading .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.section-heading h2 { color: var(--petrol-950); font-size: clamp(58px, 6.3vw, 104px); }
.section-heading > p { margin: 0; color: rgba(23,33,38,.68); }
.service-list { grid-column: 2; border-top: 1px solid var(--line); }
.service-list article { position: relative; display: grid; grid-template-columns: 76px minmax(0,1fr) 48px; gap: 28px; align-items: center; min-height: 210px; border-bottom: 1px solid var(--line); overflow: hidden; }
.service-list article.is-featured { min-height: 500px; grid-template-columns: minmax(350px,.82fr) 76px minmax(0,1fr) 48px; color: var(--white); background: var(--petrol-900); border: 0; }
.service-list article.is-featured::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 20%, rgba(3,29,33,.6) 58%, rgba(3,29,33,.92)); pointer-events: none; }
.service-list article > img { width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.service-index, .service-list article > div:not(.service-index), .service-list article > a { position: relative; z-index: 1; }
.service-index { color: var(--gold); font: 900 12px var(--font-display); }
.service-list article > div > p { margin: 0 0 8px; color: var(--petrol-700); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.service-list .is-featured > div > p { color: var(--gold-light); }
.service-list h3 { margin: 0; font: 800 clamp(34px, 3.5vw, 60px)/1 var(--font-display); letter-spacing: -.04em; }
.service-list article > div > span { display: block; max-width: 700px; margin-top: 14px; color: rgba(23,33,38,.65); }
.service-list .is-featured > div > span { color: rgba(255,255,255,.7); }
.service-list article > a { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid currentColor; }
.service-list article > a svg { width: 18px; }

.method { background: var(--petrol-950); color: var(--white); }
.method .section-rail { color: var(--gold-light); }
.method-heading { grid-column: 2; max-width: 1050px; }
.method-heading h2 { font-size: clamp(58px, 6.5vw, 108px); }
.method-heading > p:last-child { max-width: 680px; margin: 32px 0 0; color: rgba(255,255,255,.66); }
.decision-stage { grid-column: 2; margin-top: 90px; display: grid; grid-template-columns: 290px minmax(320px,.7fr) minmax(430px,1.3fr); min-height: 610px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.decision-tabs { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.2); }
.decision-tabs button { flex: 1; display: flex; align-items: center; gap: 18px; padding: 24px; color: rgba(255,255,255,.54); background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); text-align: left; cursor: pointer; }
.decision-tabs button:last-child { border: 0; }.decision-tabs button[aria-selected="true"] { color: var(--petrol-950); background: var(--gold); }
.decision-tabs span { font-size: 11px; font-weight: 900; }
.decision-result { padding: 50px; align-self: center; }
.decision-result p { margin: 0; color: var(--gold-light); font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.decision-result h3 { margin: 22px 0; font: 800 clamp(35px,3vw,55px)/1 var(--font-display); letter-spacing: -.04em; }
.decision-result > span { color: rgba(255,255,255,.65); }
.plan-field { position: relative; overflow: hidden; min-height: 610px; background: linear-gradient(rgba(234,210,139,.1) 1px,transparent 1px), linear-gradient(90deg,rgba(234,210,139,.1) 1px,transparent 1px); background-size: 42px 42px; }
.plan-field::before { content: ""; position: absolute; inset: 15% 12%; border: 1px solid rgba(234,210,139,.4); transform: skew(-8deg); }
.plan-field i { position: absolute; left: 18%; right: 12%; height: 1px; background: rgba(234,210,139,.45); }.plan-field i:nth-child(1){top:30%}.plan-field i:nth-child(2){top:50%}.plan-field i:nth-child(3){top:70%}
.plan-field .point { position: absolute; z-index: 2; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--petrol-950); font: 900 13px var(--font-display); box-shadow: 0 0 0 18px rgba(211,170,74,.1); transition: left .35s ease, top .35s ease; }
.point--01 { left: 18%; top: 62%; }.point--02 { left: 48%; top: 40%; }.point--03 { left: 74%; top: 20%; }
.plan-field > span { position: absolute; bottom: 28px; color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: .12em; }.plan-field > span:nth-last-child(3){left:8%}.plan-field > span:nth-last-child(2){left:44%}.plan-field > span:last-child{right:7%}

.responsibility { display: grid; grid-template-columns: 1fr 1fr; min-height: 850px; background: var(--white); }
.responsibility-media { min-height: inherit; }
.responsibility-media img { width: 100%; height: 100%; object-fit: cover; }
.responsibility-body { display: grid; grid-template-columns: 62px 1fr; gap: 54px; padding: clamp(90px, 9vw, 150px) max(32px, calc((100vw - min(1500px, calc(100vw - 64px))) / 2)); padding-left: clamp(42px, 6vw, 105px); }
.responsibility-body blockquote { color: var(--petrol-950); font-size: clamp(52px, 5.6vw, 92px); }
.responsibility-body > div > p:not(.eyebrow) { max-width: 680px; color: rgba(23,33,38,.7); }
.timeline { margin: 52px 0 42px; border-top: 1px solid var(--line); }
.timeline div { display: grid; grid-template-columns: 140px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }.timeline dt { color: var(--gold); font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }.timeline dd { margin: 0; font-weight: 700; }

.knowledge { background: var(--anthracite); color: var(--white); }
.knowledge .section-rail { color: var(--gold-light); }
.knowledge .section-heading h2 { color: var(--white); }
.knowledge .section-heading > p { color: rgba(255,255,255,.6); }
.knowledge-list { grid-column: 2; }
.knowledge-list article { position: relative; display: grid; grid-template-columns: 170px 1fr 280px 32px; gap: 25px; align-items: center; padding: 34px 0; border-top: 1px solid rgba(255,255,255,.18); }
.knowledge-list article:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.knowledge-list p { margin: 0; color: var(--gold-light); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.knowledge-list p span { display: inline-block; width: 50px; color: rgba(255,255,255,.45); }
.knowledge-list h3 { margin: 0; font: 800 clamp(24px,2.5vw,40px)/1.15 var(--font-display); letter-spacing: -.03em; }.knowledge-list small { color: rgba(255,255,255,.45); }.knowledge-list svg { color: var(--gold-light); }
.knowledge-more { grid-column: 2; justify-self: end; margin-top: 38px; color: var(--gold-light); }
.knowledge-list article > b { color: var(--gold); font-size: 28px; font-weight: 400; }

.contact-stage { background: var(--fog); }
.contact-grid { display: grid; grid-template-columns: 62px 1.2fr .6fr; gap: 58px; align-items: end; min-height: 720px; padding-block: 120px; }
.contact-grid h2 { color: var(--petrol-950); font-size: clamp(64px,7vw,112px); }.contact-grid > div:last-child p { margin: 0 0 34px; color: rgba(23,33,38,.68); }

.site-footer { background: var(--petrol-950); color: var(--white); }
.footer-grid { min-height: 340px; padding-block: 70px; display: grid; grid-template-columns: 1.2fr .6fr .6fr; gap: 70px; }
.footer-grid .brand img { width: 72px; height: 72px; filter: brightness(0) invert(1); opacity: .9; }.footer-grid > div:first-child > p { max-width: 520px; margin: 28px 0 0; color: rgba(255,255,255,.64); }
.footer-grid nav { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }.footer-grid nav a, .footer-meta a { text-decoration: none; border-bottom: 1px solid transparent; }.footer-grid nav a:hover, .footer-meta a:hover { border-color: currentColor; }
.footer-meta { color: rgba(255,255,255,.48); font-size: 12px; }.footer-meta p { margin: 0 0 5px; }.footer-meta a { display: inline-block; margin-top: 24px; color: var(--gold-light); }

.page-hero { padding: 100px 0 90px; background: var(--white); border-bottom: 1px solid var(--line); }.page-hero__grid { display: grid; grid-template-columns: 62px minmax(0,1.25fr) minmax(320px,.55fr); gap: 58px; align-items: end; }.page-hero h1 { color: var(--petrol-950); font-size: clamp(64px,8vw,124px); }.page-hero h1 span { color: var(--gold); }.page-hero__lead { margin: 0; color: rgba(23,33,38,.7); font-size: 21px; }
.page-content { padding: 100px 0 150px; }.content-grid { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 58px; }.content-grid > *:not(.section-rail) { grid-column: 2; }
.service-detail { display: grid; grid-template-columns: 90px .85fr 1.15fr; gap: 35px; padding: 48px 0; border-top: 1px solid var(--line); }.service-detail:last-child { border-bottom: 1px solid var(--line); }.service-detail > span { color: var(--gold); font-weight: 900; }.service-detail h2 { margin: 0; color: var(--petrol-950); font: 800 clamp(34px,4vw,60px)/1 var(--font-display); letter-spacing: -.04em; }.service-detail h3 { margin: 0 0 12px; font-size: 20px; }.service-detail p { margin: 0 0 20px; color: rgba(23,33,38,.68); }.service-detail ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }.service-detail li { padding: 7px 11px; background: var(--fog); font-size: 12px; font-weight: 700; }
.editorial-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }.editorial-card { min-height: 360px; padding: 45px; background: var(--white); }.editorial-card span { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }.editorial-card h2 { margin: 55px 0 20px; color: var(--petrol-950); font: 800 clamp(34px,4vw,58px)/1 var(--font-display); letter-spacing: -.04em; }.editorial-card p { color: rgba(23,33,38,.68); }
.holding-stage { min-height: 520px; display: grid; grid-template-columns: .8fr 1.2fr; background: var(--petrol-900); color: var(--white); }.holding-stage > div { padding: clamp(45px,6vw,90px); }.holding-stage .plan-field { min-height: 520px; }.holding-stage h2 { margin: 0; font: 800 clamp(48px,5.7vw,90px)/.95 var(--font-display); letter-spacing: -.05em; }.holding-stage p { max-width: 620px; color: rgba(255,255,255,.65); }
.profile-stage { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }.profile-stage blockquote { margin: 0; color: var(--petrol-950); font-size: clamp(54px,6vw,92px); }.profile-copy > p { color: rgba(23,33,38,.7); font-size: 21px; }.profile-copy .timeline { margin-top: 48px; }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }.contact-copy h2 { margin: 0; color: var(--petrol-950); font: 800 clamp(46px,5vw,78px)/.98 var(--font-display); letter-spacing: -.045em; }.contact-copy p { color: rgba(23,33,38,.68); }.project-panel { background: var(--white); border-top: 5px solid var(--gold); padding: clamp(30px,5vw,64px); box-shadow: 0 25px 75px rgba(3,29,33,.08); }.project-panel > p { margin: 0 0 25px; font-weight: 800; }.project-panel > button { width: 100%; display: grid; grid-template-columns: 34px 1fr; align-items: center; padding: 20px 0; border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; font-weight: 700; cursor: pointer; }.project-panel > button span { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid rgba(7,63,71,.4); }.project-panel > button span svg { width: 14px; }.project-panel > button.is-selected { color: var(--petrol-700); }.project-panel > button.is-selected span { background: var(--gold); border-color: var(--gold); color: var(--petrol-950); }.project-result { margin-top: 24px; padding: 24px; display: flex; flex-direction: column; background: var(--petrol-900); color: var(--white); }.project-result small { color: var(--gold-light); text-transform: uppercase; letter-spacing: .12em; }.project-result strong { margin-top: 6px; font-size: 28px; }.project-result span { margin-top: 8px; color: rgba(255,255,255,.58); font-size: 12px; }

/* Full-site 1.0 page system */
.page-hero--detail h1 { font-size: clamp(56px,6.7vw,104px); }
.catalog-section { background: var(--paper); }
.catalog-groups, .catalog-grid, .project-list, .process-list { grid-column: 2; }
.catalog-group { display: grid; grid-template-columns: minmax(150px,.35fr) minmax(0,1.65fr); gap: 40px; padding: 55px 0; border-top: 1px solid var(--line); }
.catalog-group:last-child { border-bottom: 1px solid var(--line); }
.catalog-group > h3 { margin: 0; color: var(--gold); font: 800 13px var(--font-display); letter-spacing: .14em; text-transform: uppercase; }
.catalog-group > div, .catalog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.catalog-card { position: relative; min-height: 300px; display: flex; flex-direction: column; padding: 34px; background: var(--white); text-decoration: none; transition: color .22s ease, background .22s ease, transform .22s ease; }
.catalog-card > span { color: var(--gold); font: 900 11px var(--font-display); letter-spacing: .14em; }
.catalog-card h3, .catalog-card h4 { max-width: 540px; margin: 58px 45px 16px 0; color: var(--petrol-950); font: 800 clamp(28px,2.4vw,42px)/1.02 var(--font-display); letter-spacing: -.04em; }
.catalog-card p { max-width: 580px; margin: auto 45px 0 0; color: rgba(23,33,38,.66); }
.catalog-card > b { position: absolute; right: 28px; top: 28px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); font-weight: 500; }
a.catalog-card:hover, a.catalog-card:focus-visible { z-index: 2; background: var(--petrol-900); color: var(--white); transform: translateY(-4px); }
a.catalog-card:hover h3, a.catalog-card:hover h4, a.catalog-card:focus-visible h3, a.catalog-card:focus-visible h4 { color: var(--white); }
a.catalog-card:hover p, a.catalog-card:focus-visible p { color: rgba(255,255,255,.68); }
.catalog-card--feature { background: var(--gold); }
.catalog-card--feature > span, .catalog-card--feature p { color: var(--petrol-950); }
.detail-question__copy { grid-column: 2; max-width: 1100px; }
.detail-question__copy h2 { color: var(--petrol-950); font-size: clamp(48px,5.6vw,88px); }
.detail-scope { grid-column: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 70px; background: var(--line); border: 1px solid var(--line); }
.detail-scope article { min-height: 245px; padding: 32px; background: var(--white); }
.detail-scope span { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.detail-scope p { margin: 90px 0 0; color: var(--petrol-950); font: 800 clamp(22px,2vw,31px)/1.14 var(--font-display); letter-spacing: -.025em; }
.detail-process { background: var(--petrol-950); color: var(--white); }
.detail-process .section-rail { color: var(--gold-light); }
.detail-process .section-heading h2 { color: var(--white); }
.detail-process .section-heading > p { color: rgba(255,255,255,.62); }
.process-list { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 72px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.process-list div { min-height: 250px; padding: 30px; border-right: 1px solid rgba(255,255,255,.2); }
.process-list div:last-child { border: 0; }
.process-list span { color: var(--gold-light); font: 900 11px var(--font-display); }
.process-list p { margin: 105px 0 0; font: 700 20px/1.35 var(--font-display); }
.detail-result { background: var(--fog); }
.detail-result .contact-grid { min-height: 650px; }
.detail-result h2 { font-size: clamp(48px,5.4vw,82px); }
.project-list article { display: grid; grid-template-columns: 80px 1fr 70px; gap: 30px; align-items: center; min-height: 210px; padding: 35px 0; border-top: 1px solid var(--line); }
.project-list article:last-child { border-bottom: 1px solid var(--line); }
.project-list > article > span { color: var(--gold); font-weight: 900; }
.project-list small { color: var(--petrol-700); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.project-list h2 { margin: 12px 0 8px; color: var(--petrol-950); font: 800 clamp(32px,4vw,62px)/1 var(--font-display); letter-spacing: -.04em; }
.project-list p { margin: 0; color: rgba(23,33,38,.65); }
.project-list b { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--gold); }
.editorial-card { position: relative; display: block; text-decoration: none; }
.editorial-card > b { position: absolute; right: 30px; top: 30px; color: var(--gold); }
.profile-links { display: flex; flex-wrap: wrap; gap: 28px; }
.contact-copy address { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); font-style: normal; }
.contact-copy address a { color: var(--petrol-700); font-weight: 800; }
.legal-review { max-width: 880px; padding: clamp(36px,6vw,80px); background: var(--white); border-top: 6px solid var(--gold); }
.legal-review h2 { margin: 0 0 30px; color: var(--petrol-950); font: 800 clamp(38px,5vw,70px)/1 var(--font-display); letter-spacing: -.04em; }
.review-notice { margin-top: 42px; padding: 24px; background: var(--fog); border-left: 4px solid var(--gold); font-weight: 700; }
.legal-page .page-content { padding-block: clamp(70px,8vw,120px); }
.legal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.legal-grid--single { grid-template-columns: 1fr; }
.legal-card { padding: clamp(28px,4vw,48px); background: var(--white); border: 1px solid var(--line); box-shadow: 0 14px 36px rgba(3,29,33,.055); }
.legal-card--wide { grid-column: 1 / -1; }
.legal-card--accent { border-top: 6px solid var(--gold); }
.legal-card h2 { margin: 0 0 24px; color: var(--petrol-950); font: 800 clamp(28px,3vw,44px)/1.05 var(--font-display); letter-spacing: -.035em; }
.legal-card h3 { margin: 34px 0 12px; color: var(--petrol-800); font: 800 21px/1.25 var(--font-display); }
.legal-card p { margin: 0 0 18px; }
.legal-card p:last-child { margin-bottom: 0; }
.legal-card address { margin: 0 0 22px; font-style: normal; }
.legal-card a { color: var(--petrol-700); font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin: 28px 0; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-muted { color: rgba(23,33,38,.68); }
.legal-notice, .legal-status { padding: 20px 22px; background: var(--fog); border-left: 4px solid var(--gold); }
.legal-status { margin-top: 34px !important; }
.legal-paper { margin-top: 26px; padding: clamp(24px,4vw,42px); background: #fffef9; border: 1px solid rgba(23,33,38,.25); }
.legal-lines { color: rgba(23,33,38,.58); line-height: 2; overflow-wrap: anywhere; }
.footer-legal { line-height: 1.8; }

.device-review { min-height: 100vh; padding: 56px 0 120px; background: var(--fog); }.device-review__header { width: min(1180px, calc(100% - 40px)); margin: 0 auto 76px; display: grid; grid-template-columns: .6fr 1.2fr .8fr; gap: 50px; align-items: end; }.device-review__header > a { align-self: start; display: inline-flex; align-items: center; gap: 10px; color: var(--petrol-800); font-size: 13px; font-weight: 800; text-decoration: none; }.device-review__header > a svg { width: 18px; }.device-review__header div > p { margin: 0 0 14px; color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }.device-review__header h1 { margin: 0; color: var(--petrol-950); font: 800 clamp(45px,6vw,82px)/.95 var(--font-display); letter-spacing: -.055em; }.device-review__header > p { margin: 0; color: rgba(23,33,38,.65); }.device-review__list { display: grid; gap: 92px; }.device-card { width: min(1260px, calc(100% - 40px)); margin-inline: auto; }.device-card__meta { display: grid; grid-template-columns: .5fr 1fr; gap: 30px; margin-bottom: 20px; }.device-card__meta div { display: flex; align-items: baseline; gap: 18px; }.device-card__meta span { color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }.device-card__meta strong { color: var(--petrol-800); font-size: 14px; }.device-card__meta p { margin: 0; color: rgba(23,33,38,.65); font-size: 14px; }.device-card__stage { overflow: auto; padding: 28px; background: #dfe3e6; border: 1px solid var(--line); box-shadow: inset 0 0 0 8px rgba(255,255,255,.4); }.device-card iframe { display: block; margin-inline: auto; border: 1px solid rgba(3,29,33,.25); background: var(--white); box-shadow: 0 16px 40px rgba(3,29,33,.14); }

@keyframes hero-breathe { from { transform: scale(1); } to { transform: scale(1.025); } }
@keyframes reveal-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1120px) {
  :root { --shell: min(100% - 40px, 1050px); }
  .header-inner { min-height: 94px; }.brand img { width: 205px; }.main-nav { gap: 18px; }.main-nav a { font-size: 12px; }
  .hero { min-height: 780px; }.hero-inner { grid-template-columns: 48px 1fr; }.hero-proof { grid-column: 2; max-width: 520px; }
  .section-layout, .page-hero__grid { grid-template-columns: 48px minmax(0,1fr) minmax(280px,.7fr); gap: 36px; }.section-layout--wide, .content-grid { grid-template-columns: 48px minmax(0,1fr); }
  .service-list article.is-featured { grid-template-columns: minmax(280px,.72fr) 60px minmax(0,1fr) 45px; }.decision-stage { grid-template-columns: 220px 1fr; }.plan-field { grid-column: 1 / -1; }.responsibility { grid-template-columns: .8fr 1.2fr; }.knowledge-list article { grid-template-columns: 110px 1fr 200px 30px; }.contact-grid { grid-template-columns: 48px 1fr .55fr; gap: 36px; }
}

@media (max-width: 900px) {
  .menu-toggle { display: inline-flex; align-items: center; gap: 10px; padding: 12px 15px; color: var(--petrol-950); background: var(--white); border: 1px solid var(--line); text-transform: uppercase; font-size: 12px; font-weight: 900; letter-spacing: .1em; }.menu-toggle svg { width: 20px; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 18px 24px 28px; flex-direction: column; align-items: stretch; gap: 0; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 18px 30px rgba(3,29,33,.12); }.main-nav.is-open { display: flex; }.main-nav a { padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 16px; }.nav-cta { margin-top: 12px; padding: 18px; border-left: 0; background: var(--gold); justify-content: space-between; }
  .hero { min-height: 820px; }.hero-inner { padding-top: 80px; }.hero h1 { font-size: clamp(66px,10.5vw,96px); }.hero-proof { display: none; }
  .section-layout, .page-hero__grid { grid-template-columns: 48px minmax(0,1fr); }.section-layout > *:not(.section-rail), .page-hero__grid > *:not(.section-rail) { grid-column: 2; }.manifesto-note { margin-top: 55px; }.section-heading { grid-template-columns: 1fr; }.section-heading .eyebrow { grid-column: auto; margin-bottom: 0; }.service-list article.is-featured { grid-template-columns: 60px minmax(0,1fr) 45px; padding: 40px; }.service-list article.is-featured > img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .42; }.service-list article.is-featured::after { background: linear-gradient(90deg,rgba(3,29,33,.86),rgba(3,29,33,.68)); }.decision-stage { grid-template-columns: 1fr; }.decision-tabs { flex-direction: row; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }.decision-tabs button { min-height: 90px; }.plan-field { grid-column: auto; }.responsibility { grid-template-columns: 1fr; }.responsibility-media { min-height: 560px; }.responsibility-body { grid-template-columns: 48px 1fr; }.knowledge-list article { grid-template-columns: 105px 1fr 30px; }.knowledge-list small { display: none; }.contact-grid { grid-template-columns: 48px 1fr; }.contact-grid > *:not(.section-rail) { grid-column: 2; }.contact-grid > div:last-child { margin-top: 30px; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-meta { grid-column: 1 / -1; }.page-hero__lead { margin-top: 30px; }.service-detail { grid-template-columns: 70px 1fr; }.service-detail > div:last-child { grid-column: 2; }.profile-stage, .contact-layout, .holding-stage { grid-template-columns: 1fr; }.editorial-grid { grid-template-columns: 1fr; }.device-review__header { grid-template-columns: 1fr; align-items: start; gap: 28px; }.device-card__meta { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 680px) {
  :root { --shell: calc(100% - 28px); }
  body { font-size: 16px; }.header-inner { min-height: 86px; }.brand img { width: 58px; height: 58px; }
  .hero { min-height: 760px; }.hero-shade { background: linear-gradient(0deg,rgba(3,29,33,.98),rgba(3,29,33,.78) 64%,rgba(3,29,33,.25)); }.hero-image { object-position: 62% center; }.hero-drawing { left: 70%; }.hero-inner { display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; gap: 28px; padding-block: 130px 58px; }
  .section-rail { align-self: flex-start; justify-content: flex-start; writing-mode: horizontal-tb; transform: none; height: auto; }.section-rail i { width: 42px; height: 1px; }
  .hero h1 { font-size: clamp(49px,14vw,70px); line-height: .94; }.hero h1 span { -webkit-text-stroke-width: 1px; }.hero-lead { margin-top: 27px; font-size: 19px; }.actions { margin-top: 28px; flex-direction: column; }.button { width: 100%; justify-content: space-between; }
  .section-layout, .page-hero__grid, .content-grid { display: flex; flex-direction: column; gap: 34px; padding-block: 78px; }.manifesto-copy h2, .section-heading h2, .method-heading h2, .contact-grid h2, .page-hero h1 { font-size: clamp(44px,13vw,62px); }.manifesto-note { margin-top: 10px; }.section-heading { margin-bottom: 42px; gap: 28px; }
  .service-list article { grid-template-columns: 46px 1fr 38px; gap: 14px; min-height: 185px; }.service-list article.is-featured { grid-template-columns: 46px 1fr 38px; min-height: 430px; padding: 24px; }.service-list h3 { font-size: 34px; }.service-list article > div > span { font-size: 14px; }
  .decision-stage { margin-top: 55px; }.decision-tabs { display: grid; grid-template-columns: 1fr; }.decision-tabs button { min-height: 68px; border-right: 0; }.decision-result { padding: 32px 0; }.decision-result h3 { font-size: 38px; }.plan-field { min-height: 400px; }.plan-field > span { display: none; }
  .responsibility-media { min-height: 420px; }.responsibility-body { display: flex; flex-direction: column; padding: 78px 20px; gap: 34px; }.responsibility-body blockquote { font-size: 48px; }.timeline div { grid-template-columns: 105px 1fr; }
  .knowledge-list article { grid-template-columns: 1fr 26px; gap: 13px; padding: 26px 0; }.knowledge-list article p, .knowledge-list article h3 { grid-column: 1; }.knowledge-list h3 { font-size: 27px; }.knowledge-list svg { grid-column: 2; grid-row: 1 / 3; }.knowledge-more { justify-self: start; }
  .contact-grid { display: flex; flex-direction: column; align-items: stretch; min-height: 650px; gap: 34px; padding-block: 78px; }.footer-grid { grid-template-columns: 1fr; min-height: 0; padding-block: 58px; }.footer-meta { grid-column: auto; }.page-hero { padding: 10px 0; }.page-content { padding: 10px 0 100px; }.service-detail { grid-template-columns: 45px 1fr; gap: 18px; padding: 34px 0; }.service-detail h2 { font-size: 37px; }.editorial-card { min-height: 300px; padding: 30px; }.holding-stage > div { padding: 34px 25px; }.profile-stage, .contact-layout { gap: 48px; }.project-panel { padding: 28px 22px; }
}

@media (max-width: 900px) {
  .catalog-group { grid-template-columns: 1fr; }
  .catalog-groups, .catalog-grid, .project-list, .process-list, .detail-question__copy, .detail-scope { grid-column: 2; }
  .detail-scope { grid-template-columns: 1fr; }
  .detail-scope article { min-height: 190px; }
  .detail-scope p { margin-top: 55px; }
  .process-list { grid-template-columns: repeat(2,1fr); }
  .process-list div:nth-child(2) { border-right: 0; }
  .process-list div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 680px) {
  .catalog-group > div, .catalog-grid { grid-template-columns: 1fr; }
  .catalog-card { min-height: 260px; padding: 28px; }
  .catalog-card h3, .catalog-card h4 { margin-top: 42px; font-size: 32px; }
  .catalog-groups, .catalog-grid, .project-list, .process-list, .detail-question__copy, .detail-scope { grid-column: auto; }
  .detail-scope { margin-top: 40px; }
  .process-list { grid-template-columns: 1fr; }
  .process-list div, .process-list div:nth-child(2), .process-list div:nth-child(3) { min-height: 180px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .process-list div:last-child { border-bottom: 0; }
  .process-list p { margin-top: 65px; }
  .project-list article { grid-template-columns: 44px 1fr; }
  .project-list b { display: none; }
  .project-list h2 { font-size: 34px; }
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

/* 1.1.0 — cinematic editorial system, documented media and visible motion */
.section-heading { row-gap: 26px; }
.section-heading .eyebrow { margin-bottom: 0; }
.section-heading > div { min-width: 0; }
.page-hero h1, .legal-review h1, .legal-review h2 { overflow-wrap: anywhere; }

.kb-media { --media-shift: 0px; position: relative; margin: 0; overflow: hidden; background: var(--petrol-900); isolation: isolate; }
.kb-media picture { display: block; width: 100%; height: 100%; overflow: hidden; }
.kb-media img { width: 100%; height: 100%; object-fit: cover; transform: translate3d(0,var(--media-shift),0) scale(1.035); transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.kb-media figcaption { position: absolute; z-index: 3; left: 18px; bottom: 16px; max-width: calc(100% - 36px); padding: 8px 10px; color: var(--white); background: rgba(3,29,33,.82); border-left: 3px solid var(--gold); font: 800 9px/1.3 var(--font-display); letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(7px); }
.kb-media--fill { width: 100%; height: 100%; }

.page-hero--media { position: relative; min-height: min(760px,calc(100vh - 112px)); display: flex; align-items: end; padding: 0; overflow: hidden; color: var(--white); background: var(--petrol-950); isolation: isolate; }
.page-hero--media::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(3,29,33,.96) 0%,rgba(3,29,33,.79) 47%,rgba(3,29,33,.24) 82%),linear-gradient(0deg,rgba(3,29,33,.72),transparent 58%); }
.page-hero__media { position: absolute; z-index: -2; inset: 0; }
.page-hero__media .kb-media figcaption { left: auto; right: 22px; }
.page-hero--media .page-hero__grid { width: var(--shell); padding-block: clamp(100px,13vh,150px) clamp(80px,10vh,115px); }
.page-hero--media h1 { color: var(--white); }
.page-hero--media h1 span { color: transparent; -webkit-text-stroke: 1.4px rgba(255,255,255,.9); }
.page-hero--media .section-rail, .page-hero--media .page-hero__lead { color: rgba(255,255,255,.78); }
.page-hero--media .page-hero__lead { padding-top: 26px; border-top: 1px solid rgba(255,255,255,.35); }

.hero-media-label { position: absolute; z-index: 3; right: 24px; bottom: 22px; margin: 0; padding: 7px 10px; color: rgba(255,255,255,.8); background: rgba(3,29,33,.7); border-left: 3px solid var(--gold); font: 800 9px var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.hero-scroll { position: absolute; z-index: 4; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 12px; color: var(--white); font: 800 9px var(--font-display); letter-spacing: .16em; text-decoration: none; text-transform: uppercase; transform: translateX(-50%); }
.hero-scroll i { width: 1px; height: 32px; background: var(--gold); animation: scroll-pulse 1.7s ease-in-out infinite; }

.visual-story { background: var(--white); }
.media-mosaic { grid-column: 2; display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.media-mosaic .kb-media { min-height: 360px; }
.media-mosaic__lead { grid-row: span 2; min-height: 740px !important; }

.project-gallery { grid-column: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 70px 22px; }
.project-showcase { min-width: 0; }
.project-showcase:nth-child(3n+1) { grid-column: span 2; display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 34px; }
.project-showcase__media { aspect-ratio: 16/10; }
.project-showcase:nth-child(3n+1) .project-showcase__media { aspect-ratio: 16/8; }
.project-showcase > div { padding: 22px 8px 0; border-top: 1px solid var(--line); }
.project-showcase > div > span { float: right; color: var(--gold); font-weight: 900; }
.project-showcase small { color: var(--petrol-700); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.project-showcase h2 { margin: 16px 0 10px; color: var(--petrol-950); font: 800 clamp(31px,3.5vw,58px)/.98 var(--font-display); letter-spacing: -.045em; }
.project-showcase p { margin: 0; color: rgba(23,33,38,.65); }

.material-gallery { grid-column: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-bottom: 1px; background: var(--line); border: 1px solid var(--line); }
.material-card { background: var(--white); }
.material-card .kb-media { aspect-ratio: 16/10; }
.material-card > div { min-height: 250px; padding: 30px; }
.material-card > div > span { color: var(--gold); font-weight: 900; }
.material-card h3 { margin: 45px 0 14px; color: var(--petrol-950); font: 800 clamp(30px,3vw,48px)/1 var(--font-display); letter-spacing: -.04em; }
.material-card p { color: rgba(23,33,38,.65); }
.material-gallery + .catalog-card { grid-column: 2; min-height: 230px; }

.editorial-grid--media { gap: 18px; border: 0; background: transparent; }
.editorial-grid--media .editorial-card { padding: 0; overflow: hidden; }
.editorial-card__media { aspect-ratio: 16/9; }
.editorial-grid--media .editorial-card > div { min-height: 315px; padding: 32px; }
.editorial-grid--media .editorial-card h2 { margin-top: 40px; }

.detail-visual { background: var(--white); }
.detail-visual__copy { grid-column: 2; align-self: center; max-width: 750px; }
.detail-visual__copy h2 { color: var(--petrol-950); font-size: clamp(45px,5vw,78px); }
.detail-visual__copy p:last-child { max-width: 620px; color: rgba(23,33,38,.68); }
.detail-visual__media { grid-column: 2; min-height: 620px; margin-top: 50px; }

.kb-reveal { opacity: 1; transform: none; }
.kb-reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes scroll-pulse { 0%,100% { transform: scaleY(.35); transform-origin: top; opacity: .35; } 50% { transform: scaleY(1); opacity: 1; } }

@media (max-width: 900px) {
  .section-heading .eyebrow { margin-bottom: 0; }
  .page-hero--media { min-height: 680px; }
  .page-hero--media .page-hero__grid { padding-block: 100px 75px; }
  .page-hero--media .page-hero__lead { margin-top: 0; }
  .media-mosaic, .project-gallery, .material-gallery { grid-column: 2; }
  .project-showcase:nth-child(3n+1) { display: block; }
  .project-showcase:nth-child(3n+1) .project-showcase__media { aspect-ratio: 16/10; }
  .main-nav { counter-reset: nav-item; padding: 24px var(--shell) 34px; }
  .main-nav a { counter-increment: nav-item; display: grid; grid-template-columns: 34px 1fr auto; }
  .main-nav a::before { content: "0" counter(nav-item); color: var(--gold); font-size: 10px; letter-spacing: .1em; }
}

@media (max-width: 680px) {
  .page-hero--media { min-height: 680px; padding: 0; }
  .page-hero--media::after { background: linear-gradient(0deg,rgba(3,29,33,.98) 0%,rgba(3,29,33,.78) 68%,rgba(3,29,33,.22) 100%); }
  .page-hero--media .page-hero__grid { width: var(--shell); padding-block: 150px 58px; }
  .page-hero--media .page-hero__media img { object-position: center; }
  .page-hero--media .page-hero__media figcaption { right: 14px; bottom: 12px; }
  .page-hero--media h1 { font-size: clamp(42px,12.7vw,58px); line-height: .93; }
  .page-hero--media .page-hero__lead { font-size: 18px; }
  .hero-media-label, .hero-scroll { display: none; }
  .media-mosaic, .project-gallery, .material-gallery { grid-column: auto; grid-template-columns: 1fr; }
  .media-mosaic__lead, .media-mosaic .kb-media { min-height: 360px !important; grid-row: auto; }
  .project-showcase:nth-child(3n+1) { grid-column: auto; }
  .project-showcase__media, .project-showcase:nth-child(3n+1) .project-showcase__media { aspect-ratio: 4/5; }
  .material-card .kb-media { aspect-ratio: 4/3; }
  .material-gallery + .catalog-card, .detail-visual__copy, .detail-visual__media { grid-column: auto; }
  .detail-visual__media { min-height: 420px; margin-top: 10px; }
  .editorial-grid--media .editorial-card > div { min-height: 280px; }
  .main-nav { padding-inline: 24px; }
  .kb-page-datenschutzerklaerung .page-hero h1 { font-size: clamp(38px,11vw,52px); hyphens: auto; }
  .kb-page-verbraucherinformationen .page-hero h1 { font-size: clamp(34px,10vw,49px); hyphens: auto; }
  .legal-grid { grid-template-columns: 1fr; }
  .legal-card--wide { grid-column: auto; }
  .legal-columns { grid-template-columns: 1fr; }
  .legal-card { padding: 25px 21px; }
  .legal-paper { padding: 20px 16px; }
}

@media print {
  .site-header, .site-footer, .section-rail, .page-hero, .skip-link { display: none !important; }
  .legal-page .page-content { padding: 0; }
  .legal-grid, .legal-grid--single { display: block; }
  .legal-card { break-inside: avoid; margin: 0 0 18px; padding: 18px; box-shadow: none; }
  .legal-paper { border-color: #555; }
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }


/* Inhaltsabschluss: vorhandene Gestaltung, robuste Sichtbarkeit und Lesbarkeit. */
.kb-service-section { background: var(--paper); }
.kb-service-section--tinted { background: var(--white); }
.kb-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,6vw,90px); }
.kb-service-grid > div { min-width:0; }
.kb-service-grid h2,.kb-hub-copy h2 { font:800 clamp(27px,3vw,42px)/1.15 var(--font-display); color:var(--petrol-800); letter-spacing:-.025em; overflow-wrap:anywhere; }
.kb-service-grid p,.kb-service-grid li,.kb-hub-copy p { max-width:70ch; line-height:1.65; }
.kb-service-grid li { margin-block:12px; }
.kb-related a { color:var(--petrol-800); text-underline-offset:4px; }
.kb-service-contact { background:var(--petrol-800); color:white; }
.kb-service-contact h2 { font-size:clamp(30px,4vw,52px); line-height:1.15; }
.kb-service-contact p { max-width:70ch; overflow-wrap:anywhere; }
.kb-service-contact .eyebrow { color:white; }
.kb-hub-copy { max-width:1000px; }
.button--gold { background:var(--gold); color:white; }
.kb-media picture { display:block; width:100%; height:100%; }
.kb-media img { object-position:50% 45%; }
.kb-media:has(img[src*="planning-floorplan"]),.kb-media:has(img[src*="planning-elevations"]),.kb-media:has(img[src*="planning-section"]) { background:#fff; }
.kb-media img[src*="planning-floorplan"],.kb-media img[src*="planning-elevations"],.kb-media img[src*="planning-section"] { object-fit:contain; transform:none; padding:16px 16px 55px; }
.page-hero__media { z-index:0; }
.page-hero--media::after { z-index:1; }
.page-hero--media .page-hero__grid { position:relative; z-index:2; }
.knowledge-list small { display:block; }
.main-nav a { min-height:44px; align-content:center; }
@media(min-width:901px) { .header-inner { gap:20px; } .main-nav { gap:clamp(10px,1.2vw,22px); flex-wrap:wrap; justify-content:flex-end; } .main-nav a { font-size:12px; } }
@media(max-width:900px) { .main-nav { max-height:calc(100dvh - 120px); overflow-y:auto; padding-inline:24px; } }
@media(max-width:680px) {
 .kb-service-grid { grid-template-columns:1fr; }
 .kb-service-grid h2 { font-size:28px; }
 .kb-service-grid p,.kb-service-grid li { font-size:17px; }
 .page-hero--media h1 { font-size:clamp(32px,9vw,46px); line-height:1.12; overflow-wrap:anywhere; hyphens:auto; }
 .page-hero--media .page-hero__grid { padding-top:65px; }
 .page-hero--media .page-hero__lead { color:white; }
 .project-showcase__media,.project-showcase:nth-child(3n+1) .project-showcase__media { aspect-ratio:4/3; }
 .kb-media figcaption { font-size:10px; letter-spacing:.02em; }
 .actions { flex-wrap:wrap; }
 .footer-meta a,.contact-copy a { overflow-wrap:anywhere; }
 .hero-media-label { display:block; font-size:9px; right:12px; bottom:12px; }
}

/* Isolierte Korrektur. Aktuelle Navigation, Farben und Inhalte bleiben bestehen. */
.kb-service-section > .shell,
.kb-service-contact > .shell { padding-block:clamp(110px,12vw,180px); }
main { counter-reset: leistungsabschnitt; }
.kb-service-section { counter-increment:leistungsabschnitt; }
.kb-service-section > .kb-service-grid { grid-template-columns:48px minmax(0,1fr) minmax(0,1fr); column-gap:clamp(28px,4vw,58px); align-items:start; }
.kb-service-section > .kb-service-grid::before { content:'0' counter(leistungsabschnitt); color:var(--petrol-700); font-size:14px; font-weight:700; letter-spacing:.12em; border-top:1px solid currentColor; padding-top:14px; }
.kb-service-grid h2 { margin-block:0 28px; }
.kb-service-grid .eyebrow { margin-bottom:22px; }
.kb-service-grid p:last-child,.kb-service-grid ul:last-child,.kb-service-grid ol:last-child { margin-bottom:0; }
.kb-service-contact h2 { margin-block:0 28px; }
.kb-service-contact .actions { margin-top:32px; }
@media(max-width:900px) {
 .kb-service-section > .kb-service-grid { grid-template-columns:32px minmax(0,1fr); row-gap:42px; }
 .kb-service-section > .kb-service-grid > div { grid-column:2; }
 .kb-service-section > .kb-service-grid::before { grid-column:1; grid-row:1; }
}
@media(max-width:680px) {
 .kb-service-section > .shell,.kb-service-contact > .shell { padding-block:78px; }
 .kb-service-section > .kb-service-grid { display:flex; flex-direction:column; gap:32px; }
 .kb-service-section > .kb-service-grid::before { width:42px; }
 .kb-service-grid h2 { margin-bottom:22px; }
 .kb-service-grid .eyebrow { margin-bottom:18px; }
}
/* Sanierungsseite: Entwurf 2 im gemeinsamen Seitenrahmen. */
.sanierung-page{background:var(--paper);color:var(--anthracite);font-size:18px;line-height:1.65}
.sanierung-page *{box-sizing:border-box}.sanierung-page .s-wrap{width:min(1160px,calc(100% - 96px));margin:auto}.sanierung-page h1,.sanierung-page h2,.sanierung-page h3{font-family:var(--font-display);font-weight:800;line-height:1.08;letter-spacing:-.035em}.sanierung-page h2{font-size:clamp(32px,3.4vw,50px);margin:22px 0 36px;max-width:960px}.sanierung-page h3{font-size:28px;margin:0 0 16px}.sanierung-page p{margin:0 0 22px;max-width:78ch}.sanierung-page a{text-underline-offset:5px}.sanierung-page .s-eyebrow{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:var(--gold)}
.sanierung-page .s-hero{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:center;background:var(--petrol-900);color:white}.sanierung-page .s-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.sanierung-page .s-hero-tint{position:absolute;inset:0;background:rgba(0,35,40,.65);z-index:-2}.sanierung-page .s-hero-copy{margin:65px 10%;width:620px}.sanierung-page h1{font-size:clamp(60px,6.8vw,104px);margin:24px 0 32px;color:white}.sanierung-page .s-hero .s-eyebrow{color:var(--gold-light)}.sanierung-page .s-lead{font-size:21px;color:#e3e7e7}.sanierung-page .s-caption{position:absolute;right:20px;bottom:18px;padding:4px 10px;background:#052c32d9;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.sanierung-page .s-button{display:inline-block;padding:13px 23px;background:var(--paper);color:var(--petrol-900);font-weight:700;text-decoration:none;font-size:16px}
.sanierung-page .s-intro{padding-block:60px;display:grid;grid-template-columns:1fr 1fr;gap:8px 48px}.sanierung-page .s-intro p:first-child{font-size:23px}.sanierung-page .s-section{padding:96px 0}.sanierung-page .s-service{display:grid;grid-template-columns:65px 1.3fr 1fr;gap:32px;padding:34px 0;border-bottom:1px solid #b6b7b3}.sanierung-page .s-number{font-size:40px;color:#777}.sanierung-page .s-result{border-left:1px solid #b6b7b3;padding-left:28px;font-size:16px}.sanierung-page .s-result strong{display:block;font-size:12px;letter-spacing:.1em;margin-bottom:12px}.sanierung-page summary{cursor:pointer;font-weight:650}.sanierung-page .s-service summary{font-size:16px;padding:12px 0}.sanierung-page details p{margin-top:18px}.sanierung-page .s-funding{background:var(--petrol-900);color:white}.sanierung-page .s-funding .s-eyebrow,.sanierung-page .s-funding h3{color:var(--gold-light)}.sanierung-page .s-fund{padding:36px 0;border-top:1px solid #688086}.sanierung-page .s-fund p{max-width:84ch}.sanierung-page .s-faq{padding:24px 0;border-bottom:1px solid #b6b7b3}.sanierung-page .s-faq summary{font-size:21px;line-height:1.4}.sanierung-page .s-faq>div{padding-top:20px}.sanierung-page #kontakt{background:var(--petrol-800);color:white}.sanierung-page #kontakt a{display:inline-block;background:var(--paper);color:var(--petrol-900);padding:14px 22px;text-decoration:none}.sanierung-page #kontakt .s-eyebrow{color:white}
@media(max-width:760px){.sanierung-page{font-size:17px}.sanierung-page .s-wrap{width:calc(100% - 44px)}.sanierung-page .s-hero-copy{margin:50px 24px;width:auto}.sanierung-page h1{font-size:clamp(48px,13vw,64px)}.sanierung-page .s-hero-image{object-position:62% center}.sanierung-page .s-hero{min-height:560px}.sanierung-page .s-intro{display:block;padding-block:42px}.sanierung-page .s-section{padding:78px 0}.sanierung-page h2{font-size:34px}.sanierung-page .s-service{grid-template-columns:32px 1fr;gap:16px}.sanierung-page .s-result{grid-column:2;border:0;padding-left:0}.sanierung-page .s-number{font-size:26px}.sanierung-page p,.sanierung-page a,.sanierung-page summary{overflow-wrap:anywhere}}

/* 2026-09-09: Startseite als Gestaltungsmaßstab, ergänzende Bildauswahl. */
.kb-image-selection { padding-block:clamp(78px,9vw,140px); background:var(--paper); }
.kb-image-selection h2 { max-width:1000px; font:800 clamp(32px,4.6vw,68px)/1.06 var(--font-display); letter-spacing:-.045em; color:var(--petrol-950); margin:0 0 30px; }
.kb-image-intro { max-width:75ch; margin:0 0 44px; }
.kb-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; align-items:start; }
.kb-image-grid--concepts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.kb-selected-image { margin:0; min-width:0; }
.kb-selected-image img { width:100%; height:auto; object-fit:contain; }
.kb-selected-image figcaption { border-top:1px solid var(--line); margin-top:18px; padding-top:18px; font-size:15px; line-height:1.55; }
.kb-selected-image figcaption strong,.kb-selected-image figcaption span { display:block; margin-bottom:8px; }
.kb-selected-image figcaption a { display:inline-block; min-height:44px; padding-block:10px; text-underline-offset:4px; }
.page-hero--detail h1 { font-size:clamp(44px,5.5vw,88px); line-height:1.03; overflow-wrap:anywhere; }
.kb-service-grid h2 + ul { margin-top:24px; }
.kb-service-grid ul + h2 { margin-top:44px; }
.kb-hub-copy h2:not(:first-child) { margin-top:48px; }
.kb-service-grid h3 { margin-top:32px; }
.sanierung-page .s-hero-tint { background:linear-gradient(90deg,rgba(3,29,33,.97),rgba(3,29,33,.78) 43%,rgba(3,29,33,.18)); }
.sanierung-page .s-button { background:var(--gold); color:white; min-height:58px; padding:16px 25px; }
.sanierung-page .s-hero-copy { margin-left:clamp(32px,11.2vw,180px); }
.sanierung-page .s-wrap { width:var(--shell); max-width:1240px; }
.kb-media img[src*="wohnhausentwurf-grundriss"],.kb-media img[src*="wohnhausentwurf-ansichten"],.kb-media img[src*="wohnhausentwurf-gebaeudeschnitt"] { object-fit:contain; padding:16px 16px 55px; transform:none; background:white; }
[id] { scroll-margin-top:24px; }
@media(max-width:1000px) { .kb-image-grid--concepts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
 .kb-image-grid,.kb-image-grid--concepts { grid-template-columns:1fr; gap:38px; }
 .kb-image-selection h2 { font-size:34px; overflow-wrap:anywhere; }
 .page-hero--detail h1 { font-size:clamp(32px,9vw,46px); line-height:1.1; }
 .sanierung-page .s-hero-copy { margin-left:24px; }
}

/* Bildhinweis oberhalb der Abdunklung lesbar halten. */
.page-hero__media { z-index:auto; }
.page-hero__media .kb-media { isolation:auto; }
.page-hero__media .kb-media picture { position:relative; z-index:0; }
.page-hero__media .kb-media figcaption { z-index:3; font-size:11px; }

.page-hero__media .kb-media { transform:none; }

/* Lange Startseitenüberschrift auf kleinen Displays vollständig anzeigen. */
@media(max-width:680px) { .hero h1 { font-size:clamp(30px,8.5vw,44px); overflow-wrap:anywhere; } }

/* Randspuren: gleiche Achse, Inhalte bleiben unverändert. */
.kb-service-section > .kb-service-grid:has(> .section-rail)::before { content:none; display:none; }
.kb-service-grid > .section-rail { grid-column:1; grid-row:1; height:260px; align-self:start; margin:0; }
.kb-rail-layout { position:relative; padding-left:calc(48px + clamp(28px,4vw,58px)); }
.kb-rail-layout > .section-rail { position:absolute; left:0; top:0; height:360px; margin:0; max-width:48px; }
.kb-service-section > .kb-rail-layout > .section-rail,
.kb-service-contact > .kb-rail-layout > .section-rail { top:clamp(110px,12vw,180px); }
.kb-service-contact .section-rail { color:var(--gold-light); }
.sanierung-page .section-rail { font-size:10px; line-height:1.4; max-width:48px; }
.sanierung-page .s-hero-copy.kb-rail-layout { margin-left:32px; width:min(820px,calc(100% - 64px)); }
.sanierung-page .s-hero .section-rail,
.sanierung-page .s-funding .section-rail,
.sanierung-page #kontakt .section-rail { color:var(--gold-light); }
.sanierung-page .s-wrap.kb-rail-layout { padding-left:calc(48px + clamp(28px,4vw,58px)); }
@media (min-width:681px) and (max-width:900px) {
 .kb-service-grid > .section-rail { grid-row:1 / span 2; }
}
@media (max-width:680px) {
 .kb-rail-layout,.sanierung-page .s-wrap.kb-rail-layout { padding-left:0; }
 .kb-rail-layout > .section-rail,.kb-service-grid > .section-rail,
 .sanierung-page .section-rail { position:static; height:auto; max-width:none; margin:0 0 30px; writing-mode:horizontal-tb; transform:none; flex-wrap:wrap; }
 .kb-service-grid > .section-rail { margin-bottom:0; }
 .sanierung-page .s-hero-copy.kb-rail-layout { margin:50px 24px; width:auto; }
}
/* Sans JavaScript, navigation and content remain directly accessible. */
@media (max-width:900px) {
 html:not(.kb-js) .header-inner { flex-wrap:wrap; }
 html:not(.kb-js) .menu-toggle { display:none; }
 html:not(.kb-js) .main-nav { display:flex; position:static; width:100%; max-height:none; box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) {
 [data-media-motion] img { transform:none !important; }
 .kb-reveal { opacity:1 !important; transform:none !important; }
}
@media print { .kb-rail-layout,.sanierung-page .s-wrap.kb-rail-layout { padding-left:0; } }

@media(min-width:681px) { .kb-rail-layout > .section-rail strong { white-space:nowrap; } }


body.kb-page-baugutachter-potsdam .page-hero--detail{min-height:0;padding-top:85px;padding-bottom:75px}body.kb-page-baugutachter-potsdam .hero-intro .page-hero__lead{margin:0 0 24px}body.kb-page-baugutachter-potsdam .preview-actions{display:flex;flex-wrap:wrap;gap:12px}body.kb-page-baugutachter-potsdam .preview-actions a{font-size:15px}body.kb-page-baugutachter-potsdam .kb-service-section{padding-block:85px}body.kb-page-baugutachter-potsdam .kb-service-grid h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15}body.kb-page-baugutachter-potsdam .kb-service-grid h3{font-size:24px;line-height:1.25;margin:24px 0 10px}body.kb-page-baugutachter-potsdam .kb-service-grid h3:first-child{margin-top:0}body.kb-page-baugutachter-potsdam .credentials{padding-left:20px}body.kb-page-baugutachter-potsdam .credentials li{margin-bottom:16px}body.kb-page-baugutachter-potsdam .credentials strong{display:block}body.kb-page-baugutachter-potsdam .result-example{border-top:3px solid var(--gold);padding:24px;background:#fff}body.kb-page-baugutachter-potsdam .result-example dt{font-weight:700;margin-top:16px}body.kb-page-baugutachter-potsdam .result-example dd{margin:4px 0 0}body.kb-page-baugutachter-potsdam .preview-faq details{border-bottom:1px solid var(--line);padding:19px 0}body.kb-page-baugutachter-potsdam .preview-faq summary{cursor:pointer;font-weight:600;line-height:1.4;padding-right:12px}body.kb-page-baugutachter-potsdam .preview-faq details p{margin-bottom:0}body.kb-page-baugutachter-potsdam .preview-note{border-left:3px solid var(--gold);padding-left:18px;font-size:16px}body.kb-page-baugutachter-potsdam .kb-contact-form{min-width:0}body.kb-page-baugutachter-potsdam .kb-form-submit:disabled{opacity:.7;cursor:not-allowed}body.kb-page-baugutachter-potsdam #projektanfrage{scroll-margin-top:32px}body.kb-page-baugutachter-potsdam a:focus-visible,body.kb-page-baugutachter-potsdam summary:focus-visible{outline:3px solid #b78e50;outline-offset:5px}@media(max-width:680px){body.kb-page-baugutachter-potsdam .page-hero--detail{padding-top:34px;padding-bottom:60px}body.kb-page-baugutachter-potsdam .page-hero__grid{gap:22px}body.kb-page-baugutachter-potsdam .page-hero--detail h1{font-size:34px;line-height:1.09}body.kb-page-baugutachter-potsdam .page-hero__lead{font-size:18px}body.kb-page-baugutachter-potsdam .hero-intro .page-hero__lead{margin-bottom:18px}body.kb-page-baugutachter-potsdam .preview-actions{gap:10px}body.kb-page-baugutachter-potsdam .preview-actions a{min-height:44px;padding:12px 16px}body.kb-page-baugutachter-potsdam .kb-service-section{padding-block:58px}body.kb-page-baugutachter-potsdam .kb-service-grid h2{font-size:32px}body.kb-page-baugutachter-potsdam .result-example{padding:20px}body.kb-page-baugutachter-potsdam .kb-contact-form{padding:20px}body.kb-page-baugutachter-potsdam .kb-form-grid{grid-template-columns:1fr}body.kb-page-baugutachter-potsdam .kb-form-grid>*{grid-column:1!important}body.kb-page-baugutachter-potsdam .kb-contact-form input,body.kb-page-baugutachter-potsdam .kb-contact-form select,body.kb-page-baugutachter-potsdam .kb-contact-form textarea{max-width:100%;min-width:0}body.kb-page-baugutachter-potsdam .page-hero__media figcaption{font-size:10px}}body.kb-page-baugutachter-potsdam .skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}body.kb-page-baugutachter-potsdam .preview-photo{margin:30px 0 0;width:100%}body.kb-page-baugutachter-potsdam .preview-photo img{display:block;width:100%;height:auto}body.kb-page-baugutachter-potsdam .preview-photo figcaption{font-size:13px;line-height:1.45;border-left:3px solid var(--gold);padding:10px 12px;margin-top:10px;color:var(--petrol-900)}body.kb-page-baugutachter-potsdam .preview-photo--person{max-width:310px}@media(max-width:680px){body.kb-page-baugutachter-potsdam .preview-photo--person{max-width:300px}}body.kb-page-baugutachter-potsdam .preview-photo .image-credit{border:0;padding:0;margin-top:8px;font-size:13px;line-height:1.5;color:var(--petrol-900)}body.kb-page-baugutachter-potsdam .image-credit a{text-decoration:underline;text-underline-offset:3px}body.kb-page-baugutachter-potsdam .page-hero__media .image-credit{font-size:13px!important;line-height:1.5;text-transform:none;letter-spacing:0;border:0;padding:8px 12px;background:#031d21;color:#fff;pointer-events:auto}body.kb-page-baugutachter-potsdam .image-sources{padding:44px 0;background:#e8eaed;color:#172126}body.kb-page-baugutachter-potsdam .image-sources>.shell{max-width:1000px}body.kb-page-baugutachter-potsdam .image-sources h2{font-size:24px;line-height:1.3;margin:0 0 16px}body.kb-page-baugutachter-potsdam .image-sources p,body.kb-page-baugutachter-potsdam .image-sources dd{font-size:16px;line-height:1.55}body.kb-page-baugutachter-potsdam .image-sources dl{margin-bottom:0}body.kb-page-baugutachter-potsdam .image-sources dl>div{padding-top:18px;margin-top:18px;border-top:1px solid #bdc6c8}body.kb-page-baugutachter-potsdam .image-sources dt{font-size:17px;font-weight:700}body.kb-page-baugutachter-potsdam .image-sources dd{margin:8px 0 0}body.kb-page-baugutachter-potsdam .image-sources [id],body.kb-page-baugutachter-potsdam .preview-photo{scroll-margin-top:28px}@media(max-width:680px){body.kb-page-baugutachter-potsdam .image-sources{padding:34px 0}}
.early-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.early-actions .button{font-size:15px;line-height:1.35;min-height:46px;padding:13px 17px;text-decoration:none}.page-hero--detail,.page-hero--media{min-height:0;padding-top:90px;padding-bottom:76px}.page-hero__grid{align-items:end}.page-hero__lead{align-self:end}.hero .early-actions{margin-bottom:20px}.hero-media-label,.s-caption{max-width:calc(100% - 28px)}
.global-image-credit,.preview-photo .global-image-credit{font-size:13px!important;line-height:1.5!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;padding:6px 10px!important;border:0!important;background:#031d21!important;color:white!important;pointer-events:auto!important;z-index:5}.global-image-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}.preview-photo .global-image-credit{padding:6px 0!important;background:transparent!important;color:#052c32!important}.page-hero__media{pointer-events:none}.page-hero__media .global-image-credit{pointer-events:auto}.catalog-card .global-image-credit{position:relative;margin:0}.local-privacy{padding-block:26px;border-top:1px solid #ffffff40}.local-privacy details{position:static!important;padding:12px 0}.local-privacy summary{cursor:pointer;font-size:16px;min-height:44px;display:list-item}.local-privacy p{max-width:800px}.local-form-note{border-left:3px solid #85663d;padding-left:15px;font-size:16px}.sources-page{padding-block:55px}.sources-page>h1{font-size:clamp(32px,5vw,58px);line-height:1.15}.sources-page>p{max-width:850px}.source-entry{display:grid;grid-template-columns:220px 1fr;gap:28px;border-top:1px solid #c5cccc;padding:28px 0;scroll-margin-top:24px}.source-entry img{width:100%;height:auto;max-height:240px;object-fit:contain;object-position:left top}.source-entry h2{font-size:24px;line-height:1.3;margin-top:0}.source-entry a{overflow-wrap:anywhere}a:focus-visible,summary:focus-visible{outline:3px solid #b78e50;outline-offset:4px}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}input[type=button]:disabled{cursor:not-allowed;opacity:.7}
@media(max-width:680px){.page-hero--detail,.page-hero--media{padding-top:38px;padding-bottom:72px}.page-hero__grid{gap:24px}.page-hero--detail h1{font-size:34px;line-height:1.1}.page-hero__lead{font-size:18px}.early-actions{gap:10px}.early-actions .button{padding:12px 14px;min-height:44px}.hero{min-height:0;padding-top:46px;padding-bottom:110px}.hero-copy{padding-top:0}.hero .hero-inner{padding-top:0}.hero-lead{font-size:18px}.hero .hero-scroll{display:none}.s-hero{min-height:0}.s-caption{position:relative!important;display:table;margin:20px 14px 0!important;right:auto!important;bottom:auto!important}.source-entry{grid-template-columns:1fr;gap:16px}.source-entry img{max-width:220px}.local-privacy{padding-block:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:680px){.sanierung-page .s-caption{position:absolute!important;right:14px!important;bottom:14px!important;margin:0!important}.sanierung-page .s-hero-copy{margin-bottom:76px!important}.sanierung-page .s-lead{font-size:20px}.sanierung-page .s-hero{min-height:0}}


/* Keep the native Complianz reopening control; change placement only. */
#cmplz-manage-consent{position:static!important;transform:none!important;background:#031d21!important;padding:12px max(14px,calc((100vw - 1500px)/2));width:100%!important;}
#cmplz-manage-consent button.cmplz-manage-consent{position:static!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;display:inline-block!important;margin:0!important;background:#031d21!important;color:#fff!important;border:1px solid #547176!important;border-radius:0!important;box-shadow:none!important;min-height:44px!important;font-size:16px!important;}
.approved-footer-links{padding:24px 0;border-top:1px solid #547176}.approved-footer-links a{color:#fff}.sources-page{min-height:50vh}.source-entry>p{grid-column:2}@media(max-width:680px){.source-entry>p{grid-column:1}}
.hero-media-label>.global-image-credit,.s-caption>.global-image-credit{display:inline-block}.s-caption{padding:0!important}.hero-media-label{padding:0!important}

.service-list .is-featured{position:relative}.service-list .home-inspection-credit{position:absolute;left:10px;bottom:10px;margin:0;max-width:calc(100% - 20px)}.service-list .home-inspection-credit a{position:static;width:auto;height:auto;font-size:13px}

/* Freigegebener Startseiten-Einstieg */
.start-services{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:28px;max-width:760px}.start-services a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#fff;border-bottom:1px solid #8d9b9a;text-decoration:none;font-size:16px;font-weight:700}.start-services a:hover{border-color:#d8bb7f;color:#efd19b}.start-services a:focus-visible{outline:3px solid #d8bb7f;outline-offset:4px}@media(max-width:680px){.start-services{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.start-services a{font-size:14px;gap:6px;justify-content:space-between}.hero h1{font-size:clamp(36px,10vw,58px)}}
/* Abgenommene Planungskontraste */
body.kb-page-ausfuehrungs-und-detailplanung .page-hero--media::after,body.kb-page-entwurfsplanung .page-hero--media::after,body.kb-page-bauantraege-und-genehmigungsplanung .page-hero--media::after,body.kb-page-bauantrag-brandenburg .page-hero--media::after{background:linear-gradient(90deg,rgba(3,29,33,.92),rgba(3,29,33,.78))!important}
