@charset "UTF-8";
@font-face {
  font-family: Manrope;
  src: url('../fonts/manrope-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --ink: #182b36;
  --muted: #5b6b73;
  --blue: #4e7a8e;
  --blue-dark: #315a6e;
  --navy: #252e31;
  --paper: #f2f4f3;
  --line: #dce3e4;
  --white: #fff;
  --space: clamp(24px, 5.2vw, 94px);
  --section: clamp(76px, 7vw, 128px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; color: var(--ink); background: #fff; font: 16px/1.8 Manrope, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
svg { width: 24px; height: 24px; flex-shrink: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 500; line-height: 1.18; letter-spacing: -.045em; overflow-wrap: break-word; }
h1 { font-size: clamp(46px, 5.4vw, 100px); }
h2 { font-size: clamp(32px, 3vw, 55px); }
h3 { font-size: 24px; }
p { margin-bottom: 1.4em; }
p:last-child { margin-bottom: 0; }
strong { font-weight: 650; }
::selection { background: #b7d4df; color: var(--navy); }
:focus-visible { outline: 3px solid #759fb2; outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: 100%; max-width: 1800px; padding-inline: var(--space); margin-inline: auto; }
.section { padding-block: var(--section); }
.eyebrow { color: var(--blue-dark); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; line-height: 1.7; margin-bottom: 25px; }
.lead { font-size: clamp(19px, 1.45vw, 25px); line-height: 1.65; letter-spacing: -.025em; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; padding: 20px 28px; min-height: 66px; border: 1px solid transparent; font-size: 16px; font-weight: 650; line-height: 1.5; transition: background .2s, transform .2s, border-color .2s; }
.button svg { width: 24px; }
.button-dark { background: var(--navy); color: #fff; }
.button-dark:hover { background: var(--blue-dark); }
.button-light { background: #fff; color: var(--navy); }
.button-light:hover { background: #e4edf1; }
.text-link { display: inline-flex; align-items: center; gap: 23px; padding: 12px 0; border-bottom: 1px solid #7b9ba9; font-weight: 650; font-size: 16px; color: var(--blue-dark); }
.text-link svg { width: 20px; transition: transform .2s; }
.text-link:hover svg { transform: translateX(5px); }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 20px; background: var(--navy); color: white; padding: 12px 24px; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

/* Ein fester visueller Rahmen für alle Seiten. */
.topbar { color: #647780; border-bottom: 1px solid #edf0f0; font-size: 11px; letter-spacing: .035em; }
.topbar .container { display: flex; justify-content: space-between; padding-block: 8px; gap: 25px; }
.topbar a:hover { color: var(--blue-dark); }
.site-header { position: sticky; top:0; z-index: 30; background: white; border-bottom: 1px solid var(--line); transition:transform .24s ease,box-shadow .24s ease; }
.site-header.is-hidden { transform:translateY(calc(-100% - 1px)); }
.site-header.is-scrolled { box-shadow:0 5px 22px #182b3612; }
html { scroll-padding-top:calc(var(--header-height,112px) + 20px); }
.header-inner { display: flex; align-items: center; gap: 26px; min-height: 112px; }
.brand { flex-shrink: 0; }
.brand img { width: 140px; height: 76px; object-fit: contain; }
.brand-descriptor { color: var(--muted); font-size: 11px; line-height: 1.7; border-left: 1px solid var(--line); padding-left: 25px; }
.main-nav { display: flex; align-items: center; margin-left: auto; gap: 34px; font-size: 13px; font-weight: 550; }
.main-nav > a:not(.nav-contact), .nav-services > a { padding-block: 16px; }
.main-nav a:hover, .main-nav [aria-current=page] { color: var(--blue-dark); }
.main-nav > a[aria-current=page]:not(.nav-contact), .nav-services > a[aria-current=page] { box-shadow: inset 0 -1px var(--blue); }
.nav-contact { display: flex; align-items: center; gap: 26px; padding: 15px 21px; min-height: 54px; font-size: 15px; background: var(--navy); color: #fff; border: 1px solid var(--navy); }
.main-nav .nav-contact:hover, .main-nav .nav-contact[aria-current=page] { color: white; background: var(--blue-dark); }
.nav-contact svg { width: 18px; }
.nav-services { display: flex; position: relative; align-items: center; gap: 4px; }
.submenu-toggle { border: 0; background: transparent; padding: 10px 4px; color: inherit; line-height: 0; }
.submenu-toggle svg { width: 15px; height: 15px; transition: transform .2s; }
.submenu-toggle[aria-expanded=true] svg { transform: rotate(180deg); }
.submenu { position: absolute; z-index: 2; top: calc(100% + 15px); left: -20px; min-width: 360px; padding: 12px; background: white; box-shadow: 0 16px 50px #102a4020; border: 1px solid var(--line); }
@media (min-width:901px) {
  .submenu { max-height:calc(100dvh - var(--header-height,112px) - 50px); overflow-y:auto; overscroll-behavior:contain; }
}
.submenu a { display: block; padding: 13px 12px; font-size: 13px; }
.submenu a:hover { background: var(--paper); }
.menu-toggle { display: none; }

/* Der Hero gehört zur Architektur, nicht zur Baustellenwerbung. */
.hero { position: relative; isolation: isolate; overflow: hidden; background: var(--navy); min-height: 800px; color: white; }
.hero-photo, .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -3; }
.hero-video { opacity: 0; transition: opacity 1.2s; }
.hero-video.is-ready { opacity: 1; }
.hero-photo { width: min(100%, 2000px); left: auto; right: 0; object-position: right bottom; filter: saturate(.85); }
.hero-video-scene .hero-photo, .hero-video-scene .hero-video { width: 100%; object-position: center; filter: none; }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #1d2427ed 0%, #1d2427df 27%, #1d242780 56%, #1d242720 100%), linear-gradient(0deg, #1d242770, transparent 45%); }
.hero-inner { padding-top: 76px; padding-bottom: 105px; }
.hero .eyebrow { display: flex; align-items: center; gap: 13px; color: #bbd5e1; font-size: 11px; margin-bottom: 25px; }
.small-line { width: 30px; height: 1px; background: #a6c6d5; }
.hero h1 { margin-bottom: 25px; max-width: 1050px; font-size: clamp(65px, 5.9vw, 110px); line-height: 1.08; font-weight: 500; letter-spacing: -.055em; }
.hero h1 span { color: #a9c9d9; }
.hero-intro { color: #dce6ec; max-width: 575px; font-size: 16px; line-height: 1.9; margin-bottom: 30px; }
.hero-actions { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.hero-secondary { display: inline-flex; align-items: center; gap: 19px; font-size: 16px; font-weight: 550; color: #ecf1f4; border-bottom: 1px solid #ffffff60; padding-block: 13px; }
.hero-secondary .ui-icon { width:19px; height:19px; }
.hero-signature { display: flex; align-items: center; gap: 17px; margin-top: 32px; font-size: 11px; color: #bed0d9; }
.hero-signature span:first-child { color: white; font-weight: 650; font-size: 13px; }
.hero-signature span + span { padding-left: 17px; border-left: 1px solid #ffffff35; }
.hero-bottom { position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 65px; font-size: 11px; letter-spacing: .025em; color: #d5e0e6; }
.hero-bottom .video-toggle { margin-left:auto; }
.video-toggle { display: flex; align-items: center; gap: 11px; background: #10253350; border: 1px solid #ffffff35; color: white; padding: 7px 13px; font-size: 11px; }
.video-toggle:hover { background: #102533c0; }
.video-toggle-icon { font-size: 15px; }
/* Heller Fotoentwurf: natürliches Tageslicht und warme, ruhige Flächen. */
.hero.hero-light { background: #f5f3ee; color: var(--ink); }
.hero-light .hero-photo { filter: none; }
.hero.hero-light .hero-shade { background: linear-gradient(90deg, #f5f3eefc 0%, #f5f3eef5 29%, #f5f3ee9c 52%, #f5f3ee18 79%, transparent 100%); }
.hero-light .eyebrow { color: var(--blue-dark); }
.hero-light .small-line { background: var(--blue); }
.hero-light h1 span { color: var(--blue); }
.hero-light .hero-intro { color: #4a5a62; }
.hero-light .button-light { color: #fff; background: var(--navy); }
.hero-light .button-light:hover { background: var(--blue-dark); }
.hero-light .hero-secondary { color: var(--blue-dark); border-color: #7f9aa7; }
.hero-light .hero-signature { color: #596970; }
.hero-light .hero-signature span:first-child { color: var(--ink); }
.hero-light .hero-signature span + span { border-color: #bcc7cc; }
.hero-light .hero-bottom { color: #52646c; }
@media (max-width:900px) {
  .hero.hero-light .hero-shade { background: linear-gradient(90deg, #f5f3eefb, #f5f3eef0 40%, #f5f3eea0 75%, #f5f3ee55); }
}
@media (max-width:600px) {
  .hero.hero-light .hero-shade { background: linear-gradient(90deg, #f5f3eef7, #f5f3eee2 60%, #f5f3eea8); }
}
.credentials { border-bottom: 1px solid var(--line); background: white; }
.credentials-inner { display: grid; grid-template-columns: 1.2fr repeat(3,1fr); gap: 28px; padding-block: 35px; align-items: center; }
.credentials-inner > p { margin: 0; font-size: 14px; line-height: 1.8; }
.credentials-inner strong { font-weight: 600; color: var(--blue-dark); }
.credentials-inner > span { display: flex; align-items: center; gap: 16px; border-left: 1px solid var(--line); padding-left: 25px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.credentials-inner > span > svg { color: var(--blue); width: 25px; height: 30px; }

/* Konkrete Anliegen führen zu konkreten Leistungen. */
.orientation-section { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(45px, 7vw, 125px); align-items: center; }
.orientation-copy h2 { font-size: clamp(31px, 2.7vw, 49px); }
.orientation-copy > p:not(.eyebrow) { color: var(--muted); font-size: 15px; line-height: 1.95; max-width: 600px; }
.situation-links { border-top: 1px solid var(--line); }
.situation-links > a { display: grid; grid-template-columns: 25px 1fr 22px; gap: 18px; align-items: center; padding-block: 26px; border-bottom: 1px solid var(--line); }
.situation-index { font-size: 11px; color: var(--blue); align-self: start; margin-top: 3px; }
.situation-links h3 { font-size: 18px; letter-spacing: -.025em; margin-bottom: 8px; font-weight: 650; line-height: 1.45; }
.situation-links p { font-size: 12px; color: var(--muted); }
.situation-links svg { width: 20px; color: var(--blue); transition: transform .2s; }
.situation-links a:hover svg { transform: translateX(4px); }
.expertise-section { padding-block: var(--section); background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: end; margin-bottom: 50px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading-aside { max-width: 480px; margin-left: auto; }
.section-heading-aside p { color: var(--muted); font-size: 14px; line-height: 1.95; }
.section-heading-aside .text-link { font-size: 15px; }
.expertise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.expertise-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e4e9e9; transition: box-shadow .25s, transform .25s; }
.expertise-card:hover { box-shadow: 0 12px 35px #17323e10; transform: translateY(-3px); }
.expertise-image { position: relative; height: 290px; overflow: hidden; background: #d6e0e3; }
.expertise-image img { height: 100%; width: 100%; object-fit: cover; filter: saturate(.6); transition: transform .6s; }
.expertise-card:hover .expertise-image img { transform: scale(1.035); }
.image-index { position: absolute; top: 20px; left: 20px; padding: 8px 13px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; background: #ffffffeb; color: var(--navy); }
.expertise-card-copy { display: grid; grid-template-columns: 1fr 42px; gap: 15px 25px; padding: 30px 33px 25px; flex: 1; }
.expertise-card h3 { font-size: clamp(23px, 1.85vw, 34px); font-weight: 550; line-height: 1.3; margin-bottom: 14px; max-width: 520px; }
.expertise-card-copy > div > p { font-size: 13px; color: var(--muted); }
.round-arrow { display: flex; align-items: center; justify-content: center; width: 41px; height: 41px; border-radius: 50%; border: 1px solid #bdcbd1; align-self: start; color: var(--blue-dark); transition: background .2s, color .2s; }
.round-arrow svg { width: 20px; }
.expertise-card:hover .round-arrow { background: var(--navy); color: white; border-color: var(--navy); }
.expertise-meta { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 17px; color: var(--muted); font-size: 10px; line-height: 1.9; letter-spacing: .01em; margin: 0; }

.expert-section { padding-block: var(--section); background: #fff; }
.expert-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 7vw, 125px); align-items: center; }
.expert-visual { position: relative; height: 600px; overflow: hidden; background: #edf1f1; }
.expert-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
.expert-caption { position: absolute; bottom: 0; left: 0; right: 0; color: #fff; padding: 85px 30px 26px; background: linear-gradient(transparent, #142d3def); }
.expert-caption > span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 5px; }
.expert-caption > strong { font-size: 28px; font-weight: 500; letter-spacing: -.03em; }
.expert-copy h2 { font-size: clamp(31px, 2.6vw, 48px); line-height: 1.25; margin-bottom: 25px; }
.expert-copy h2 span { color: var(--blue); }
.expert-copy .lead { font-size: 19px; max-width: 540px; }
.expert-copy > p:not(.eyebrow):not(.lead) { font-size: 14px; color: var(--muted); line-height: 1.95; }
.expert-proof { margin: 27px 0; padding-block: 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.expert-proof span { display: block; font-size: 11px; padding: 4px 0 4px 17px; position: relative; color: var(--muted); }
.expert-proof span:before { content: '✓'; position: absolute; left: 0; color: var(--blue); }
.assurance-section { background: var(--navy); padding-block: 85px; color: white; }
.assurance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 7vw, 125px); }
.assurance-section .eyebrow { color: #a8c9d8; }
.assurance-section h2 { font-size: clamp(32px, 2.6vw, 48px); }
.assurance-grid article { display: grid; grid-template-columns: 30px 1fr; gap: 20px; border-top: 1px solid #ffffff25; padding-block: 23px; }
.assurance-grid article:last-child { padding-bottom: 0; }
.assurance-grid article > span { font-size: 11px; color: #a8c9d8; padding-top: 3px; }
.assurance-grid h3 { font-size: 20px; margin-bottom: 13px; letter-spacing: -.025em; }
.assurance-grid p { font-size: 13px; color: #c5d5df; line-height: 1.95; }
.process-section { padding-block: var(--section); background: var(--paper); }
.process-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 45px; }
.process-grid article { border-top: 1px solid #bccbd2; padding-top: 23px; }
.process-grid article > span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--blue-dark); margin-bottom: 30px; }
.process-grid h3 { font-size: 23px; font-weight: 550; margin-bottom: 17px; }
.process-grid p { font-size: 13px; line-height: 1.95; color: var(--muted); max-width: 400px; }
.faq-section { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(50px, 7vw, 125px); }
.faq-section > div > p:not(.eyebrow) { color: var(--muted); font-size: 14px; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 24px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 550; line-height: 1.65; }
summary::-webkit-details-marker { display: none; }
summary .faq-toggle { color: var(--blue); font-size: 26px; line-height: 1; font-weight: 400; flex-shrink: 0; }
details[open] summary .faq-toggle { transform: rotate(45deg); }
details > p { font-size: 13px; line-height: 1.95; color: var(--muted); padding: 0 30px 23px 0; }
details > p a { text-decoration: underline; text-underline-offset: 3px; }

/* Unterseiten teilen die gleichen Farben, Schriftgrößen und Bildmotive. */
.breadcrumbs { display: flex; align-items: center; gap: 12px; margin-bottom: 45px; font-size: 11px; letter-spacing: .02em; color: var(--muted); }
.breadcrumbs a:hover { text-decoration: underline; }
.subhero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 470px; background: var(--navy); color: white; }
.subhero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -3; filter: saturate(.55); }
.subhero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #102a3aec 0%, #102a3ad6 38%, #102a3a60 78%); }
.subhero-inner { padding-block: 30px 65px; }
.subhero .breadcrumbs { color: #d1dfe6; margin-bottom: 60px; }
.subhero .eyebrow { color: #bdd7e3; margin-bottom: 20px; }
.subhero h1 { max-width: 1090px; font-size: clamp(44px, 4.4vw, 80px); margin-bottom: 0; }
.office-hero { background: #eef2f2; color: var(--ink); min-height: 500px; }
.office-hero > img { width: 48%; left: auto; right: 2%; object-position: center; object-fit: cover; filter: none; mix-blend-mode: multiply; }
.office-hero .subhero-shade { background: linear-gradient(90deg, #eef2f2 0%, #eef2f2 44%, #eef2f240 67%, transparent); }
.office-hero .eyebrow { color: var(--blue-dark); }
.office-hero .breadcrumbs { color: var(--muted); }
.office-hero h1 { max-width: 1000px; font-size: clamp(43px, 4vw, 74px); }
.office-hero h1 span { color: var(--blue); }
.page-intro { padding-top: 28px; padding-bottom: 80px; }
.page-intro .breadcrumbs { margin-bottom: 60px; }
.page-intro h1 { margin-bottom: 30px; line-height: 1.15; max-width: 1250px; }
.page-intro h1 span { color: var(--blue); }
.intro-lead { font-size: clamp(18px, 1.45vw, 25px); max-width: 880px; color: var(--muted); line-height: 1.8; }
.detail-layout { display: grid; grid-template-columns: 300px 1fr; gap: clamp(60px, 7vw, 125px); }
.detail-sidebar { align-self: start; position: sticky; top: 30px; }
.detail-sidebar nav { border-top: 1px solid var(--line); }
.detail-sidebar nav a { display: flex; gap: 12px; align-items: center; font-size: 12px; line-height: 1.8; padding-block: 19px; border-bottom: 1px solid var(--line); }
.detail-sidebar nav a > span { font-size: 10px; color: var(--blue); }
.detail-sidebar nav a > svg { width: 17px; height: 17px; margin-left: auto; }
.detail-sidebar nav [aria-current=page] { color: var(--blue-dark); font-weight: 700; }
.sidebar-contact { padding: 28px; background: var(--paper); margin-top: 35px; border-top: 2px solid var(--blue); }
.sidebar-contact > p { font-size: 23px; line-height: 1.5; letter-spacing: -.03em; margin-bottom: 14px; }
.sidebar-contact .text-link { font-size: 15px; gap: 16px; }
.detail-content { max-width: 1000px; }
.detail-intro { font-size: clamp(22px, 1.85vw, 32px); line-height: 1.65; letter-spacing: -.025em; border-bottom: 1px solid var(--line); padding-bottom: 40px; margin-bottom: 40px; }
.detail-article { margin-bottom: 34px; }
.detail-article h2 { font-size: 26px; font-weight: 600; letter-spacing: -.03em; margin-bottom: 16px; line-height: 1.4; }
.detail-article p { font-size: 15px; line-height: 2; color: var(--muted); }
.checklist-box { padding: 36px; margin-top: 45px; background: var(--paper); border-left: 2px solid var(--blue); }
.checklist-box .eyebrow { margin-bottom: 15px; }
.checklist-box h2 { font-size: 28px; margin-bottom: 22px; }
.checklist { list-style: none; margin: 0; padding: 0; }
.checklist li { font-size: 13px; line-height: 1.9; position: relative; padding: 12px 0 12px 25px; border-bottom: 1px solid var(--line); }
.checklist li:before { content: '✓'; position: absolute; left: 0; color: var(--blue); }
.checklist li:last-child { border-bottom: 0; }
.service-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.service-tile { display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--paper); }
.tile-image { height: 285px; overflow: hidden; }
.tile-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); transition: transform .5s; }
.service-tile:hover .tile-image img { transform: scale(1.035); }
.tile-copy { padding: 32px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.service-number { color: var(--blue); font-size: 12px; display: block; margin-bottom: 17px; }
.tile-copy h2 { font-size: clamp(27px, 2.3vw, 40px); margin-bottom: 20px; }
.tile-copy p { font-size: 14px; color: var(--muted); line-height: 1.9; }
.tile-copy .text-link { margin-top: auto; font-size: 15px; }
.advice-block > p:not(.eyebrow) { color: var(--muted); max-width: 700px; font-size: 15px; }
.advice-block .button { margin-top: 10px; }
.office-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 7vw, 125px); }
.office-name { font-size: 25px; letter-spacing: -.03em; line-height: 1.5; margin-top: 35px; }
.office-name span { display: block; font-size: 12px; color: var(--muted); letter-spacing: 0; margin-top: 6px; }
.qualifications { list-style: none; padding: 0; margin-top: 30px; max-width: 490px; }
.qualifications li { padding: 15px 0 15px 25px; border-top: 1px solid var(--line); font-size: 13px; position: relative; line-height: 1.9; }
.qualifications li:before { content: '✓'; position: absolute; left: 0; color: var(--blue); }
.office-text > p:not(.lead) { color: var(--muted); font-size: 15px; line-height: 2; }
.office-text .text-link { margin-top: 12px; }
.values-section { padding-block: 80px; background: var(--paper); }
.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 50px; }
.values-grid article { border-top: 1px solid #c5d1d6; padding-top: 20px; }
.values-grid article > span { display: block; font-size: 11px; color: var(--blue); margin-bottom: 25px; }
.values-grid h3 { font-size: 25px; }
.values-grid p { color: var(--muted); font-size: 14px; line-height: 1.95; }

.contact-intro { padding-bottom: 0; }
.contact-layout { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(60px, 7vw, 125px); padding-top: 75px; }
.contact-info h2 { font-size: clamp(30px, 2.5vw, 45px); }
.contact-mail { display: inline-flex; align-items: center; gap: 18px; border-bottom: 1px solid #a2b9c3; padding-bottom: 12px; font-size: clamp(16px, 1.45vw, 25px); color: var(--blue-dark); margin-bottom: 25px; overflow-wrap: anywhere; }
.contact-info > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.95; max-width: 450px; }
.contact-info address { font-style: normal; font-size: 13px; margin-top: 33px; }
.contact-info address span { display: block; color: var(--muted); margin-top: 5px; margin-bottom: 20px; }
.contact-tip { padding: 25px; background: var(--paper); margin-top: 30px; max-width: 460px; border-top: 2px solid var(--blue); }
.contact-tip > span { text-transform: uppercase; letter-spacing: .1em; font-size: 11px; color: var(--blue-dark); font-weight: 650; }
.contact-tip > p { font-size: 12px; color: var(--muted); margin-top: 13px; line-height: 2; }
.contact-form-wrap { min-width: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.field { min-width: 0; margin-bottom: 25px; }
.field label { display: block; font-size: 15px; font-weight: 650; margin-bottom: 10px; }
.field label small { font-size: 13px; font-weight: 400; margin-left: 7px; color: var(--muted); }
.field input, .field select, .field textarea { display: block; width: 100%; min-width: 0; background: #f4f6f5; border: 1px solid #d5dfe2; border-radius: 0; color: var(--ink); font-size: 16px; padding: 14px; }
.field input, .field select { height: 54px; }
.field textarea { resize: vertical; min-height: 160px; }
.field textarea::placeholder { font-size: inherit; color: #586b75; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.privacy-check { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: var(--muted); line-height: 1.8; }
.privacy-check input { width: 17px; height: 17px; accent-color: var(--blue-dark); margin-top: 3px; flex-shrink: 0; }
.privacy-check a { text-decoration: underline; text-underline-offset: 3px; }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 30px; }
.form-submit > span { font-size: 14px; color: var(--muted); }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-notice, .form-errors, .form-success { padding: 18px 20px; font-size: 13px; line-height: 1.95; margin-bottom: 25px; border-left: 2px solid var(--blue); background: #edf3f5; }
.form-errors { background: #fff3eb; border-color: #9c6039; }
.form-errors ul { margin-bottom: 0; padding-left: 18px; }
.form-success { background: #edf4ef; border-color: #477056; }
.form-success h2 { font-size: 28px; }
.legal-intro h1 { font-size: clamp(35px, 4.6vw, 80px); overflow-wrap: anywhere; }
.legal-layout { display: grid; grid-template-columns: 240px 1fr; gap: 80px; padding-bottom: var(--section); }
.legal-layout aside { display: flex; flex-direction: column; gap: 18px; font-size: 13px; }
.legal-layout aside [aria-current=page] { color: var(--blue-dark); font-weight: 700; }
.legal-copy { font-size: 14px; line-height: 2; color: var(--muted); max-width: 950px; }
.legal-copy h2 { font-size: 25px; line-height: 1.5; margin: 35px 0 15px; color: var(--ink); }
.legal-copy h2:first-child { margin-top: 0; }
.legal-copy a { text-decoration: underline; text-underline-offset: 3px; }
.legal-copy ul { padding-left: 20px; }

/* Ein gemeinsamer Abschluss hält den Auftritt zusammen. */
.contact-band { background: #e9eff1; padding-block: 76px; border-top: 1px solid #d6e1e6; }
.contact-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.contact-band h2 { margin-bottom: 0; font-size: clamp(34px, 3.1vw, 58px); line-height: 1.25; }
.contact-band .eyebrow { margin-bottom: 20px; }
.contact-band .button { color: white; background: var(--navy); }
.contact-band .button:hover { background: var(--blue-dark); }
.site-footer { padding-top: 66px; background: var(--navy); color: #c0d0d9; font-size: 12px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 70px; padding-bottom: 55px; }
.footer-brand img { width: 140px; filter: brightness(0) invert(1); opacity: .92; }
.footer-brand p { font-size: 11px; line-height: 2; margin-top: 24px; color: #a9c0cd; }
.footer-label { color: #a8cbdc; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; margin-bottom: 24px; font-weight: 650; }
.footer-grid strong { color: white; font-weight: 600; }
.footer-grid nav a { display: block; margin-bottom: 12px; }
.footer-grid a:hover, .footer-bottom a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-block: 23px; border-top: 1px solid #ffffff20; color: #9fb6c3; font-size: 10px; }
.footer-bottom > div { display: flex; gap: 28px; }
.back-top { margin-left: 18px; }

@media (min-width:1800px) {
  .button { font-size: 18px; min-height: 72px; padding: 21px 30px; }
  .hero-secondary { font-size: 18px; }
  .hero { min-height: 900px; }
  .hero-inner { padding-top: 100px; padding-bottom: 130px; }
  .hero-intro { max-width: 680px; font-size: 18px; }
  .hero h1 { font-size: 112px; }
  .hero .eyebrow { font-size: 13px; }
  .hero-signature { margin-top: 40px; }
  .hero-signature span:first-child { font-size: 15px; }
  .hero-signature span + span { font-size: 13px; }
  .credentials-inner > span { font-size: 14px; }
  .expertise-image { height: 360px; }
  .expert-visual { height: 750px; }
}
@media (max-width:1200px) {
  .header-inner { gap: 22px; min-height: 105px; }
  .brand img { width: 120px; height: 65px; }
  .brand-descriptor { padding-left: 20px; font-size: 10px; }
  .main-nav { gap: 23px; font-size: 12px; }
  .nav-contact { gap: 18px; padding: 13px 15px; }
  .hero { min-height: 790px; }
  .hero h1 { font-size: 70px; }
  .hero-intro { max-width: 540px; font-size: 15px; }
  .credentials-inner { gap: 20px; }
  .credentials-inner > p { font-size: 12px; }
  .credentials-inner > span { gap: 12px; padding-left: 18px; font-size: 11px; }
  .credentials-inner > span svg { width: 20px; }
  .orientation-section { gap: 55px; }
  .situation-links h3 { font-size: 16px; }
  .expertise-image { height: 245px; }
  .expertise-card-copy { padding: 27px; }
  .expert-visual { height: 560px; }
  .expert-copy .lead { font-size: 17px; }
  .expert-copy > p:not(.eyebrow):not(.lead) { font-size: 13px; }
  .detail-layout { grid-template-columns: 245px 1fr; gap: 60px; }
  .contact-layout { gap: 60px; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .process-grid { gap: 30px; }
}
@media (max-width:900px) {
  .topbar .container { font-size: 10px; }
  .topbar .container > span { display: none; }
  .topbar .container { justify-content: flex-end; }
  .header-inner { min-height: 96px; }
  .brand img { width: 116px; height: 63px; }
  .menu-toggle { display: flex; margin-left: auto; align-items: center; gap: 16px; padding: 12px 0 12px 12px; border: 0; background: transparent; font-size: 13px; color: var(--ink); }
  .menu-icon { width: 23px; height: 14px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; position: relative; }
  .menu-icon:after { content: ''; position: absolute; top: 6px; left: 0; width: 23px; border-top: 1px solid currentColor; }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 20px var(--space) 30px; background: white; border-block: 1px solid var(--line); box-shadow: 0 20px 35px #17323e20; margin: 0; font-size: 16px; }
  .main-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav > a:not(.nav-contact) { padding-block: 17px; border-bottom: 1px solid var(--line); }
  .nav-services { flex-wrap: wrap; border-bottom: 1px solid var(--line); }
  .nav-services > a { flex: 1; padding-block: 17px; }
  .submenu-toggle { padding: 20px; }
  .submenu-toggle svg { width: 18px; height: 18px; }
  .submenu { position: static; min-width: 0; flex-basis: 100%; box-shadow: none; border: 0; padding: 0 0 17px; }
  .submenu a { font-size: 13px; }
  .main-nav .nav-contact { margin-top: 22px; justify-content: space-between; padding: 16px; }
  .main-nav > a[aria-current=page]:not(.nav-contact), .nav-services > a[aria-current=page] { box-shadow: none; }
  .hero { min-height: 800px; }
  .hero h1 { font-size: 64px; }
  .hero-inner { padding-top: 70px; }
  .hero-shade { background: linear-gradient(90deg, #1d2427f0, #1d2427c5 50%, #1d242770); }
  .hero-intro { max-width: 520px; }
  .hero-actions { gap: 23px; }
  .credentials-inner { grid-template-columns: 1fr 1fr; gap: 25px; padding-block: 30px; }
  .credentials-inner > span { font-size: 12px; }
  .credentials-inner > span:nth-child(3) { border: 0; padding-left: 0; }
  .credentials-inner > p { font-size: 14px; }
  .orientation-section { grid-template-columns: 1fr; gap: 35px; }
  .orientation-copy h2 { font-size: 39px; }
  .orientation-copy > p:not(.eyebrow) { max-width: none; }
  .situation-links h3 { font-size: 19px; }
  .situation-links p { font-size: 13px; }
  .section-heading { gap: 45px; }
  .section-heading h2 { font-size: 38px; }
  .section-heading-aside p { font-size: 13px; }
  .expertise-grid { gap: 22px; }
  .expertise-image { height: 220px; }
  .expertise-card h3 { font-size: 23px; }
  .expertise-card-copy { padding: 24px; gap: 15px; grid-template-columns: 1fr 35px; }
  .round-arrow { width: 35px; height: 35px; }
  .expertise-card-copy > div > p { font-size: 12px; }
  .expertise-meta { font-size: 9px; }
  .expert-grid { grid-template-columns: 1fr; gap: 45px; }
  .expert-visual { height: 590px; max-width: 670px; }
  .expert-copy { max-width: 760px; }
  .expert-copy h2 { font-size: 42px; }
  .expert-copy .lead { font-size: 21px; }
  .expert-copy > p:not(.eyebrow):not(.lead) { font-size: 15px; }
  .expert-proof span { font-size: 12px; }
  .assurance-grid { grid-template-columns: 1fr; gap: 30px; }
  .assurance-grid h2 { font-size: 39px; }
  .assurance-grid p { font-size: 14px; }
  .process-grid { gap: 25px; }
  .process-grid h3 { font-size: 20px; }
  .faq-section { grid-template-columns: 1fr; gap: 35px; }
  .faq-section h2 { font-size: 39px; }
  .subhero h1 { font-size: 54px; max-width: 750px; }
  .subhero { min-height: 430px; }
  .office-hero { min-height: 440px; }
  .office-hero h1 { font-size: 47px; max-width: 680px; }
  .office-hero > img { right: 0; width: 56%; opacity: .75; }
  .office-hero .subhero-shade { background: linear-gradient(90deg, #eef2f2, #eef2f2d9 45%, #eef2f250); }
  .detail-layout { grid-template-columns: 1fr; gap: 50px; }
  .detail-sidebar { order: 2; position: static; }
  .detail-sidebar nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; }
  .sidebar-contact { max-width: 420px; }
  .service-tiles { gap: 22px; }
  .tile-image { height: 220px; }
  .tile-copy { padding: 26px; }
  .tile-copy h2 { font-size: 28px; }
  .office-layout { grid-template-columns: 1fr; gap: 40px; }
  .qualifications { max-width: none; }
  .office-text .lead { font-size: 24px; }
  .values-grid { gap: 30px; }
  .contact-layout { grid-template-columns: 1fr; gap: 50px; }
  .contact-info { max-width: 680px; }
  .contact-info h2 { font-size: 39px; }
  .contact-mail { font-size: 24px; }
  .contact-tip { max-width: none; }
  .contact-info > p:not(.eyebrow) { max-width: none; font-size: 15px; }
  .contact-tip > p { font-size: 13px; }
  .form-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
  .legal-layout { grid-template-columns: 1fr; gap: 35px; }
  .legal-layout aside { flex-direction: row; gap: 30px; }
  .contact-band-inner { flex-direction: column; align-items: flex-start; gap: 30px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 45px; }
  .footer-brand { grid-column: 1 / -1; display: flex; gap: 45px; align-items: center; }
  .footer-brand p { margin: 0; }
}
@media (max-width:600px) {
  :root { --space: 24px; --section: 74px; }
  body { font-size: 15px; }
  .topbar { display: none; }
  .header-inner { min-height: 92px; gap: 16px; }
  .brand img { width: 106px; height: 58px; }
  .brand-descriptor { font-size: 9px; padding-left: 16px; }
  .menu-toggle { gap: 0; }
  .menu-toggle > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .eyebrow { font-size: 10px; margin-bottom: 22px; }
  h2 { font-size: 34px; }
  .button { min-height: 62px; padding: 18px 23px; font-size: 16px; gap: 25px; }
  .text-link { font-size: 15px; }
  .hero { min-height: 810px; }
  .hero-inner { padding-top: 52px; padding-bottom: 120px; }
  .hero .eyebrow { font-size: 9px; gap: 9px; letter-spacing: .09em; margin-bottom: 30px; max-width: 310px; line-height: 1.9; }
  .small-line { width: 20px; flex-shrink: 0; }
  .hero h1 { font-size: clamp(43px, 11.6vw, 63px); line-height: 1.15; letter-spacing: -.045em; margin-bottom: 25px; }
  .hero-intro { font-size: 14px; line-height: 1.95; max-width: 390px; margin-bottom: 28px; }
  .hero-photo { object-position: 60% center; }
  .hero-shade { background: linear-gradient(90deg, #1d2427f0, #1d2427c0), linear-gradient(0deg, #1d242760, transparent); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .hero-secondary { font-size: 16px; padding-block: 10px; }
  .hero-signature { align-items: flex-start; flex-direction: column; gap: 3px; margin-top: 30px; font-size: 10px; }
  .hero-signature span:first-child { font-size: 13px; }
  .hero-signature span + span { padding: 0; border: 0; }
  .hero-bottom { font-size: 9px; min-height: 65px; }
  .hero-bottom > a { gap: 14px; }
  .video-toggle { font-size: 9px; padding: 5px 9px; min-width:44px; min-height:44px; justify-content:center; }
  .video-toggle-label { display: none; }
  .credentials-inner { grid-template-columns: 1fr 1fr; gap: 25px 20px; padding-block: 28px; }
  .credentials-inner > p { font-size: 11px; }
  .credentials-inner > span { font-size: 10px; line-height: 1.9; padding-left: 15px; gap: 10px; }
  .credentials-inner > span > svg { width: 18px; height: 24px; }
  .orientation-copy h2 { font-size: 32px; line-height: 1.3; }
  .orientation-copy > p:not(.eyebrow) { font-size: 14px; }
  .situation-links > a { gap: 12px; grid-template-columns: 20px 1fr 20px; padding-block: 23px; }
  .situation-links h3 { font-size: 17px; margin-bottom: 8px; }
  .situation-links p { font-size: 12px; line-height: 1.9; }
  .section-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 35px; }
  .section-heading h2 { font-size: 34px; line-height: 1.25; }
  .section-heading-aside { max-width: none; margin-left: 0; }
  .section-heading-aside p { font-size: 14px; line-height: 1.95; }
  .expertise-grid { grid-template-columns: 1fr; gap: 25px; }
  .expertise-image { height: 225px; }
  .expertise-card-copy { padding: 25px 23px 22px; }
  .expertise-card h3 { font-size: 25px; line-height: 1.3; }
  .expertise-card-copy > div > p { font-size: 12px; line-height: 1.9; }
  .expertise-meta { font-size: 9px; line-height: 2; }
  .image-index { top: 17px; left: 17px; font-size: 9px; }
  .expert-visual { height: 420px; }
  .expert-caption { padding: 85px 22px 24px; }
  .expert-caption > span { font-size: 9px; line-height: 1.9; }
  .expert-caption > strong { font-size: 27px; }
  .expert-copy h2 { font-size: 32px; line-height: 1.3; }
  .expert-copy .lead { font-size: 19px; }
  .expert-copy > p:not(.eyebrow):not(.lead) { font-size: 14px; }
  .expert-proof span { font-size: 11px; line-height: 1.9; }
  .assurance-section { padding-block: 65px; }
  .assurance-grid { gap: 25px; }
  .assurance-grid h2 { font-size: 33px; }
  .assurance-grid article { gap: 15px; grid-template-columns: 20px 1fr; padding-block: 24px; }
  .assurance-grid h3 { font-size: 19px; }
  .assurance-grid p { font-size: 13px; line-height: 2; }
  .process-grid { grid-template-columns: 1fr; gap: 30px; }
  .process-grid article > span { margin-bottom: 20px; }
  .process-grid h3 { font-size: 23px; }
  .process-grid p { font-size: 14px; line-height: 2; max-width: none; }
  .faq-section h2 { font-size: 34px; }
  summary { font-size: 14px; padding-block: 22px; gap: 20px; }
  details > p { font-size: 13px; line-height: 2; padding-right: 15px; }
  .subhero { min-height: 430px; }
  .subhero-inner { padding-block: 26px 47px; }
  .subhero .breadcrumbs { font-size: 10px; margin-bottom: 55px; }
  .subhero .eyebrow { font-size: 9px; letter-spacing: .1em; }
  .subhero h1 { font-size: clamp(36px, 10.5vw, 49px); line-height: 1.25; hyphens: auto; }
  .subhero-shade { background: #102a3ad9; }
  .office-hero { min-height: 470px; }
  .office-hero > img { width: 90%; opacity: .38; object-position: center; }
  .office-hero .subhero-shade { background: linear-gradient(90deg, #eef2f2f7, #eef2f2b0 55%, #eef2f240); }
  .office-hero h1 { font-size: 39px; }
  .detail-intro { font-size: 22px; line-height: 1.75; padding-bottom: 30px; margin-bottom: 30px; }
  .detail-article h2 { font-size: 23px; line-height: 1.45; margin-bottom: 14px; }
  .detail-article p { font-size: 14px; line-height: 2; }
  .detail-article { margin-bottom: 30px; }
  .detail-layout { gap: 50px; }
  .detail-sidebar nav { grid-template-columns: 1fr; }
  .checklist-box { padding: 27px 23px; }
  .checklist-box h2 { font-size: 25px; }
  .checklist li { font-size: 12px; }
  .page-intro { padding-top: 25px; padding-bottom: 55px; }
  .page-intro .breadcrumbs { font-size: 10px; margin-bottom: 48px; }
  .page-intro h1 { font-size: 43px; line-height: 1.2; hyphens: auto; }
  .intro-lead { font-size: 17px; line-height: 1.85; }
  .service-tiles { grid-template-columns: 1fr; gap: 25px; }
  .tile-image { height: 225px; }
  .tile-copy { padding: 26px; }
  .tile-copy h2 { font-size: 27px; }
  .tile-copy p { font-size: 13px; line-height: 2; }
  .advice-block h2 { font-size: 33px; }
  .advice-block > p:not(.eyebrow) { font-size: 14px; }
  .office-layout h2 { font-size: 33px; }
  .office-name { font-size: 23px; }
  .qualifications li { font-size: 12px; line-height: 1.95; }
  .office-text .lead { font-size: 21px; }
  .office-text > p:not(.lead) { font-size: 14px; line-height: 2; }
  .office-text .text-link { font-size: 15px; gap: 12px; }
  .values-grid { grid-template-columns: 1fr; gap: 30px; }
  .values-section { padding-block: 60px; }
  .values-grid h3 { font-size: 25px; }
  .contact-intro { padding-bottom: 0; }
  .contact-layout { padding-top: 50px; }
  .contact-info h2 { font-size: 33px; }
  .contact-mail { font-size: 19px; gap: 13px; }
  .contact-info > p:not(.eyebrow) { font-size: 14px; }
  .contact-tip > p { font-size: 13px; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .field input, .field select, .field textarea { font-size: 16px; }
  .field label { font-size: 12px; }
  .form-submit { flex-direction: column; align-items: flex-start; gap: 17px; }
  .form-submit .button { width: 100%; }
  .privacy-check { font-size: 11px; }
  .legal-intro h1 { font-size: 32px; }
  .legal-copy { font-size: 13px; line-height: 2; }
  .legal-copy h2 { font-size: 23px; }
  .contact-band { padding-block: 60px; }
  .contact-band h2 { font-size: 34px; }
  .contact-band .eyebrow { font-size: 9px; }
  .contact-band .button { font-size: 16px; gap: 22px; }
  .site-footer { padding-top: 50px; }
  .footer-grid { grid-template-columns: 1fr; gap: 35px; padding-bottom: 40px; }
  .footer-brand { grid-column: auto; display: block; }
  .footer-brand img { width: 125px; }
  .footer-brand p { margin-top: 22px; }
  .footer-label { margin-bottom: 18px; }
  .footer-bottom { flex-direction: column; gap: 17px; font-size: 9px; }
  .footer-bottom > div { flex-wrap: wrap; gap: 25px; }
  .back-top { margin-left: auto; }
}
@media (max-width:360px) {
  .brand-descriptor { display: none; }
  .hero h1 { font-size: 40px; }
  .hero { min-height: 850px; }
  .credentials-inner { gap: 23px 15px; }
  .credentials-inner > span { font-size: 9px; padding-left: 11px; gap: 8px; }
  .credentials-inner > span > svg { width: 15px; }
  .expertise-card-copy { padding-inline: 19px; grid-template-columns: 1fr 31px; gap: 12px; }
  .expertise-card h3 { font-size: 22px; }
  .round-arrow { width: 31px; height: 31px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none !important; transition: none !important; }
  .hero-video { display: none; }
}
/* Durchgängige, inhaltlich zugeordnete Icon-Familie außerhalb des Heros. */
.ui-icon { display: inline-block; width: 24px; height: 24px; flex: 0 0 auto; vertical-align: middle; }
.icon-badge, .service-symbol, .section-symbol, .process-icon, .value-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--blue-dark); background: #e8eff2; border: 1px solid #dae5e9; }
.service-symbol { width: 45px; height: 45px; margin-bottom: 19px; }
.service-symbol .ui-icon { width: 25px; height: 25px; }
.section-symbol { width: 56px; height: 56px; margin-bottom: 25px; }
.section-symbol .ui-icon { width: 31px; height: 31px; }
.situation-links > a { grid-template-columns: 43px 1fr 22px; }
.situation-index.icon-badge { width: 40px; height: 40px; padding: 0; margin-top: 1px; }
.situation-index .ui-icon { width: 23px; height: 23px; }
.expert-proof > span { display: flex; align-items: flex-start; gap: 10px; padding: 5px 0; }
.expert-proof > span:before { content: none; }
.expert-proof .ui-icon { width: 17px; height: 17px; color: var(--blue); margin-top: 1px; }
.assurance-grid article { grid-template-columns: 44px 1fr; }
.assurance-grid article > .assurance-icon { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid #ffffff30; color: #b6d0dd; padding: 0; }
.assurance-icon .ui-icon { width: 24px; height: 24px; }
.process-icon, .value-icon { width: 50px; height: 50px; margin-bottom: 24px; background: #fff; }
.process-icon .ui-icon, .value-icon .ui-icon { width: 27px; height: 27px; }
.process-grid article > span { margin-bottom: 18px; }
.faq-list summary { gap: 15px; }
.faq-question-text { flex: 1; min-width: 0; }
.faq-icon { width: 21px; height: 21px; color: var(--blue); align-self: flex-start; margin-top: 2px; }
.detail-sidebar nav .sidebar-service-icon { width: 20px; height: 20px; margin-left: 0; color: var(--blue); }
.detail-article h2 { display: flex; align-items: flex-start; gap: 14px; }
.detail-article h2 .ui-icon { width: 24px; height: 24px; margin-top: 5px; color: var(--blue); }
.detail-article h2 > span { min-width: 0; }
.checklist-icons li { display: flex; align-items: flex-start; gap: 12px; padding-left: 0; }
.checklist-icons li:before { content: none; }
.checklist-icons .ui-icon { width: 19px; height: 19px; color: var(--blue); margin-top: 2px; }
.qualifications li { display: flex; align-items: flex-start; gap: 13px; padding-left: 0; }
.qualifications li:before { content: none; }
.qualifications .ui-icon { width: 22px; height: 22px; margin-top: 1px; color: var(--blue); }
.contact-info address { position: relative; padding-left: 33px; }
.contact-info address .address-icon { position: absolute; left: 0; top: 3px; width: 21px; height: 21px; color: var(--blue); }
.contact-tip > span { display: flex; align-items: center; gap: 9px; }
.contact-tip > span .ui-icon { width: 19px; height: 19px; }
.field label .ui-icon { width: 17px; height: 17px; color: var(--blue); margin: -2px 8px 0 0; }
.footer-grid nav a { display: flex; align-items: flex-start; gap: 11px; }
.footer-grid nav .ui-icon { width: 17px; height: 17px; margin-top: 2px; color: #a8cbdc; }
.footer-bottom > div > a { display: inline-flex; align-items: center; gap: 7px; }
.footer-bottom .ui-icon { width: 14px; height: 14px; }
@media (max-width:900px) {
  .assurance-grid article { grid-template-columns: 44px 1fr; }
  .situation-links > a { grid-template-columns: 43px 1fr 22px; }
}
@media (max-width:600px) {
  .situation-links > a { grid-template-columns: 35px 1fr 19px; gap: 13px; }
  .situation-index.icon-badge { width: 34px; height: 34px; }
  .situation-index .ui-icon { width: 21px; height: 21px; }
  .service-symbol { width: 42px; height: 42px; margin-bottom: 17px; }
  .section-symbol { width: 49px; height: 49px; margin-bottom: 22px; }
  .assurance-grid article { grid-template-columns: 35px 1fr; }
  .assurance-grid article > .assurance-icon { width: 34px; height: 34px; }
  .assurance-icon .ui-icon { width: 21px; height: 21px; }
  .faq-list summary { gap: 12px; }
  .faq-icon { width: 19px; height: 19px; margin-top: 3px; }
  .detail-article h2 { gap: 11px; }
  .detail-article h2 .ui-icon { width: 22px; height: 22px; margin-top: 5px; }
  .process-icon, .value-icon { width: 45px; height: 45px; margin-bottom: 22px; }
}
/* Vier Schwerpunkte: eine gemeinsame Sprache, dezente Orientierung durch Farbe. */
.contact-calendar-link { margin-bottom:30px; font-size:16px; }
.brand img { width:220px; height:62px; }
@media screen and (min-width:1101px) { .brand img { width:316.8px; height:89.28px; } }
.brand-descriptor { font-size:13px; }
.footer-brand img { width:240px; height:auto; }
@media (max-width:1200px) { .brand-descriptor { display:none; } }
@media (max-width:600px) { .brand img { width:175px; height:48px; } .footer-brand img { width:220px; } }
.tone-water { --area:#436b7d; --area-soft:#eaf1f4; --area-line:#c5d6de; }
.tone-property { --area:#52695b; --area-soft:#edf1eb; --area-line:#cbd6c9; }
.tone-legal { --area:#5d6276; --area-soft:#eeeff4; --area-line:#d0d2de; }
.tone-coaching { --area:#79624c; --area-soft:#f3eee7; --area-line:#ddcfbf; }
.focus-section { background:#fff; }
.focus-stories { display:grid; gap:44px; }
.focus-story { --story-bg:var(--area-soft); --story-ink:var(--ink); --story-muted:#43534b; --story-accent:var(--area); --story-button-bg:var(--area); --story-button-ink:#fff; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); background:var(--story-bg); color:var(--story-ink); }
.focus-story.tone-water { --story-bg:#263f4a; --story-ink:#fff; --story-muted:#d5e0e4; --story-accent:#b6d3e0; --story-button-bg:#fff; --story-button-ink:#263f4a; }
.focus-story.tone-legal { --story-bg:#343947; --story-ink:#fff; --story-muted:#e0e1e7; --story-accent:#c6c9dd; --story-button-bg:#fff; --story-button-ink:#343947; }
.focus-story.tone-coaching { --story-bg:#f2ece4; --story-muted:#625445; }
.focus-story:nth-child(even) { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
.focus-story:nth-child(even) .focus-story-photo { order:2; }
.focus-story-photo { position:relative; display:block; min-height:100%; overflow:hidden; isolation:isolate; background:var(--area-soft); }
.focus-story-photo > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.focus-story-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#13262e50,transparent 29%,transparent 65%,#13262e9c); pointer-events:none; }
.focus-story-photo:hover > img { transform:scale(1.035); }
.focus-story.tone-water .focus-story-photo > img { object-position:60% center; }
.focus-story.tone-coaching .focus-story-photo > img { object-position:center center; }
.focus-photo-index { position:absolute; z-index:1; top:28px; left:32px; color:#fff; font-size:48px; font-weight:450; letter-spacing:-.06em; line-height:1; }
.focus-photo-index small { font-size:14px; letter-spacing:.04em; margin-left:10px; }
.focus-photo-caption { position:absolute; z-index:1; bottom:30px; left:32px; right:28px; color:#fff; font-size:15px; line-height:1.6; }
.focus-story-copy { padding:clamp(32px,3.5vw,64px); min-width:0; }
.focus-story-audience { display:flex; align-items:center; gap:13px; color:var(--story-accent); font-size:14px; font-weight:650; line-height:1.6; margin-bottom:24px; }
.focus-story-audience .ui-icon { width:26px; height:26px; }
.focus-story h3 { font-size:clamp(32px,3.1vw,54px); line-height:1.12; letter-spacing:-.045em; margin-bottom:24px; }
.focus-story h3 span { color:var(--story-accent); }
.focus-story-intro { font-size:16px; line-height:1.85; color:var(--story-muted); max-width:57ch; margin-bottom:22px; }
.focus-story-points { padding:0; margin:0 0 30px; list-style:none; display:grid; gap:9px; }
.focus-story-points li { display:flex; align-items:flex-start; gap:10px; font-size:15px; line-height:1.7; }
.focus-story-points .ui-icon { color:var(--story-accent); width:18px; height:18px; margin-top:3px; }
.focus-story .focus-story-button { background:var(--story-button-bg); color:var(--story-button-ink); font-size:16px; line-height:1.5; padding:18px 23px; gap:24px; min-height:60px; white-space:normal; }
.focus-story-button:hover { filter:brightness(.94); }
.focus-story-share { display:flex; align-items:center; gap:17px; margin-top:28px; }
.focus-story-share > img { width:72px; height:72px; flex:none; }
.focus-story-share > div > span { display:block; color:var(--story-muted); font-size:14px; line-height:1.6; margin-bottom:4px; }
.focus-story-share a { display:inline-flex; gap:12px; align-items:center; color:var(--story-accent); font-size:15px; line-height:1.6; padding-block:5px; text-decoration:underline; text-underline-offset:4px; }
.focus-story-share a > span { font-size:19px; }
.overview-focus { padding-bottom:80px; }
.private-heading { scroll-margin-top:30px; padding-bottom:35px; }
.private-heading h2 { font-size:clamp(32px,3.5vw,55px); margin-bottom:24px; }
.private-heading > p:not(.eyebrow) { max-width:700px; font-size:17px; line-height:1.8; }
.submenu-divider { border-top:1px solid var(--line); margin-block:8px; }
.focus-hero { background:var(--area-soft); padding-block:28px 70px; }
.focus-hero .breadcrumbs { margin-bottom:55px; flex-wrap:wrap; }
.focus-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:60px; align-items:stretch; }
.focus-hero h1 { font-size:clamp(40px,4.2vw,75px); font-weight:500; line-height:1.16; letter-spacing:-.045em; margin-bottom:30px; overflow-wrap:break-word; hyphens:auto; }
.focus-hero .eyebrow { color:var(--area); }
.focus-lead { max-width:830px; font-size:20px; line-height:1.8; margin-bottom:30px; color:#45545c; }
.focus-hero-visual { position:relative; min-height:460px; overflow:hidden; background:var(--area-line); }
.focus-hero-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.focus-hero-visual:after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#182b36a8); }
.focus-hero-visual > span { display:flex; align-items:center; gap:12px; position:absolute; z-index:1; bottom:26px; left:26px; right:26px; color:white; font-size:15px; line-height:1.7; }
.page-coaching .focus-hero-visual > img { object-position:center center; }
.page-hausverwaltungen .focus-hero-grid > div:first-child { container-type:inline-size; }
.page-hausverwaltungen .focus-hero h1 { font-size:min(75px,7cqi); white-space:nowrap; hyphens:none; overflow-wrap:normal; }
@media (max-width:600px) {
  .page-hausverwaltungen .focus-hero h1 { font-size:clamp(28px,8.5vw,48px); white-space:normal; }
}
.focus-benefits { border-bottom:1px solid var(--area-line); }
.focus-benefits > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding-block:30px; }
.focus-benefits p { display:flex; align-items:flex-start; gap:12px; font-size:16px; line-height:1.7; margin:0; }
.focus-benefits .ui-icon { color:var(--area); margin-top:3px; }
.focus-detail-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:80px; }
.focus-content { max-width:880px; }
.focus-content .detail-article p { font-size:17px; line-height:1.9; }
.focus-content .detail-article h2 .ui-icon { color:var(--area); }
.focus-sidebar nav a { display:flex; gap:12px; padding:18px 14px; font-size:15px; line-height:1.6; border-bottom:1px solid var(--line); }
.focus-sidebar nav .ui-icon { color:var(--area); }
.focus-sidebar nav [aria-current] { background:var(--area-soft); color:var(--area); font-weight:650; }
.focus-person { margin-top:42px; }
.focus-person img { width:100%; height:190px; object-fit:cover; object-position:50% 35%; margin-bottom:20px; }
.focus-person strong,.focus-person > span { display:block; }
.focus-person > span { font-size:15px; color:var(--muted); margin-top:5px; }
.focus-person p { font-size:14px; line-height:1.8; margin-top:15px; }
.focus-person .text-link { font-size:15px; gap:10px; }
.focus-list { padding:0; list-style:none; margin-top:22px; }
.focus-list li { display:flex; gap:12px; margin-block:13px; font-size:16px; line-height:1.8; }
.focus-list .ui-icon { color:var(--area); margin-top:3px; }
.focus-cases { background:var(--area-soft); padding-block:70px; }
.focus-cases > div > h2 { font-size:clamp(30px,3vw,46px); margin-bottom:38px; }
.focus-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.focus-case-grid article > .ui-icon { color:var(--area); width:32px; height:32px; margin-bottom:22px; }
.focus-case-grid h3 { font-size:23px; line-height:1.4; margin-bottom:14px; }
.focus-case-grid p { font-size:16px; line-height:1.8; color:#45545c; }
.focus-request { border-top:1px solid var(--area-line); padding-top:32px; margin-top:45px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.focus-request p { max-width:570px; font-size:16px; line-height:1.8; margin:0; }
.qr-section { display:grid; grid-template-columns:180px minmax(0,1fr); gap:45px; align-items:start; padding-block:45px; border-top:1px solid var(--area-line); margin-bottom:70px; }
.qr-section > img { width:180px; height:180px; }
.qr-section h2 { font-size:30px; line-height:1.3; margin-bottom:18px; }
.qr-section p { font-size:16px; line-height:1.8; max-width:720px; }
.qr-downloads { display:flex; gap:28px; flex-wrap:wrap; margin-bottom:16px; }
.qr-downloads a { display:inline-flex; align-items:center; gap:15px; font-size:16px; font-weight:650; color:var(--area); border-bottom:1px solid var(--area); padding-block:10px; }
.qr-downloads svg { width:20px; }
.qr-section .qr-address { overflow-wrap:anywhere; font-size:15px; }
.qr-section .qr-preview-note { color:var(--muted); font-size:14px; }
@media (max-width:1100px) {
  .focus-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:35px; }
  .focus-detail-layout { grid-template-columns:230px minmax(0,1fr); gap:40px; }
  .focus-story-copy { padding:32px; }
  .focus-story h3 { font-size:34px; }
  .focus-story h3 br { display:none; }
  .focus-story h3 span:before { content:' '; }
}
/* Lesbarkeit vor Verdichtung: keine winzigen Qualifikationen auf kleinen Displays. */
@media (max-width:900px) {
  .focus-story,.focus-story:nth-child(even) { grid-template-columns:1fr; }
  .focus-story-photo,.focus-story:nth-child(even) .focus-story-photo { order:0; min-height:0; height:360px; }
  .focus-story-copy { padding:40px; }
  .focus-story h3 { font-size:42px; max-width:650px; }
  .focus-story h3 br { display:block; }
  .focus-story-audience,.focus-story-share > div > span { font-size:15px; }
  .focus-story-points li { font-size:16px; }
  .focus-story-share { margin-top:28px; }
  .credentials-inner { grid-template-columns:1fr; gap:0; padding-block:20px; }
  .credentials-inner > p { font-size:16px; padding-block:10px 20px; }
  .credentials-inner > span,.credentials-inner > span:nth-child(3) { font-size:16px; line-height:1.7; border:0; border-top:1px solid var(--line); padding:20px 0; gap:18px; }
  .credentials-inner > span > svg { width:28px; height:28px; }
  .hero-intro,.orientation-copy > p:not(.eyebrow),.expert-copy > p:not(.eyebrow):not(.lead),.assurance-grid p,.process-grid p,.detail-article p,.tile-copy p,.advice-block > p:not(.eyebrow),.office-text > p:not(.lead),.contact-info > p:not(.eyebrow),.values-grid p,details > p,.legal-copy { font-size:16px; line-height:1.8; }
  .hero .eyebrow,.eyebrow,.subhero .eyebrow,.contact-band .eyebrow { font-size:12px; line-height:1.7; letter-spacing:.08em; }
  .hero-signature,.hero-signature span:first-child { font-size:13px; }
  .hero-bottom { font-size:13px; }
  .section-heading-aside p,.orientation-copy > p:not(.eyebrow),.intro-lead { font-size:16px; line-height:1.8; }
  .situation-links p,.expertise-card-copy > div > p,.expert-proof span,.qualifications li,.checklist li,.contact-tip > p { font-size:16px; line-height:1.8; }
  .faq-list summary { font-size:16px; line-height:1.6; }
  .faq-section > div > p:not(.eyebrow) { font-size:16px; }
  .expert-caption > span,.expertise-meta,.image-index { font-size:13px; }
  .field label,.privacy-check,.form-notice,.form-errors,.form-submit > span { font-size:15px; line-height:1.7; }
  .field label small { font-size:13px; }
  .site-footer p,.site-footer a,.footer-bottom { font-size:15px; line-height:1.8; }
  .site-footer .footer-label { font-size:13px; }
  .page-intro .breadcrumbs,.subhero .breadcrumbs,.breadcrumbs { font-size:13px; }
  .detail-sidebar nav a { font-size:15px; }
  .contact-band .button { font-size:16px; }
  .focus-detail-layout { grid-template-columns:1fr; gap:40px; }
  .focus-sidebar { order:2; }
  .focus-person { display:none; }
  .focus-sidebar nav { display:grid; grid-template-columns:1fr 1fr; }
  .focus-case-grid { grid-template-columns:1fr; gap:25px; }
  .focus-case-grid article { padding-block:10px 20px; border-bottom:1px solid var(--area-line); }
  .focus-request { flex-direction:column; align-items:flex-start; }
  .focus-benefits > div { grid-template-columns:1fr; gap:18px; }
  .focus-benefits p { font-size:16px; }
  .focus-hero-visual { height:320px; min-height:0; }
  .focus-hero-grid { grid-template-columns:1fr; }
  .focus-lead { font-size:18px; }
}
@media (max-width:650px) {
  .focus-stories { gap:28px; }
  .focus-story-photo,.focus-story:nth-child(even) .focus-story-photo { height:270px; }
  .focus-story-copy { padding:29px 24px; }
  .focus-story h3 { font-size:clamp(30px,7.8vw,38px); line-height:1.18; }
  .focus-story h3 br { display:none; }
  .focus-story-audience { align-items:flex-start; font-size:15px; margin-bottom:22px; }
  .focus-story-intro { font-size:16px; line-height:1.8; }
  .focus-story .focus-story-button { width:100%; justify-content:space-between; padding:17px 19px; gap:16px; }
  .focus-story-share { gap:13px; }
  .focus-story-share > div > span { font-size:14px; }
  .focus-photo-index { top:24px; left:24px; font-size:40px; }
  .focus-photo-caption { bottom:22px; left:24px; right:24px; font-size:14px; }
  .focus-hero { padding-bottom:45px; }
  .focus-hero-visual { height:270px; }
  .focus-hero .breadcrumbs { margin-bottom:35px; }
  .focus-hero h1 { font-size:clamp(33px,8.5vw,48px); }
  .focus-hero h1 br { display:none; }
  .focus-hero .button,.focus-request .button { width:100%; justify-content:space-between; white-space:normal; gap:14px; line-height:1.5; }
  .focus-content .detail-article p { font-size:16px; }
  .focus-sidebar nav { grid-template-columns:1fr; }
  .qr-section { grid-template-columns:1fr; gap:25px; margin-bottom:40px; }
  .qr-section h2 { font-size:27px; }
  .qr-downloads { gap:12px 22px; }
  .focus-cases { padding-block:50px; }
  .focus-list li { font-size:16px; }
  .brand-descriptor { font-size:11px; }
}
/* Begleittexte auch am großen Bildschirm ohne Anstrengung lesen können. */
@media screen {
  .process-grid p,.section-heading-aside p,
  .faq-section > div > p:not(.eyebrow),.faq-list details > p,
  .orientation-copy > p:not(.eyebrow),
  .expert-copy > p:not(.eyebrow):not(.lead),
  .tile-copy p,.advice-block > p:not(.eyebrow),
  .office-text > p:not(.lead),.values-grid p,
  .contact-info > p:not(.eyebrow) {
    font-size:16px;
    line-height:1.8;
    color:#4d5e67;
  }
  .assurance-grid p:not(.eyebrow) { font-size:16px; line-height:1.8; color:#d3e0e7; }
  .process-grid h3 { font-size:25px; line-height:1.35; }
  .process-grid article > span { font-size:13px; }
  .faq-list summary { font-size:17px; line-height:1.6; }
  .situation-links p,.expert-proof span { font-size:16px; line-height:1.8; }
}
@media screen and (min-width:1800px) {
  .process-grid p,.section-heading-aside p,
  .faq-section > div > p:not(.eyebrow),.faq-list details > p,
  .orientation-copy > p:not(.eyebrow),
  .expert-copy > p:not(.eyebrow):not(.lead),
  .assurance-grid p:not(.eyebrow) { font-size:17px; }
  .process-grid h3 { font-size:27px; }
  .process-grid article > span { font-size:14px; }
  .faq-list summary { font-size:18px; }
}
/* Mobile Verfeinerung: klare Lesefolge und gut erreichbare Bedienelemente. */
@media screen and (max-width:900px) {
  body { font-size:16px; }
  .menu-toggle { min-width:48px; min-height:48px; justify-content:center; }
  .menu-toggle[aria-expanded=true] .menu-icon { border-color:transparent; }
  .menu-toggle[aria-expanded=true] .menu-icon:before {
    content:''; position:absolute; top:6px; left:0; width:23px;
    border-top:1px solid currentColor; transform:rotate(45deg);
  }
  .menu-toggle[aria-expanded=true] .menu-icon:after { transform:rotate(-45deg); }
  .main-nav {
    max-height:calc(100vh - 130px); max-height:calc(100dvh - 130px);
    overflow-y:auto; overscroll-behavior:contain;
  }
  .main-nav > a,.nav-services > a { font-size:16px; }
  .main-nav .submenu a { font-size:16px; line-height:1.6; min-height:48px; }
  .submenu-toggle { min-width:48px; min-height:48px; }
  .section-heading { grid-template-columns:1fr; gap:24px; }
  .section-heading-aside { margin-left:0; max-width:65ch; }
  .process-grid { grid-template-columns:1fr; gap:28px; }
  .process-grid article {
    display:grid; grid-template-columns:50px minmax(0,1fr);
    column-gap:22px; row-gap:10px; padding-top:26px;
  }
  .process-grid .process-icon { grid-column:1; grid-row:1 / 4; margin:0; }
  .process-grid article > span,.process-grid h3,.process-grid p { grid-column:2; margin:0; }
  .process-grid p { max-width:65ch; }
  .focus-story h3 { hyphens:auto; }
  .focus-story-points li { font-size:16px; }
  .focus-story-share > div { min-width:0; }
  .focus-story-share a { min-height:44px; }
}
@media screen and (max-width:600px) {
  :root { --space:clamp(20px,5.5vw,24px); }
  .main-nav { max-height:calc(100vh - 92px); max-height:calc(100dvh - 92px); }
  .menu-toggle { padding:12px; }
  .hero { min-height:0; }
  .hero-inner { padding-top:32px; padding-bottom:76px; }
  .hero .eyebrow { margin-bottom:20px; }
  .hero h1 { margin-bottom:20px; }
  .hero-actions { gap:12px; }
  .hero-signature { margin-top:20px; }
  .hero-actions { align-items:stretch; }
  .hero-actions .button { width:100%; }
  .hero-secondary { align-self:flex-start; min-height:48px; font-size:16px; }
  .hero-signature,.hero-signature span:first-child { font-size:15px; line-height:1.7; }
  .hero-bottom { font-size:14px; line-height:1.6; }
  .text-link { font-size:16px; max-width:100%; }
  .breadcrumbs { flex-wrap:wrap; row-gap:5px; }
  .situation-links > a { grid-template-columns:35px minmax(0,1fr) 19px; }
  .situation-links h3 { font-size:18px; line-height:1.5; }
  .process-grid article { grid-template-columns:45px minmax(0,1fr); gap:14px 16px; }
  .process-grid .process-icon { grid-row:auto; }
  .process-grid article > span { align-self:center; }
  .process-grid h3,.process-grid p { grid-column:1 / -1; }
  .focus-story-share > div > span,.focus-photo-caption { font-size:15px; }
  .site-footer .footer-grid nav a { font-size:16px; min-height:44px; padding-block:8px; }
  .footer-bottom > div > a { min-height:44px; }
}
@media print {
  .topbar, .site-header, .site-footer, .contact-band, .hero-actions, .hero-bottom, .detail-sidebar, .contact-form-wrap { display: none !important; }
  .container { max-width: none; padding-inline: 0; }
  body { color: #000; background: white; font-size: 11pt; }
  .section, .expertise-section, .expert-section, .process-section, .assurance-section { padding-block: 20px; }
  .hero, .subhero { height: auto; min-height: 0; color: black; background: white; }
  .hero-photo, .hero-video, .hero-shade, .subhero > img, .subhero-shade { display: none; }
  .hero-inner, .subhero-inner { padding-block: 20px; }
  .hero h1, .subhero h1 { font-size: 36pt; }
  .hero-intro, .hero-signature, .hero .eyebrow { color: black; }
  .detail-layout, .office-layout, .contact-layout { display: block; }
  .assurance-section, .process-section, .expertise-section { color: black; background: white; }
  .assurance-section .eyebrow, .assurance-section p { color: black; }
  .expert-visual { height: 320px; }
  .contact-band, .button { display: none; }
  .eyebrow { color: black; }
  h2, h3 { break-after: avoid; }
  p { orphans: 3; widows: 3; }
}
