
@import url('https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@400,500,700,800&display=swap');

/* ===== GLOBAL TYPOGRAPHY UPGRADE ===== */

body {
    font-family: 'Cabinet Grotesk', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    font-weight: 400;
    color: #111;
}

h1, h2 {
    font-family: 'Cabinet Grotesk', sans-serif;
    font-weight: 700;
    letter-spacing: -0.5px;
}

h3, h4, h5, h6 {
    font-family: 'Cabinet Grotesk', sans-serif;
    font-weight: 600;
}

p {
    margin-bottom: 1rem;
}

button, .btn, a {
    font-family: 'Cabinet Grotesk', sans-serif;
    font-weight: 500;
}

small {
    font-size: 0.85rem;
    color: #666;
}



:root {
  --bg: #fffdf9;
  --surface: #ffffff;
  --surface-alt: #fff7f2;
  --text: #131313;
  --muted: #55514c;
  --line: #eadfd6;
  --accent: #ef7f61;
  --accent-strong: #d6643d;
  --accent-soft: rgba(239, 127, 97, 0.12);
  --shadow: 0 24px 60px rgba(19, 19, 19, 0.08);
  --shadow-soft: 0 14px 32px rgba(19, 19, 19, 0.05);
  --radius-xl: 32px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --radius-sm: 14px;
  --container: min(1180px, calc(100% - 40px));
  --section-space: clamp(72px, 8vw, 118px);
  --h1: clamp(2.8rem, 6vw, 5.6rem);
  --h2: clamp(2.05rem, 4vw, 3.45rem);
  --h3: clamp(1.28rem, 2vw, 1.72rem);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

:focus-visible {
  outline: 3px solid rgba(239, 127, 97, 0.42);
  outline-offset: 4px;
}

body {
  margin: 0;
  
  color: var(--text);
  background:
    radial-gradient(circle at top right, rgba(239, 127, 97, 0.1), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fffdf9 46%, #fff7f2 100%);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  inset: auto -12vw -8vh auto;
  width: 42vw;
  height: 42vw;
  background: radial-gradient(circle, rgba(239, 127, 97, 0.08), transparent 68%);
  pointer-events: none;
  z-index: -2;
}

body::after {
  content: "";
  position: fixed;
  top: 84px;
  right: -120px;
  width: min(40vw, 520px);
  height: min(40vw, 520px);
  background: url("mecon-mark.svg") no-repeat center / contain;
  opacity: 0.035;
  pointer-events: none;
  z-index: -1;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.skip-link {
  position: fixed;
  top: 14px;
  left: 14px;
  z-index: 120;
  padding: 12px 16px;
  border-radius: 14px;
  background: #131313;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 800;
  transform: translateY(-140%);
  transition: transform 0.18s ease;
  box-shadow: 0 14px 28px rgba(19, 19, 19, 0.18);
}

.skip-link:focus {
  transform: translateY(0);
}

p,
ul {
  margin: 0;
}

p {
  line-height: 1.68;
  letter-spacing: 0.005em;
}

ul {
  padding: 0;
  list-style: none;
}

strong,
b {
  color: var(--text);
}

.container {
  width: var(--container);
  margin: 0 auto;
}

.section {
  padding: var(--section-space) 0;
}

.section-tight {
  padding: calc(var(--section-space) * 0.72) 0;
}

.surface {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(234, 223, 214, 0.92);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 42px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(239, 127, 97, 0.18));
}

h1,
h2,
h3,
h4 {
  margin: 0;
  color: var(--accent-strong);
  line-height: 1.08;
  letter-spacing: -0.032em;
  font-weight: 700;
  
}

h1 {
  font-size: var(--h1);
}

h2 {
  font-size: var(--h2);
}

h3 {
  font-size: var(--h3);
}

.lead {
  font-size: clamp(1.08rem, 1.35vw, 1.22rem);
  color: var(--text);
  max-width: 64ch;
}

.muted {
  color: var(--muted);
}

.pill-row,
.button-row,
.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pill,
.tag {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  box-shadow: 0 12px 26px rgba(19, 19, 19, 0.03);
  font-size: 0.92rem;
  font-weight: 700;
}

.tag {
  background: var(--accent-soft);
  color: var(--text);
  box-shadow: none;
}

.btn {
  display: inline-flex;
  
  font-weight: 600;
  letter-spacing: -0.01em;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.97rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease,
    border-color 0.18s ease, color 0.18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: var(--accent);
  color: #ffffff;
  box-shadow: 0 16px 36px rgba(239, 127, 97, 0.28);
}

.btn-primary:hover {
  background: var(--accent-strong);
}

.btn-secondary,
.btn-light {
  background: rgba(255, 255, 255, 0.96);
  border-color: var(--line);
  color: var(--text);
}

.btn-secondary:hover,
.btn-light:hover {
  border-color: rgba(214, 100, 61, 0.45);
}

.btn-text {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--accent-strong);
}

.btn-text::after {
  content: "->";
  margin-left: 8px;
  transition: transform 0.18s ease;
}

.btn-text:hover::after {
  transform: translateX(4px);
}

.btn-sm {
  min-height: 46px;
  padding: 0 18px;
}

.topbar {
  border-bottom: 1px solid rgba(234, 223, 214, 0.82);
  background: rgba(255, 255, 255, 0.88);
}

.topbar-inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-size: 0.84rem;
  color: var(--muted);
}

.topbar-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.topbar-links a:hover,
.topbar-links span:hover {
  color: var(--accent-strong);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.93);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(234, 223, 214, 0.82);
}

.site-header.scrolled {
  box-shadow: 0 14px 36px rgba(19, 19, 19, 0.06);
}

.header-inner {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.brand-mark {
  width: 64px;
  flex: 0 0 auto;
}

.brand-copy strong {
  display: block;
  
  font-size: 1.72rem;
  letter-spacing: -0.05em;
  color: var(--text);
}

.brand-copy small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.75rem;
  letter-spacing: 0.03em;
}

.nav-desktop {
  display: flex;
  align-items: center;
  gap: 28px;
}

.nav-desktop a {
  position: relative;
  padding: 6px 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d2d2d;
}

.nav-desktop a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}

.nav-desktop a:hover::after,
.nav-desktop a.active::after {
  transform: scaleX(1);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  margin: 0 auto;
  background: var(--text);
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.menu-toggle::before {
  transform: translateY(-5px);
}

.menu-toggle::after {
  transform: translateY(5px);
}

.menu-toggle.open span {
  opacity: 0;
}

.menu-toggle.open::before {
  transform: translateY(2px) rotate(45deg);
}

.menu-toggle.open::after {
  transform: translateY(0) rotate(-45deg);
}

.mobile-panel {
  display: none;
  border-top: 1px solid rgba(234, 223, 214, 0.82);
  padding: 0 20px 20px;
}

.mobile-panel.open {
  display: block;
}

.mobile-panel[hidden] {
  display: none !important;
}

.mobile-panel nav {
  display: grid;
  gap: 10px;
  padding-top: 16px;
}

.mobile-panel a {
  padding: 10px 0;
  font-size: 1rem;
  font-weight: 700;
}

.hero {
  padding: clamp(30px, 5vw, 56px) 0 28px;
}

.hero-shell,
.split-grid,
.two-column,
.proof-grid,
.cards-grid,
.footer-grid,
.contact-grid,
.process-grid,
.facts-grid,
.cross-grid,
.service-detail-grid,
.form-layout,
.quote-grid {
  display: grid;
  gap: 24px;
}

.hero-shell {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  align-items: stretch;
}

.hero-copy,
.hero-aside,
.card,
.service-card,
.proof-card,
.process-step,
.quote-card,
.contact-card,
.info-card,
.form-card,
.detail-card,
.footer-panel,
.redirect-shell {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(234, 223, 214, 0.94);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

.hero-copy,
.hero-aside {
  padding: clamp(30px, 4vw, 46px);
  position: relative;
  overflow: hidden;
}

.hero-copy::before,
.hero-aside::before,
.cta-banner::before,
.service-card::before,
.detail-card::before,
.quote-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(145deg, rgba(239, 127, 97, 0.06), transparent 30%),
    linear-gradient(325deg, rgba(239, 127, 97, 0.04), transparent 36%);
  pointer-events: none;
}

.hero-copy::after,
.hero-aside::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -26px;
  width: 220px;
  height: 220px;
  background: url("mecon-mark.svg") no-repeat center / contain;
  opacity: 0.06;
  pointer-events: none;
}

.hero-copy > *,
.hero-aside > * {
  position: relative;
  z-index: 1;
}

.hero-copy p,
.card p,
.service-card p,
.proof-card p,
.detail-card p,
.quote-card p,
.contact-card p,
.info-card p {
  color: var(--text);
}

.hero-copy .lead {
  margin-top: 22px;
}

.hero-copy .button-row {
  margin-top: 30px;
}

.hero-copy .pill-row {
  margin-top: 22px;
}

.hero-aside {
  display: grid;
  gap: 18px;
}

.hero--legal {
  padding: clamp(26px, 4vw, 44px) 0 24px;
}

.hero-shell--legal {
  grid-template-columns: minmax(0, 1.18fr) minmax(260px, 0.82fr);
  align-items: stretch;
}

.hero-copy--legal {
  padding: clamp(28px, 3.8vw, 42px);
}

.hero-copy--legal h1 {
  margin-top: 18px;
  max-width: 11ch;
  font-size: clamp(2.7rem, 5.1vw, 5rem);
  line-height: 0.92;
  letter-spacing: -0.05em;
  hyphens: auto;
  overflow-wrap: anywhere;
}

.hero-copy--legal .lead {
  max-width: 30ch;
  margin-top: 20px;
  line-height: 1.55;
}

.mini-stack {
  display: grid;
  gap: 14px;
}

.mini-card {
  padding: 18px 20px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 255, 255, 0.84);
}

.mini-card strong {
  display: block;
  margin-bottom: 6px;
  font-size: 1.02rem;
}

.stats-bar,
.facts-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stat,
.fact {
  padding: 18px 20px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 255, 255, 0.9);
}

.stat strong,
.fact strong {
  display: block;
  font-size: 1.08rem;
  margin-bottom: 6px;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}

.section-head p {
  max-width: 60ch;
}

.cards-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-card,
.detail-card,
.quote-card,
.form-card,
.contact-card,
.info-card {
  padding: 26px;
  position: relative;
  overflow: hidden;
}

.service-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 100%;
}

.service-index {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.service-index::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--accent);
}

.checklist {
  display: grid;
  gap: 12px;
}

.checklist li {
  position: relative;
  padding-left: 18px;
  color: var(--muted);
}

.checklist li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent);
}

.split-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.two-column,
.form-layout {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
}

.proof-grid,
.contact-grid,
.quote-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.proof-card strong,
.contact-card strong,
.detail-card strong,
.info-card strong,
.quote-card strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 8px;
}

.proof-card {
  min-height: 100%;
}

.process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.process-step {
  padding: 24px;
}

.process-step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-size: 0.92rem;
  font-weight: 800;
}

.cta-banner {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 4vw, 46px);
  background: linear-gradient(135deg, #151515 0%, #252525 100%);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}

.cta-banner > * {
  position: relative;
  z-index: 1;
}

.cta-banner h2,
.cta-banner p,
.cta-banner .eyebrow,
.cta-banner strong {
  color: #ffffff;
}

.cta-banner .eyebrow::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.22));
}

.cta-banner::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -24px;
  width: 260px;
  height: 260px;
  background: url("mecon-mark.svg") no-repeat center / contain;
  opacity: 0.08;
}

.cta-actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.form-card form,
.form-shell {
  display: grid;
  gap: 16px;
}

.form-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.span-2 {
  grid-column: span 2;
}

label {
  display: grid;
  gap: 8px;
  font-size: 0.92rem;
  font-weight: 700;
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid #dccfc6;
  border-radius: 16px;
  padding: 15px 16px;
  background: #ffffff;
  color: var(--text);
  font: inherit;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

textarea {
  min-height: 160px;
  resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
  border-color: rgba(214, 100, 61, 0.8);
  box-shadow: 0 0 0 4px rgba(239, 127, 97, 0.14);
}

.check-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.check-row input {
  width: 18px;
  height: 18px;
  margin-top: 3px;
}

.note {
  color: var(--muted);
  font-size: 0.92rem;
}

.service-detail-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  align-items: start;
}

.detail-stack {
  display: grid;
  gap: 18px;
}

.detail-list {
  display: grid;
  gap: 14px;
}

.detail-list li {
  padding: 0 0 0 18px;
  position: relative;
}

.detail-list li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent);
}

.cross-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cross-card {
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-soft);
}

.cross-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1rem;
}

.signature {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(234, 223, 214, 0.92);
  font-weight: 700;
}

.signature::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--accent);
}

.service-hero {
  --service-color: #0f95d0;
  --service-color-dark: #0d6fb0;
  position: relative;
  overflow: hidden;
  padding: clamp(44px, 8vw, 84px) 0;
  background: linear-gradient(135deg, var(--service-color), var(--service-color-dark));
}

.service-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.08), transparent 26%);
  pointer-events: none;
}

.service-hero::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: min(38vw, 420px);
  height: min(38vw, 420px);
  background: url("mecon-mark.svg") no-repeat center / contain;
  opacity: 0.08;
  filter: brightness(0) invert(1);
  pointer-events: none;
}

.service-hero--kaufberatung {
  --service-color: #1198d5;
  --service-color-dark: #0a7ab8;
}

.service-hero--bauschaeden {
  --service-color: #e84c73;
  --service-color-dark: #cf315b;
}

.service-hero--sanierungsberatung {
  --service-color: #ef8c52;
  --service-color-dark: #d86a39;
}

.service-hero--abnahmebegleitung {
  --service-color: #127c7a;
  --service-color-dark: #0c6360;
}

.service-hero--baubegleitung {
  --service-color: #355f9a;
  --service-color-dark: #24477b;
}

.service-hero--wertermittlung {
  --service-color: #2d3136;
  --service-color-dark: #17191c;
}

.service-hero-shell,
.service-photo-layout,
.service-facts-grid,
.service-gallery-grid {
  width: var(--container);
  margin: 0 auto;
  display: grid;
  gap: 28px;
}

.service-hero-shell {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
  align-items: center;
  position: relative;
  z-index: 1;
}

.service-hero-copy {
  color: #ffffff;
}

.service-hero-copy h1 {
  color: #ffffff;
  max-width: 11ch;
  font-size: clamp(2.6rem, 5.4vw, 4.95rem);
}

.service-hero-copy .eyebrow,
.service-hero-copy .eyebrow::before {
  color: #ffffff;
}

.service-hero-copy .eyebrow::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.34));
}

.service-hero-copy .lead,
.service-hero-copy p,
.service-hero-copy li,
.service-hero-copy strong,
.service-hero-copy span {
  color: rgba(255, 255, 255, 0.96);
}

.service-hero-copy .lead {
  margin-top: 18px;
  max-width: 54ch;
}

.service-bullet-list {
  margin-top: 28px;
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 38rem;
}

.service-bullet-list li {
  position: relative;
  padding-left: 22px;
  padding-right: 10px;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.52;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.service-bullet-list li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.14);
}

.service-hero-meta {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.service-hero-tag {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 700;
}

.service-hero-actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.service-hero-actions .btn-primary {
  background: #ffffff;
  color: var(--service-color-dark);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
}

.service-hero-actions .btn-primary:hover {
  background: rgba(255, 255, 255, 0.94);
}

.service-hero-actions .btn-light {
  background: rgba(17, 17, 17, 0.2);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
}

.service-lead-box {
  margin-top: 28px;
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12);
}

.service-lead-box strong,
.service-lead-box span {
  color: #ffffff;
}

.service-lead-box strong {
  font-size: 1.22rem;
}

.service-lead-box span {
  font-size: 0.94rem;
  opacity: 0.92;
}

.service-hero-visual {
  position: relative;
  min-height: 100%;
  display: grid;
  place-items: center;
}

.service-icon-stage {
  position: relative;
  width: min(100%, 470px);
  aspect-ratio: 1 / 1;
  border-radius: 36px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.service-icon-stage::before,
.service-icon-stage::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}

.service-icon-stage::before {
  width: 110px;
  height: 110px;
  top: 28px;
  right: 36px;
}

.service-icon-stage::after {
  width: 60px;
  height: 60px;
  bottom: 42px;
  left: 42px;
}

.service-hero-icon {
  width: min(74%, 330px);
  height: auto;
  fill: none;
  stroke: #ffffff;
  stroke-width: 18;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-floating-card {
  position: absolute;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(8px);
  color: #ffffff;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.12);
  max-width: 220px;
}

.service-floating-card strong,
.service-floating-card span {
  color: #ffffff;
  display: block;
}

.service-floating-card strong {
  font-size: 0.95rem;
  margin-bottom: 4px;
}

.service-floating-card span {
  font-size: 0.84rem;
  opacity: 0.92;
}

.service-floating-card--top {
  top: 16px;
  left: -12px;
}

.service-floating-card--bottom {
  right: -8px;
  bottom: 18px;
}

.service-photo-layout {
  grid-template-columns: minmax(280px, 0.96fr) minmax(0, 1.04fr);
  align-items: stretch;
}

.service-photo-card,
.service-copy-card,
.service-spotlight-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(234, 223, 214, 0.94);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.service-photo-card {
  min-height: 420px;
}

.service-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-copy-card {
  padding: 30px;
}

.service-copy-card h2 {
  max-width: 14ch;
}

.service-copy-card .lead {
  margin-top: 18px;
}

.service-copy-card .detail-list {
  margin-top: 22px;
}

.service-facts-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-spotlight-card {
  padding: 24px;
}

.service-spotlight-card strong {
  display: block;
  font-size: 1.06rem;
  margin-bottom: 8px;
}

.service-quote {
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(239, 127, 97, 0.08), rgba(239, 127, 97, 0.03));
  border: 1px solid rgba(239, 127, 97, 0.16);
  color: var(--text);
  font-weight: 700;
}

.service-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-gallery-card {
  min-height: 260px;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(234, 223, 214, 0.94);
  box-shadow: var(--shadow-soft);
  background: #ffffff;
}

.service-gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer {
  padding: 0 0 32px;
}

.footer-panel {
  padding: 28px;
}

.footer-trust {
  margin-bottom: 26px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(234, 223, 214, 0.86);
}

.footer-trust-head {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.footer-trust-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer-trust-label::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
}

.footer-trust-head p {
  max-width: 54ch;
  color: var(--muted);
}

.footer-badge-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.footer-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  min-height: 146px;
  border-radius: 26px;
  border: 1px solid rgba(234, 223, 214, 0.94);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-soft);
}

.footer-badge img {
  display: block;
  width: 100%;
  max-height: 174px;
  height: auto;
  object-fit: contain;
}

.footer-certifications {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  margin-top: 12px;
}

.footer-certificate-stack {
  display: grid;
  align-content: start;
  gap: 8px;
}

.footer-certificate {
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid rgba(206, 214, 222, 0.96);
  box-shadow: 0 12px 24px rgba(19, 19, 19, 0.06);
}

.footer-certificate img {
  display: block;
  width: 100%;
  height: auto;
}

.footer-certificate--google {
  width: 104px;
}

.footer-certificate--desag {
  width: min(100%, 240px);
}

.footer-certificate-note {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.55;
}

.footer-trust-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) repeat(2, minmax(0, 0.86fr));
  gap: 18px;
}

.trust-card {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(234, 223, 214, 0.94);
  box-shadow: var(--shadow-soft);
}

.trust-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(145deg, rgba(239, 127, 97, 0.08), transparent 34%),
    linear-gradient(320deg, rgba(239, 127, 97, 0.05), transparent 42%);
  pointer-events: none;
}

.trust-card > * {
  position: relative;
  z-index: 1;
}

.trust-card--primary {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  background: linear-gradient(135deg, #fff8f3 0%, #ffffff 100%);
}

.trust-seal,
.trust-icon {
  display: grid;
  place-items: center;
  color: var(--accent-strong);
}

.trust-seal {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  border: 1px solid rgba(239, 127, 97, 0.26);
  background: radial-gradient(circle at top, rgba(239, 127, 97, 0.18), rgba(239, 127, 97, 0.06));
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.6);
}

.trust-seal svg {
  width: 48px;
  height: 48px;
}

.trust-overline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.trust-overline::before {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
}

.trust-card h3 {
  margin-top: 10px;
  font-size: 1.34rem;
  color: var(--text);
  letter-spacing: -0.03em;
}

.trust-card p {
  margin-top: 10px;
  color: var(--muted);
}

.trust-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.trust-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 255, 255, 0.9);
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 800;
}

.trust-icon {
  width: 50px;
  height: 50px;
  margin-bottom: 16px;
  border-radius: 16px;
  border: 1px solid rgba(239, 127, 97, 0.18);
  background: rgba(239, 127, 97, 0.1);
}

.trust-icon svg {
  width: 24px;
  height: 24px;
}

.trust-card strong {
  display: block;
  font-size: 1.02rem;
  margin-bottom: 8px;
}

.footer-grid {
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
}

.footer-brand {
  display: grid;
  gap: 12px;
}

.footer-brand .brand-mark {
  width: 76px;
}

.footer-title {
  margin-bottom: 12px;
  color: var(--text);
  
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-links {
  display: grid;
  gap: 10px;
  color: var(--muted);
}

.footer-links a:hover {
  color: var(--accent-strong);
}

.footer-bottom {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--muted);
  font-size: 0.9rem;
}

.footer-legal {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.mobile-cta {
  display: none;
}

.redirect-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
}

.redirect-shell {
  width: min(560px, calc(100% - 32px));
  padding: 34px;
  text-align: center;
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1120px) {
  .hero-shell,
  .two-column,
  .form-layout,
  .service-detail-grid,
  .split-grid,
  .footer-grid,
  .service-hero-shell,
  .service-photo-layout {
    grid-template-columns: 1fr;
  }

  .cards-grid,
  .proof-grid,
  .contact-grid,
  .cross-grid,
  .service-facts-grid,
  .service-gallery-grid,
  .footer-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-copy,
  .hero-aside {
    min-height: auto;
  }
}

@media (max-width: 900px) {
  .nav-desktop,
  .nav-actions .btn {
    display: none;
  }

  .menu-toggle {
    display: grid;
    place-items: center;
  }

  .stats-bar,
  .facts-grid,
  .process-grid,
  .proof-grid,
  .quote-grid,
  .contact-grid,
  .cross-grid,
  .cards-grid,
  .form-grid,
  .service-facts-grid,
  .service-gallery-grid,
  .footer-trust-grid {
    grid-template-columns: 1fr;
  }

  .topbar-inner,
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .header-inner {
    min-height: 82px;
  }

  .trust-card--primary {
    grid-template-columns: 1fr;
  }

  .hero-shell--legal {
    grid-template-columns: 1fr;
  }

  .hero-copy--legal h1 {
    max-width: 12ch;
    font-size: clamp(2.4rem, 8vw, 4rem);
  }

  .hero-copy--legal .lead {
    max-width: 34ch;
  }
}

@media (max-width: 640px) {
  :root {
    --container: min(100% - 24px, 1180px);
  }

  body::after {
    width: 260px;
    height: 260px;
    right: -90px;
  }

  .brand-mark {
    width: 54px;
  }

  .brand-copy strong {
    font-size: 1.46rem;
  }

  .hero-copy,
  .hero-aside,
  .service-card,
  .detail-card,
  .contact-card,
  .info-card,
  .form-card,
  .quote-card,
  .footer-panel,
  .service-copy-card,
  .service-spotlight-card {
    padding: 22px;
  }

  .hero-copy--legal {
    padding: 24px;
  }

  .hero-copy--legal h1 {
    max-width: 100%;
    font-size: clamp(2.1rem, 10vw, 3rem);
    line-height: 0.96;
  }

  .hero-copy--legal .lead {
    max-width: 100%;
  }

  .button-row,
  .cta-actions,
  .service-hero-actions {
    display: grid;
  }

  .btn {
    width: 100%;
  }

  .service-icon-stage {
    width: min(100%, 360px);
  }

  .service-floating-card {
    position: static;
    max-width: none;
    margin-top: 14px;
  }

.mobile-cta {
    position: sticky;
    bottom: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid rgba(234, 223, 214, 0.92);
    backdrop-filter: blur(18px);
  }
}

.home-hero-grid,
.home-entry-grid,
.service-preview-grid,
.service-directory-grid,
.signature-grid {
  width: var(--container);
  margin: 0 auto;
  display: grid;
  gap: 24px;
}

.home-hero-grid,
.signature-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
  align-items: stretch;
}

.home-entry-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-preview-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-directory-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-hero-panel,
.home-hero-media,
.entry-card,
.service-preview-card,
.service-directory-card,
.signature-panel,
.signature-stack > * {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(234, 223, 214, 0.94);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

.home-hero-panel,
.signature-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 46px);
}

.home-hero-panel::before,
.entry-card::before,
.service-preview-card::after,
.service-directory-card::after,
.signature-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(145deg, rgba(239, 127, 97, 0.08), transparent 34%),
    linear-gradient(320deg, rgba(239, 127, 97, 0.05), transparent 38%);
}

.home-hero-panel > *,
.signature-panel > * {
  position: relative;
  z-index: 1;
}

.home-hero-panel h1,
.signature-panel h2 {
  margin-top: 18px;
  max-width: 11ch;
}

.home-hero-panel .lead,
.signature-panel .lead {
  margin-top: 22px;
}

.home-hero-panel .button-row,
.signature-panel .button-row {
  margin-top: 26px;
}

.home-hero-panel .pill-row {
  margin-top: 18px;
}

.home-proof-strip {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.home-proof-item {
  padding: 16px 18px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(234, 223, 214, 0.84);
}

.home-proof-item strong {
  display: block;
  margin-bottom: 6px;
  font-size: 0.96rem;
}

.home-proof-item p {
  color: var(--muted);
  font-size: 0.93rem;
}

.home-hero-media {
  position: relative;
  overflow: hidden;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.92fr);
  gap: 18px;
}

.home-hero-media::before {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 220px;
  height: 220px;
  background: url("mecon-mark.svg") no-repeat center / contain;
  opacity: 0.08;
  pointer-events: none;
}

.home-media-main,
.home-media-card,
.home-image-tile {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
}

.home-media-main {
  min-height: 100%;
}

.home-media-main img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.home-media-note {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 16px 18px;
  border-radius: 22px;
  background: rgba(19, 19, 19, 0.78);
  color: #ffffff;
  backdrop-filter: blur(16px);
}

.home-media-note strong,
.home-media-note p {
  color: #ffffff;
}

.home-media-note p {
  margin-top: 6px;
  font-size: 0.94rem;
}

.home-media-stack,
.signature-stack {
  display: grid;
  gap: 18px;
}

.home-media-card {
  padding: 20px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(234, 223, 214, 0.92);
  box-shadow: var(--shadow-soft);
}

.home-media-card--dark {
  background: linear-gradient(145deg, #151515, #2b2b2b);
}

.home-media-card--dark strong,
.home-media-card--dark p,
.home-media-card--dark .home-badge {
  color: #ffffff;
}

.home-media-card--dark .home-badge {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
}

.home-media-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.04rem;
}

.home-media-card p {
  color: var(--muted);
}

.home-badge-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.home-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 247, 242, 0.94);
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 800;
}

.entry-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  display: grid;
  gap: 14px;
  min-height: 100%;
}

.entry-card > * {
  position: relative;
  z-index: 1;
}

.entry-card-icon,
.service-preview-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 247, 242, 0.94));
  color: var(--accent);
}

.entry-card-icon svg,
.service-preview-icon svg {
  width: 30px;
  height: 30px;
  display: block;
}

.entry-card strong {
  font-size: 1.08rem;
}

.entry-card p {
  color: var(--muted);
}

.service-preview-card {
  --service-preview: var(--accent);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.service-preview-card::before,
.service-directory-card::before {
  content: "";
  display: block;
  height: 6px;
  background: var(--service-preview);
}

.service-preview-card > *,
.service-directory-card > * {
  position: relative;
  z-index: 1;
}

.service-preview-visual {
  position: relative;
  min-height: 210px;
  overflow: hidden;
}

.service-preview-visual img,
.service-directory-media img,
.home-image-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-preview-chip,
.service-directory-count {
  position: absolute;
  top: 18px;
  left: 18px;
  min-height: 34px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(19, 19, 19, 0.8);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.service-preview-body,
.service-directory-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

.service-preview-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
}

.service-preview-icon {
  color: var(--service-preview);
}

.service-preview-body h3,
.service-directory-body h3 {
  color: var(--accent-strong);
}

.service-preview-body p,
.service-directory-body p {
  color: var(--text);
}

.service-preview-body .pill-row,
.service-directory-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-preview-body .pill,
.service-directory-tags span {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 247, 242, 0.96);
  font-size: 0.8rem;
  font-weight: 800;
}

.service-preview-body .btn-text,
.service-directory-body .btn-text {
  margin-top: auto;
  font-weight: 800;
}

.service-directory-card {
  --service-preview: var(--accent);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(220px, 250px) minmax(0, 1fr);
}

.service-directory-media {
  position: relative;
  min-height: 100%;
}

.service-directory-body h3 {
  max-width: 16ch;
}

.signature-panel {
  background: linear-gradient(145deg, #151515, #292929);
  box-shadow: var(--shadow);
}

.signature-panel h2,
.signature-panel p,
.signature-panel strong,
.signature-panel .eyebrow,
.signature-panel .lead {
  color: #ffffff;
}

.signature-panel .eyebrow::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.24));
}

.signature-panel .pill {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.signature-stack > * {
  padding: 24px;
}

.signature-quote {
  font-size: clamp(1.28rem, 2vw, 1.8rem);
  line-height: 1.25;
  color: #ffffff;
  max-width: 18ch;
}

.signature-meta {
  margin-top: 20px;
  display: grid;
  gap: 12px;
}

.signature-meta strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1rem;
}

@media (max-width: 1120px) {
  .home-hero-grid,
  .signature-grid,
  .service-directory-grid {
    grid-template-columns: 1fr;
  }

  .footer-badge-strip {
    grid-template-columns: 1fr;
  }

  .footer-certifications {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .home-entry-grid,
  .service-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .home-entry-grid,
  .service-preview-grid,
  .service-directory-grid,
  .home-proof-strip {
    grid-template-columns: 1fr;
  }

  .home-hero-media {
    grid-template-columns: 1fr;
  }

  .home-media-main img {
    min-height: 360px;
  }

  .service-directory-card {
    grid-template-columns: 1fr;
  }

  .service-directory-media {
    min-height: 240px;
  }
}

@media (max-width: 640px) {
  .home-hero-panel,
  .home-hero-media,
  .entry-card,
  .service-preview-body,
  .service-directory-body,
  .signature-panel,
  .signature-stack > * {
    padding: 22px;
  }

  .service-preview-visual {
    min-height: 190px;
  }

  .home-media-note {
    left: 14px;
    right: 14px;
    bottom: 14px;
  }
}

.topbar {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(234, 223, 214, 0.68);
}

.topbar-inner {
  min-height: 40px;
  justify-content: flex-end;
  gap: 14px;
  font-size: 0.82rem;
}

.topbar-inner > span {
  display: none;
}

.topbar-links {
  margin-left: auto;
  gap: 16px;
}

.topbar-links a {
  font-weight: 700;
  color: var(--text);
}

.site-header {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(234, 223, 214, 0.76);
}

.site-header.scrolled {
  box-shadow: 0 18px 40px rgba(19, 19, 19, 0.08);
}

.header-inner {
  min-height: 88px;
  gap: 28px;
}

.brand {
  gap: 12px;
}

.brand-mark {
  width: 58px;
}

.brand-copy strong {
  font-size: 1.64rem;
}

.brand-copy small {
  font-size: 0.73rem;
  letter-spacing: 0.04em;
}

.nav-desktop {
  margin-left: auto;
  gap: 24px;
}

.nav-desktop > a,
.nav-dropdown-toggle {
  position: relative;
  padding: 10px 0;
  font-size: 0.96rem;
  font-weight: 800;
  color: var(--text);
  background: none;
  border: 0;
  cursor: pointer;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s ease;
}

.nav-desktop > a:hover::after,
.nav-desktop > a.active::after,
.nav-dropdown-toggle:hover::after,
.nav-dropdown-toggle.active::after,
.nav-dropdown.active .nav-dropdown-toggle::after {
  transform: scaleX(1);
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.nav-dropdown-caret {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.18s ease;
}

.nav-dropdown:hover .nav-dropdown-caret,
.nav-dropdown:focus-within .nav-dropdown-caret,
.nav-dropdown.open .nav-dropdown-caret {
  transform: rotate(-135deg) translateY(-1px);
}

.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 16px);
  left: -18px;
  min-width: 390px;
  padding: 16px;
  display: grid;
  gap: 6px;
  border-radius: 24px;
  border: 1px solid rgba(234, 223, 214, 0.96);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 48px rgba(19, 19, 19, 0.1);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  backdrop-filter: blur(18px);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.nav-dropdown-menu a {
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text);
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.nav-dropdown-menu a::after {
  content: none;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active {
  background: rgba(239, 127, 97, 0.1);
  color: var(--accent-strong);
  transform: translateX(2px);
}

.nav-dropdown-overview {
  margin-bottom: 4px;
  background: rgba(255, 247, 242, 0.96);
  color: var(--accent-strong);
}

.nav-actions {
  gap: 10px;
}

.menu-toggle {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 14px 32px rgba(239, 127, 97, 0.22);
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  background: #ffffff;
}

.menu-toggle:hover {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
}

.mobile-panel {
  border-top: 1px solid rgba(234, 223, 214, 0.72);
  padding: 0 20px 20px;
  background: rgba(255, 255, 255, 0.98);
}

.mobile-panel nav {
  gap: 8px;
}

.mobile-panel a,
.mobile-group-toggle {
  width: 100%;
  padding: 12px 0;
  font-size: 1rem;
  font-weight: 800;
  text-align: left;
  color: var(--text);
  background: none;
  border: 0;
}

.mobile-group {
  border-top: 1px solid rgba(234, 223, 214, 0.72);
  border-bottom: 1px solid rgba(234, 223, 214, 0.72);
}

.mobile-group-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.mobile-group-caret {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.18s ease;
}

.mobile-group.open .mobile-group-caret {
  transform: rotate(-135deg);
}

.mobile-group-panel {
  display: none;
  padding: 2px 0 12px 16px;
}

.mobile-group.open .mobile-group-panel {
  display: grid;
}

.mobile-group-panel a {
  padding: 10px 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--muted);
}

.mobile-group-panel a.active,
.mobile-group-panel a:hover {
  color: var(--accent-strong);
}

@media (max-width: 1120px) {
  .nav-dropdown-menu {
    min-width: 350px;
    left: -12px;
  }
}

@media (max-width: 900px) {
  .topbar-inner {
    justify-content: flex-start;
  }

  .topbar-links {
    margin-left: 0;
  }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.985);
  backdrop-filter: blur(16px);
}

.header-inner {
  min-height: 92px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
}

.brand {
  gap: 12px;
}

.brand-mark {
  width: 62px;
}

.nav-desktop {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(234, 223, 214, 0.92);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 14px 30px rgba(19, 19, 19, 0.05);
}

.nav-desktop > a,
.nav-desktop > .nav-dropdown {
  display: inline-flex;
  align-items: center;
}

.nav-desktop > * + * {
  position: relative;
  margin-left: 16px;
  padding-left: 16px;
}

.nav-desktop > * + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 18px;
  transform: translateY(-50%);
  background: rgba(19, 19, 19, 0.12);
}

.nav-desktop > a,
.nav-dropdown-toggle {
  padding: 8px 0;
  font-size: 0.97rem;
  font-weight: 800;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  bottom: -4px;
}

.nav-actions {
  justify-self: end;
  gap: 12px;
}

.nav-actions .btn-secondary {
  display: none;
}

.nav-actions .btn-primary {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 0.9rem;
  box-shadow: 0 14px 28px rgba(239, 127, 97, 0.18);
}

.menu-toggle {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(239, 127, 97, 0.18);
  background: var(--accent);
  box-shadow: 0 14px 30px rgba(239, 127, 97, 0.24);
}

.menu-toggle:hover {
  transform: translateY(-1px);
}

.mobile-panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 20px;
  width: min(420px, calc(100vw - 32px));
  padding: 18px;
  border-radius: 28px;
  border: 1px solid rgba(234, 223, 214, 0.96);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 48px rgba(19, 19, 19, 0.12);
  backdrop-filter: blur(20px);
}

.mobile-panel nav {
  padding-top: 0;
  gap: 4px;
}

.mobile-panel a,
.mobile-group-toggle {
  padding: 12px 6px;
}

@media (max-width: 900px) {
  .nav-desktop,
  .nav-actions .btn {
    display: none;
  }

  .menu-toggle {
    display: grid;
  }

  .header-inner {
    min-height: 84px;
    grid-template-columns: auto 1fr auto;
  }

  .mobile-panel {
    position: static;
    width: auto;
    margin: 0 20px 16px;
    border-radius: 24px;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.08);
  }
}

@media (max-width: 640px) {
  .brand-mark {
    width: 54px;
  }

  .brand-copy strong {
    font-size: 1.46rem;
  }

  .mobile-panel {
    margin: 0 12px 12px;
    width: auto;
  }
}

/* Banner header system */

.banner-header {
  --banner-accent: #ef7f61;
  --banner-accent-dark: #d6643d;
  --banner-image: url("../assets/services/1560518883-ce09059eeffa-w1400.jpg");
  position: relative;
  overflow: clip;
  padding: clamp(22px, 3vw, 34px) 0 48px;
  min-height: clamp(560px, 76vh, 780px);
  background:
    linear-gradient(90deg, rgba(10, 14, 20, 0.8) 0%, rgba(10, 14, 20, 0.62) 42%, rgba(10, 14, 20, 0.28) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(10, 14, 20, 0.34)),
    var(--banner-image) center / cover no-repeat;
}

.banner-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 22%),
    linear-gradient(180deg, rgba(10, 14, 20, 0) 35%, rgba(10, 14, 20, 0.28) 100%);
  pointer-events: none;
}

.banner-header::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -80px;
  width: min(34vw, 420px);
  height: min(34vw, 420px);
  background: url("mecon-mark.svg") no-repeat center / contain;
  opacity: 0.08;
  filter: brightness(0) invert(1);
  pointer-events: none;
}

.banner-shell {
  width: var(--container);
  margin: 0 auto;
  min-height: clamp(400px, 58vh, 560px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  gap: clamp(28px, 4vw, 60px);
  align-items: end;
  position: relative;
  z-index: 1;
}

.banner-copy {
  max-width: 780px;
  padding: 20px 0;
}

.banner-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.14);
}

.banner-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
  max-width: 13ch;
  color: #ffffff;
  font-size: clamp(2.7rem, 5.2vw, 5.1rem);
  line-height: 0.98;
}

.banner-title span {
  display: block;
  padding: 12px 18px 14px;
  border-radius: 18px;
  background: linear-gradient(90deg, var(--banner-accent), var(--banner-accent-dark));
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
}

.banner-title--wide {
  max-width: 14ch;
}

.banner-contactline {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(15, 18, 24, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 700;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.14);
}

.banner-copy .lead {
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.96);
  max-width: 58ch;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 28px;
}

.banner-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.banner-tag {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 700;
  backdrop-filter: blur(10px);
}

.banner-side {
  display: flex;
  justify-content: flex-end;
  align-items: end;
}

.banner-icon-frame {
  position: relative;
  width: min(100%, 410px);
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06));
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 32px 68px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
}

.banner-icon-frame::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.banner-icon-frame img,
.banner-icon-frame svg {
  position: relative;
  z-index: 1;
}

.banner-icon-frame img {
  width: min(64%, 260px);
}

.banner-icon-frame--brand img {
  filter: brightness(0) invert(1);
}

.banner-icon-frame svg {
  width: min(72%, 300px);
  height: auto;
  fill: none;
  stroke: #ffffff;
  stroke-width: 14;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.banner-float-tag {
  position: absolute;
  z-index: 2;
  max-width: 220px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(12px);
}

.banner-float-tag strong,
.banner-float-tag span {
  display: block;
  color: #ffffff;
}

.banner-float-tag strong {
  margin-bottom: 4px;
  font-size: 0.98rem;
}

.banner-float-tag span {
  font-size: 0.84rem;
  line-height: 1.45;
  opacity: 0.94;
}

.banner-float-tag--top {
  top: 20px;
  right: 20px;
}

.banner-float-tag--bottom {
  left: 20px;
  bottom: 20px;
}

.banner-expert-card {
  position: relative;
  z-index: 2;
  width: var(--container);
  margin: -34px auto 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(240px, 0.8fr);
  gap: 22px;
  align-items: center;
  padding: 24px 28px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(234, 223, 214, 0.96);
  box-shadow: 0 24px 56px rgba(19, 19, 19, 0.12);
}

.banner-expert-badge {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(239, 127, 97, 0.16), rgba(239, 127, 97, 0.04));
  border: 1px solid rgba(239, 127, 97, 0.16);
}

.banner-expert-badge img {
  width: 52px;
}

.banner-expert-overline {
  display: block;
  margin-bottom: 8px;
  color: var(--accent-strong);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.banner-expert-copy strong {
  display: block;
  font-size: clamp(1.2rem, 2.2vw, 1.56rem);
}

.banner-expert-copy p {
  margin-top: 6px;
  color: var(--muted);
}

.banner-expert-points {
  display: grid;
  gap: 10px;
}

.banner-expert-points li {
  position: relative;
  padding-left: 18px;
  color: var(--text);
  font-size: 0.96rem;
  font-weight: 700;
}

.banner-expert-points li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--banner-accent);
}

.banner-copy.service-hero-copy h1.banner-title {
  margin-top: 18px;
  max-width: 12.5ch;
}

.banner-header--home {
  --banner-accent: #ef7f61;
  --banner-accent-dark: #d6643d;
  --banner-image: url("../assets/services/1504307651254-35680f356dfd-w1400.jpg");
}

.banner-header--services {
  --banner-accent: #131313;
  --banner-accent-dark: #ef7f61;
  --banner-image: url("../assets/services/1600585154526-990dced4db0d-w1200.jpg");
}

.banner-header--hauscheck {
  --banner-accent: #ef7f61;
  --banner-accent-dark: #d6643d;
  --banner-image: url("../assets/services/1600047509358-9dc75507daeb-w1200.jpg");
}

.banner-header--kaufberatung {
  --banner-accent: #1198d5;
  --banner-accent-dark: #0a7ab8;
  --banner-image: url("../assets/services/1560518883-ce09059eeffa-w1400.jpg");
}

.banner-header--bauschaeden {
  --banner-accent: #e84c73;
  --banner-accent-dark: #cf315b;
  --banner-image: url("../assets/services/1503387762-592deb58ef4e-w1400.jpg");
}

.banner-header--sanierungsberatung {
  --banner-accent: #ef8c52;
  --banner-accent-dark: #d86a39;
  --banner-image: url("../assets/services/1484154218962-a197022b5858-w1400.jpg");
}

.banner-header--abnahmebegleitung {
  --banner-accent: #127c7a;
  --banner-accent-dark: #0c6360;
  --banner-image: url("../assets/services/1560185007-cde436f6a4d0-w1400.jpg");
}

.banner-header--baubegleitung {
  --banner-accent: #355f9a;
  --banner-accent-dark: #24477b;
  --banner-image: url("../assets/services/1504307651254-35680f356dfd-w1400.jpg");
}

.banner-header--wertermittlung {
  --banner-accent: #2d3136;
  --banner-accent-dark: #17191c;
  --banner-image: url("../assets/services/1489515217757-5fd1be406fef-w1200.jpg");
}

.banner-header--about {
  --banner-accent: #ef7f61;
  --banner-accent-dark: #d6643d;
  --banner-image: url("../assets/services/1600585153490-76fb20a32601-w1200.jpg");
}

.banner-header--contact {
  --banner-accent: #131313;
  --banner-accent-dark: #ef7f61;
  --banner-image: url("../assets/services/1505693416388-ac5ce068fe85-w1200.jpg");
}

@media (max-width: 1080px) {
  .banner-shell,
  .banner-expert-card {
    grid-template-columns: 1fr;
  }

  .banner-side {
    justify-content: flex-start;
  }

  .banner-icon-frame {
    width: min(100%, 340px);
  }
}

@media (max-width: 720px) {
  .banner-header {
    min-height: auto;
    padding: 16px 0 32px;
  }

  .banner-shell {
    min-height: auto;
    gap: 24px;
  }

  .banner-kicker,
  .banner-contactline {
    font-size: 0.82rem;
  }

  .banner-title {
    gap: 8px;
    font-size: clamp(2.2rem, 10vw, 3.5rem);
  }

  .banner-title span {
    padding: 10px 14px 12px;
    border-radius: 16px;
  }

  .banner-expert-card {
    margin-top: -18px;
    padding: 20px;
  }

  .banner-expert-badge {
    width: 72px;
    height: 72px;
    border-radius: 20px;
  }

  .banner-float-tag {
    max-width: 180px;
    padding: 12px 14px;
  }

  .banner-float-tag--top {
    top: 14px;
    right: 14px;
  }

  .banner-float-tag--bottom {
    left: 14px;
    bottom: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Visual polish layer */

section[id] {
  scroll-margin-top: 124px;
}

main {
  overflow: clip;
}

.topbar {
  position: relative;
  z-index: 61;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 248, 0.94));
  border-bottom: 1px solid rgba(234, 223, 214, 0.84);
}

.topbar-inner {
  justify-content: space-between;
  min-height: 44px;
}

.topbar-inner > span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(239, 127, 97, 0.1);
  border: 1px solid rgba(239, 127, 97, 0.14);
  color: var(--accent-strong);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-header {
  box-shadow: 0 10px 28px rgba(19, 19, 19, 0.045);
}

.site-header.scrolled {
  box-shadow: 0 22px 48px rgba(19, 19, 19, 0.09);
}

.header-inner {
  gap: 30px;
}

.brand-copy strong {
  letter-spacing: -0.06em;
}

.nav-desktop {
  padding: 9px 16px;
  border-color: rgba(231, 220, 210, 0.95);
  box-shadow: 0 18px 38px rgba(19, 19, 19, 0.05);
}

.nav-dropdown-menu {
  top: calc(100% + 18px);
  box-shadow: 0 32px 64px rgba(19, 19, 19, 0.14);
}

.banner-header {
  padding-bottom: 64px;
}

.banner-header::before {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 24%),
    linear-gradient(180deg, rgba(10, 14, 20, 0.02) 12%, rgba(10, 14, 20, 0.38) 100%);
}

.banner-shell {
  align-items: center;
}

.banner-copy {
  padding: 32px 0 16px;
}

.banner-title span {
  letter-spacing: -0.05em;
}

.banner-contactline {
  backdrop-filter: blur(16px);
}

.banner-icon-frame {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.22), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.05));
}

.banner-expert-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(255, 249, 244, 0.97));
  backdrop-filter: blur(12px);
}

.banner-expert-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--accent), rgba(239, 127, 97, 0.16));
}

.banner-expert-copy strong {
  max-width: 30ch;
}

.section-head {
  align-items: flex-start;
  margin-bottom: 36px;
}

.section-head > div {
  max-width: 620px;
}

.section-head h2 {
  max-width: 12ch;
}

.entry-card,
.service-preview-card,
.service-directory-card,
.proof-card,
.contact-card,
.detail-card,
.form-card,
.quote-card,
.service-spotlight-card,
.service-photo-card,
.service-gallery-card,
.mini-card,
.process-step {
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.entry-card:hover,
.service-preview-card:hover,
.service-directory-card:hover,
.proof-card:hover,
.contact-card:hover,
.detail-card:hover,
.form-card:hover,
.quote-card:hover,
.service-spotlight-card:hover,
.service-photo-card:hover,
.service-gallery-card:hover,
.mini-card:hover,
.process-step:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 56px rgba(19, 19, 19, 0.1);
  border-color: rgba(214, 100, 61, 0.18);
}

.home-entry-grid .entry-card:nth-child(1) {
  border-top: 5px solid #1198d5;
}

.home-entry-grid .entry-card:nth-child(2) {
  border-top: 5px solid #e84c73;
}

.home-entry-grid .entry-card:nth-child(3) {
  border-top: 5px solid #ef7f61;
}

.home-entry-grid .entry-card:nth-child(1) .entry-card-icon {
  color: #1198d5;
}

.home-entry-grid .entry-card:nth-child(2) .entry-card-icon {
  color: #e84c73;
}

.home-entry-grid .entry-card:nth-child(3) .entry-card-icon {
  color: #ef7f61;
}

.home-entry-grid .entry-card:nth-child(1) .btn-text {
  color: #0a7ab8;
}

.home-entry-grid .entry-card:nth-child(2) .btn-text {
  color: #cf315b;
}

.entry-card::after {
  content: "";
  position: absolute;
  right: -24px;
  top: -34px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(239, 127, 97, 0.08);
  pointer-events: none;
}

.home-entry-grid .entry-card:nth-child(1)::after {
  background: rgba(17, 152, 213, 0.1);
}

.home-entry-grid .entry-card:nth-child(2)::after {
  background: rgba(232, 76, 115, 0.1);
}

.service-preview-card,
.service-directory-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 248, 243, 0.96));
}

.service-preview-visual,
.service-directory-media,
.service-photo-card,
.service-gallery-card {
  position: relative;
  background: #131313;
}

.service-preview-visual::after,
.service-directory-media::after,
.service-photo-card::after,
.service-gallery-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(19, 19, 19, 0.02), rgba(19, 19, 19, 0.18));
  pointer-events: none;
}

.service-preview-visual img,
.service-directory-media img,
.service-photo-card img,
.service-gallery-card img {
  transition: transform 0.48s ease;
}

.service-preview-card:hover .service-preview-visual img,
.service-directory-card:hover .service-directory-media img,
.service-photo-card:hover img,
.service-gallery-card:hover img {
  transform: scale(1.05);
}

.service-preview-chip,
.service-directory-count {
  top: auto;
  bottom: 18px;
  left: 18px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  border: 1px solid rgba(234, 223, 214, 0.92);
  box-shadow: 0 12px 24px rgba(19, 19, 19, 0.08);
}

.service-preview-body,
.service-directory-body {
  padding: 28px;
  gap: 18px;
}

.service-preview-head {
  gap: 16px;
}

.service-preview-icon {
  width: 60px;
  height: 60px;
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(19, 19, 19, 0.06);
}

.service-preview-body h3,
.service-directory-body h3 {
  line-height: 1.06;
}

.service-directory-card {
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
}

.service-directory-media {
  min-height: 100%;
}

.service-directory-tags span,
.service-preview-body .pill {
  background: rgba(255, 255, 255, 0.92);
}

.service-photo-layout {
  gap: 34px;
}

.service-photo-card {
  min-height: 500px;
}

.service-copy-card {
  position: relative;
  padding: 38px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 248, 243, 0.96));
}

.service-copy-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(140deg, rgba(239, 127, 97, 0.08), transparent 32%),
    radial-gradient(circle at top right, rgba(239, 127, 97, 0.08), transparent 26%);
  pointer-events: none;
}

.service-copy-card > * {
  position: relative;
  z-index: 1;
}

.service-spotlight-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 247, 242, 0.96));
  padding: 26px;
}

.service-gallery-card {
  aspect-ratio: 1 / 0.86;
  min-height: auto;
}

.process-step {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 244, 0.95));
  border: 1px solid rgba(234, 223, 214, 0.94);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
}

.process-step::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--accent), rgba(239, 127, 97, 0.18));
}

.process-step span {
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  background: rgba(239, 127, 97, 0.14);
}

.detail-card,
.form-card,
.contact-card,
.proof-card,
.quote-card,
.mini-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 244, 0.95));
}

.detail-card .lead,
.contact-card p,
.proof-card p,
.mini-card p,
.form-card p {
  color: var(--muted);
}

.proof-grid .proof-card,
.contact-grid .contact-card {
  padding: 24px;
}

.form-card {
  padding: 30px;
}

label {
  color: #3f372f;
}

input,
textarea,
select {
  background: linear-gradient(180deg, #ffffff, #fffaf6);
}

.footer {
  padding: 12px 0 36px;
}

.footer-panel {
  padding: 30px;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 248, 243, 0.96));
  border: 1px solid rgba(234, 223, 214, 0.96);
  box-shadow: 0 28px 64px rgba(19, 19, 19, 0.08);
}

.footer-trust {
  margin-bottom: 30px;
  padding-bottom: 28px;
}

.footer-badge {
  padding: 12px;
  min-height: 150px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 248, 243, 0.96));
}

.footer-grid {
  gap: 26px;
}

.footer-brand {
  padding-right: 16px;
}

.footer-links {
  gap: 11px;
}

.footer-links a,
.footer-links span {
  line-height: 1.55;
}

.footer-bottom {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(234, 223, 214, 0.86);
}

.trust-card {
  padding: 24px;
}

@media (max-width: 1120px) {
  .topbar-inner > span {
    display: none;
  }

  .service-directory-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .section-head {
    gap: 18px;
  }

  .service-photo-card {
    min-height: 380px;
  }

  .banner-expert-card::before {
    width: 100%;
    height: 6px;
    inset: 0 0 auto;
  }
}

@media (max-width: 640px) {
  .banner-header {
    padding-bottom: 42px;
  }

  .banner-copy {
    padding-top: 18px;
  }

  .service-preview-body,
  .service-directory-body,
  .service-copy-card,
  .footer-panel,
  .form-card {
    padding: 24px;
  }

  .service-preview-chip,
  .service-directory-count {
    left: 14px;
    bottom: 14px;
  }

  .entry-card:hover,
  .service-preview-card:hover,
  .service-directory-card:hover,
  .proof-card:hover,
  .contact-card:hover,
  .detail-card:hover,
  .form-card:hover,
  .quote-card:hover,
  .service-spotlight-card:hover,
  .service-photo-card:hover,
  .service-gallery-card:hover,
  .mini-card:hover,
  .process-step:hover {
    transform: none;
  }

  .footer-certifications {
    grid-template-columns: 1fr;
  }

  .footer-certificate--google {
    width: 108px;
  }
}

/* Service preview optimization */

.service-preview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.service-preview-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 244px !important;
  grid-template-areas: "body visual" !important;
  align-items: stretch !important;
  min-height: 0;
  border-radius: 32px;
}

.service-preview-visual {
  grid-area: visual !important;
  min-height: 100%;
  height: 100%;
  border-left: 1px solid rgba(234, 223, 214, 0.92);
}

.service-preview-body {
  grid-area: body !important;
  display: grid !important;
  align-content: start;
  padding: 32px 28px 28px;
}

.service-preview-body h3 {
  max-width: 11ch;
  font-size: clamp(1.5rem, 2vw, 1.85rem);
  line-height: 1.08;
}

.service-preview-head > div {
  display: grid;
  gap: 10px;
}

.service-preview-head {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
}

.service-preview-head p {
  max-width: 30ch;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.62;
}

.service-preview-body .checklist {
  max-width: 32ch;
  gap: 11px;
}

.service-preview-body .checklist li {
  color: #5d554d;
}

.service-preview-body .pill-row {
  margin-top: 2px;
}

.service-preview-body .btn-text {
  margin-top: 8px;
  align-self: flex-start;
}

.service-preview-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  height: auto;
  z-index: 2;
}

.service-preview-chip {
  top: auto;
  left: 18px;
  bottom: 18px;
}

.service-preview-visual img {
  object-position: center;
}

@media (max-width: 900px) {
  .service-preview-grid {
    grid-template-columns: 1fr;
  }

  .service-preview-card {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "visual"
      "body" !important;
  }

  .service-preview-visual {
    min-height: 220px !important;
    border-left: 0;
    border-bottom: 1px solid rgba(234, 223, 214, 0.92);
  }

  .service-preview-body {
    padding: 26px 24px 24px;
  }

  .service-preview-card::before {
    inset: 0 0 auto;
    width: auto;
    height: 6px;
  }

  .service-preview-chip {
    top: auto;
    left: 14px;
    bottom: 14px;
  }
}

/* Leistungen directory optimization */

.page-leistungen .service-directory-grid {
  grid-template-columns: 1fr;
  gap: 28px;
}

.page-leistungen .service-directory-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 340px) !important;
  grid-template-areas: "body media" !important;
  align-items: stretch !important;
  min-height: 0;
  border-radius: 34px;
}

.page-leistungen .service-directory-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  height: auto;
  z-index: 2;
}

.page-leistungen .service-directory-body {
  grid-area: body;
  display: grid !important;
  align-content: start;
  gap: 18px;
  padding: 34px 34px 30px;
}

.page-leistungen .service-preview-head {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
}

.page-leistungen .service-preview-head > div {
  display: grid;
  gap: 10px;
}

.page-leistungen .service-directory-body h3 {
  max-width: 13ch;
  font-size: clamp(1.72rem, 2vw, 2.3rem);
  line-height: 0.98;
}

.page-leistungen .service-directory-body p {
  max-width: 39ch;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.68;
}

.page-leistungen .service-directory-body .checklist {
  max-width: 42ch;
  gap: 12px;
}

.page-leistungen .service-directory-body .checklist li {
  color: #5d554d;
}

.page-leistungen .service-directory-body .btn-text {
  margin-top: 2px;
  align-self: flex-start;
}

.page-leistungen .service-directory-media {
  grid-area: media;
  min-height: 100%;
  height: 100%;
  border-left: 1px solid rgba(234, 223, 214, 0.92);
}

.page-leistungen .service-directory-media img {
  object-position: center;
}

.page-leistungen .service-directory-count {
  top: auto;
  right: auto;
  bottom: 18px;
  left: 18px;
}

@media (max-width: 980px) {
  .page-leistungen .service-directory-card {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "media"
      "body" !important;
  }

  .page-leistungen .service-directory-card::before {
    inset: 0 0 auto;
    width: auto;
    height: 6px;
  }

  .page-leistungen .service-directory-media {
    min-height: 240px !important;
    border-left: 0;
    border-bottom: 1px solid rgba(234, 223, 214, 0.92);
  }

  .page-leistungen .service-directory-body {
    padding: 28px 24px 24px;
  }
}

/* Header and footer structural refinement */

body {
  background: #ffffff;
}

body::before {
  display: none;
}

body::after {
  top: 120px;
  right: -180px;
  opacity: 0.02;
}

.topbar {
  background: #ffffff;
  border-bottom: 1px solid rgba(226, 220, 212, 0.9);
}

.topbar-inner {
  min-height: 38px;
  justify-content: flex-end;
}

.topbar-links {
  margin-left: auto;
  gap: 16px;
  font-size: 0.84rem;
  font-weight: 700;
}

.topbar-inner > span {
  display: none !important;
}

.site-header,
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: none;
  border-bottom: 1px solid rgba(226, 220, 212, 0.9);
  box-shadow: 0 10px 24px rgba(19, 19, 19, 0.04);
}

.header-inner {
  min-height: 88px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 30px;
}

.nav-desktop {
  justify-self: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.nav-desktop > * + * {
  margin-left: 18px;
  padding-left: 18px;
}

.nav-desktop > * + *::before {
  height: 18px;
  background: rgba(19, 19, 19, 0.14);
}

.nav-desktop > a,
.nav-dropdown-toggle {
  padding: 8px 0;
  font-size: 0.97rem;
  font-weight: 800;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  bottom: -8px;
  height: 2px;
}

.nav-actions {
  gap: 14px;
}

.nav-actions .btn-secondary {
  display: none;
}

.nav-actions .btn-primary {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  box-shadow: none;
}

.menu-toggle {
  width: 50px;
  height: 50px;
  border: 1px solid #171717;
  background: #171717;
  box-shadow: none;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  background: #ffffff;
}

.mobile-panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  width: auto;
  padding: 0 20px 20px;
  border-top: 1px solid rgba(226, 220, 212, 0.9);
  border-radius: 0;
  background: #ffffff;
  box-shadow: 0 18px 30px rgba(19, 19, 19, 0.08);
}

.banner-expert-card {
  width: 100%;
  margin: 0;
  padding: 28px max(20px, calc((100vw - 1180px) / 2));
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  box-shadow: none;
  background: #ffffff;
}

.cta-banner {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(34px, 5vw, 52px) max(20px, calc((100vw - 1180px) / 2));
  border-radius: 0;
  box-shadow: none;
}

.footer {
  margin-top: 48px;
  padding: 0;
  background: #ffffff;
  border-top: 1px solid rgba(226, 220, 212, 0.9);
}

.footer-panel {
  padding: 46px 0 26px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.footer-grid {
  grid-template-columns: minmax(420px, 1.55fr) minmax(250px, 1fr) minmax(180px, 0.78fr) minmax(230px, 1fr);
  gap: 42px;
}

.footer-brand {
  padding-right: 34px;
  gap: 18px;
}

.footer-brand .brand-mark {
  width: 58px;
}

.footer-certifications {
  grid-template-columns: 124px minmax(0, 268px);
  align-items: start;
  gap: 18px;
  margin-top: 20px;
}

.footer-certificate {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.footer-certificate--google {
  width: 124px;
}

.footer-certificate--desag {
  width: min(100%, 232px);
}

.footer-certificate-subline {
  display: block;
  max-width: 26ch;
  color: #153f81;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.35;
  text-transform: uppercase;
}

.footer-certificate-note {
  display: block;
  max-width: 28ch;
  padding-top: 2px;
  color: #5f5a54;
  font-size: 0.8rem;
  line-height: 1.62;
}

.footer-certificate--google img {
  filter: saturate(0.98) contrast(1.01);
}

.footer-certificate-stack--desag {
  gap: 8px;
}

.footer-certificate--desag {
  width: min(100%, 232px);
}

.footer-certificate--desag img {
  max-width: 232px;
}

.footer-title {
  margin-bottom: 14px;
}

.footer-links {
  gap: 12px;
}

.footer-links--services {
  gap: 10px;
}

.footer-links--menu {
  gap: 10px;
}

.footer-bottom {
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid rgba(226, 220, 212, 0.9);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-legal {
  margin-left: auto;
}

.footer-signature {
  color: #25211d;
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
}

.footer-signature:hover {
  color: var(--accent-strong);
}

@media (max-width: 1120px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 34px;
  }

  .footer-brand {
    grid-column: 1 / -1;
    padding-right: 0;
  }
}

@media (max-width: 900px) {
  .header-inner {
    display: flex;
    min-height: 80px;
    gap: 18px;
  }

  .banner-expert-card {
    padding: 24px 20px;
  }

  .cta-banner {
    padding: 34px 20px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .footer-panel {
    padding: 32px 0 22px;
  }

  .footer-certifications {
    grid-template-columns: 124px 1fr;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-legal {
    margin-left: 0;
  }
}

/* Premium hero reset */

.banner-header {
  min-height: clamp(680px, 88vh, 920px);
  padding: clamp(26px, 4vw, 46px) 0 56px;
  background:
    linear-gradient(90deg, rgba(10, 14, 18, 0.86) 0%, rgba(10, 14, 18, 0.76) 34%, rgba(10, 14, 18, 0.46) 62%, rgba(10, 14, 18, 0.22) 100%),
    linear-gradient(180deg, rgba(9, 13, 18, 0.22), rgba(9, 13, 18, 0.5)),
    var(--banner-image) center / cover no-repeat;
}

.banner-header::before {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(9, 13, 18, 0.18) 22%, rgba(9, 13, 18, 0.46) 100%);
}

.banner-header::after {
  opacity: 0.045;
  right: -84px;
  bottom: -86px;
  width: min(30vw, 360px);
  height: min(30vw, 360px);
}

.banner-shell {
  min-height: clamp(480px, 62vh, 620px);
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, 0.76fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

.banner-copy {
  max-width: 720px;
  padding: clamp(26px, 3vw, 38px);
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.975), rgba(249, 245, 240, 0.95));
  border: 1px solid rgba(233, 224, 214, 0.96);
  box-shadow: 0 34px 80px rgba(7, 10, 14, 0.22);
}

.banner-kicker {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #6e6459;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.banner-title {
  gap: 4px;
  margin-top: 14px;
  max-width: 10.4ch;
  color: #171514;
  font-size: clamp(3.1rem, 5.6vw, 5.2rem);
  line-height: 0.93;
}

.banner-title span {
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.banner-title span:first-child {
  color: var(--banner-accent-dark);
}

.banner-title span:last-child {
  color: #171514;
}

.banner-title--wide {
  max-width: 10.8ch;
}

.banner-contactline {
  gap: 10px 18px;
  margin-top: 18px;
  padding: 14px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(216, 206, 194, 0.95);
  border-bottom: 1px solid rgba(216, 206, 194, 0.95);
  box-shadow: none;
  backdrop-filter: none;
  color: #403933;
  font-size: 0.95rem;
  font-weight: 700;
}

.banner-contactline span {
  position: relative;
  padding-right: 18px;
}

.banner-contactline span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 999px;
  background: rgba(190, 177, 165, 0.95);
}

.banner-contactline span:last-child {
  padding-right: 0;
}

.banner-contactline span:last-child::after {
  display: none;
}

.banner-copy .lead {
  margin-top: 22px;
  max-width: 56ch;
  color: #433d37;
  font-size: 1.04rem;
  line-height: 1.72;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 26px;
}

.banner-tag-row {
  gap: 10px;
  margin-top: 18px;
}

.banner-tag {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(222, 212, 202, 0.95);
  background: #f6f0ea;
  color: #342f2a;
  font-size: 0.83rem;
  font-weight: 700;
  backdrop-filter: none;
}

.banner-side {
  justify-content: flex-end;
  align-items: center;
}

.banner-icon-frame {
  width: min(100%, 390px);
  aspect-ratio: 0.96 / 1;
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(18, 22, 28, 0.92), rgba(27, 31, 38, 0.82)),
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.08), transparent 36%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 36px 90px rgba(7, 10, 14, 0.3);
  backdrop-filter: none;
}

.banner-icon-frame::before {
  inset: 20px;
  border-radius: 24px;
  border-color: rgba(255, 255, 255, 0.08);
}

.banner-icon-frame img {
  width: min(54%, 214px);
}

.banner-icon-frame svg {
  width: min(62%, 238px);
  stroke-width: 12;
}

.banner-float-tag {
  max-width: 196px;
  padding: 16px 16px 14px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 237, 0.95));
  border: 1px solid rgba(224, 214, 205, 0.96);
  box-shadow: 0 24px 42px rgba(8, 11, 15, 0.18);
  backdrop-filter: none;
}

.banner-float-tag strong,
.banner-float-tag span {
  color: #1f1c1a;
}

.banner-float-tag strong {
  margin-bottom: 5px;
  font-size: 0.92rem;
}

.banner-float-tag span {
  color: #655d56;
  font-size: 0.79rem;
  line-height: 1.56;
  opacity: 1;
}

.banner-float-tag--top {
  top: 22px;
  right: 22px;
}

.banner-float-tag--bottom {
  left: 22px;
  bottom: 22px;
}

.banner-expert-card {
  margin: -24px auto 0;
  padding: 24px 28px;
  border-radius: 26px;
  grid-template-columns: auto minmax(0, 1.24fr) minmax(220px, 0.9fr);
  gap: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(248, 243, 238, 0.97));
  border: 1px solid rgba(233, 224, 214, 0.96);
  box-shadow: 0 28px 68px rgba(9, 12, 16, 0.12);
  backdrop-filter: none;
}

.banner-expert-card::before {
  inset: 0 0 auto;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--banner-accent), rgba(239, 127, 97, 0.22));
}

.banner-expert-badge {
  width: 80px;
  height: 80px;
  border-radius: 22px;
  background: #fff7f2;
  border: 1px solid rgba(233, 224, 214, 0.96);
}

.banner-expert-badge img {
  width: 48px;
}

.banner-expert-overline {
  margin-bottom: 8px;
  color: #8a5a45;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
}

.banner-expert-copy strong {
  max-width: 26ch;
  color: #1a1715;
  font-size: clamp(1.14rem, 2.1vw, 1.48rem);
}

.banner-expert-copy p {
  margin-top: 8px;
  color: #635b54;
  line-height: 1.65;
}

.banner-expert-points {
  gap: 12px;
}

.banner-expert-points li {
  padding-left: 18px;
  color: #403a35;
  font-size: 0.92rem;
  font-weight: 700;
}

.banner-expert-points li::before {
  top: 9px;
  width: 7px;
  height: 7px;
}

@media (max-width: 1180px) {
  .banner-shell {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .banner-copy {
    max-width: none;
  }

  .banner-side {
    justify-content: flex-start;
  }

  .banner-icon-frame {
    width: min(100%, 360px);
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .banner-header {
    min-height: auto;
    padding: 18px 0 34px;
  }

  .banner-shell {
    min-height: auto;
    gap: 22px;
  }

  .banner-copy {
    padding: 24px 22px;
    border-radius: 28px;
  }

  .banner-kicker {
    font-size: 0.72rem;
  }

  .banner-title {
    font-size: clamp(2.3rem, 10.4vw, 3.8rem);
  }

  .banner-contactline {
    gap: 10px 16px;
    font-size: 0.86rem;
  }

  .banner-contactline span {
    padding-right: 14px;
  }

  .banner-copy .lead {
    font-size: 0.98rem;
  }

  .banner-icon-frame {
    width: min(100%, 320px);
    border-radius: 28px;
  }

  .banner-float-tag {
    max-width: 176px;
    padding: 13px 14px 12px;
  }

  .banner-float-tag--top {
    top: 14px;
    right: 14px;
  }

  .banner-float-tag--bottom {
    left: 14px;
    bottom: 14px;
  }

  .banner-expert-card {
    margin-top: -10px;
    padding: 22px;
  }

  .banner-expert-badge {
    width: 70px;
    height: 70px;
  }
}

/* Header menu production refinement */

.topbar {
  position: relative;
  z-index: 61;
}

.topbar-links {
  gap: 18px;
}

.topbar-links > * + * {
  position: relative;
  padding-left: 18px;
}

.topbar-links > * + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 14px;
  transform: translateY(-50%);
  background: rgba(19, 19, 19, 0.16);
}

.topbar-links a,
.topbar-links span {
  color: #222222;
}

.site-header,
.site-header.scrolled {
  box-shadow: 0 12px 26px rgba(19, 19, 19, 0.035);
}

.header-inner {
  min-height: 86px;
  gap: 26px;
}

.brand-mark {
  width: 56px;
}

.brand-copy strong {
  font-size: 1.56rem;
  letter-spacing: -0.055em;
}

.brand-copy small {
  font-size: 0.74rem;
  color: #6f6962;
}

.nav-desktop {
  align-self: stretch;
  margin: 0 auto;
}

.nav-desktop > a,
.nav-desktop > .nav-dropdown {
  display: inline-flex;
  align-items: stretch;
}

.nav-desktop > a,
.nav-dropdown-toggle {
  min-height: 86px;
  display: inline-flex;
  align-items: center;
  color: #202020;
}

.nav-desktop > a.active,
.nav-desktop > a[aria-current="page"],
.nav-dropdown.active .nav-dropdown-toggle {
  color: #111111;
}

.nav-dropdown-menu {
  left: 50%;
  min-width: min(560px, calc(100vw - 48px));
  width: min(560px, calc(100vw - 48px));
  padding: 18px;
  border-radius: 18px;
  box-shadow: 0 26px 48px rgba(19, 19, 19, 0.12);
  backdrop-filter: none;
  transform: translate(-50%, 10px);
  gap: 14px;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
  transform: translate(-50%, 0);
}

.nav-dropdown-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 2px 4px 12px;
  border-bottom: 1px solid rgba(234, 223, 214, 0.92);
}

.nav-dropdown-label {
  display: inline-block;
  margin-bottom: 6px;
  color: var(--accent-strong);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nav-dropdown-intro p {
  max-width: 28ch;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.nav-dropdown-overview {
  margin: 0;
  padding: 10px 0 0;
  border-radius: 0;
  background: none;
  color: var(--accent-strong);
  font-size: 0.84rem;
  font-weight: 800;
  white-space: nowrap;
}

.nav-dropdown-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.nav-dropdown-grid a {
  min-height: 52px;
  display: flex;
  align-items: center;
  padding: 12px 12px;
  line-height: 1.35;
}

.nav-actions {
  gap: 12px;
}

.nav-actions .btn-primary {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 18px;
  font-size: 0.88rem;
  box-shadow: none;
}

.menu-toggle {
  border: 0;
}

.mobile-panel {
  top: calc(100% + 14px);
  right: max(20px, calc((100vw - 1180px) / 2));
  left: auto;
  width: min(360px, calc(100vw - 32px));
  padding: 18px;
  border-top: 0;
  border-radius: 20px;
  border: 1px solid rgba(226, 220, 212, 0.96);
  box-shadow: 0 24px 48px rgba(19, 19, 19, 0.12);
}

.mobile-panel nav {
  gap: 0;
}

.mobile-panel a,
.mobile-group-toggle {
  padding: 13px 4px;
  border-bottom: 1px solid rgba(234, 223, 214, 0.72);
}

.mobile-group {
  border-top: 0;
  border-bottom: 0;
}

.mobile-group-panel {
  padding: 0 0 8px 14px;
}

.mobile-panel-meta {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(234, 223, 214, 0.72);
}

.mobile-panel-contact {
  display: grid;
  gap: 9px;
}

.mobile-panel-contact a,
.mobile-panel-contact span {
  padding: 0;
  border: 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.mobile-panel-cta {
  width: 100%;
  min-height: 44px;
  border-radius: 16px;
}

@media (max-width: 1120px) {
  .nav-dropdown-menu {
    min-width: min(500px, calc(100vw - 40px));
    width: min(500px, calc(100vw - 40px));
  }
}

@media (max-width: 900px) {
  .topbar-inner {
    justify-content: flex-start;
  }

  .topbar-links {
    margin-left: 0;
    gap: 12px;
    font-size: 0.78rem;
  }

  .topbar-links > * + * {
    padding-left: 12px;
  }

  .topbar-links > * + *::before {
    height: 12px;
  }

  .nav-desktop {
    display: none;
  }

  .header-inner {
    display: flex;
    min-height: 78px;
    gap: 14px;
  }

  .brand-copy small {
    display: none;
  }

  .nav-actions {
    margin-left: auto;
  }

  .nav-actions .btn-primary {
    display: inline-flex;
    min-height: 38px;
    padding: 0 12px;
    font-size: 0.8rem;
  }

  .menu-toggle {
    width: 46px;
    height: 46px;
  }

  .mobile-panel {
    position: static;
    width: auto;
    margin: 0 16px 16px;
  }
}

@media (max-width: 640px) {
  .brand-mark {
    width: 48px;
  }

  .brand-copy strong {
    font-size: 1.34rem;
  }

  .topbar-links {
    flex-wrap: wrap;
    row-gap: 6px;
  }

  .topbar-links > * + *::before {
    display: none;
  }

  .topbar-links > * + * {
    padding-left: 0;
  }

  .nav-actions .btn-primary {
    min-height: 36px;
    padding: 0 11px;
    font-size: 0.77rem;
  }

  .mobile-panel {
    margin: 0 12px 12px;
    padding: 16px;
    border-radius: 18px;
  }
}

/* Header premium refinement v2 */

.topbar {
  border-bottom: 1px solid rgba(17, 17, 17, 0.07);
}

.topbar-inner {
  min-height: 34px;
  gap: 20px;
  font-size: 0.8rem;
  color: #6d6964;
}

.topbar-links {
  gap: 0;
}

.topbar-links > * + * {
  margin-left: 16px;
  padding-left: 16px;
}

.topbar-links > * + *::before {
  background: rgba(17, 17, 17, 0.12);
}

.site-header,
.site-header.scrolled {
  background: #ffffff;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  box-shadow: 0 8px 20px rgba(19, 19, 19, 0.03);
}

.header-inner {
  min-height: 82px;
  grid-template-columns: minmax(230px, 280px) 1fr auto;
  gap: 40px;
}

.brand {
  gap: 14px;
}

.brand-mark {
  width: 54px;
}

.brand-copy strong {
  font-size: 1.46rem;
  letter-spacing: -0.05em;
}

.brand-copy small {
  margin-top: 4px;
  font-size: 0.72rem;
  color: #7a736b;
  letter-spacing: 0.02em;
}

.nav-desktop {
  gap: 28px;
  margin: 0 auto;
}

.nav-desktop > * + * {
  margin-left: 0;
  padding-left: 0;
}

.nav-desktop > * + *::before {
  content: none;
}

.nav-desktop > a,
.nav-dropdown-toggle {
  min-height: auto;
  padding: 0;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  bottom: -18px;
  height: 2px;
  background: #e07a59;
}

.nav-actions {
  gap: 12px;
}

.nav-actions .btn-primary {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 14px;
  background: #ef845f;
  font-size: 0.88rem;
  font-weight: 800;
  box-shadow: none;
}

.nav-actions .btn-primary:hover {
  background: #de734e;
}

.menu-toggle {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #171717;
  border: 1px solid #171717;
}

.nav-dropdown-menu {
  top: calc(100% + 20px);
  left: 50%;
  width: min(560px, calc(100vw - 48px));
  min-width: min(560px, calc(100vw - 48px));
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  background: #ffffff;
  box-shadow: 0 24px 48px rgba(19, 19, 19, 0.1);
  transform: translate(-50%, 10px);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
  transform: translate(-50%, 0);
}

.nav-dropdown-intro {
  padding: 0 2px 12px;
  gap: 16px;
}

.nav-dropdown-label {
  margin-bottom: 6px;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
}

.nav-dropdown-intro p {
  max-width: 28ch;
  color: #6d6964;
  font-size: 0.84rem;
}

.nav-dropdown-overview {
  padding-top: 2px;
  font-size: 0.8rem;
  white-space: nowrap;
}

.nav-dropdown-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
}

.nav-dropdown-grid a {
  min-height: 48px;
  padding: 11px 12px;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
}

.nav-dropdown-grid a:hover,
.nav-dropdown-grid a.active {
  background: rgba(17, 17, 17, 0.035);
  color: #171717;
  transform: none;
}

.mobile-panel {
  top: calc(100% + 10px);
  right: max(12px, calc((100vw - 1180px) / 2));
  width: min(340px, calc(100vw - 24px));
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  box-shadow: 0 20px 40px rgba(19, 19, 19, 0.1);
}

.mobile-panel a,
.mobile-group-toggle {
  padding: 13px 4px;
}

.mobile-panel-meta {
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
}

.mobile-panel-contact {
  gap: 8px;
}

.mobile-panel-contact a,
.mobile-panel-contact span {
  font-size: 0.88rem;
}

.mobile-panel-cta {
  min-height: 42px;
  border-radius: 12px;
}

@media (max-width: 1120px) {
  .header-inner {
    gap: 26px;
  }

  .nav-desktop {
    gap: 22px;
  }

  .nav-dropdown-menu {
    width: min(500px, calc(100vw - 32px));
    min-width: min(500px, calc(100vw - 32px));
  }
}

@media (max-width: 900px) {
  .topbar {
    display: none;
  }

  .header-inner {
    min-height: 74px;
    gap: 14px;
  }

  .brand-mark {
    width: 48px;
  }

  .brand-copy strong {
    font-size: 1.3rem;
  }

  .brand-copy small {
    display: none;
  }

  .nav-actions {
    margin-left: auto;
    gap: 10px;
  }

  .nav-actions .btn-primary {
    min-height: 38px;
    padding: 0 12px;
    font-size: 0.78rem;
  }

  .menu-toggle {
    width: 44px;
    height: 44px;
  }

  .mobile-panel {
    margin: 0 12px 12px;
  }
}

@media (max-width: 640px) {
  .brand-copy strong {
    font-size: 1.18rem;
  }

  .nav-actions .btn-primary {
    padding: 0 10px;
    font-size: 0.74rem;
  }
}

/* Header dropdown refinement v3 */

.nav-dropdown-menu {
  width: min(640px, calc(100vw - 48px));
  min-width: min(640px, calc(100vw - 48px));
  padding: 18px;
  border-radius: 18px;
}

.nav-dropdown-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.88fr) minmax(0, 1fr);
  gap: 16px;
}

.nav-dropdown-feature {
  padding: 18px;
  border-radius: 16px;
  border: 1px solid rgba(226, 220, 212, 0.92);
  background: linear-gradient(180deg, #fff8f3 0%, #ffffff 100%);
}

.nav-dropdown-feature strong {
  display: block;
  margin-top: 4px;
  font-size: 1.02rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.nav-dropdown-feature p {
  margin-top: 10px;
  color: #6d6964;
  font-size: 0.84rem;
  line-height: 1.55;
}

.nav-dropdown-points {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.nav-dropdown-points li {
  position: relative;
  padding-left: 14px;
  color: #58524c;
  font-size: 0.8rem;
  line-height: 1.45;
}

.nav-dropdown-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}

.nav-dropdown-actions {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.nav-dropdown-overview,
.nav-dropdown-contact {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 800;
}

.nav-dropdown-overview {
  background: #171717;
  color: #ffffff;
}

.nav-dropdown-overview.active,
.nav-dropdown-overview:hover {
  background: #111111;
  color: #ffffff;
}

.nav-dropdown-contact {
  border: 1px solid rgba(226, 220, 212, 0.96);
  color: #1d1d1d;
  background: #ffffff;
}

.nav-dropdown-contact:hover {
  border-color: rgba(224, 122, 89, 0.35);
  color: #1d1d1d;
}

.nav-dropdown-grid {
  gap: 10px;
}

.nav-dropdown-grid a {
  min-height: 88px;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(226, 220, 212, 0.86);
  background: #ffffff;
}

.nav-dropdown-item-title {
  display: block;
  color: #1b1b1b;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.32;
}

.nav-dropdown-item-copy {
  display: block;
  color: #6d6964;
  font-size: 0.76rem;
  line-height: 1.45;
}

.nav-dropdown-grid a:hover,
.nav-dropdown-grid a.active {
  border-color: rgba(224, 122, 89, 0.22);
  background: #fff8f3;
  color: inherit;
}

.nav-dropdown-grid a:hover .nav-dropdown-item-title,
.nav-dropdown-grid a.active .nav-dropdown-item-title {
  color: #171717;
}

@media (max-width: 1120px) {
  .nav-dropdown-menu {
    width: min(560px, calc(100vw - 32px));
    min-width: min(560px, calc(100vw - 32px));
  }
}

@media (max-width: 900px) {
  .nav-dropdown-layout {
    grid-template-columns: 1fr;
  }
}

/* Premium banner reconstruction */

.banner-header {
  padding: clamp(30px, 4vw, 50px) 0 60px;
  min-height: clamp(620px, 82vh, 840px);
  background:
    linear-gradient(90deg, rgba(11, 14, 18, 0.84) 0%, rgba(11, 14, 18, 0.6) 34%, rgba(11, 14, 18, 0.38) 56%, rgba(11, 14, 18, 0.52) 100%),
    linear-gradient(180deg, rgba(11, 14, 18, 0.1) 0%, rgba(11, 14, 18, 0.4) 100%),
    var(--banner-image) center / cover no-repeat;
}

.banner-header::before {
  background:
    linear-gradient(90deg, rgba(11, 14, 18, 0.16) 0%, rgba(11, 14, 18, 0) 50%, rgba(11, 14, 18, 0.42) 100%),
    radial-gradient(circle at 78% 28%, rgba(255, 255, 255, 0.12), transparent 24%);
}

.banner-header::after {
  display: none;
}

.banner-shell {
  align-items: center;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.86fr);
  gap: clamp(34px, 4.8vw, 74px);
}

.banner-copy {
  position: relative;
  overflow: hidden;
  max-width: 720px;
  padding: clamp(28px, 3vw, 42px);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(251, 249, 246, 0.96), rgba(246, 241, 236, 0.93));
  border: 1px solid rgba(228, 220, 212, 0.92);
  box-shadow: 0 36px 80px rgba(8, 11, 16, 0.24);
  backdrop-filter: blur(10px);
}

.banner-copy::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--banner-accent) 0%, rgba(239, 127, 97, 0.12) 100%);
}

.banner-copy > * {
  position: relative;
  z-index: 1;
}

.banner-kicker {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.04);
  border: 1px solid rgba(40, 34, 29, 0.12);
  color: #2b2520;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  box-shadow: none;
}

.banner-title {
  max-width: 11.4ch;
  margin-top: 18px;
  gap: 4px;
  color: #171311;
  font-size: clamp(2.95rem, 5.3vw, 5.5rem);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.banner-title span {
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.banner-title span:first-child {
  color: var(--banner-accent-dark);
}

.banner-title span:last-child {
  color: #161311;
}

.banner-title--wide {
  max-width: 10.8ch;
}

.banner-contactline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  margin-top: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #3e3730;
  font-size: 0.95rem;
  font-weight: 700;
  box-shadow: none;
  backdrop-filter: none;
}

.banner-contactline span {
  position: relative;
  padding-right: 18px;
  margin-right: 18px;
}

.banner-contactline span:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 14px;
  background: rgba(62, 55, 48, 0.16);
  transform: translateY(-50%);
}

.banner-contactline span:last-child {
  padding-right: 0;
  margin-right: 0;
}

.banner-copy .lead {
  margin-top: 22px;
  max-width: 54ch;
  color: #544b44;
  font-size: 1.07rem;
  line-height: 1.72;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 26px;
  gap: 14px;
}

.banner-copy .btn-primary {
  background: linear-gradient(180deg, #1d1d1d 0%, #111111 100%);
  color: #ffffff;
  box-shadow: 0 18px 34px rgba(17, 17, 17, 0.18);
}

.banner-copy .btn-primary:hover {
  background: linear-gradient(180deg, #111111 0%, #080808 100%);
}

.banner-copy .btn-light {
  background: #ffffff;
  border-color: rgba(40, 34, 29, 0.12);
  color: #171311;
  box-shadow: 0 14px 28px rgba(17, 17, 17, 0.08);
}

.banner-copy .btn-light:hover {
  background: #f8f4f0;
}

.banner-tag-row {
  gap: 10px;
  margin-top: 18px;
}

.banner-tag {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(40, 34, 29, 0.1);
  background: rgba(255, 255, 255, 0.82);
  color: #403833;
  font-size: 0.83rem;
  font-weight: 700;
  backdrop-filter: none;
}

.service-bullet-list {
  gap: 10px;
  margin-top: 20px;
}

.service-bullet-list li {
  color: #342d27;
}

.service-lead-box {
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(228, 220, 212, 0.96);
}

.service-lead-box strong {
  color: #171311;
}

.service-lead-box span {
  color: #5c534c;
}

.service-hero-meta {
  gap: 10px;
  margin-top: 18px;
}

.service-hero-tag {
  border-color: rgba(40, 34, 29, 0.1);
  background: rgba(255, 255, 255, 0.84);
  color: #403833;
}

.banner-side {
  justify-content: flex-end;
}

.banner-icon-frame {
  overflow: hidden;
  width: min(100%, 420px);
  aspect-ratio: 1 / 1.02;
  border-radius: 34px;
  background: linear-gradient(160deg, rgba(18, 24, 31, 0.94) 0%, rgba(31, 40, 50, 0.86) 54%, rgba(19, 24, 31, 0.94) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 38px 72px rgba(8, 11, 16, 0.3);
  backdrop-filter: none;
}

.banner-icon-frame::before {
  inset: 20px;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.banner-icon-frame::after {
  content: "";
  position: absolute;
  right: -14%;
  bottom: -18%;
  width: 74%;
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(239, 127, 97, 0.22) 0%, rgba(239, 127, 97, 0) 68%);
  pointer-events: none;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  z-index: 1;
}

.banner-icon-frame img {
  width: min(60%, 230px);
}

.banner-icon-frame svg {
  width: min(68%, 272px);
}

.banner-float-tag {
  max-width: 218px;
  padding: 15px 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(251, 249, 246, 0.96), rgba(243, 238, 232, 0.92));
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 18px 36px rgba(8, 11, 16, 0.18);
  backdrop-filter: none;
}

.banner-float-tag strong,
.banner-float-tag span {
  color: #171311;
}

.banner-float-tag strong {
  margin-bottom: 4px;
  font-size: 0.98rem;
}

.banner-float-tag span {
  color: #585048;
  font-size: 0.84rem;
  line-height: 1.48;
  opacity: 1;
}

.banner-expert-card {
  width: min(var(--container), calc(100% - 32px));
  margin: -48px auto 0;
  grid-template-columns: auto minmax(0, 1.08fr) minmax(250px, 0.82fr);
  gap: 0;
  align-items: stretch;
  padding: 0;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(252, 250, 247, 0.99), rgba(247, 242, 236, 0.97));
  border: 1px solid rgba(228, 220, 212, 0.96);
  box-shadow: 0 24px 56px rgba(13, 15, 18, 0.12);
  backdrop-filter: none;
  overflow: hidden;
}

.banner-expert-card::before {
  inset: 0 0 auto;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--banner-accent), rgba(239, 127, 97, 0.12) 78%);
}

.banner-expert-badge {
  width: auto;
  height: auto;
  align-self: stretch;
  padding: 28px 24px;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(247, 238, 229, 0.96), rgba(253, 250, 246, 0.88));
  border: 0;
  border-right: 1px solid rgba(228, 220, 212, 0.96);
}

.banner-expert-badge img {
  width: 58px;
}

.banner-expert-copy {
  padding: 30px 28px 28px;
}

.banner-expert-overline {
  margin-bottom: 10px;
  color: #8a7660;
  font-size: 0.74rem;
  letter-spacing: 0.15em;
}

.banner-expert-copy strong {
  max-width: 30ch;
  color: #171311;
}

.banner-expert-copy p {
  margin-top: 8px;
  color: #5b534c;
  line-height: 1.65;
}

.banner-expert-points {
  align-content: center;
  padding: 30px 28px 28px;
  border-left: 1px solid rgba(228, 220, 212, 0.88);
}

.banner-expert-points li {
  color: #29231f;
  line-height: 1.46;
}

.banner-expert-points li::before {
  background: var(--banner-accent-dark);
}

.banner-header--home .banner-copy {
  max-width: 690px;
}

.banner-header--service .banner-copy,
.banner-header--about .banner-copy,
.banner-header--contact .banner-copy {
  max-width: 710px;
}

@media (max-width: 1080px) {
  .banner-header {
    min-height: auto;
    padding-bottom: 42px;
  }

  .banner-shell {
    grid-template-columns: 1fr;
    gap: 26px;
    align-items: start;
  }

  .banner-copy {
    max-width: 100%;
  }

  .banner-side {
    justify-content: flex-start;
  }

  .banner-icon-frame {
    width: min(100%, 360px);
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  .banner-expert-badge {
    padding: 24px 24px 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(228, 220, 212, 0.96);
  }

  .banner-expert-copy {
    padding: 6px 24px 6px;
  }

  .banner-expert-points {
    padding: 4px 24px 24px;
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .banner-header {
    padding: 12px 0 28px;
  }

  .banner-copy {
    padding: 22px 20px 20px;
    border-radius: 24px;
  }

  .banner-copy::before {
    width: 4px;
  }

  .banner-title {
    max-width: 100%;
    font-size: clamp(2.35rem, 11vw, 3.7rem);
  }

  .banner-contactline {
    display: grid;
    gap: 10px;
  }

  .banner-contactline span {
    margin-right: 0;
    padding-right: 0;
  }

  .banner-contactline span::after {
    display: none;
  }

  .banner-copy .lead {
    font-size: 1rem;
  }

  .banner-icon-frame {
    width: min(100%, 320px);
    border-radius: 28px;
  }

  .banner-float-tag {
    max-width: 170px;
    padding: 12px 13px;
    border-radius: 16px;
  }

  .banner-float-tag strong {
    font-size: 0.9rem;
  }

  .banner-float-tag span {
    font-size: 0.78rem;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 20px));
    border-radius: 20px;
  }

  .banner-expert-badge {
    padding: 18px 20px 14px;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding-left: 20px;
    padding-right: 20px;
  }

  .banner-expert-copy {
    padding-top: 6px;
    padding-bottom: 4px;
  }

  .banner-expert-points {
    padding-top: 0;
    padding-bottom: 20px;
  }
}

/* Header typography calm refinement */

.topbar-inner {
  min-height: 32px;
  font-size: 0.76rem;
  color: #726b64;
}

.topbar-links {
  font-weight: 600;
}

.header-inner {
  min-height: 78px;
  gap: 34px;
}

.brand {
  gap: 12px;
}

.brand-mark {
  width: 50px;
}

.brand-copy strong {
  font-size: 1.38rem;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.brand-copy small {
  margin-top: 3px;
  font-size: 0.69rem;
  color: #847c74;
  letter-spacing: 0.015em;
}

.nav-desktop {
  gap: 24px;
  align-items: center;
}

.nav-desktop > a,
.nav-dropdown-toggle {
  min-height: 78px;
  padding: 0;
  color: #27211d;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0;
}

.nav-desktop > a.active,
.nav-desktop > a[aria-current="page"],
.nav-dropdown.active .nav-dropdown-toggle {
  color: #171311;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  left: 50%;
  right: auto;
  bottom: -13px;
  width: 24px;
  height: 1.5px;
  border-radius: 999px;
  background: rgba(224, 122, 89, 0.88);
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
}

.nav-desktop > a:hover::after,
.nav-desktop > a.active::after,
.nav-dropdown-toggle:hover::after,
.nav-dropdown-toggle.active::after,
.nav-dropdown.active .nav-dropdown-toggle::after {
  transform: translateX(-50%) scaleX(1);
}

.nav-dropdown-toggle {
  gap: 8px;
}

.nav-dropdown-caret {
  width: 7px;
  height: 7px;
  border-right-width: 1.8px;
  border-bottom-width: 1.8px;
}

.nav-actions {
  gap: 10px;
}

.nav-actions .btn-primary {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
  background: #ee8e69;
  color: #ffffff;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0;
}

.nav-actions .btn-primary:hover {
  background: #e17f59;
}

.menu-toggle {
  width: 44px;
  height: 44px;
  background: #171717;
  border-color: #171717;
  box-shadow: none;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  width: 16px;
}

.nav-dropdown-menu {
  top: calc(100% + 16px);
  width: min(680px, calc(100vw - 40px));
  min-width: min(680px, calc(100vw - 40px));
  padding: 20px;
  border-radius: 18px;
  border: 1px solid rgba(22, 19, 17, 0.08);
  box-shadow: 0 20px 44px rgba(16, 18, 20, 0.08);
}

.nav-dropdown-layout {
  grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1fr);
  gap: 18px;
}

.nav-dropdown-feature {
  padding: 20px;
  border-radius: 18px;
  border: 1px solid rgba(228, 220, 212, 0.96);
  background: linear-gradient(180deg, #fdfaf7 0%, #fbf7f2 100%);
}

.nav-dropdown-label {
  margin-bottom: 8px;
  color: #d97250;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.nav-dropdown-feature strong {
  margin-top: 0;
  color: #211c18;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: -0.015em;
}

.nav-dropdown-feature p {
  margin-top: 12px;
  color: #6f675f;
  font-size: 0.88rem;
  line-height: 1.64;
}

.nav-dropdown-points {
  gap: 9px;
  margin-top: 14px;
}

.nav-dropdown-points li {
  padding-left: 13px;
  color: #595149;
  font-size: 0.82rem;
  line-height: 1.52;
}

.nav-dropdown-points li::before {
  top: 8px;
  width: 5px;
  height: 5px;
  background: rgba(224, 122, 89, 0.86);
}

.nav-dropdown-actions {
  gap: 10px;
  margin-top: 18px;
}

.nav-dropdown-overview,
.nav-dropdown-contact {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 0.81rem;
  font-weight: 700;
}

.nav-dropdown-overview {
  background: #171717;
  color: #ffffff;
}

.nav-dropdown-contact {
  border-color: rgba(223, 214, 205, 0.96);
  color: #201b18;
}

.nav-dropdown-grid {
  gap: 10px;
}

.nav-dropdown-grid a {
  min-height: 84px;
  gap: 7px;
  padding: 14px 14px 13px;
  border-radius: 14px;
  border: 1px solid rgba(228, 220, 212, 0.96);
  background: #ffffff;
}

.nav-dropdown-item-title {
  color: #211c18;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.36;
}

.nav-dropdown-item-copy {
  color: #726a62;
  font-size: 0.79rem;
  line-height: 1.52;
}

.nav-dropdown-grid a:hover,
.nav-dropdown-grid a.active {
  border-color: rgba(224, 122, 89, 0.16);
  background: #fcf8f4;
}

.mobile-panel {
  width: min(348px, calc(100vw - 24px));
  padding: 16px 16px 14px;
  border-radius: 18px;
  border: 1px solid rgba(22, 19, 17, 0.08);
  box-shadow: 0 18px 36px rgba(16, 18, 20, 0.08);
}

.mobile-panel nav {
  gap: 0;
}

.mobile-panel a,
.mobile-group-toggle {
  padding: 14px 4px;
  color: #211c18;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.35;
  border-bottom: 1px solid rgba(228, 220, 212, 0.82);
}

.mobile-group-toggle {
  gap: 12px;
}

.mobile-group-panel {
  padding: 2px 0 10px 14px;
}

.mobile-group-panel a {
  padding: 9px 0;
  color: #736b64;
  font-size: 0.88rem;
  font-weight: 600;
  border-bottom: 0;
}

.mobile-panel-meta {
  gap: 11px;
  margin-top: 14px;
  padding-top: 14px;
}

.mobile-panel-contact {
  gap: 10px;
}

.mobile-panel-contact a,
.mobile-panel-contact span {
  color: #6e665e;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.45;
}

.mobile-panel-cta {
  min-height: 42px;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 700;
}

@media (max-width: 1120px) {
  .header-inner {
    gap: 26px;
  }

  .nav-desktop {
    gap: 20px;
  }

  .nav-dropdown-menu {
    width: min(620px, calc(100vw - 32px));
    min-width: min(620px, calc(100vw - 32px));
  }
}

@media (max-width: 900px) {
  .topbar-inner {
    min-height: 30px;
    font-size: 0.74rem;
  }

  .header-inner {
    min-height: 74px;
    gap: 12px;
  }

  .brand-mark {
    width: 46px;
  }

  .brand-copy strong {
    font-size: 1.3rem;
  }

  .nav-actions .btn-primary {
    min-height: 38px;
    padding: 0 12px;
    font-size: 0.8rem;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
  }

  .mobile-panel {
    margin: 0 14px 14px;
  }
}

@media (max-width: 640px) {
  .brand-copy strong {
    font-size: 1.2rem;
  }

  .nav-actions .btn-primary {
    padding: 0 10px;
    font-size: 0.77rem;
  }

  .mobile-panel {
    margin: 0 10px 10px;
    width: auto;
  }
}

/* Header rebuild refinement */

.topbar-inner {
  justify-content: flex-end;
  min-height: 30px;
  font-size: 0.75rem;
}

.topbar-inner > span {
  display: none;
}

.topbar-links {
  gap: 0;
}

.topbar-links a,
.topbar-links span {
  color: #746d65;
  font-weight: 600;
}

.site-header,
.site-header.scrolled {
  box-shadow: 0 8px 22px rgba(16, 18, 20, 0.035);
}

.header-inner {
  min-height: 80px;
  grid-template-columns: minmax(240px, 280px) 1fr auto;
  gap: 30px;
}

.brand-mark {
  width: 52px;
}

.brand-copy strong {
  font-size: 1.44rem;
  font-weight: 800;
  letter-spacing: -0.032em;
  font-weight: 700;
}

.brand-copy small {
  font-size: 0.7rem;
  color: #8c847d;
}

.nav-desktop {
  gap: 26px;
}

.nav-desktop > a,
.nav-dropdown-toggle {
  min-height: 80px;
  color: #26211d;
  font-size: 0.95rem;
  font-weight: 650;
  letter-spacing: 0;
}

.nav-desktop > a.active,
.nav-desktop > a[aria-current="page"],
.nav-dropdown.active .nav-dropdown-toggle {
  color: #171311;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  bottom: -12px;
  width: 20px;
  height: 1px;
  background: #dd7a5a;
}

.nav-actions .btn-primary {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 700;
}

.menu-toggle {
  width: 44px;
  height: 44px;
}

.nav-dropdown-menu {
  top: calc(100% + 14px);
  width: min(720px, calc(100vw - 40px));
  min-width: min(720px, calc(100vw - 40px));
  padding: 22px 22px 20px;
  border-radius: 20px;
  box-shadow: 0 22px 48px rgba(16, 18, 20, 0.09);
}

.nav-dropdown-layout {
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1fr);
  gap: 22px;
}

.nav-dropdown-feature {
  padding: 4px 22px 4px 4px;
  border: 0;
  border-right: 1px solid rgba(228, 220, 212, 0.9);
  border-radius: 0;
  background: none;
}

.nav-dropdown-label {
  margin-bottom: 10px;
  color: #df7a58;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
}

.nav-dropdown-feature strong {
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.38;
}

.nav-dropdown-feature p {
  margin-top: 12px;
  font-size: 0.85rem;
  line-height: 1.68;
}

.nav-dropdown-points {
  display: none;
}

.nav-dropdown-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 18px;
}

.nav-dropdown-overview,
.nav-dropdown-contact {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  justify-content: flex-start;
  font-size: 0.82rem;
  font-weight: 700;
}

.nav-dropdown-overview {
  color: #171311;
}

.nav-dropdown-overview::after,
.nav-dropdown-contact::after {
  content: "→";
  margin-left: 6px;
  font-size: 0.82rem;
}

.nav-dropdown-contact {
  color: #df7a58;
}

.nav-dropdown-grid {
  gap: 0 18px;
}

.nav-dropdown-grid a {
  min-height: auto;
  gap: 4px;
  padding: 0 0 14px;
  margin-bottom: 14px;
  border: 0;
  border-bottom: 1px solid rgba(228, 220, 212, 0.84);
  border-radius: 0;
  background: none;
}

.nav-dropdown-item-title {
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.44;
}

.nav-dropdown-item-copy {
  font-size: 0.78rem;
  line-height: 1.56;
}

.nav-dropdown-grid a:hover,
.nav-dropdown-grid a.active {
  border-color: rgba(223, 122, 89, 0.34);
  background: none;
}

.nav-dropdown-grid a:hover .nav-dropdown-item-title,
.nav-dropdown-grid a.active .nav-dropdown-item-title {
  color: #df7a58;
}

.mobile-panel {
  width: min(356px, calc(100vw - 20px));
  padding: 14px 16px 12px;
  border-radius: 20px;
  box-shadow: 0 18px 36px rgba(16, 18, 20, 0.08);
}

.mobile-panel a,
.mobile-group-toggle {
  padding: 15px 4px;
  font-size: 0.96rem;
  font-weight: 650;
}

.mobile-group-panel {
  padding: 0 0 10px 12px;
}

.mobile-group-panel a {
  padding: 8px 0;
  font-size: 0.86rem;
  font-weight: 600;
}

.mobile-panel-contact a,
.mobile-panel-contact span {
  font-size: 0.84rem;
  font-weight: 600;
}

.mobile-panel-cta {
  min-height: 40px;
  font-size: 0.83rem;
  font-weight: 700;
}

@media (max-width: 1120px) {
  .nav-dropdown-menu {
    width: min(640px, calc(100vw - 32px));
    min-width: min(640px, calc(100vw - 32px));
  }
}

@media (max-width: 900px) {
  .header-inner {
    min-height: 74px;
  }

  .brand-mark {
    width: 46px;
  }

  .brand-copy strong {
    font-size: 1.28rem;
  }

  .nav-actions .btn-primary {
    min-height: 38px;
    padding: 0 12px;
    font-size: 0.79rem;
  }

  .mobile-panel {
    margin: 0 14px 14px;
  }
}

@media (max-width: 640px) {
  .topbar-inner {
    justify-content: flex-start;
    font-size: 0.72rem;
  }

  .brand-copy strong {
    font-size: 1.16rem;
  }

  .brand-copy small {
    display: none;
  }

  .mobile-panel {
    margin: 0 10px 10px;
    width: auto;
  }
}

/* Hero architecture reset */

.banner-header {
  padding: clamp(22px, 3vw, 34px) 0 34px;
  min-height: auto;
}

.banner-header::before {
  background:
    linear-gradient(90deg, rgba(11, 14, 18, 0.5) 0%, rgba(11, 14, 18, 0.14) 32%, rgba(11, 14, 18, 0.34) 100%),
    radial-gradient(circle at 78% 24%, rgba(255, 255, 255, 0.08), transparent 22%);
}

.banner-shell {
  position: relative;
  overflow: hidden;
  min-height: clamp(470px, 68vh, 720px);
  padding: clamp(28px, 3.2vw, 40px);
  border-radius: 34px;
  border: 1px solid rgba(229, 220, 211, 0.18);
  background:
    linear-gradient(90deg, rgba(250, 247, 242, 0.97) 0%, rgba(250, 247, 242, 0.97) 54%, rgba(17, 21, 27, 0.82) 54%, rgba(17, 21, 27, 0.68) 100%);
  box-shadow: 0 34px 76px rgba(9, 12, 16, 0.22);
  align-items: stretch;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.82fr);
  gap: clamp(30px, 4vw, 58px);
}

.banner-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(239, 127, 97, 0.08) 0%, rgba(239, 127, 97, 0) 26%),
    radial-gradient(circle at 84% 18%, rgba(255, 255, 255, 0.08), transparent 18%);
  pointer-events: none;
}

.banner-shell::after {
  content: "";
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: calc(54% + 2px);
  width: 1px;
  background: linear-gradient(180deg, rgba(217, 204, 193, 0.34), rgba(255, 255, 255, 0.04));
  pointer-events: none;
}

.banner-copy {
  max-width: none;
  padding: 6px 10px 6px 4px;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}

.banner-copy::before {
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--banner-accent) 0%, rgba(239, 127, 97, 0.14) 100%);
}

.banner-kicker {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #8a765e;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.banner-title {
  max-width: 9.6ch;
  margin-top: 10px;
  gap: 8px;
  font-size: clamp(2.65rem, 4.9vw, 5rem);
  line-height: 0.92;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.banner-title span {
  text-wrap: balance;
}

.banner-title span:first-child {
  font-size: 0.72em;
  line-height: 0.98;
  color: var(--banner-accent-dark);
}

.banner-title span:last-child {
  color: #161210;
}

.banner-title--wide {
  max-width: 9.2ch;
}

.banner-contactline {
  margin-top: 18px;
  gap: 8px 0;
  color: #584f47;
  font-size: 0.89rem;
  font-weight: 700;
}

.banner-contactline span {
  padding-right: 16px;
  margin-right: 16px;
}

.banner-copy .lead {
  margin-top: 22px;
  max-width: 48ch;
  color: #5a5048;
  font-size: 1rem;
  line-height: 1.74;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 24px;
  gap: 12px;
}

.banner-copy .btn-primary,
.banner-copy .btn-light {
  min-height: 52px;
  padding: 0 24px;
  border-radius: 16px;
  font-size: 0.94rem;
  font-weight: 700;
}

.banner-copy .btn-primary {
  box-shadow: 0 14px 28px rgba(17, 17, 17, 0.16);
}

.banner-tag-row,
.service-hero-meta {
  gap: 10px;
  margin-top: 18px;
}

.banner-tag,
.service-hero-tag {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  font-size: 0.79rem;
  font-weight: 700;
}

.service-bullet-list {
  margin-top: 20px;
  gap: 11px;
}

.service-bullet-list li {
  line-height: 1.56;
}

.service-lead-box {
  margin-top: 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
}

.banner-side {
  align-self: stretch;
  justify-content: stretch;
}

.banner-icon-frame {
  width: 100%;
  min-height: 100%;
  aspect-ratio: auto;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.banner-icon-frame::before {
  inset: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.banner-icon-frame::after {
  right: -10%;
  bottom: -14%;
  width: 60%;
  background: radial-gradient(circle, rgba(239, 127, 97, 0.16) 0%, rgba(239, 127, 97, 0) 70%);
}

.banner-icon-frame img,
.banner-icon-frame svg {
  opacity: 0.98;
}

.banner-icon-frame img {
  width: min(54%, 220px);
}

.banner-icon-frame svg {
  width: min(62%, 248px);
}

.banner-float-tag {
  max-width: 208px;
  padding: 15px 15px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(251, 248, 243, 0.97), rgba(246, 241, 235, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 14px 28px rgba(11, 14, 18, 0.16);
}

.banner-float-tag strong {
  font-size: 0.95rem;
}

.banner-float-tag span {
  font-size: 0.82rem;
  line-height: 1.52;
}

.banner-float-tag--top {
  top: 20px;
  right: 20px;
}

.banner-float-tag--bottom {
  left: 20px;
  bottom: 20px;
}

.banner-expert-card {
  width: min(var(--container), calc(100% - 20px));
  margin: 18px auto 0;
  grid-template-columns: 88px minmax(0, 1.18fr) minmax(260px, 0.9fr);
  gap: 0;
  padding: 0;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(252, 249, 245, 0.985), rgba(248, 243, 237, 0.96));
  box-shadow: 0 18px 40px rgba(11, 14, 18, 0.12);
}

.banner-expert-card::before {
  height: 3px;
}

.banner-expert-badge {
  padding: 22px 18px;
}

.banner-expert-badge img {
  width: 50px;
}

.banner-expert-copy,
.banner-expert-points {
  padding: 24px 24px 22px;
}

.banner-expert-overline {
  margin-bottom: 9px;
  font-size: 0.71rem;
  color: #8e7b67;
}

.banner-expert-copy strong {
  max-width: 26ch;
  font-size: clamp(1.26rem, 2.2vw, 1.7rem);
  line-height: 1.26;
}

.banner-expert-copy p {
  margin-top: 8px;
  font-size: 0.95rem;
  line-height: 1.66;
}

.banner-expert-points {
  align-content: center;
}

.banner-expert-points li {
  font-size: 0.95rem;
}

.banner-header--home .banner-shell {
  min-height: clamp(520px, 72vh, 760px);
}

.banner-header--home .banner-title {
  max-width: 8.6ch;
  font-size: clamp(3rem, 5vw, 5.25rem);
}

.banner-header--services .banner-title--wide,
.banner-header--about .banner-title--wide,
.banner-header--contact .banner-title--wide {
  max-width: 10ch;
}

@media (max-width: 1180px) {
  .banner-shell::after {
    left: calc(56% + 2px);
  }
}

@media (max-width: 1080px) {
  .banner-shell {
    min-height: auto;
    padding: 24px;
    grid-template-columns: 1fr;
    gap: 26px;
    background:
      linear-gradient(180deg, rgba(250, 247, 242, 0.975) 0%, rgba(250, 247, 242, 0.975) 64%, rgba(18, 22, 28, 0.84) 64%, rgba(18, 22, 28, 0.8) 100%);
  }

  .banner-shell::after {
    display: none;
  }

  .banner-copy {
    padding: 4px 4px 2px;
  }

  .banner-side {
    justify-content: flex-start;
  }

  .banner-icon-frame {
    min-height: 340px;
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
    margin-top: 16px;
  }

  .banner-expert-badge {
    border-right: 0;
    border-bottom: 1px solid rgba(228, 220, 212, 0.96);
  }

  .banner-expert-points {
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .banner-header {
    padding: 12px 0 24px;
  }

  .banner-shell {
    padding: 20px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(250, 247, 242, 0.98) 0%, rgba(250, 247, 242, 0.98) 100%);
  }

  .banner-copy::before {
    width: 3px;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 100%;
    font-size: clamp(2.5rem, 11vw, 3.7rem);
  }

  .banner-contactline {
    display: grid;
    gap: 9px;
  }

  .banner-contactline span,
  .banner-contactline span:last-child {
    margin-right: 0;
    padding-right: 0;
  }

  .banner-contactline span::after {
    display: none;
  }

  .banner-copy .lead {
    font-size: 0.97rem;
  }

  .banner-copy .btn-primary,
  .banner-copy .btn-light {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 14px;
    font-size: 0.88rem;
  }

  .banner-side {
    display: none;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 16px));
    margin-top: 14px;
    border-radius: 18px;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding: 18px 18px 18px;
  }

  .banner-expert-copy strong {
    font-size: 1.18rem;
  }

  .banner-expert-points li {
    font-size: 0.9rem;
  }
}

/* White editorial header system */

.banner-header {
  --banner-accent: var(--accent);
  --banner-accent-dark: var(--accent-strong);
  padding: clamp(18px, 2.4vw, 28px) 0 26px;
  background: #ffffff;
}

.banner-header::before,
.banner-header::after {
  display: none;
}

.banner-shell {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
  grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.92fr);
  gap: clamp(30px, 4vw, 58px);
  align-items: center;
}

.banner-shell::before,
.banner-shell::after {
  display: none;
}

.banner-copy {
  padding: 10px 0 14px;
}

.banner-copy::before {
  inset: 6px auto 10px -16px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--accent) 0%, rgba(239, 127, 97, 0.08) 100%);
}

.banner-kicker {
  color: #a06a52;
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 9.2ch;
  margin-top: 12px;
  gap: 8px;
  color: #171311;
  font-size: clamp(2.55rem, 4.7vw, 4.85rem);
  line-height: 0.95;
  letter-spacing: -0.065em;
}

.banner-title--wide,
.banner-header--services .banner-title--wide,
.banner-header--about .banner-title--wide,
.banner-header--contact .banner-title--wide {
  max-width: 10.2ch;
}

.banner-title span:first-child {
  color: var(--accent-strong);
  font-size: 0.72em;
  line-height: 0.98;
}

.banner-title span:last-child,
.banner-title span:nth-child(2):last-child {
  color: #171311;
}

.banner-contactline {
  margin-top: 18px;
  color: #5f554c;
  font-size: 0.88rem;
  font-weight: 700;
}

.banner-contactline span:not(:last-child)::after {
  background: rgba(95, 85, 76, 0.18);
}

.banner-copy .lead {
  margin-top: 20px;
  max-width: 47ch;
  color: #5f564d;
  font-size: 1rem;
  line-height: 1.72;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 24px;
  gap: 12px;
}

.banner-copy .btn-primary,
.banner-copy .btn-light {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 14px;
  font-size: 0.9rem;
  font-weight: 700;
}

.banner-copy .btn-primary {
  background: #171717;
  box-shadow: 0 12px 24px rgba(17, 17, 17, 0.14);
}

.banner-copy .btn-primary:hover {
  background: #0f0f0f;
}

.banner-copy .btn-light {
  background: #ffffff;
  border-color: rgba(25, 21, 18, 0.12);
  box-shadow: none;
}

.banner-tag-row,
.service-hero-meta {
  gap: 10px;
  margin-top: 18px;
}

.banner-tag,
.service-hero-tag {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff8f3;
  border-color: rgba(239, 127, 97, 0.16);
  color: #6b5d51;
  font-size: 0.78rem;
  font-weight: 700;
}

.service-bullet-list {
  margin-top: 18px;
  gap: 10px;
}

.service-bullet-list li {
  color: #3d342c;
  line-height: 1.54;
}

.service-lead-box {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 16px;
  background: #fff9f5;
  border: 1px solid rgba(239, 127, 97, 0.12);
}

.banner-side {
  display: block;
}

.banner-icon-frame {
  position: relative;
  width: 100%;
  min-height: 440px;
  aspect-ratio: auto;
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(18, 23, 29, 0.16) 0%, rgba(18, 23, 29, 0.44) 100%),
    var(--banner-image) center / cover no-repeat;
  border: 1px solid rgba(24, 22, 20, 0.08);
  box-shadow: 0 22px 46px rgba(11, 14, 18, 0.12);
}

.banner-icon-frame::before {
  inset: auto 0 0 0;
  height: 46%;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, 0.18) 34%, rgba(17, 17, 17, 0.46) 100%);
}

.banner-icon-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(239, 127, 97, 0.16) 0%, rgba(239, 127, 97, 0) 38%),
    radial-gradient(circle at 84% 18%, rgba(255, 255, 255, 0.14), transparent 18%);
  pointer-events: none;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  display: block;
  padding: 20px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 32px rgba(11, 14, 18, 0.16);
}

.banner-icon-frame img {
  width: min(38%, 180px);
  filter: none;
}

.banner-icon-frame--brand img {
  filter: none;
}

.banner-icon-frame svg {
  width: min(38%, 182px);
  height: auto;
  stroke: var(--accent-strong);
  stroke-width: 12;
  fill: none;
}

.banner-float-tag {
  max-width: 220px;
  padding: 15px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 28px rgba(11, 14, 18, 0.12);
}

.banner-float-tag strong {
  color: #191512;
  font-size: 0.94rem;
}

.banner-float-tag span {
  color: #61564d;
  font-size: 0.81rem;
  line-height: 1.5;
}

.banner-float-tag--top {
  top: 20px;
  left: 20px;
  right: auto;
}

.banner-float-tag--bottom {
  left: 20px;
  bottom: 20px;
}

.banner-expert-card {
  width: var(--container);
  margin: 22px auto 0;
  grid-template-columns: 78px minmax(0, 1.12fr) minmax(240px, 0.84fr);
  gap: 0;
  padding: 0;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(231, 223, 214, 0.96);
  box-shadow: 0 14px 28px rgba(11, 14, 18, 0.08);
}

.banner-expert-card::before {
  height: 2px;
  background: linear-gradient(90deg, var(--accent), rgba(239, 127, 97, 0.14) 72%);
}

.banner-expert-badge {
  padding: 22px 18px;
  background: #fff8f4;
  border-right: 1px solid rgba(231, 223, 214, 0.96);
}

.banner-expert-badge img {
  width: 46px;
}

.banner-expert-copy,
.banner-expert-points {
  padding: 22px 22px 20px;
}

.banner-expert-overline {
  margin-bottom: 8px;
  color: #9c7d67;
  font-size: 0.69rem;
  letter-spacing: 0.18em;
}

.banner-expert-copy strong {
  max-width: 28ch;
  color: #1e1916;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.32;
}

.banner-expert-copy p {
  margin-top: 7px;
  color: #62574f;
  font-size: 0.93rem;
  line-height: 1.64;
}

.banner-expert-points {
  border-left: 1px solid rgba(231, 223, 214, 0.88);
  align-content: center;
}

.banner-expert-points li {
  color: #2d2723;
  font-size: 0.92rem;
  line-height: 1.48;
}

.banner-expert-points li::before {
  background: var(--accent);
}

@media (max-width: 1080px) {
  .banner-shell {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .banner-copy {
    padding: 8px 0 4px;
  }

  .banner-icon-frame {
    min-height: 360px;
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  .banner-expert-badge {
    border-right: 0;
    border-bottom: 1px solid rgba(231, 223, 214, 0.96);
  }

  .banner-expert-points {
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .banner-shell {
    gap: 20px;
  }

  .banner-copy::before {
    left: -10px;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 100%;
    font-size: clamp(2.3rem, 11vw, 3.7rem);
  }

  .banner-contactline {
    display: grid;
    gap: 9px;
  }

  .banner-contactline span,
  .banner-contactline span:last-child {
    margin-right: 0;
    padding-right: 0;
  }

  .banner-contactline span::after {
    display: none;
  }

  .banner-copy .lead {
    font-size: 0.96rem;
  }

  .banner-copy .btn-primary,
  .banner-copy .btn-light {
    min-height: 46px;
    padding: 0 16px;
    font-size: 0.86rem;
  }

  .banner-icon-frame {
    min-height: 300px;
    border-radius: 22px;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 16px;
    bottom: 16px;
    padding: 16px;
    border-radius: 18px;
    width: min(38%, 138px);
  }

  .banner-float-tag {
    max-width: 178px;
    padding: 12px 13px;
    border-radius: 14px;
  }

  .banner-float-tag--top {
    top: 14px;
    left: 14px;
  }

  .banner-float-tag--bottom {
    left: 14px;
    bottom: 14px;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 16px));
    margin-top: 16px;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding: 18px 18px 18px;
  }
}

/* Expert-service manifesto implementation */

.banner-header {
  padding: clamp(16px, 2.2vw, 24px) 0 24px;
  background: #ffffff;
}

.banner-shell {
  min-height: auto;
  padding: 0;
  grid-template-columns: minmax(0, 0.94fr) minmax(380px, 1fr);
  gap: clamp(34px, 4vw, 62px);
  background: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
}

.banner-copy {
  padding: 18px 0 16px;
}

.banner-copy::before {
  top: 0;
  left: 0;
  bottom: auto;
  width: 56px;
  height: 3px;
  border-radius: 999px;
  background: var(--accent);
}

.banner-kicker {
  margin-top: 14px;
  color: #a36f56;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 8.8ch;
  margin-top: 14px;
  gap: 10px;
  font-size: clamp(2.45rem, 4.5vw, 4.65rem);
  line-height: 0.96;
  letter-spacing: -0.06em;
}

.banner-title--wide,
.banner-header--services .banner-title--wide,
.banner-header--about .banner-title--wide,
.banner-header--contact .banner-title--wide {
  max-width: 9.8ch;
}

.banner-title span:first-child {
  font-size: 0.7em;
  color: var(--accent-strong);
}

.banner-contactline {
  margin-top: 20px;
  font-size: 0.86rem;
  color: #685d54;
}

.banner-copy .lead {
  margin-top: 22px;
  max-width: 46ch;
  color: #5f554d;
  font-size: 0.98rem;
  line-height: 1.72;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 24px;
  gap: 12px;
}

.banner-copy .btn-primary,
.banner-copy .btn-light {
  min-height: 48px;
  padding: 0 20px;
  border-radius: 14px;
  font-size: 0.88rem;
  font-weight: 700;
}

.banner-tag,
.service-hero-tag {
  min-height: 31px;
  padding: 0 11px;
  background: #fff8f3;
  color: #726257;
  font-size: 0.76rem;
}

.banner-side {
  align-self: start;
}

.banner-icon-frame {
  min-height: 430px;
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(17, 21, 27, 0.08) 0%, rgba(17, 21, 27, 0.34) 100%),
    var(--banner-image) center / cover no-repeat;
  border: 1px solid rgba(19, 17, 15, 0.08);
  box-shadow: 0 22px 48px rgba(12, 15, 18, 0.12);
}

.banner-icon-frame::before {
  inset: auto 0 0 0;
  height: 42%;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, 0.18) 38%, rgba(17, 17, 17, 0.46) 100%);
}

.banner-icon-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(140deg, rgba(239, 127, 97, 0.16) 0%, rgba(239, 127, 97, 0) 36%),
    radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.12), transparent 18%);
}

.banner-icon-frame img,
.banner-icon-frame svg {
  right: 22px;
  bottom: 22px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 14px 28px rgba(11, 14, 18, 0.16);
}

.banner-icon-frame img {
  width: min(35%, 166px);
}

.banner-icon-frame svg {
  width: min(35%, 168px);
  stroke: var(--accent-strong);
  stroke-width: 11;
}

.banner-float-tag {
  max-width: 204px;
  padding: 14px 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
}

.banner-float-tag strong {
  font-size: 0.9rem;
}

.banner-float-tag span {
  font-size: 0.79rem;
  line-height: 1.48;
}

.banner-expert-card {
  width: var(--container);
  margin: 24px auto 0;
  grid-template-columns: 72px minmax(0, 1.18fr) minmax(240px, 0.82fr);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(12, 15, 18, 0.08);
}

.banner-expert-badge {
  padding: 20px 16px;
}

.banner-expert-badge img {
  width: 42px;
}

.banner-expert-copy strong {
  font-size: clamp(1.14rem, 1.8vw, 1.45rem);
  line-height: 1.34;
}

.banner-expert-copy p,
.banner-expert-points li {
  font-size: 0.91rem;
}

@media (max-width: 1080px) {
  .banner-shell {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .banner-icon-frame {
    min-height: 350px;
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
  }

  .banner-expert-badge {
    border-right: 0;
    border-bottom: 1px solid rgba(231, 223, 214, 0.96);
  }

  .banner-expert-points {
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .banner-header {
    padding: 12px 0 20px;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 100%;
    font-size: clamp(2.15rem, 10vw, 3.45rem);
  }

  .banner-copy .lead {
    font-size: 0.95rem;
  }

  .banner-icon-frame {
    min-height: 280px;
    border-radius: 22px;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 14px;
    bottom: 14px;
    padding: 14px;
    border-radius: 18px;
    width: min(36%, 128px);
  }

  .banner-float-tag {
    max-width: 170px;
    padding: 12px 12px;
    border-radius: 14px;
  }

  .banner-float-tag--top {
    top: 14px;
    left: 14px;
  }

  .banner-float-tag--bottom {
    left: 14px;
    bottom: 14px;
  }
}

/* Strict expert-header refinement */

.banner-shell {
  gap: clamp(30px, 3.8vw, 54px);
  align-items: start;
}

.banner-copy {
  padding: 14px 0 10px;
}

.banner-copy::before {
  width: 42px;
  height: 2px;
  background: #e07a59;
}

.banner-kicker {
  margin-top: 12px;
  color: #9d7258;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 8.4ch;
  margin-top: 16px;
  gap: 6px;
  font-size: clamp(2.3rem, 4.25vw, 4.35rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.banner-title--wide,
.banner-header--services .banner-title--wide,
.banner-header--about .banner-title--wide,
.banner-header--contact .banner-title--wide {
  max-width: 9.4ch;
}

.banner-title span:first-child {
  font-size: 0.66em;
}

.banner-contactline {
  margin-top: 18px;
  font-size: 0.84rem;
  color: #6b6158;
}

.banner-copy .lead {
  margin-top: 18px;
  max-width: 45ch;
  color: #60564e;
  font-size: 0.96rem;
  line-height: 1.7;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 22px;
  gap: 10px;
}

.banner-copy .btn-primary,
.banner-copy .btn-light {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 700;
}

.banner-tag-row,
.service-hero-meta {
  gap: 0;
  margin-top: 16px;
}

.banner-tag,
.service-hero-tag {
  min-height: auto;
  padding: 0;
  border: 0;
  background: none;
  color: #7b6b5f;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 0;
}

.banner-tag + .banner-tag,
.service-hero-tag + .service-hero-tag {
  position: relative;
  margin-left: 18px;
  padding-left: 18px;
}

.banner-tag + .banner-tag::before,
.service-hero-tag + .service-hero-tag::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 10px;
  background: rgba(123, 107, 95, 0.22);
  transform: translateY(-50%);
}

.service-bullet-list {
  gap: 9px;
}

.service-bullet-list li {
  color: #40362e;
  font-size: 0.93rem;
}

.service-lead-box {
  padding: 14px 16px;
  border-radius: 10px;
  background: #faf5f0;
}

.banner-icon-frame {
  min-height: 420px;
  border-radius: 12px;
  box-shadow: 0 16px 30px rgba(12, 15, 18, 0.08);
}

.banner-icon-frame::before {
  height: 38%;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  right: 24px;
  bottom: 24px;
  padding: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.banner-icon-frame img {
  width: min(36%, 158px);
}

.banner-icon-frame--brand img {
  filter: brightness(0) invert(1);
  opacity: 0.96;
}

.banner-icon-frame svg {
  width: min(36%, 162px);
  stroke: #ffffff;
  stroke-width: 10;
}

.banner-float-tag {
  max-width: 188px;
  padding: 12px 13px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(24, 22, 20, 0.08);
  box-shadow: none;
}

.banner-float-tag strong {
  font-size: 0.84rem;
  font-weight: 700;
}

.banner-float-tag span {
  font-size: 0.75rem;
  line-height: 1.48;
}

.banner-float-tag--top {
  top: 18px;
  left: 18px;
}

.banner-float-tag--bottom {
  display: none;
}

.banner-expert-card {
  margin-top: 18px;
  grid-template-columns: minmax(0, 1.18fr) minmax(240px, 0.82fr);
  border-radius: 12px;
  box-shadow: none;
}

.banner-expert-badge {
  display: none;
}

.banner-expert-copy,
.banner-expert-points {
  padding: 20px 20px 18px;
}

.banner-expert-overline {
  margin-bottom: 7px;
  color: #9b7c67;
  font-size: 0.64rem;
  letter-spacing: 0.18em;
}

.banner-expert-copy strong {
  max-width: 30ch;
  font-size: clamp(1.08rem, 1.6vw, 1.32rem);
  line-height: 1.38;
}

.banner-expert-copy p {
  margin-top: 6px;
  font-size: 0.9rem;
  color: #655a52;
}

.banner-expert-points {
  border-left: 1px solid rgba(231, 223, 214, 0.96);
}

.banner-expert-points li {
  font-size: 0.88rem;
  line-height: 1.46;
}

@media (max-width: 1080px) {
  .banner-icon-frame {
    min-height: 340px;
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
  }

  .banner-expert-points {
    border-left: 0;
    border-top: 1px solid rgba(231, 223, 214, 0.9);
  }
}

@media (max-width: 720px) {
  .banner-title,
  .banner-header--home .banner-title {
    font-size: clamp(2rem, 10vw, 3.15rem);
  }

  .banner-copy .lead {
    font-size: 0.93rem;
  }

  .banner-copy .btn-primary,
  .banner-copy .btn-light {
    min-height: 44px;
    padding: 0 14px;
    font-size: 0.82rem;
  }

  .banner-tag + .banner-tag,
  .service-hero-tag + .service-hero-tag {
    margin-left: 14px;
    padding-left: 14px;
  }

  .banner-icon-frame {
    min-height: 270px;
    border-radius: 10px;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 14px;
    bottom: 14px;
    width: min(34%, 112px);
  }

  .banner-float-tag {
    max-width: 158px;
    padding: 10px 11px;
    border-radius: 6px;
  }

  .banner-float-tag--top {
    top: 14px;
    left: 14px;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 12px));
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding: 16px;
  }
}

/* Full-bleed expert hero */

.banner-header {
  padding: 0 0 20px;
}

.banner-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: clamp(560px, 72vh, 760px);
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  gap: 0;
}

.banner-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:
    clamp(36px, 5vw, 68px)
    clamp(28px, 3vw, 44px)
    clamp(30px, 4vw, 52px)
    max(24px, calc((100vw - 1180px) / 2 + 2px));
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 82%, rgba(255, 253, 250, 0.96) 100%);
}

.banner-copy::before {
  left: max(24px, calc((100vw - 1180px) / 2 + 2px));
  top: clamp(28px, 4vw, 44px);
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 8ch;
  font-size: clamp(2.5rem, 4.7vw, 4.9rem);
}

.banner-title--wide,
.banner-header--services .banner-title--wide,
.banner-header--about .banner-title--wide,
.banner-header--contact .banner-title--wide {
  max-width: 9.2ch;
}

.banner-copy .lead {
  max-width: 44ch;
}

.banner-side {
  min-width: 0;
  min-height: 100%;
}

.banner-icon-frame {
  min-height: 100%;
  height: 100%;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}

.banner-icon-frame::before {
  height: 40%;
}

.banner-icon-frame::after {
  background:
    linear-gradient(140deg, rgba(239, 127, 97, 0.18) 0%, rgba(239, 127, 97, 0) 38%),
    radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.14), transparent 18%);
}

.banner-icon-frame img,
.banner-icon-frame svg {
  right: max(22px, calc((100vw - 1180px) / 2 + 4px));
  bottom: 24px;
}

.banner-float-tag--top {
  top: 22px;
  left: 22px;
}

.banner-expert-card {
  width: 100%;
  max-width: none;
  margin: 0;
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}

.banner-expert-copy {
  padding:
    20px
    28px
    18px
    max(24px, calc((100vw - 1180px) / 2 + 2px));
}

.banner-expert-points {
  padding:
    20px
    max(24px, calc((100vw - 1180px) / 2 + 2px))
    18px
    24px;
}

@media (max-width: 1080px) {
  .banner-shell {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .banner-copy {
    padding:
      32px
      max(20px, calc((100vw - 1180px) / 2 + 2px))
      22px
      max(20px, calc((100vw - 1180px) / 2 + 2px));
  }

  .banner-copy::before {
    left: max(20px, calc((100vw - 1180px) / 2 + 2px));
    top: 24px;
  }

  .banner-icon-frame {
    min-height: 360px;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 20px;
  }

  .banner-expert-card {
    grid-template-columns: 1fr;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding-left: max(20px, calc((100vw - 1180px) / 2 + 2px));
    padding-right: max(20px, calc((100vw - 1180px) / 2 + 2px));
  }
}

@media (max-width: 720px) {
  .banner-shell {
    gap: 0;
  }

  .banner-copy {
    padding: 28px 16px 20px;
  }

  .banner-copy::before {
    left: 16px;
    top: 20px;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 100%;
    font-size: clamp(2.08rem, 10vw, 3.2rem);
  }

  .banner-icon-frame {
    min-height: 280px;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 14px;
    bottom: 14px;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding: 16px;
  }
}

/* Full-bleed hero repair */

.banner-header {
  padding: 0 0 24px !important;
  background: #ffffff !important;
}

.banner-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: clamp(560px, 72vh, 760px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 51%) minmax(0, 49%) !important;
  gap: 0 !important;
  align-items: stretch !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.banner-copy {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding:
    clamp(38px, 5vw, 68px)
    clamp(28px, 3vw, 44px)
    clamp(30px, 4vw, 48px)
    max(24px, calc((100vw - 1180px) / 2 + 4px)) !important;
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 84%, rgba(255, 252, 248, 0.96) 100%) !important;
}

.banner-copy::before {
  top: clamp(28px, 4vw, 44px) !important;
  left: max(24px, calc((100vw - 1180px) / 2 + 4px)) !important;
  width: 44px !important;
  height: 2px !important;
  background: #e07a59 !important;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 8.1ch !important;
  font-size: clamp(2.35rem, 4.35vw, 4.5rem) !important;
}

.banner-title--wide,
.banner-header--services .banner-title--wide,
.banner-header--about .banner-title--wide,
.banner-header--contact .banner-title--wide {
  max-width: 9.1ch !important;
}

.banner-copy .lead {
  max-width: 44ch !important;
}

.banner-side {
  position: relative !important;
  min-height: 100% !important;
  align-self: stretch !important;
}

.banner-side::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(18, 22, 28, 0.1) 0%, rgba(18, 22, 28, 0.44) 100%),
    var(--banner-image) center / cover no-repeat !important;
}

.banner-side::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(140deg, rgba(239, 127, 97, 0.16) 0%, rgba(239, 127, 97, 0) 38%),
    radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.14), transparent 18%) !important;
}

.banner-icon-frame {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.banner-icon-frame::before,
.banner-icon-frame::after {
  display: none !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  position: absolute !important;
  right: max(22px, calc((100vw - 1180px) / 2 + 6px)) !important;
  bottom: 22px !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.banner-icon-frame img {
  width: min(37%, 168px) !important;
}

.banner-icon-frame--brand img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.96 !important;
}

.banner-icon-frame svg {
  width: min(37%, 170px) !important;
  stroke: #ffffff !important;
  stroke-width: 10 !important;
}

.banner-float-tag {
  max-width: 190px !important;
  padding: 12px 13px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(22, 20, 18, 0.08) !important;
  box-shadow: none !important;
}

.banner-float-tag--top {
  top: 20px !important;
  left: 20px !important;
}

.banner-float-tag--bottom {
  display: none !important;
}

.banner-expert-card {
  width: var(--container) !important;
  max-width: none !important;
  margin: 18px auto 0 !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(240px, 0.82fr) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(231, 223, 214, 0.96) !important;
  box-shadow: none !important;
}

.banner-expert-card::before {
  display: none !important;
}

.banner-expert-badge {
  display: none !important;
}

.banner-expert-copy,
.banner-expert-points {
  padding: 18px 20px !important;
}

@media (max-width: 1080px) {
  .banner-shell {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .banner-copy {
    padding:
      32px
      max(20px, calc((100vw - 1180px) / 2 + 2px))
      22px
      max(20px, calc((100vw - 1180px) / 2 + 2px)) !important;
  }

  .banner-copy::before {
    left: max(20px, calc((100vw - 1180px) / 2 + 2px)) !important;
    top: 24px !important;
  }

  .banner-side {
    min-height: 360px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 20px !important;
  }

  .banner-expert-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .banner-copy {
    padding: 28px 16px 20px !important;
  }

  .banner-copy::before {
    left: 16px !important;
    top: 20px !important;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.06rem, 10vw, 3.2rem) !important;
  }

  .banner-side {
    min-height: 280px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 14px !important;
    bottom: 14px !important;
    width: min(34%, 116px) !important;
  }

  .banner-float-tag {
    max-width: 158px !important;
    padding: 10px 11px !important;
    border-radius: 6px !important;
  }

  .banner-float-tag--top {
    top: 14px !important;
    left: 14px !important;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 12px)) !important;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding: 16px !important;
  }
}

/* Full-bleed hero repair */

.banner-header {
  padding: 0 0 24px !important;
  background: #ffffff !important;
}

.banner-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(560px, 74vh, 760px) !important;
  margin: 0 !important;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  background: #ffffff !important;
}

.banner-copy {
  position: relative !important;
  z-index: 1 !important;
  justify-content: center !important;
  padding:
    clamp(44px, 5vw, 72px)
    clamp(24px, 2.2vw, 34px)
    clamp(32px, 4vw, 54px)
    max(24px, calc((100vw - 1180px) / 2 + 6px)) !important;
  background:
    linear-gradient(90deg, #ffffff 0%, #ffffff 90%, rgba(255, 250, 246, 0.97) 100%) !important;
}

.banner-copy::before {
  top: clamp(34px, 4vw, 52px) !important;
  left: max(24px, calc((100vw - 1180px) / 2 + 6px)) !important;
  width: 48px !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: #e07a59 !important;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 10.4ch !important;
  margin-top: 14px !important;
  font-size: clamp(2.3rem, 4vw, 4.2rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.07em !important;
}

.banner-title span:first-child {
  color: #d96c47 !important;
  font-size: 0.68em !important;
}

.banner-copy .lead {
  max-width: 48ch !important;
  margin-top: 24px !important;
  color: #4b433d !important;
  font-size: 1.02rem !important;
  line-height: 1.72 !important;
}

.banner-contactline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin-top: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.banner-contactline span {
  color: #403833 !important;
}

.banner-contactline span::after {
  right: -9px !important;
}

.banner-tag-row {
  gap: 18px !important;
  margin-top: 18px !important;
}

.banner-tag {
  padding: 0 0 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: #554c45 !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  position: relative !important;
  box-shadow: none !important;
}

.banner-tag::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: var(--accent) !important;
  transform: translateY(-50%) !important;
}

.banner-side {
  position: relative !important;
  min-height: 100% !important;
  align-self: stretch !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #1a1d21 !important;
}

.banner-side::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(13, 16, 20, 0.22) 0%, rgba(13, 16, 20, 0.46) 100%),
    var(--banner-image) center / cover no-repeat !important;
  transform: scale(1.02) !important;
}

.banner-side::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(270deg, rgba(13, 16, 20, 0.22) 0%, rgba(13, 16, 20, 0.03) 46%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(180deg, rgba(239, 127, 97, 0.14) 0%, rgba(239, 127, 97, 0) 24%) !important;
}

.banner-icon-frame {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  position: absolute !important;
  right: max(24px, calc((100vw - 1180px) / 2 + 10px)) !important;
  bottom: 36px !important;
  width: min(41%, 210px) !important;
  height: auto !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.banner-icon-frame--brand img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.96 !important;
}

.banner-icon-frame svg {
  stroke: #ffffff !important;
  stroke-width: 9 !important;
}

.banner-float-tag {
  max-width: 220px !important;
  padding: 14px 15px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(25, 23, 22, 0.08) !important;
  box-shadow: 0 10px 24px rgba(15, 12, 10, 0.08) !important;
}

.banner-float-tag strong {
  color: #1d1815 !important;
}

.banner-float-tag span {
  color: #5e544d !important;
}

.banner-float-tag--top {
  top: 24px !important;
  left: 24px !important;
}

.banner-float-tag--bottom {
  display: none !important;
}

.banner-expert-card {
  width: var(--container) !important;
  max-width: none !important;
  margin: 18px auto 0 !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(232, 223, 214, 0.96) !important;
  box-shadow: none !important;
}

.banner-expert-badge {
  display: none !important;
}

.banner-expert-copy,
.banner-expert-points {
  padding: 18px 22px !important;
}

@media (max-width: 1080px) {
  .banner-shell {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .banner-copy {
    padding:
      34px
      max(20px, calc((100vw - 1180px) / 2 + 2px))
      22px
      max(20px, calc((100vw - 1180px) / 2 + 2px)) !important;
  }

  .banner-copy::before {
    top: 26px !important;
    left: max(20px, calc((100vw - 1180px) / 2 + 2px)) !important;
  }

  .banner-side {
    min-height: 360px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 20px !important;
    bottom: 20px !important;
    width: min(32%, 158px) !important;
  }

  .banner-float-tag--top {
    top: 18px !important;
    left: 18px !important;
  }

  .banner-expert-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .banner-header {
    padding-bottom: 18px !important;
  }

  .banner-copy {
    padding: 28px 16px 18px !important;
  }

  .banner-copy::before {
    top: 18px !important;
    left: 16px !important;
    width: 36px !important;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.15rem, 10.5vw, 3.35rem) !important;
  }

  .banner-contactline {
    display: grid !important;
    gap: 8px !important;
  }

  .banner-copy .lead {
    font-size: 0.97rem !important;
    line-height: 1.66 !important;
  }

  .banner-tag-row {
    gap: 12px !important;
  }

  .banner-side {
    min-height: 270px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 14px !important;
    bottom: 14px !important;
    width: min(33%, 118px) !important;
  }

  .banner-float-tag {
    max-width: 164px !important;
    padding: 10px 11px !important;
    border-radius: 8px !important;
  }

  .banner-float-tag--top {
    top: 12px !important;
    left: 12px !important;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 12px)) !important;
  }

  .banner-expert-copy,
  .banner-expert-points {
    padding: 16px !important;
  }
}

/* Full-bleed hero correction */

.banner-shell {
  overflow: visible !important;
  min-height: clamp(500px, 66vh, 700px) !important;
  grid-template-columns: minmax(360px, 41%) minmax(0, 59%) !important;
}

.banner-copy {
  padding:
    clamp(36px, 4vw, 60px)
    clamp(18px, 1.8vw, 28px)
    clamp(26px, 3vw, 44px)
    max(20px, calc((100vw - 1180px) / 2 + 4px)) !important;
  background: #ffffff !important;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 11ch !important;
  font-size: clamp(2.2rem, 3.95vw, 4rem) !important;
  line-height: 0.96 !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title {
  max-width: 9.4ch !important;
  font-size: clamp(1.95rem, 3.3vw, 3.6rem) !important;
}

.banner-header--service .banner-title span:last-child,
.banner-header--about .banner-title span:last-child,
.banner-header--contact .banner-title span:last-child {
  hyphens: auto !important;
  overflow-wrap: anywhere !important;
}

.banner-copy .lead {
  max-width: 38ch !important;
}

.banner-contactline {
  gap: 6px 14px !important;
}

.banner-side {
  min-height: clamp(500px, 66vh, 700px) !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  right: max(20px, calc((100vw - 1180px) / 2 + 8px)) !important;
  bottom: 24px !important;
  width: min(34%, 184px) !important;
}

.banner-float-tag--top {
  top: 18px !important;
  left: 18px !important;
  max-width: 200px !important;
}

.banner-expert-card {
  margin-top: 14px !important;
}

@media (max-width: 1200px) {
  .banner-shell {
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
  }
}

@media (max-width: 1080px) {
  .banner-shell {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .banner-copy {
    padding:
      30px
      max(18px, calc((100vw - 1180px) / 2 + 2px))
      22px
      max(18px, calc((100vw - 1180px) / 2 + 2px)) !important;
  }

  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title {
    max-width: 100% !important;
    font-size: clamp(2rem, 6vw, 3.1rem) !important;
  }

  .banner-side {
    min-height: 320px !important;
  }
}

/* Header brand and toggle refinement */

.header-inner {
  min-height: 82px !important;
  grid-template-columns: minmax(270px, 340px) 1fr auto !important;
  gap: 28px !important;
}

.brand {
  display: inline-grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

.brand-mark {
  width: 64px !important;
}

.brand-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

.brand-copy strong {
  color: #111111 !important;
  font-size: clamp(1.72rem, 1.7vw, 2.02rem) !important;
  font-weight: 900 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.055em !important;
}

.brand-copy small {
  margin-top: 4px !important;
  color: #7d746d !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.02em !important;
}

.nav-actions {
  gap: 12px !important;
}

.menu-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid rgba(23, 19, 17, 0.14) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(18, 18, 18, 0.06) !important;
}

.menu-toggle:hover {
  border-color: rgba(23, 19, 17, 0.24) !important;
  background: #fcfbfa !important;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  width: 18px !important;
  height: 1.75px !important;
  background: #171311 !important;
  border-radius: 999px !important;
}

.menu-toggle::before {
  transform: translateY(-5px) !important;
}

.menu-toggle::after {
  transform: translateY(5px) !important;
}

.menu-toggle.open span {
  opacity: 0 !important;
}

.menu-toggle.open::before {
  transform: translateY(1px) rotate(45deg) !important;
}

.menu-toggle.open::after {
  transform: translateY(0) rotate(-45deg) !important;
}

@media (max-width: 1080px) {
  .header-inner {
    min-height: 74px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 18px !important;
  }

  .brand-mark {
    width: 58px !important;
  }

  .brand-copy strong {
    font-size: 1.54rem !important;
  }

  .brand-copy small {
    font-size: 0.58rem !important;
  }
}

@media (max-width: 720px) {
  .header-inner {
    min-height: 68px !important;
    gap: 12px !important;
  }

  .brand {
    gap: 10px !important;
  }

  .brand-mark {
    width: 50px !important;
  }

  .brand-copy strong {
    font-size: 1.28rem !important;
  }

  .brand-copy small {
    margin-top: 3px !important;
    font-size: 0.54rem !important;
  }

  .menu-toggle {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
  }
}

/* Lockup brand finalization */

.header-inner {
  grid-template-columns: minmax(260px, 330px) 1fr auto !important;
  gap: 24px !important;
}

.brand.brand--lockup {
  display: inline-flex !important;
  align-items: center !important;
  width: min(100%, 286px) !important;
  min-width: 0 !important;
}

.brand.brand--lockup img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.nav-actions {
  gap: 10px !important;
}

.nav-actions .btn-primary {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
}

.menu-toggle {
  width: 46px !important;
  height: 42px !important;
  border: 1px solid rgba(25, 22, 20, 0.14) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf8f6 100%) !important;
  box-shadow: 0 6px 18px rgba(17, 17, 17, 0.05) !important;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after {
  width: 18px !important;
  height: 1.5px !important;
  background: #171311 !important;
}

.menu-toggle::before {
  transform: translateY(-5px) !important;
}

.menu-toggle::after {
  transform: translateY(5px) !important;
}

.menu-toggle.open::before {
  transform: translateY(1px) rotate(45deg) !important;
}

.menu-toggle.open::after {
  transform: translateY(0) rotate(-45deg) !important;
}

.footer-brand {
  display: grid !important;
  gap: 14px !important;
  align-content: start !important;
}

.footer-brand-lockup {
  display: inline-flex !important;
  width: min(100%, 244px) !important;
}

.footer-brand-lockup img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.footer-brand .muted {
  max-width: 31ch !important;
  margin: 0 !important;
  color: #5f5953 !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
}

@media (max-width: 1080px) {
  .header-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
  }

  .brand.brand--lockup {
    width: min(100%, 250px) !important;
  }
}

@media (max-width: 720px) {
  .brand.brand--lockup {
    width: min(100%, 208px) !important;
  }

  .menu-toggle {
    width: 42px !important;
    height: 40px !important;
    border-radius: 11px !important;
  }

  .footer-brand-lockup {
    width: min(100%, 208px) !important;
  }

  .footer-brand .muted {
    font-size: 0.88rem !important;
  }
}

/* Footer brand/trust rebalance */

.footer-grid {
  grid-template-columns: minmax(450px, 1.68fr) minmax(240px, 0.96fr) minmax(180px, 0.74fr) minmax(220px, 0.92fr) !important;
}

.footer-brand {
  gap: 16px !important;
  padding-right: 22px !important;
}

.footer-brand-lockup {
  width: min(100%, 272px) !important;
}

.footer-brand .muted {
  max-width: 34ch !important;
  font-size: 0.93rem !important;
  line-height: 1.62 !important;
}

.footer-certifications {
  grid-template-columns: 108px minmax(0, 216px) !important;
  align-items: start !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

.footer-certificate--google {
  width: 108px !important;
}

.footer-certificate-stack--desag {
  gap: 6px !important;
}

.footer-certificate--desag {
  width: min(100%, 208px) !important;
}

.footer-certificate--desag img {
  max-width: 208px !important;
}

.footer-certificate-subline {
  max-width: 24ch !important;
  font-size: 0.68rem !important;
  line-height: 1.28 !important;
}

.footer-certificate-note {
  max-width: 25ch !important;
  font-size: 0.78rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 1080px) {
  .footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.92fr) minmax(180px, 0.8fr) !important;
  }

  .footer-brand {
    padding-right: 0 !important;
  }

  .footer-brand-lockup {
    width: min(100%, 246px) !important;
  }
}

@media (max-width: 720px) {
  .footer-brand-lockup {
    width: min(100%, 220px) !important;
  }

  .footer-certifications {
    grid-template-columns: 96px minmax(0, 188px) !important;
    gap: 14px !important;
  }

  .footer-certificate--google {
    width: 96px !important;
  }

  .footer-certificate--desag {
    width: min(100%, 188px) !important;
  }

  .footer-certificate--desag img {
    max-width: 188px !important;
  }
}

/* Image relevance remap */

.banner-header--contact {
  --banner-image: url("../assets/services/1503387762-592deb58ef4e-w1200.jpg") !important;
}

.banner-header--wertermittlung {
  --banner-image: url("../assets/services/1600047509358-9dc75507daeb-w1200.jpg") !important;
}

/* Header toggle alignment refinement */

.nav-actions {
  gap: 12px !important;
}

.menu-toggle {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid rgba(25, 22, 20, 0.12) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf8f5 100%) !important;
  box-shadow: 0 8px 18px rgba(17, 17, 17, 0.04) !important;
}

.menu-toggle:hover {
  border-color: rgba(25, 22, 20, 0.2) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f4f1 100%) !important;
}

.menu-toggle span {
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
}

.menu-toggle::before,
.menu-toggle::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  height: 1.5px !important;
  background: #171311 !important;
  border-radius: 999px !important;
  transform-origin: center !important;
  transition:
    transform 0.2s ease,
    width 0.2s ease,
    opacity 0.2s ease,
    background-color 0.2s ease !important;
}

.menu-toggle::before {
  width: 18px !important;
  transform: translate(-6px, -4px) !important;
}

.menu-toggle::after {
  width: 15px !important;
  transform: translate(6px, 4px) !important;
}

.menu-toggle.open::before {
  width: 18px !important;
  transform: translate(0, 0) rotate(45deg) !important;
}

.menu-toggle.open::after {
  width: 18px !important;
  transform: translate(0, 0) rotate(-45deg) !important;
}

@media (max-width: 720px) {
  .menu-toggle {
    width: 48px !important;
    height: 40px !important;
    border-radius: 13px !important;
  }

  .menu-toggle::before {
    width: 16px !important;
    transform: translate(-5px, -4px) !important;
  }

  .menu-toggle::after {
    width: 13px !important;
    transform: translate(5px, 4px) !important;
  }

  .menu-toggle.open::before,
  .menu-toggle.open::after {
    width: 16px !important;
  }
}

/* Header bar cohesion refinement */

.site-header,
.site-header.scrolled {
  background: #ffffff !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid rgba(27, 23, 20, 0.08) !important;
  box-shadow: 0 8px 22px rgba(18, 18, 18, 0.035) !important;
}

.header-inner {
  min-height: 80px !important;
  grid-template-columns: minmax(250px, 310px) 1fr auto !important;
  gap: 32px !important;
}

.brand.brand--lockup {
  width: min(100%, 272px) !important;
}

.brand.brand--lockup img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.nav-desktop {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 30px !important;
}

.nav-desktop > a,
.nav-dropdown-toggle {
  min-height: auto !important;
  padding: 0 !important;
  color: #231d1a !important;
  font-size: 0.96rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.nav-desktop > a::after,
.nav-dropdown-toggle::after {
  bottom: -17px !important;
  width: 20px !important;
  height: 1.5px !important;
  background: #df7a58 !important;
}

.nav-actions {
  gap: 14px !important;
}

.nav-actions .btn-primary {
  min-height: 40px !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  background: #ef8b67 !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
  box-shadow: none !important;
}

.nav-actions .btn-primary:hover {
  background: #e27b57 !important;
}

.menu-toggle {
  width: 52px !important;
  height: 40px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(25, 22, 20, 0.14) !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf8f5 100%) !important;
  box-shadow: 0 8px 18px rgba(17, 17, 17, 0.04) !important;
}

.menu-toggle::before {
  width: 18px !important;
  transform: translate(-7px, -4px) !important;
}

.menu-toggle::after {
  width: 14px !important;
  transform: translate(7px, 4px) !important;
}

.menu-toggle.open::before,
.menu-toggle.open::after {
  width: 18px !important;
}

@media (max-width: 980px) {
  .header-inner {
    grid-template-columns: auto 1fr auto !important;
    gap: 18px !important;
  }

  .brand.brand--lockup {
    width: min(100%, 230px) !important;
  }

  .nav-actions .btn-primary {
    min-height: 38px !important;
    padding: 0 15px !important;
    font-size: 0.8rem !important;
  }
}

@media (max-width: 720px) {
  .header-inner {
    min-height: 74px !important;
    gap: 14px !important;
  }

  .brand.brand--lockup {
    width: min(100%, 194px) !important;
  }

  .nav-actions {
    gap: 10px !important;
  }

  .nav-actions .btn-primary {
    min-height: 36px !important;
    padding: 0 14px !important;
  }

  .menu-toggle {
    width: 48px !important;
    height: 38px !important;
    border-radius: 13px !important;
  }
}

/* Contact utility bar refinement */

.topbar-links {
  gap: 0 !important;
}

.topbar-links > * + * {
  margin-left: 12px !important;
  padding-left: 12px !important;
}

.topbar-links a {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .topbar-links {
    gap: 8px !important;
  }

  .topbar-links > * + * {
    margin-left: 10px !important;
    padding-left: 10px !important;
  }
}

/* Process step system refinement */

.process-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 20px !important;
}

.process-step {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 26px 22px 24px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  border: 1px solid rgba(224, 216, 208, 0.92) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.process-step::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 88px !important;
  height: 4px !important;
  background: #ef8b67 !important;
}

.process-step span {
  width: 40px !important;
  height: 40px !important;
  margin-bottom: 18px !important;
  background: #fdf0e9 !important;
  color: #dd7756 !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.process-step strong {
  display: block !important;
  max-width: 14ch !important;
  color: #171311 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  letter-spacing: -0.01em !important;
}

.process-step p {
  margin-top: 12px !important;
  max-width: 26ch !important;
  color: #5f5750 !important;
  font-size: 0.96rem !important;
  line-height: 1.68 !important;
}

.process-step:hover {
  transform: none !important;
  box-shadow: 0 12px 28px rgba(20, 20, 20, 0.05) !important;
  border-color: rgba(214, 188, 170, 0.96) !important;
}

@media (max-width: 1100px) {
  .process-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  }

  .process-step {
    padding: 24px 20px 22px !important;
  }

  .process-step strong {
    font-size: 0.96rem !important;
    max-width: 15ch !important;
  }

  .process-step p {
    font-size: 0.92rem !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 720px) {
  .process-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .process-step {
    border-radius: 18px !important;
  }

  .process-step strong,
  .process-step p {
    max-width: none !important;
  }
}

/* Desktop menu toggle visibility */

@media (min-width: 901px) {
  .menu-toggle {
    display: none !important;
  }
}

/* Hauscheck visible intake form */

.intake-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: 30px;
  margin-top: 28px;
  align-items: start;
}

.intake-shell,
.intake-target-card {
  border: 1px solid rgba(226, 217, 208, 0.96);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 250, 246, 0.96));
  box-shadow: 0 18px 34px rgba(16, 16, 16, 0.045);
}

.intake-shell {
  display: grid;
  gap: 0;
  padding: 28px 30px 30px;
}

.intake-row {
  display: grid;
  gap: 18px;
}

.intake-row + .intake-row {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(230, 223, 216, 0.9);
}

.intake-row-head {
  display: grid;
  gap: 8px;
  max-width: 60ch;
}

.intake-row-head .muted {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.58;
}

.intake-subtitle {
  display: block;
  margin-bottom: 12px;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a7e73;
}

.intake-section-title,
.intake-target-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7f4d39;
}

.intake-section-title::before,
.intake-target-eyebrow::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(239, 127, 97, 0.88);
  box-shadow: 0 0 0 6px rgba(239, 127, 97, 0.12);
}

.form-grid--intake {
  margin-top: 8px;
}

.form-grid--contact-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid--contact-compact label {
  min-width: 0;
}

.form-grid--contact-compact label:last-child {
  grid-column: 1 / -1;
}

.intake-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.intake-column {
  min-width: 0;
}

.form-grid--request-compact {
  grid-template-columns: 1fr;
}

.form-grid--object-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid--request-compact textarea {
  min-height: 170px;
}

.intake-target-card {
  padding: 24px 24px 22px;
  position: sticky;
  top: 96px;
}

.intake-target-card h4 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-size: 1.26rem;
  line-height: 1.25;
}

.intake-summary {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.intake-summary-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.intake-summary-row {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(230, 223, 216, 0.94);
}

.intake-summary-row--stacked {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding-bottom: 0;
  border-bottom: 0;
}

.intake-summary-label {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a7e73;
}

.intake-summary-value {
  color: #181311;
  font-weight: 600;
  line-height: 1.46;
  overflow-wrap: anywhere;
}

.intake-summary-question {
  margin: 0;
  padding: 15px 16px;
  border-radius: 16px;
  background: #fffdfa;
  border: 1px solid rgba(231, 224, 216, 0.94);
  color: #4d443d;
  
  font-size: 0.9rem;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}

.intake-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 22px;
}

.intake-submit-row .check-row {
  flex: 1;
}

.intake-submit-row .btn[type="submit"] {
  flex-shrink: 0;
}

@media (max-width: 1380px) {
  .intake-layout {
    grid-template-columns: 1fr;
  }

  .intake-target-card {
    position: static;
  }
}

@media (max-width: 1120px) {
  .intake-split-grid,
  .intake-summary-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .form-grid--contact-compact,
  .form-grid--object-compact,
  .intake-submit-row {
    grid-template-columns: 1fr;
  }

  .intake-submit-row {
    display: grid;
  }

  .form-grid--contact-compact label:last-child {
    grid-column: auto;
  }
}

@media (max-width: 720px) {
  .intake-shell,
  .intake-target-card {
    padding: 20px;
    border-radius: 18px;
  }

  .intake-row + .intake-row {
    margin-top: 20px;
    padding-top: 20px;
  }

  .intake-target-card h4 {
    font-size: 1.12rem;
  }

  .intake-summary-question {
    padding: 14px 15px;
    font-size: 0.9rem;
    line-height: 1.62;
  }
}

@media (max-width: 900px) {
  .menu-toggle {
    display: inline-flex !important;
  }
}

/* Service preview overflow repair */

@media (max-width: 1320px) {
  .service-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .service-preview-body {
    padding: 22px !important;
    gap: 14px !important;
  }

  .service-preview-head {
    gap: 12px !important;
  }

  .service-preview-body h3 {
    font-size: clamp(1.18rem, 1.05rem + 0.34vw, 1.72rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .service-preview-body p,
  .service-preview-body .checklist li {
    font-size: 0.98rem !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 880px) {
  .service-preview-grid {
    grid-template-columns: 1fr !important;
  }

  .service-preview-card {
    min-height: 0 !important;
  }
}

/* Index immersive service cards */

.service-preview-grid--immersive {
  gap: 30px !important;
}

.service-preview-grid--immersive .service-preview-card {
  position: relative !important;
  grid-template-columns: 1fr !important;
  grid-template-areas: "stack" !important;
  min-height: 520px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(227, 217, 208, 0.96) !important;
  overflow: hidden !important;
  box-shadow: 0 22px 48px rgba(27, 22, 19, 0.08) !important;
  background: #f6f1eb !important;
}

.service-preview-grid--immersive .service-preview-card::after {
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(252, 248, 244, 0.96) 0%, rgba(252, 248, 244, 0.94) 26%, rgba(252, 248, 244, 0.80) 42%, rgba(252, 248, 244, 0.26) 62%, rgba(23, 19, 17, 0.18) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(21, 18, 16, 0.08) 100%) !important;
  z-index: 1 !important;
}

.service-preview-grid--immersive .service-preview-card::before {
  inset: 0 auto 0 0 !important;
  width: 8px !important;
  height: auto !important;
  z-index: 3 !important;
}

.service-preview-grid--immersive .service-preview-visual {
  grid-area: stack !important;
  position: absolute !important;
  inset: 0 !important;
  min-height: 100% !important;
  height: 100% !important;
  border: 0 !important;
  z-index: 0 !important;
}

.service-preview-grid--immersive .service-preview-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.01);
}

.service-preview-grid--immersive .service-preview-body {
  grid-area: stack !important;
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: min(100%, 58%) !important;
  min-height: 100% !important;
  padding: 34px 32px 30px !important;
  gap: 18px !important;
  background: transparent !important;
}

.service-preview-grid--immersive .service-preview-head {
  width: 100% !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

.service-preview-grid--immersive .service-preview-head > div {
  gap: 12px !important;
}

.service-preview-grid--immersive .service-preview-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  background: rgba(255, 251, 247, 0.92) !important;
  border: 1px solid rgba(230, 218, 207, 0.96) !important;
  color: var(--service-preview) !important;
  box-shadow: 0 12px 28px rgba(33, 26, 22, 0.08) !important;
}

.service-preview-grid--immersive .service-preview-body h3 {
  max-width: 10.6ch !important;
  color: #d96f48 !important;
  font-size: clamp(2rem, 1.5rem + 1.1vw, 3rem) !important;
  font-weight: 800 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.04em !important;
  text-wrap: balance !important;
}

.service-preview-grid--immersive .service-preview-head p {
  max-width: 28ch !important;
  color: #5d564f !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
}

.service-preview-grid--immersive .service-preview-body .checklist {
  max-width: 32ch !important;
  gap: 11px !important;
}

.service-preview-grid--immersive .service-preview-body .checklist li {
  color: #554d46 !important;
  text-shadow: none !important;
}

.service-preview-grid--immersive .service-preview-body .btn-text {
  margin-top: auto !important;
  color: #e06e45 !important;
  font-weight: 800 !important;
}

.service-preview-grid--immersive .service-preview-chip {
  left: auto !important;
  right: 20px !important;
  bottom: 20px !important;
  min-width: 42px !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #171311 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 24px rgba(22, 20, 19, 0.14) !important;
}

@media (max-width: 1320px) {
  .service-preview-grid--immersive .service-preview-card {
    min-height: 500px !important;
  }

  .service-preview-grid--immersive .service-preview-body {
    width: min(100%, 64%) !important;
    padding: 30px 28px 28px !important;
  }

  .service-preview-grid--immersive .service-preview-body h3 {
    font-size: clamp(1.8rem, 1.32rem + 0.92vw, 2.5rem) !important;
    max-width: 11.5ch !important;
  }
}

@media (max-width: 980px) {
  .service-preview-grid--immersive .service-preview-card {
    min-height: 460px !important;
  }

  .service-preview-grid--immersive .service-preview-body {
    width: min(100%, 72%) !important;
    padding: 26px 24px 24px !important;
  }

  .service-preview-grid--immersive .service-preview-body h3 {
    max-width: 12.5ch !important;
    font-size: clamp(1.62rem, 1.18rem + 0.82vw, 2.1rem) !important;
  }
}

@media (max-width: 880px) {
  .service-preview-grid--immersive {
    grid-template-columns: 1fr !important;
  }

  .service-preview-grid--immersive .service-preview-card {
    min-height: 0 !important;
  }

  .service-preview-grid--immersive .service-preview-card::after {
    background:
      linear-gradient(180deg, rgba(252, 248, 244, 0.82) 0%, rgba(252, 248, 244, 0.90) 38%, rgba(252, 248, 244, 0.96) 64%, rgba(252, 248, 244, 0.98) 100%),
      linear-gradient(180deg, rgba(21, 18, 16, 0.02) 0%, rgba(21, 18, 16, 0.08) 100%) !important;
  }

  .service-preview-grid--immersive .service-preview-body {
    width: 100% !important;
    min-height: 100% !important;
    padding: 24px 22px 24px !important;
  }

  .service-preview-grid--immersive .service-preview-head {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .service-preview-grid--immersive .service-preview-head p,
  .service-preview-grid--immersive .service-preview-body .checklist {
    max-width: none !important;
  }

.service-preview-grid--immersive .service-preview-chip {
  right: 16px !important;
  bottom: 16px !important;
}
}

/* Homepage service cards compact 3x2 layout */

.section--home-services {
  padding-bottom: clamp(42px, 5vw, 58px) !important;
}

.section--home-signature {
  padding-top: clamp(36px, 4vw, 56px) !important;
  padding-bottom: clamp(44px, 5vw, 60px) !important;
}

.section-head--home-services {
  align-items: end !important;
  gap: 22px !important;
}

.section-head--home-services > div {
  max-width: 46ch !important;
}

.home-services-title {
  margin-top: 14px !important;
  max-width: 16ch !important;
}

.section-head--home-services .lead {
  max-width: 35ch !important;
  margin-top: 10px !important;
}

.home-service-grid--compact.service-preview-grid--immersive {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-card {
  min-height: 352px !important;
  border-radius: 26px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-card::after {
  background:
    linear-gradient(90deg, rgba(252, 248, 244, 0.95) 0%, rgba(252, 248, 244, 0.92) 30%, rgba(252, 248, 244, 0.74) 48%, rgba(252, 248, 244, 0.20) 68%, rgba(23, 19, 17, 0.16) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(21, 18, 16, 0.08) 100%) !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-body {
  width: min(100%, 72%) !important;
  padding: 18px 18px 18px !important;
  gap: 10px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-head {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-head > div {
  gap: 6px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 13px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-body h3 {
  max-width: 13ch !important;
  font-size: clamp(1.18rem, 1rem + 0.46vw, 1.6rem) !important;
  line-height: 1.06 !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-head p {
  max-width: 29ch !important;
  font-size: 0.84rem !important;
  line-height: 1.42 !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-body .checklist {
  max-width: 30ch !important;
  gap: 5px !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-body .checklist li {
  font-size: 0.82rem !important;
  line-height: 1.38 !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-body .checklist li:nth-child(n+3) {
  display: none !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-body .btn-text {
  margin-top: 2px !important;
  font-size: 0.85rem !important;
}

.home-service-grid--compact.service-preview-grid--immersive .service-preview-chip {
  min-width: 34px !important;
  height: 34px !important;
  right: 14px !important;
  bottom: 14px !important;
  font-size: 0.82rem !important;
}

.signature-grid--compact {
  width: var(--container) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

.signature-grid--compact .signature-panel {
  padding: clamp(24px, 3.2vw, 34px) !important;
}

.signature-grid--compact .signature-panel h2 {
  margin-top: 14px !important;
  max-width: 13ch !important;
}

.signature-grid--compact .signature-panel .lead {
  max-width: 42ch !important;
  margin-top: 18px !important;
}

.signature-grid--compact .signature-quote {
  margin-top: 18px !important;
  max-width: 28ch !important;
  font-size: clamp(1.02rem, 1.1rem + 0.28vw, 1.28rem) !important;
  line-height: 1.48 !important;
}

.signature-grid--compact .signature-stack {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.signature-grid--compact .signature-stack > * {
  padding: 18px 18px 16px !important;
}

.signature-grid--compact .signature-stack strong {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 0.98rem !important;
}

.signature-grid--compact .signature-stack p {
  font-size: 0.92rem !important;
  line-height: 1.52 !important;
}

@media (max-width: 1320px) {
  .home-service-grid--compact.service-preview-grid--immersive {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .home-service-grid--compact.service-preview-grid--immersive .service-preview-card {
    min-height: 372px !important;
  }

  .home-service-grid--compact.service-preview-grid--immersive .service-preview-body {
    width: min(100%, 70%) !important;
  }

  .home-service-grid--compact.service-preview-grid--immersive .service-preview-body .checklist li:nth-child(n+3) {
    display: list-item !important;
  }
}

@media (max-width: 1180px) {
  .signature-grid--compact {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  .section-head--home-services {
    gap: 16px !important;
  }

  .home-services-title,
  .section-head--home-services .lead {
    max-width: none !important;
  }

  .signature-grid--compact .signature-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 880px) {
  .home-service-grid--compact.service-preview-grid--immersive {
    grid-template-columns: 1fr !important;
  }

  .home-service-grid--compact.service-preview-grid--immersive .service-preview-card {
    min-height: 0 !important;
  }

  .home-service-grid--compact.service-preview-grid--immersive .service-preview-body {
    width: 100% !important;
  }

  .signature-grid--compact .signature-stack {
    grid-template-columns: 1fr !important;
  }
}

/* Full-layout anthracite header rebuild */

.banner-header {
  padding: 0 0 22px !important;
  background: #ffffff !important;
}

.banner-header::before,
.banner-header::after,
.banner-shell::before,
.banner-shell::after {
  display: none !important;
}

.banner-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(560px, 76vh, 820px) !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 42%) minmax(0, 58%) !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.banner-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  max-width: none !important;
  min-height: 100% !important;
  padding:
    clamp(46px, 5.2vw, 82px)
    clamp(34px, 3vw, 46px)
    clamp(34px, 4vw, 58px)
    max(28px, calc((100vw - 1180px) / 2 + 6px)) !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf7f3 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.banner-copy::before {
  top: clamp(32px, 4vw, 48px) !important;
  left: max(28px, calc((100vw - 1180px) / 2 + 6px)) !important;
  width: 72px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: var(--banner-accent-dark) !important;
}

.banner-kicker {
  margin-top: 18px !important;
  color: #8a7769 !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 9.4ch !important;
  margin-top: 18px !important;
  gap: 10px !important;
  color: #161413 !important;
  font-size: clamp(2.7rem, 4.25vw, 4.8rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.055em !important;
}

.banner-title span {
  text-wrap: balance !important;
}

.banner-title span:first-child {
  color: var(--banner-accent-dark) !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title {
  max-width: 10.4ch !important;
  font-size: clamp(2.25rem, 3.45vw, 4rem) !important;
}

.banner-copy .lead {
  max-width: 44ch !important;
  margin-top: 24px !important;
  color: #4d453f !important;
  font-size: 1.02rem !important;
  line-height: 1.76 !important;
}

.banner-contactline {
  gap: 8px 16px !important;
  margin-top: 20px !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(215, 205, 194, 0.94) !important;
  border-bottom: 1px solid rgba(215, 205, 194, 0.94) !important;
  color: #473f39 !important;
  font-size: 0.93rem !important;
}

.banner-tag-row,
.service-hero-meta {
  margin-top: 18px !important;
}

.banner-tag,
.service-hero-tag {
  color: #746559 !important;
  font-size: 0.76rem !important;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 28px !important;
}

.banner-side {
  position: relative !important;
  min-height: 100% !important;
  align-self: stretch !important;
}

.banner-side::before,
.banner-side::after {
  display: none !important;
}

.banner-icon-frame {
  position: relative !important;
  width: 100% !important;
  min-height: 100% !important;
  border-left: 1px solid rgba(223, 214, 206, 0.95) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    linear-gradient(180deg, rgba(20, 23, 28, 0.06), rgba(20, 23, 28, 0.08)),
    var(--banner-image) center center / cover no-repeat !important;
}

.banner-icon-frame::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(118deg, rgba(22, 26, 31, 0.82) 0%, rgba(22, 26, 31, 0.54) 30%, rgba(22, 26, 31, 0.18) 56%, rgba(22, 26, 31, 0.36) 100%),
    linear-gradient(180deg, rgba(14, 17, 22, 0.12) 0%, rgba(14, 17, 22, 0.28) 100%) !important;
}

.banner-icon-frame::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(20, 24, 29, 0.22) 0%, rgba(20, 24, 29, 0.06) 22%, rgba(20, 24, 29, 0) 46%),
    radial-gradient(circle at 80% 18%, rgba(255, 255, 255, 0.08), transparent 16%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.02)) !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  right: max(28px, calc((100vw - 1180px) / 2 + 10px)) !important;
  bottom: 34px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: 0 18px 32px rgba(8, 11, 15, 0.18) !important;
  z-index: 2 !important;
}

.banner-icon-frame img {
  width: min(30%, 178px) !important;
  filter: brightness(0) invert(1) drop-shadow(0 10px 24px rgba(11, 14, 18, 0.24)) !important;
  opacity: 0.95 !important;
}

.banner-icon-frame svg {
  width: min(31%, 182px) !important;
  stroke: #ffffff !important;
  stroke-width: 10.5 !important;
  opacity: 0.96 !important;
}

.banner-float-tag {
  max-width: 224px !important;
  padding: 16px 16px 14px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(225, 216, 207, 0.96) !important;
  box-shadow: 0 18px 36px rgba(8, 11, 15, 0.16) !important;
  backdrop-filter: none !important;
  z-index: 2 !important;
}

.banner-float-tag strong {
  font-size: 0.9rem !important;
}

.banner-float-tag span {
  color: #5f5952 !important;
  font-size: 0.8rem !important;
  line-height: 1.58 !important;
}

.banner-float-tag--top {
  top: 28px !important;
  left: 28px !important;
}

.banner-float-tag--bottom {
  left: 28px !important;
  bottom: 28px !important;
}

.banner-expert-card {
  width: min(var(--container), calc(100% - 24px)) !important;
  margin: -30px auto 0 !important;
  padding: 24px 28px !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 36px rgba(14, 17, 21, 0.08) !important;
}

@media (max-width: 1240px) {
  .banner-shell {
    grid-template-columns: minmax(340px, 44%) minmax(0, 56%) !important;
    min-height: clamp(520px, 72vh, 740px) !important;
  }

  .banner-copy {
    padding:
      clamp(40px, 4vw, 66px)
      28px
      clamp(30px, 3vw, 46px)
      max(22px, calc((100vw - 1180px) / 2 + 2px)) !important;
  }

  .banner-copy::before {
    left: max(22px, calc((100vw - 1180px) / 2 + 2px)) !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 24px !important;
  }
}

@media (max-width: 1080px) {
  .banner-shell {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .banner-copy {
    padding: 34px 24px 24px !important;
  }

  .banner-copy::before {
    left: 24px !important;
    top: 26px !important;
  }

  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.1rem, 6vw, 3.2rem) !important;
  }

  .banner-side {
    min-height: 360px !important;
  }

  .banner-icon-frame {
    border-left: 0 !important;
    border-top: 1px solid rgba(223, 214, 206, 0.95) !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 22px !important;
    bottom: 24px !important;
    width: min(26%, 150px) !important;
  }

  .banner-expert-card {
    margin-top: 12px !important;
  }
}

@media (max-width: 720px) {
  .banner-header {
    padding-bottom: 18px !important;
  }

  .banner-copy {
    padding: 30px 20px 22px !important;
  }

  .banner-copy::before {
    left: 20px !important;
    top: 22px !important;
    width: 58px !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title {
    max-width: 100% !important;
    font-size: clamp(2rem, 9.5vw, 3rem) !important;
  }

  .banner-contactline {
    font-size: 0.84rem !important;
  }

  .banner-copy .lead {
    font-size: 0.96rem !important;
  }

  .banner-side {
    min-height: 300px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 18px !important;
    bottom: 18px !important;
    width: min(30%, 138px) !important;
  }

  .banner-float-tag {
    max-width: 184px !important;
    padding: 13px 13px 12px !important;
  }

  .banner-float-tag--top {
    top: 14px !important;
    left: 14px !important;
  }

  .banner-float-tag--bottom {
    left: 14px !important;
    bottom: 14px !important;
  }

  .banner-expert-card {
    padding: 22px 20px !important;
    border-radius: 16px !important;
  }
}

/* WhatsApp float system */

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 58;
  display: flex;
  align-items: flex-end;
  gap: 14px;
}

.whatsapp-float.whatsapp-float--dismissed .whatsapp-float-bubble {
  display: none;
}

.whatsapp-float-bubble {
  position: relative;
  width: min(288px, calc(100vw - 112px));
  padding: 16px 42px 16px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(225, 231, 227, 0.96);
  box-shadow: 0 18px 40px rgba(17, 24, 21, 0.12);
  color: #1f2723;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
  pointer-events: none;
}

.whatsapp-float-bubble::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -8px;
  width: 16px;
  height: 16px;
  background: #ffffff;
  border-right: 1px solid rgba(225, 231, 227, 0.96);
  border-bottom: 1px solid rgba(225, 231, 227, 0.96);
  transform: rotate(45deg);
}

.whatsapp-float-bubble.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.whatsapp-float-bubble strong {
  display: block;
  margin-bottom: 6px;
  color: #121916;
  font-size: 0.98rem;
  font-weight: 760;
  letter-spacing: -0.01em;
}

.whatsapp-float-bubble span {
  display: block;
  color: #5a655f;
  font-size: 0.92rem;
  line-height: 1.58;
}

.whatsapp-float-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7c8681;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
}

.whatsapp-float-close::before {
  content: "\00d7";
  display: block;
  font-size: 1.12rem;
  line-height: 24px;
  text-align: center;
}

.whatsapp-float-close:hover {
  color: #1d2521;
}

.whatsapp-float-button {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: linear-gradient(180deg, #29d266 0%, #1fb757 100%);
  border: 1px solid rgba(22, 133, 61, 0.22);
  box-shadow: 0 18px 36px rgba(25, 160, 75, 0.28);
  color: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.whatsapp-float-button:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, #24cb60 0%, #18aa4d 100%);
  box-shadow: 0 22px 40px rgba(22, 146, 68, 0.3);
}

.whatsapp-float-button:focus-visible,
.whatsapp-float-close:focus-visible {
  outline: 2px solid rgba(25, 183, 87, 0.34);
  outline-offset: 3px;
}

.whatsapp-float-button svg {
  width: 38px;
  height: 38px;
  display: block;
}

@media (max-width: 900px) {
  .whatsapp-float {
    right: 16px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 86px);
    gap: 10px;
  }

  .whatsapp-float-bubble {
    width: min(250px, calc(100vw - 96px));
    padding: 14px 40px 14px 16px;
    border-radius: 16px;
  }

  .whatsapp-float-button {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    border-radius: 18px;
  }

  .whatsapp-float-button svg {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 640px) {
  .whatsapp-float {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 84px);
  }

  .whatsapp-float-bubble {
    width: min(222px, calc(100vw - 88px));
    padding: 13px 38px 13px 14px;
  }

  .whatsapp-float-bubble strong {
    font-size: 0.92rem;
  }

  .whatsapp-float-bubble span {
    font-size: 0.85rem;
    line-height: 1.5;
  }

  .whatsapp-float-close {
    top: 8px;
    right: 8px;
  }
}

/* Footer sponsor integration */

.footer-certifications {
  grid-template-columns: 108px minmax(0, 216px) !important;
  grid-template-areas:
    "google desag"
    "sponsor sponsor" !important;
  align-items: start !important;
  row-gap: 14px !important;
}

.footer-certificate--google {
  grid-area: google !important;
}

.footer-certificate-stack--desag {
  grid-area: desag !important;
}

.footer-certificate-stack--sponsor {
  grid-area: sponsor !important;
  display: grid !important;
  gap: 8px !important;
}

.footer-certificate--sponsor {
  width: min(100%, 344px) !important;
  min-height: 118px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(252, 247, 242, 0.96)) !important;
  border: 1px solid rgba(229, 219, 211, 0.94) !important;
  box-shadow: 0 14px 28px rgba(18, 18, 18, 0.06) !important;
  display: grid !important;
  grid-template-columns: minmax(96px, 112px) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.footer-certificate-stack--sponsor .footer-certificate-subline {
  max-width: none !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
}

.footer-certificate-stack--sponsor .footer-certificate-note {
  max-width: 38ch !important;
  font-size: 0.78rem !important;
  line-height: 1.55 !important;
}

.footer-sponsor-copy {
  display: grid !important;
  gap: 4px !important;
  align-content: start !important;
}

.footer-sponsor-copy strong {
  font-size: 0.95rem !important;
  line-height: 1.15 !important;
  color: #181412 !important;
}

.footer-sponsor-copy span {
  font-size: 0.78rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #b56743 !important;
}

@media (max-width: 720px) {
  .footer-certifications {
    grid-template-columns: 96px minmax(0, 188px) !important;
    grid-template-areas:
      "google desag"
      "sponsor sponsor" !important;
  }

  .footer-certificate--sponsor {
    width: min(100%, 284px) !important;
    min-height: 112px !important;
    padding: 8px !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

}

/* Header scene rebuild v2 */

.banner-shell {
  min-height: clamp(620px, 78vh, 860px) !important;
  grid-template-columns: minmax(360px, 40%) minmax(0, 60%) !important;
}

.banner-copy {
  justify-content: center !important;
  padding:
    clamp(52px, 5.5vw, 88px)
    clamp(34px, 3vw, 46px)
    clamp(40px, 4vw, 62px)
    max(30px, calc((100vw - 1180px) / 2 + 8px)) !important;
  background: #ffffff !important;
  box-shadow: inset -1px 0 0 rgba(225, 215, 206, 0.92) !important;
}

.banner-copy::before {
  width: 84px !important;
  height: 4px !important;
  top: clamp(34px, 4vw, 52px) !important;
  left: max(30px, calc((100vw - 1180px) / 2 + 8px)) !important;
  background: var(--banner-accent-dark) !important;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 8.8ch !important;
  font-size: clamp(3rem, 4.5vw, 5.2rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.06em !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title {
  max-width: 9.6ch !important;
  font-size: clamp(2.4rem, 3.6vw, 4.15rem) !important;
}

.banner-copy .lead {
  max-width: 40ch !important;
  color: #4c4641 !important;
}

.banner-side {
  min-height: 100% !important;
}

.banner-icon-frame {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03)),
    var(--banner-image) center center / cover no-repeat !important;
  border-left: 0 !important;
}

.banner-icon-frame::before {
  background:
    linear-gradient(112deg, rgba(20, 23, 28, 0.84) 0%, rgba(20, 23, 28, 0.76) 24%, rgba(20, 23, 28, 0.34) 50%, rgba(20, 23, 28, 0.56) 100%),
    linear-gradient(180deg, rgba(14, 17, 22, 0.12) 0%, rgba(14, 17, 22, 0.28) 100%) !important;
}

.banner-icon-frame::after {
  background:
    linear-gradient(90deg, rgba(12, 15, 19, 0.28) 0%, rgba(12, 15, 19, 0.08) 24%, rgba(12, 15, 19, 0) 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)) !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  top: 50% !important;
  right: max(32px, calc((100vw - 1180px) / 2 + 12px)) !important;
  bottom: auto !important;
  transform: translateY(-22%) !important;
}

.banner-icon-frame img {
  width: min(32%, 196px) !important;
}

.banner-icon-frame svg {
  width: min(33%, 208px) !important;
}

.banner-float-tag {
  background: rgba(24, 28, 33, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 22px 42px rgba(8, 11, 15, 0.2) !important;
}

.banner-float-tag strong,
.banner-float-tag span,
.banner-float-tag a {
  color: #f3f0eb !important;
}

.banner-float-tag span {
  opacity: 0.92 !important;
}

.banner-float-tag--top {
  top: 32px !important;
  left: 32px !important;
}

.banner-float-tag--bottom {
  left: 32px !important;
  bottom: 32px !important;
}

.banner-expert-card {
  width: 100% !important;
  margin: 0 !important;
  padding:
    22px
    max(30px, calc((100vw - 1180px) / 2 + 8px))
    22px
    max(30px, calc((100vw - 1180px) / 2 + 8px)) !important;
  border-top: 1px solid rgba(227, 218, 210, 0.92) !important;
  border-bottom: 1px solid rgba(227, 218, 210, 0.92) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
}

.banner-expert-card::before {
  display: none !important;
}

@media (max-width: 1240px) {
  .banner-shell {
    grid-template-columns: minmax(340px, 42%) minmax(0, 58%) !important;
    min-height: clamp(560px, 72vh, 760px) !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 24px !important;
  }

  .banner-expert-card {
    padding: 20px 24px !important;
  }
}

@media (max-width: 1080px) {
  .banner-shell {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .banner-copy {
    padding: 38px 24px 26px !important;
    box-shadow: none !important;
  }

  .banner-copy::before {
    left: 24px !important;
    top: 26px !important;
  }

  .banner-side {
    min-height: 400px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    top: auto !important;
    right: 24px !important;
    bottom: 26px !important;
    transform: none !important;
  }

  .banner-float-tag--top {
    top: 20px !important;
    left: 20px !important;
  }

  .banner-float-tag--bottom {
    left: 20px !important;
    bottom: 20px !important;
  }

  .banner-expert-card {
    width: min(var(--container), calc(100% - 24px)) !important;
    margin: 14px auto 0 !important;
    border: 1px solid rgba(227, 218, 210, 0.92) !important;
    border-radius: 18px !important;
    padding: 22px 24px !important;
    box-shadow: 0 18px 34px rgba(14, 17, 21, 0.08) !important;
  }
}

@media (max-width: 720px) {
  .banner-copy {
    padding: 32px 20px 24px !important;
  }

  .banner-copy::before {
    left: 20px !important;
    top: 22px !important;
    width: 64px !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title {
    font-size: clamp(2.2rem, 9.2vw, 3.2rem) !important;
    max-width: 100% !important;
  }

  .banner-side {
    min-height: 320px !important;
  }
}

/* Full-bleed header architecture v3 */

.banner-header {
  background: #ffffff !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.banner-header::before,
.banner-header::after {
  display: none !important;
}

.banner-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: clamp(620px, 76vh, 860px) !important;
  grid-template-columns: minmax(420px, 46%) minmax(0, 54%) !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.banner-copy {
  max-width: none !important;
  min-height: 100% !important;
  justify-content: center !important;
  padding:
    clamp(48px, 5vw, 84px)
    clamp(34px, 3.8vw, 56px)
    clamp(42px, 4.2vw, 62px)
    max(24px, calc((100vw - 1180px) / 2 + 8px)) !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf7f3 100%) !important;
  box-shadow: inset -1px 0 0 rgba(228, 219, 212, 0.94) !important;
}

.banner-copy::before {
  width: 72px !important;
  height: 3px !important;
  top: clamp(30px, 4vw, 46px) !important;
  left: max(24px, calc((100vw - 1180px) / 2 + 8px)) !important;
  background: var(--banner-accent-dark) !important;
}

.banner-kicker {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #8f6b58 !important;
  font-size: 0.74rem !important;
  letter-spacing: 0.16em !important;
}

.banner-title,
.banner-header--home .banner-title {
  display: block !important;
  max-width: 11.8ch !important;
  margin-top: 26px !important;
  color: #171312 !important;
  font-size: clamp(3rem, 4.7vw, 5.3rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.055em !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title,
.banner-header--services .banner-title {
  max-width: 10.8ch !important;
  font-size: clamp(2.65rem, 3.6vw, 4.2rem) !important;
}

.banner-title span {
  display: block !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.banner-title span:first-child {
  color: var(--banner-accent-dark) !important;
}

.banner-contactline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
  margin-top: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #4d4641 !important;
  font-size: 0.94rem !important;
  font-weight: 700 !important;
}

.banner-contactline span {
  position: relative !important;
}

.banner-contactline span:not(:last-child) {
  padding-right: 18px !important;
  margin-right: 2px !important;
}

.banner-contactline span:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  width: 1px !important;
  height: 14px !important;
  background: rgba(178, 162, 150, 0.62) !important;
  transform: translateY(-50%) !important;
}

.banner-copy .lead {
  margin-top: 24px !important;
  max-width: 35ch !important;
  color: #4f4842 !important;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 28px !important;
}

.banner-tag-row {
  margin-top: 18px !important;
  gap: 10px !important;
}

.banner-tag {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(228, 219, 212, 0.92) !important;
  background: #f5efe9 !important;
  color: #3d3733 !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  backdrop-filter: none !important;
}

.banner-side {
  position: relative !important;
  display: block !important;
  min-height: 100% !important;
  overflow: hidden !important;
  background: #1a1d22 !important;
}

.banner-icon-frame {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  aspect-ratio: auto !important;
  display: block !important;
  border-radius: 0 !important;
  background: var(--banner-image) center center / cover no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.banner-icon-frame::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.64) 0%, rgba(17, 20, 24, 0.26) 20%, rgba(17, 20, 24, 0.08) 34%, rgba(17, 20, 24, 0.54) 100%),
    linear-gradient(180deg, rgba(17, 20, 24, 0.08) 0%, rgba(17, 20, 24, 0.24) 100%) !important;
}

.banner-icon-frame::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 30% !important;
  background: linear-gradient(180deg, rgba(17, 20, 24, 0), rgba(17, 20, 24, 0.28)) !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  position: absolute !important;
  top: auto !important;
  right: max(28px, calc((100vw - 1180px) / 2 + 12px)) !important;
  bottom: clamp(42px, 6vw, 88px) !important;
  transform: none !important;
  z-index: 1 !important;
}

.banner-icon-frame img {
  width: min(30vw, 226px) !important;
  filter: brightness(0) invert(1) opacity(0.96) !important;
}

.banner-icon-frame svg {
  width: min(31vw, 234px) !important;
  height: auto !important;
  stroke: #ffffff !important;
  opacity: 0.98 !important;
}

.banner-float-tag {
  max-width: 232px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(225, 216, 209, 0.94) !important;
  box-shadow: 0 16px 30px rgba(16, 16, 16, 0.1) !important;
  backdrop-filter: none !important;
}

.banner-float-tag strong,
.banner-float-tag span,
.banner-float-tag a {
  color: #181412 !important;
}

.banner-float-tag strong {
  font-size: 0.96rem !important;
}

.banner-float-tag span {
  opacity: 0.82 !important;
}

.banner-float-tag--top {
  top: clamp(24px, 3.6vw, 38px) !important;
  right: max(24px, calc((100vw - 1180px) / 2 + 12px)) !important;
  left: auto !important;
}

.banner-float-tag--bottom {
  left: auto !important;
  right: max(24px, calc((100vw - 1180px) / 2 + 12px)) !important;
  bottom: clamp(22px, 3.6vw, 38px) !important;
}

.banner-expert-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  grid-template-columns: auto minmax(0, 1.08fr) minmax(240px, 0.82fr) !important;
  gap: 22px !important;
  align-items: center !important;
  padding:
    24px
    max(24px, calc((100vw - 1180px) / 2 + 8px))
    28px !important;
  border-radius: 0 !important;
  border-top: 1px solid rgba(228, 219, 212, 0.92) !important;
  border-bottom: 1px solid rgba(228, 219, 212, 0.92) !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf7f3 100%) !important;
}

.banner-expert-badge {
  width: 82px !important;
  height: 82px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(228, 219, 212, 0.92) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.banner-expert-copy strong {
  font-size: clamp(1.45rem, 2.2vw, 2.15rem) !important;
  line-height: 1.08 !important;
  color: #181412 !important;
}

.banner-expert-copy p,
.banner-expert-points li {
  color: #4e4843 !important;
}

@media (max-width: 1240px) {
  .banner-shell {
    grid-template-columns: minmax(380px, 44%) minmax(0, 56%) !important;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 10.8ch !important;
  }
}

@media (max-width: 1040px) {
  .banner-shell {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
  }

  .banner-copy {
    padding: 42px max(24px, calc((100vw - 1180px) / 2 + 8px)) 34px !important;
    box-shadow: none !important;
  }

  .banner-copy::before {
    left: max(24px, calc((100vw - 1180px) / 2 + 8px)) !important;
  }

  .banner-side,
  .banner-icon-frame {
    min-height: 420px !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 28px !important;
    bottom: 36px !important;
  }

  .banner-float-tag--top,
  .banner-float-tag--bottom {
    right: 24px !important;
  }

  .banner-expert-card {
    grid-template-columns: auto minmax(0, 1fr) !important;
    padding: 24px max(24px, calc((100vw - 1180px) / 2 + 8px)) 26px !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .banner-expert-points {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  .banner-copy {
    padding: 34px 20px 28px !important;
  }

  .banner-copy::before {
    left: 20px !important;
    top: 24px !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: none !important;
    font-size: clamp(2.3rem, 10vw, 3.3rem) !important;
  }

  .banner-contactline {
    display: grid !important;
    gap: 8px !important;
  }

  .banner-contactline span:not(:last-child) {
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  .banner-contactline span:not(:last-child)::after {
    display: none !important;
  }

  .banner-side,
  .banner-icon-frame {
    min-height: 340px !important;
  }

  .banner-icon-frame img {
    width: min(42vw, 170px) !important;
  }

  .banner-icon-frame svg {
    width: min(46vw, 178px) !important;
  }

  .banner-float-tag {
    max-width: 194px !important;
    padding: 12px 14px !important;
  }

  .banner-float-tag--top {
    top: 18px !important;
    right: 16px !important;
  }

  .banner-float-tag--bottom {
    right: 16px !important;
    bottom: 18px !important;
  }

  .banner-expert-card {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 22px 20px 24px !important;
  }

  .banner-expert-badge {
    width: 74px !important;
    height: 74px !important;
  }
}

/* Home hero premium residence image */

.banner-header--home {
  --banner-image: url("../assets/services/1600047509358-9dc75507daeb-w1200.jpg") !important;
}

.banner-header--home .banner-icon-frame {
  background-position: center center !important;
}

.banner-header--home .banner-icon-frame::before {
  background:
    linear-gradient(90deg, rgba(17, 20, 24, 0.54) 0%, rgba(17, 20, 24, 0.2) 20%, rgba(17, 20, 24, 0.08) 38%, rgba(17, 20, 24, 0.4) 100%),
    linear-gradient(180deg, rgba(17, 20, 24, 0.04) 0%, rgba(17, 20, 24, 0.18) 100%) !important;
}

/* Footer hierarchy refinement v2 */

.footer {
  padding: 10px 0 28px !important;
}

.footer-panel {
  padding: 40px 36px 24px !important;
  border-radius: 30px !important;
}

.footer-grid {
  grid-template-columns: minmax(390px, 1.42fr) minmax(210px, 0.84fr) minmax(170px, 0.72fr) minmax(250px, 0.96fr) !important;
  gap: clamp(24px, 3vw, 40px) !important;
  align-items: start !important;
}

.footer-brand {
  --footer-brand-lockup-width: 286px !important;
  gap: 18px !important;
  padding-right: 34px !important;
}

.footer-brand-lockup {
  width: min(100%, var(--footer-brand-lockup-width)) !important;
}

.footer-brand .muted {
  max-width: 30ch !important;
  font-size: 0.95rem !important;
  line-height: 1.72 !important;
  color: #59534d !important;
}

.footer-certifications {
  width: min(100%, 30ch) !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  grid-template-areas: "google desag" !important;
  column-gap: 16px !important;
  row-gap: 10px !important;
  margin-top: 10px !important;
}

.footer-certificate {
  border-radius: 16px !important;
  border: 1px solid rgba(222, 214, 206, 0.94) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 28px rgba(16, 16, 16, 0.05) !important;
}

.footer-certificate--google {
  width: 96px !important;
  align-self: start !important;
}

.footer-certificate-stack--desag {
  width: min(100%, 176px) !important;
  gap: 6px !important;
  padding-top: 4px !important;
}

.footer-certificate--desag {
  width: min(100%, 176px) !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.footer-certificate--desag img {
  max-width: 176px !important;
  width: 100% !important;
  height: auto !important;
}

.footer-certificate-subline {
  max-width: 18ch !important;
  color: #8b6f60 !important;
  font-size: 0.61rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.24 !important;
}

.footer-certificate-note {
  max-width: 21ch !important;
  color: #5d5751 !important;
  font-size: 0.75rem !important;
  line-height: 1.5 !important;
}

.footer-certificate-stack--desag .footer-certificate-subline,
.footer-certificate-stack--desag .footer-certificate-note {
  display: none !important;
}

.footer-certificate-stack--sponsor {
  width: min(100%, var(--footer-brand-lockup-width)) !important;
  gap: 9px !important;
}

.footer-certificate--sponsor {
  width: 100% !important;
  aspect-ratio: 640 / 170 !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
  cursor: default !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-certificate--sponsor img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.footer-certificate-stack--sponsor .footer-certificate-subline,
.footer-certificate-stack--sponsor .footer-certificate-note {
  display: none !important;
}

.footer-column {
  display: grid !important;
  align-content: start !important;
}

.footer-title {
  margin-bottom: 18px !important;
  color: #181412 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
}

.footer-links {
  gap: 12px !important;
}

.footer-links a,
.footer-links span {
  color: #59534d !important;
  font-size: 0.98rem !important;
  line-height: 1.48 !important;
  text-decoration: none !important;
}

.footer-links a:hover {
  color: #d66a42 !important;
}

.footer-links--services a {
  max-width: 24ch !important;
}

.footer-links--menu a {
  max-width: 16ch !important;
}

.footer-links--direct a:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  width: fit-content !important;
  border-radius: 999px !important;
  background: #181311 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 24px rgba(20, 16, 14, 0.12) !important;
}

.footer-links--direct a:first-child:hover {
  background: #d76c44 !important;
  color: #ffffff !important;
}

.footer-address {
  margin-top: 8px !important;
  max-width: 22ch !important;
  color: #6a645e !important;
}

.footer-bottom {
  margin-top: 28px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(229, 220, 212, 0.94) !important;
  font-size: 0.88rem !important;
}

.footer-legal {
  gap: 16px !important;
}

.footer-legal a {
  color: #5b5550 !important;
  text-decoration: none !important;
}

.footer-legal a:hover {
  color: #d66a42 !important;
}

.footer-signature {
  color: #181412 !important;
  font-weight: 800 !important;
}

@media (max-width: 1080px) {
  .footer-panel {
    padding: 34px 26px 22px !important;
  }

  .footer-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    gap: 28px !important;
  }

  .footer-brand {
    grid-column: 1 / -1 !important;
    --footer-brand-lockup-width: 246px !important;
    padding-right: 0 !important;
  }

  .footer-certifications {
    grid-template-columns: 106px minmax(0, 228px) !important;
  }
}

@media (max-width: 720px) {
  .footer-panel {
    padding: 28px 20px 22px !important;
    border-radius: 24px !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .footer-brand {
    grid-column: auto !important;
    --footer-brand-lockup-width: 238px !important;
  }

  .footer-brand-lockup {
    width: min(100%, var(--footer-brand-lockup-width)) !important;
  }

  .footer-certifications {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  .footer-certificate--google {
    width: 96px !important;
  }

  .footer-certificate--desag img {
    max-width: 198px !important;
  }

  .footer-certificate--sponsor {
    width: 100% !important;
  }

  .footer-links--direct a:first-child {
    width: 100% !important;
  }

    .footer-bottom {
      flex-direction: column !important;
      align-items: flex-start !important;
    }
  }

/* Editorial cinematic hero rebuild */

.banner-header {
  position: relative !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #171c23 !important;
}

.banner-header::before,
.banner-header::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
}

.banner-header::before {
  background-image: var(--banner-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  transform: scale(1.02) !important;
  z-index: 0 !important;
}

.banner-header::after {
  background:
    radial-gradient(circle at 82% 18%, rgba(239, 132, 95, 0.12) 0%, transparent 28%),
    radial-gradient(circle at 68% 32%, rgba(124, 141, 169, 0.1) 0%, transparent 26%),
    linear-gradient(90deg, rgba(16, 20, 27, 0.92) 0%, rgba(16, 20, 27, 0.84) 26%, rgba(16, 20, 27, 0.64) 48%, rgba(16, 20, 27, 0.34) 70%, rgba(16, 20, 27, 0.14) 100%),
    linear-gradient(180deg, rgba(10, 13, 18, 0.14) 0%, rgba(10, 13, 18, 0.38) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 224px),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.024) 0 1px, transparent 1px 116px) !important;
  z-index: 1 !important;
}

.banner-shell {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: min(var(--container), calc(100% - 48px)) !important;
  max-width: var(--container) !important;
  margin: 0 auto !important;
  min-height: clamp(560px, 70vh, 720px) !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.banner-copy {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  width: min(100%, 650px) !important;
  max-width: 650px !important;
  min-height: clamp(560px, 70vh, 720px) !important;
  padding: clamp(78px, 10vh, 112px) 0 clamp(72px, 9vh, 96px) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.banner-copy::before {
  display: none !important;
}

.banner-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f5efe8 !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  box-shadow: 0 12px 24px rgba(8, 11, 15, 0.12) !important;
}

.banner-kicker::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #ef845f !important;
}

.banner-title,
.banner-header--home .banner-title {
  display: block !important;
  max-width: 10.2ch !important;
  margin-top: 28px !important;
  color: #f6f1eb !important;
  
  font-size: clamp(4rem, 7vw, 6.3rem) !important;
  font-weight: 700 !important;
  line-height: 0.9 !important;
  letter-spacing: -0.045em !important;
  text-shadow: 0 10px 24px rgba(0, 0, 0, 0.16) !important;
}

.banner-title span:first-child {
  color: #f6f1eb !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title,
.banner-header--services .banner-title {
  max-width: 9.4ch !important;
  font-size: clamp(3.4rem, 6vw, 5.2rem) !important;
}

.banner-title span:last-child {
  color: #f0a666 !important;
}

.banner-contactline {
  margin-top: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: rgba(245, 239, 232, 0.9) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  gap: 10px 18px !important;
}

.banner-contactline span {
  padding-right: 18px !important;
}

.banner-contactline span::after {
  width: 5px !important;
  height: 5px !important;
  margin-top: -2px !important;
  background: rgba(240, 166, 102, 0.84) !important;
}

.banner-copy .lead {
  max-width: 34ch !important;
  margin-top: 24px !important;
  color: rgba(245, 239, 232, 0.9) !important;
  font-size: 1.08rem !important;
  line-height: 1.64 !important;
}

.banner-copy .button-row,
.banner-copy .service-hero-actions {
  margin-top: 30px !important;
}

.banner-header .btn-primary,
.banner-header .btn-light {
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.banner-header .btn-primary {
  background: #ef845f !important;
  color: #ffffff !important;
  border: 1px solid #ef845f !important;
}

.banner-header .btn-primary:hover {
  background: #de734e !important;
  border-color: #de734e !important;
}

.banner-header .btn-light {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
}

.banner-header .btn-light:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.service-bullet-list {
  margin-top: 24px !important;
}

.service-bullet-list li {
  color: rgba(245, 239, 232, 0.9) !important;
}

.service-bullet-list li::before {
  background: #ef845f !important;
}

.service-lead-box {
  margin-top: 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f5efe8 !important;
  box-shadow: none !important;
}

.service-lead-box strong,
.service-lead-box span {
  color: #f5efe8 !important;
}

.banner-side {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: none !important;
}

.banner-icon-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.banner-icon-frame::before {
  display: none !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  position: absolute !important;
  right: clamp(20px, 4vw, 44px) !important;
  bottom: clamp(28px, 6vw, 56px) !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  color: rgba(255, 255, 255, 0.9) !important;
  stroke: rgba(255, 255, 255, 0.86) !important;
  opacity: 0.24 !important;
  filter: none !important;
}

.banner-icon-frame img {
  width: min(14vw, 180px) !important;
}

.banner-icon-frame svg {
  width: min(17vw, 220px) !important;
  stroke-width: 10 !important;
  fill: none !important;
}

.banner-float-tag,
.banner-expert-card {
  display: none !important;
}

@media (max-width: 1040px) {
  .banner-shell {
    width: min(var(--container), calc(100% - 40px)) !important;
    min-height: clamp(500px, 64vh, 640px) !important;
  }

  .banner-copy {
    width: min(100%, 640px) !important;
    min-height: clamp(500px, 64vh, 640px) !important;
    padding: 82px 0 62px !important;
  }

  .banner-title,
  .banner-header--home .banner-title {
    font-size: clamp(3.2rem, 8vw, 5rem) !important;
    max-width: 10.4ch !important;
  }

  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: 9.6ch !important;
    font-size: clamp(2.9rem, 7vw, 4.3rem) !important;
  }

  .banner-icon-frame img {
    width: min(22vw, 160px) !important;
  }

  .banner-icon-frame svg {
    width: min(25vw, 176px) !important;
  }
}

@media (max-width: 720px) {
  .banner-header::after {
    background:
      linear-gradient(180deg, rgba(17, 22, 29, 0.82) 0%, rgba(17, 22, 29, 0.64) 100%),
      linear-gradient(180deg, rgba(10, 13, 18, 0.08) 0%, rgba(10, 13, 18, 0.3) 100%) !important;
  }

  .banner-shell {
    width: calc(100% - 32px) !important;
    min-height: auto !important;
  }

  .banner-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 76px 0 54px !important;
  }

  .banner-kicker {
    min-height: 38px !important;
    padding: 0 15px !important;
    font-size: 0.78rem !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.7rem, 12vw, 4.2rem) !important;
    line-height: 0.94 !important;
  }

  .banner-contactline {
    display: grid !important;
    gap: 8px !important;
  }

  .banner-contactline span {
    padding-right: 0 !important;
  }

  .banner-contactline span::after {
    display: none !important;
  }

  .banner-copy .lead {
    max-width: 100% !important;
    font-size: 1rem !important;
  }

  .banner-icon-frame img,
  .banner-icon-frame svg {
    right: 18px !important;
    bottom: 18px !important;
    opacity: 0.18 !important;
  }

  .banner-icon-frame img {
    width: min(28vw, 132px) !important;
  }

  .banner-icon-frame svg {
    width: min(32vw, 150px) !important;
  }

  .banner-header .btn-primary,
  .banner-header .btn-light {
    min-height: 48px !important;
    padding: 0 18px !important;
  }
}

/* Hero visibility and layout finalization */

.banner-header .reveal,
.banner-header .reveal.in {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.banner-header::after {
  background:
    radial-gradient(circle at 80% 18%, rgba(239, 132, 95, 0.1) 0%, transparent 24%),
    linear-gradient(90deg, rgba(16, 20, 27, 0.92) 0%, rgba(16, 20, 27, 0.86) 28%, rgba(16, 20, 27, 0.66) 46%, rgba(16, 20, 27, 0.28) 68%, rgba(16, 20, 27, 0.08) 100%),
    linear-gradient(180deg, rgba(10, 13, 18, 0.16) 0%, rgba(10, 13, 18, 0.32) 100%) !important;
}

.banner-shell {
  min-height: clamp(580px, 69vh, 740px) !important;
}

.banner-copy {
  width: min(100%, 610px) !important;
  max-width: 610px !important;
  min-height: clamp(580px, 69vh, 740px) !important;
  padding: clamp(96px, 11vh, 132px) 0 clamp(82px, 9vh, 108px) !important;
}

.banner-copy::before {
  content: "" !important;
  position: absolute !important;
  inset: 38px -90px 38px -170px !important;
  display: block !important;
  z-index: -1 !important;
  background:
    linear-gradient(90deg, rgba(15, 19, 26, 0.78) 0%, rgba(15, 19, 26, 0.72) 42%, rgba(15, 19, 26, 0.46) 72%, rgba(15, 19, 26, 0.12) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.01) 100%) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.banner-title,
.banner-header--home .banner-title {
  max-width: 8.8ch !important;
  margin-top: 24px !important;
  font-size: clamp(4.25rem, 6.4vw, 6.15rem) !important;
  line-height: 0.92 !important;
  text-shadow: 0 18px 34px rgba(10, 13, 18, 0.18) !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title,
.banner-header--services .banner-title {
  max-width: 9.2ch !important;
  font-size: clamp(3.45rem, 5.6vw, 4.95rem) !important;
}

.banner-copy .lead {
  max-width: 31ch !important;
  color: rgba(248, 243, 237, 0.98) !important;
  font-weight: 500 !important;
  text-shadow: 0 6px 18px rgba(10, 13, 18, 0.16) !important;
}

.banner-contactline {
  color: rgba(248, 243, 237, 0.96) !important;
}

.banner-header .btn-primary,
.banner-header .btn-light {
  min-height: 54px !important;
  padding: 0 26px !important;
}

.banner-header .btn-light {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  opacity: 0.2 !important;
}

@media (max-width: 1040px) {
  .banner-shell {
    min-height: clamp(520px, 64vh, 680px) !important;
  }

  .banner-copy {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    min-height: clamp(520px, 64vh, 680px) !important;
    padding: 86px 0 66px !important;
  }

  .banner-copy::before {
    inset: 30px -72px 30px -120px !important;
  }

  .banner-title,
  .banner-header--home .banner-title {
    max-width: 9.4ch !important;
    font-size: clamp(3.45rem, 7.5vw, 5rem) !important;
  }

  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: 9.8ch !important;
    font-size: clamp(2.95rem, 6.8vw, 4.15rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-shell {
    min-height: auto !important;
  }

  .banner-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 78px 0 56px !important;
  }

  .banner-copy::before {
    inset: 22px -18px 22px -18px !important;
    background:
      linear-gradient(180deg, rgba(15, 19, 26, 0.74) 0%, rgba(15, 19, 26, 0.56) 58%, rgba(15, 19, 26, 0.24) 100%) !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.75rem, 11.5vw, 4.15rem) !important;
    line-height: 0.94 !important;
  }

  .banner-copy .lead {
    max-width: 100% !important;
  }
}

/* Header readability architecture final */

.banner-header {
  isolation: isolate !important;
  background-position: center right !important;
}

.banner-header::before {
  background-image: var(--banner-image) !important;
  background-size: cover !important;
  background-position: center center !important;
  transform: scale(1.02) !important;
  filter: saturate(0.94) contrast(1.02) brightness(0.82) !important;
}

.banner-header::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 16, 22, 0.7) 0%, rgba(12, 16, 22, 0.64) 18%, rgba(12, 16, 22, 0.54) 34%, rgba(12, 16, 22, 0.38) 48%, rgba(12, 16, 22, 0.2) 63%, rgba(12, 16, 22, 0.08) 78%, rgba(12, 16, 22, 0.02) 100%),
    linear-gradient(180deg, rgba(9, 12, 17, 0.08) 0%, rgba(9, 12, 17, 0.18) 100%),
    linear-gradient(90deg, rgba(239, 127, 97, 0.06) 0%, rgba(239, 127, 97, 0.02) 26%, rgba(239, 127, 97, 0) 40%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px) !important;
  background-size: auto, 132px 132px, 132px 132px !important;
  background-position: left top, left top, left top !important;
  opacity: 0.16 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.banner-shell {
  position: relative !important;
  z-index: 1 !important;
  min-height: clamp(600px, 72vh, 760px) !important;
}

.banner-copy {
  width: min(100%, 650px) !important;
  max-width: 650px !important;
  min-height: clamp(600px, 72vh, 760px) !important;
  padding: clamp(92px, 11vh, 136px) 0 clamp(76px, 9vh, 108px) !important;
}

.banner-copy::before {
  content: "" !important;
  position: absolute !important;
  inset: 26px -150px 26px -180px !important;
  display: block !important;
  z-index: -1 !important;
  background:
    linear-gradient(90deg, rgba(13, 17, 23, 0.8) 0%, rgba(13, 17, 23, 0.74) 26%, rgba(13, 17, 23, 0.62) 44%, rgba(13, 17, 23, 0.42) 58%, rgba(13, 17, 23, 0.16) 76%, rgba(13, 17, 23, 0) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0) 100%) !important;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.06) !important;
  border-radius: 0 !important;
  pointer-events: none !important;
}

.banner-kicker {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(249, 244, 238, 0.94) !important;
}

.banner-title,
.banner-header--home .banner-title,
.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title,
.banner-header--services .banner-title {
  max-width: 9.6ch !important;
  color: #fbf6f0 !important;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.08),
    0 18px 38px rgba(6, 8, 12, 0.34) !important;
}

.banner-title span:first-child {
  color: #f7f1eb !important;
}

.banner-title span:last-child {
  color: #f2a765 !important;
}

.banner-contactline,
.banner-copy .lead,
.service-bullet-list li,
.service-lead-box span,
.service-lead-box strong {
  color: rgba(248, 242, 235, 0.96) !important;
}

.banner-contactline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
  padding: 10px 14px 10px 0 !important;
  text-shadow: 0 6px 18px rgba(6, 8, 12, 0.22) !important;
}

.banner-contactline,
.banner-contactline span {
  color: rgba(253, 248, 242, 0.98) !important;
}

.banner-copy .lead {
  max-width: 36ch !important;
  font-size: 1.06rem !important;
  line-height: 1.68 !important;
  text-shadow: 0 6px 18px rgba(6, 8, 12, 0.22) !important;
}

.service-bullet-list {
  margin-top: 24px !important;
  max-width: 34rem !important;
}

.service-bullet-list li {
  text-shadow: 0 4px 14px rgba(6, 8, 12, 0.18) !important;
  padding-right: 14px !important;
}

.service-lead-box {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 16px 30px rgba(5, 7, 10, 0.12) !important;
}

.banner-header .btn-primary {
  box-shadow: 0 18px 36px rgba(10, 13, 18, 0.18) !important;
}

.banner-header .btn-light {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: #ffffff !important;
}

.banner-header .btn-light:hover {
  background: rgba(255, 255, 255, 0.18) !important;
}

.banner-side {
  pointer-events: none !important;
}

.banner-icon-frame img,
.banner-icon-frame svg {
  opacity: 0.16 !important;
}

.banner-float-tag {
  background: rgba(255, 249, 243, 0.94) !important;
  color: #1b1613 !important;
  border-color: rgba(255, 246, 238, 0.98) !important;
  box-shadow: 0 16px 34px rgba(7, 9, 12, 0.16) !important;
}

.banner-float-tag span,
.banner-float-tag strong {
  color: #2c2621 !important;
}

@media (max-width: 1120px) {
  .banner-shell {
    min-height: clamp(540px, 66vh, 680px) !important;
  }

  .banner-copy {
    width: min(100%, 580px) !important;
    max-width: 580px !important;
    min-height: clamp(540px, 66vh, 680px) !important;
    padding: 84px 0 64px !important;
  }

  .banner-copy::before {
    inset: 24px -90px 24px -120px !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: 10.2ch !important;
    font-size: clamp(3.05rem, 6.9vw, 4.6rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header::before {
    filter: saturate(0.92) contrast(1.01) brightness(0.76) !important;
  }

  .banner-header::after {
    opacity: 0.18 !important;
    background-size: auto, 96px 96px, 96px 96px !important;
  }

  .banner-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 76px 0 58px !important;
  }

  .banner-copy::before {
    inset: 18px -18px 18px -18px !important;
    background:
      linear-gradient(180deg, rgba(13, 17, 23, 0.82) 0%, rgba(13, 17, 23, 0.72) 38%, rgba(13, 17, 23, 0.58) 62%, rgba(13, 17, 23, 0.36) 100%) !important;
    box-shadow: none !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.55rem, 11vw, 4rem) !important;
    line-height: 0.95 !important;
  }

  .banner-contactline,
  .banner-copy .lead {
    max-width: 100% !important;
  }
}

/* Footer trust final cleanup: Google only */

.footer-certifications {
  width: fit-content !important;
  max-width: 108px !important;
  display: block !important;
  grid-template-columns: 1fr !important;
  grid-template-areas: none !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  margin-top: 12px !important;
}

.footer-certificate--google {
  width: 108px !important;
  display: block !important;
}

.footer-certificate--google img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.footer-certificate-stack--desag,
.footer-certificate--desag,
.footer-certificate-subline,
.footer-certificate-note {
  display: none !important;
}

@media (max-width: 720px) {
  .footer-certifications {
    max-width: 96px !important;
  }

  .footer-certificate--google {
    width: 96px !important;
  }
}

/* Hauscheck final intake rebuild */

.section--hauscheck-intake .container {
  display: grid;
  gap: 28px;
}

.hauscheck-process-strip {
  display: grid;
  gap: 22px;
  padding: 28px 30px 30px;
  border: 1px solid rgba(228, 219, 210, 0.94);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 246, 0.96));
  box-shadow: 0 18px 34px rgba(16, 16, 16, 0.04);
}

.hauscheck-process-head {
  display: grid;
  gap: 10px;
  max-width: 66ch;
}

.hauscheck-process-head h2 {
  margin: 0;
  max-width: 14ch;
}

.hauscheck-process-head .muted {
  margin: 0;
  max-width: 64ch;
}

.process-grid--hauscheck {
  gap: 18px !important;
  margin-top: 0 !important;
}

.process-grid--hauscheck .process-step {
  min-height: 100%;
  padding: 22px 22px 20px !important;
}

.process-grid--hauscheck .process-step strong {
  max-width: none !important;
}

.process-grid--hauscheck .process-step p {
  max-width: 30ch !important;
}

.hauscheck-support-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.support-mini-card {
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(232, 223, 215, 0.94);
  background: rgba(255, 252, 249, 0.9);
}

.support-mini-card strong {
  display: block;
  margin-bottom: 6px;
  font-size: 0.95rem;
}

.support-mini-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.58;
}

.form-card--hauscheck {
  padding: 28px 30px 30px !important;
}

.hauscheck-intake-head {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
  max-width: 62ch;
}

.hauscheck-intake-head h3 {
  margin: 0;
}

.hauscheck-intake-head .muted {
  margin: 0;
}

.form-card--hauscheck .form-shell {
  gap: 18px;
}

.intake-layout {
  grid-template-columns: minmax(0, 1.32fr) minmax(320px, 0.8fr) !important;
  gap: 28px !important;
  margin-top: 0 !important;
}

.intake-shell {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.intake-row {
  gap: 16px !important;
}

.intake-row + .intake-row {
  margin-top: 22px !important;
  padding-top: 22px !important;
}

.intake-row-head {
  gap: 6px !important;
  max-width: 62ch !important;
}

.intake-row-head .muted {
  font-size: 0.93rem !important;
  line-height: 1.55 !important;
}

.intake-section-title,
.intake-target-eyebrow {
  font-size: 0.74rem !important;
  letter-spacing: 0.14em !important;
}

.intake-section-title::before,
.intake-target-eyebrow::before {
  width: 9px !important;
  height: 9px !important;
  box-shadow: 0 0 0 5px rgba(239, 127, 97, 0.11) !important;
}

.form-grid--contact-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.form-grid--contact-compact label:last-child {
  grid-column: auto !important;
}

.form-grid--request-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.form-grid--request-compact .span-2 {
  grid-column: 1 / -1 !important;
}

.form-grid--object-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.form-grid--request-compact textarea {
  min-height: 150px !important;
}

.intake-target-card {
  padding: 22px 22px 20px !important;
  position: sticky !important;
  top: 92px !important;
  border-radius: 22px !important;
}

.intake-target-card h4 {
  margin-top: 14px !important;
  margin-bottom: 8px !important;
  font-size: 1.14rem !important;
  line-height: 1.28 !important;
}

.intake-target-card > .muted {
  margin: 0 !important;
  font-size: 0.93rem !important;
  line-height: 1.55 !important;
}

.intake-summary {
  gap: 14px !important;
  margin-top: 16px !important;
}

.intake-summary-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 16px !important;
}

.intake-summary-row {
  gap: 4px !important;
  padding-bottom: 10px !important;
}

.intake-summary-label {
  font-size: 0.7rem !important;
  letter-spacing: 0.11em !important;
}

.intake-summary-value {
  font-size: 0.97rem !important;
  line-height: 1.4 !important;
}

.intake-summary-question {
  padding: 14px 15px !important;
  border-radius: 14px !important;
  font-size: 0.88rem !important;
  line-height: 1.56 !important;
  white-space: pre-line !important;
}

.intake-submit-row {
  margin-top: 18px !important;
  gap: 18px !important;
}

.section--hauscheck-intake .note {
  margin-top: 8px !important;
}

@media (max-width: 1260px) {
  .intake-layout {
    grid-template-columns: 1fr !important;
  }

  .intake-target-card {
    position: static !important;
  }
}

@media (max-width: 1080px) {
  .hauscheck-support-row,
  .form-grid--contact-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .form-grid--contact-compact label:last-child {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 900px) {
  .hauscheck-process-strip,
  .form-card--hauscheck {
    padding: 22px !important;
  }

  .form-grid--request-compact,
  .form-grid--object-compact,
  .intake-summary-meta,
  .hauscheck-support-row,
  .form-grid--contact-compact,
  .intake-submit-row {
    grid-template-columns: 1fr !important;
  }

  .form-grid--contact-compact label:last-child,
  .form-grid--request-compact .span-2 {
    grid-column: auto !important;
  }

  .intake-submit-row {
    display: grid !important;
  }
}

@media (max-width: 720px) {
  .hauscheck-process-head h2 {
    max-width: none !important;
  }

  .process-grid--hauscheck .process-step p {
    max-width: none !important;
  }

  .form-grid--request-compact textarea {
    min-height: 136px !important;
  }
}

.section--hauscheck-proof .proof-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.section--hauscheck-proof .proof-card {
  padding: 22px;
}

.section--hauscheck-proof .proof-card strong {
  font-size: 0.98rem;
}

.section--hauscheck-proof .proof-card p {
  font-size: 0.92rem;
  line-height: 1.58;
}

@media (max-width: 900px) {
  .section--hauscheck-proof .proof-grid {
    grid-template-columns: 1fr;
  }
}

/* Final reg logo lockup */

.header-inner {
  grid-template-columns: minmax(280px, 372px) 1fr auto !important;
  gap: 28px !important;
}

.brand.brand--lockup {
  width: min(100%, 322px) !important;
}

.brand.brand--lockup img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.footer-brand {
  --footer-brand-lockup-width: 304px !important;
  gap: 20px !important;
}

.footer-brand-lockup {
  width: min(100%, var(--footer-brand-lockup-width)) !important;
}

.footer-brand .muted {
  max-width: 34ch !important;
}

@media (max-width: 1080px) {
  .header-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
  }

  .brand.brand--lockup {
    width: min(100%, 268px) !important;
  }

  .footer-brand {
    --footer-brand-lockup-width: 272px !important;
  }
}

@media (max-width: 720px) {
  .brand.brand--lockup {
    width: min(100%, 214px) !important;
  }

.footer-brand {
  --footer-brand-lockup-width: 226px !important;
  }
}

/* Footer trust premium triad */

.footer-certifications {
  width: min(100%, var(--footer-brand-lockup-width)) !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  grid-template-areas:
    "google institutional"
    "endorsement endorsement" !important;
  align-items: start !important;
  column-gap: 16px !important;
  row-gap: 14px !important;
  margin-top: 14px !important;
}

.footer-certificate {
  overflow: visible !important;
}

.footer-certificate--google {
  grid-area: google !important;
  width: 104px !important;
  display: block !important;
  align-self: start !important;
}

.footer-certificate--google img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.footer-certificate-stack--institutional {
  grid-area: institutional !important;
  display: grid !important;
  align-content: start !important;
  gap: 0 !important;
  width: min(100%, 196px) !important;
  padding-top: 2px !important;
}

.footer-certificate--institutional {
  width: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-certificate--institutional img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.footer-certificate--endorsement {
  grid-area: endorsement !important;
  width: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-certificate--endorsement img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

@media (max-width: 720px) {
  .footer-certifications {
    width: min(100%, 300px) !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 12px !important;
  }

  .footer-certificate--google {
    width: 92px !important;
  }

  .footer-certificate-stack--institutional {
    width: min(100%, 174px) !important;
    padding-top: 2px !important;
  }
}

/* Footer brand column compact hierarchy */

.footer-brand {
  --footer-brand-lockup-width: 276px !important;
  gap: 14px !important;
  align-content: start !important;
}

.footer-brand-lockup {
  width: min(100%, var(--footer-brand-lockup-width)) !important;
}

.footer-brand .muted {
  max-width: 27ch !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.58 !important;
}

.footer-certifications {
  width: min(100%, 27ch) !important;
  grid-template-columns: 88px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  row-gap: 10px !important;
  margin-top: 6px !important;
}

.footer-certificate--google {
  width: 88px !important;
}

.footer-certificate-stack--institutional {
  width: min(100%, 176px) !important;
  padding-top: 4px !important;
}

.footer-certificate--endorsement {
  width: min(100%, 276px) !important;
}

@media (max-width: 1080px) {
  .footer-brand {
    --footer-brand-lockup-width: 252px !important;
    gap: 12px !important;
  }

  .footer-certifications {
    width: min(100%, 25ch) !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }

  .footer-certificate--google {
    width: 84px !important;
  }

  .footer-certificate-stack--institutional {
    width: min(100%, 164px) !important;
  }

  .footer-certificate--endorsement {
    width: min(100%, 252px) !important;
  }
}

@media (max-width: 720px) {
  .footer-brand {
    --footer-brand-lockup-width: 224px !important;
  }

  .footer-brand .muted {
    max-width: 25ch !important;
    font-size: 0.86rem !important;
  }

  .footer-certifications {
    width: min(100%, 100%) !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    row-gap: 10px !important;
  }

  .footer-certificate--google {
    width: 84px !important;
  }

  .footer-certificate-stack--institutional {
    width: min(100%, 156px) !important;
  }

  .footer-certificate--endorsement {
    width: min(100%, 224px) !important;
  }
}

/* Footer trust column final alignment */

.footer-brand {
  --footer-brand-lockup-width: 262px !important;
  gap: 12px !important;
  justify-items: start !important;
}

.footer-brand-lockup {
  width: min(100%, var(--footer-brand-lockup-width)) !important;
}

.footer-brand .muted {
  max-width: 24ch !important;
  font-size: 0.88rem !important;
  line-height: 1.52 !important;
}

.footer-certifications {
  width: min(100%, 276px) !important;
  grid-template-columns: 104px minmax(0, 160px) !important;
  align-items: start !important;
  justify-items: start !important;
  column-gap: 12px !important;
  row-gap: 12px !important;
  margin-top: 8px !important;
}

.footer-certificate--google {
  width: 104px !important;
  align-self: center !important;
}

.footer-certificate-stack--institutional {
  width: 160px !important;
  padding-top: 0 !important;
  align-self: center !important;
}

.footer-certificate--institutional img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.footer-certificate--endorsement {
  width: 276px !important;
}

@media (max-width: 1080px) {
  .footer-brand {
    --footer-brand-lockup-width: 244px !important;
  }

  .footer-brand .muted {
    max-width: 23ch !important;
  }

  .footer-certifications {
    width: min(100%, 256px) !important;
    grid-template-columns: 98px minmax(0, 146px) !important;
    column-gap: 12px !important;
  }

  .footer-certificate--google {
    width: 98px !important;
  }

  .footer-certificate-stack--institutional {
    width: 146px !important;
  }

  .footer-certificate--endorsement {
    width: 256px !important;
  }
}

@media (max-width: 720px) {
  .footer-brand {
    --footer-brand-lockup-width: 220px !important;
    gap: 10px !important;
  }

  .footer-brand .muted {
    max-width: 22ch !important;
    font-size: 0.85rem !important;
  }

  .footer-certifications {
    width: min(100%, 236px) !important;
    grid-template-columns: 90px minmax(0, 134px) !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }

  .footer-certificate--google {
    width: 90px !important;
  }

  .footer-certificate-stack--institutional {
    width: 134px !important;
  }

  .footer-certificate--endorsement {
    width: 236px !important;
  }
}

/* Home hero vertical compaction */

.banner-header--home::before {
  background-position: center 42% !important;
}

.banner-header--home .banner-shell {
  min-height: clamp(500px, 60vh, 610px) !important;
}

.banner-header--home .banner-copy {
  justify-content: flex-start !important;
  width: min(100%, 600px) !important;
  max-width: 600px !important;
  min-height: clamp(500px, 60vh, 610px) !important;
  padding: 38px 0 54px !important;
}

.banner-header--home .banner-copy::before {
  inset: 0 -120px 0 -150px !important;
}

.banner-header--home .banner-kicker {
  display: none !important;
}

.banner-header--home .banner-title {
  max-width: 8.7ch !important;
  margin-top: 6px !important;
  font-size: clamp(3.45rem, 5.8vw, 5.2rem) !important;
  line-height: 0.91 !important;
}

.banner-header--home .banner-contactline {
  margin-top: 18px !important;
}

.banner-header--home .banner-copy .lead {
  max-width: 31ch !important;
  margin-top: 16px !important;
}

.banner-header--home .banner-copy .button-row {
  margin-top: 24px !important;
}

@media (max-width: 1040px) {
  .banner-header--home::before {
    background-position: center 40% !important;
  }

  .banner-header--home .banner-shell {
    min-height: clamp(470px, 56vh, 560px) !important;
  }

  .banner-header--home .banner-copy {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    min-height: clamp(470px, 56vh, 560px) !important;
    padding: 32px 0 46px !important;
  }

  .banner-header--home .banner-copy::before {
    inset: 0 -88px 0 -110px !important;
  }

  .banner-header--home .banner-title {
    max-width: 9.2ch !important;
    font-size: clamp(3.05rem, 6.2vw, 4.45rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--home::before {
    background-position: center 36% !important;
  }

  .banner-header--home .banner-shell {
    min-height: auto !important;
  }

  .banner-header--home .banner-copy {
    min-height: auto !important;
    padding: 32px 0 44px !important;
  }

  .banner-header--home .banner-copy::before {
    inset: -8px -18px -8px -18px !important;
  }

  .banner-header--home .banner-title {
    max-width: 100% !important;
    margin-top: 0 !important;
    font-size: clamp(2.55rem, 10.5vw, 3.85rem) !important;
  }
}

/* Shared header vertical compaction */

.banner-header--service::before,
.banner-header--about::before,
.banner-header--contact::before,
.banner-header--services::before,
.banner-header--hauscheck::before {
  background-position: center 40% !important;
}

.banner-header--service .banner-shell,
.banner-header--about .banner-shell,
.banner-header--contact .banner-shell,
.banner-header--services .banner-shell,
.banner-header--hauscheck .banner-shell {
  min-height: clamp(470px, 58vh, 580px) !important;
}

.banner-header--service .banner-copy,
.banner-header--about .banner-copy,
.banner-header--contact .banner-copy,
.banner-header--services .banner-copy,
.banner-header--hauscheck .banner-copy {
  justify-content: flex-start !important;
  width: min(100%, 580px) !important;
  max-width: 580px !important;
  min-height: clamp(470px, 58vh, 580px) !important;
  padding: 34px 0 48px !important;
}

.banner-header--service .banner-copy::before,
.banner-header--about .banner-copy::before,
.banner-header--contact .banner-copy::before,
.banner-header--services .banner-copy::before,
.banner-header--hauscheck .banner-copy::before {
  inset: 0 -96px 0 -132px !important;
}

.banner-header--service .banner-kicker,
.banner-header--about .banner-kicker,
.banner-header--contact .banner-kicker,
.banner-header--services .banner-kicker,
.banner-header--hauscheck .banner-kicker {
  display: none !important;
}

.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title,
.banner-header--services .banner-title,
.banner-header--hauscheck .banner-title {
  max-width: 9.2ch !important;
  margin-top: 2px !important;
  font-size: clamp(2.95rem, 5.3vw, 4.4rem) !important;
  line-height: 0.93 !important;
}

.banner-header--service .banner-contactline,
.banner-header--about .banner-contactline,
.banner-header--contact .banner-contactline,
.banner-header--services .banner-contactline,
.banner-header--hauscheck .banner-contactline {
  margin-top: 16px !important;
}

.banner-header--service .banner-copy .lead,
.banner-header--about .banner-copy .lead,
.banner-header--contact .banner-copy .lead,
.banner-header--services .banner-copy .lead,
.banner-header--hauscheck .banner-copy .lead {
  max-width: 31ch !important;
  margin-top: 14px !important;
}

.banner-header--service .banner-copy .button-row,
.banner-header--about .banner-copy .button-row,
.banner-header--contact .banner-copy .button-row,
.banner-header--services .banner-copy .button-row,
.banner-header--hauscheck .banner-copy .button-row,
.banner-header--service .service-hero-actions,
.banner-header--hauscheck .service-hero-actions {
  margin-top: 22px !important;
}

@media (max-width: 1040px) {
  .banner-header--service::before,
  .banner-header--about::before,
  .banner-header--contact::before,
  .banner-header--services::before,
  .banner-header--hauscheck::before {
    background-position: center 38% !important;
  }

  .banner-header--service .banner-shell,
  .banner-header--about .banner-shell,
  .banner-header--contact .banner-shell,
  .banner-header--services .banner-shell,
  .banner-header--hauscheck .banner-shell {
    min-height: clamp(440px, 54vh, 530px) !important;
  }

  .banner-header--service .banner-copy,
  .banner-header--about .banner-copy,
  .banner-header--contact .banner-copy,
  .banner-header--services .banner-copy,
  .banner-header--hauscheck .banner-copy {
    width: min(100%, 540px) !important;
    max-width: 540px !important;
    min-height: clamp(440px, 54vh, 530px) !important;
    padding: 30px 0 40px !important;
  }

  .banner-header--service .banner-copy::before,
  .banner-header--about .banner-copy::before,
  .banner-header--contact .banner-copy::before,
  .banner-header--services .banner-copy::before,
  .banner-header--hauscheck .banner-copy::before {
    inset: 0 -76px 0 -98px !important;
  }

  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title,
  .banner-header--hauscheck .banner-title {
    max-width: 9.6ch !important;
    font-size: clamp(2.75rem, 6vw, 3.95rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--service::before,
  .banner-header--about::before,
  .banner-header--contact::before,
  .banner-header--services::before,
  .banner-header--hauscheck::before {
    background-position: center 34% !important;
  }

  .banner-header--service .banner-shell,
  .banner-header--about .banner-shell,
  .banner-header--contact .banner-shell,
  .banner-header--services .banner-shell,
  .banner-header--hauscheck .banner-shell {
    min-height: auto !important;
  }

  .banner-header--service .banner-copy,
  .banner-header--about .banner-copy,
  .banner-header--contact .banner-copy,
  .banner-header--services .banner-copy,
  .banner-header--hauscheck .banner-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 30px 0 42px !important;
  }

  .banner-header--service .banner-copy::before,
  .banner-header--about .banner-copy::before,
  .banner-header--contact .banner-copy::before,
  .banner-header--services .banner-copy::before,
  .banner-header--hauscheck .banner-copy::before {
    inset: -8px -18px -8px -18px !important;
  }

  .banner-header--service .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--services .banner-title,
  .banner-header--hauscheck .banner-title {
    max-width: 100% !important;
    margin-top: 0 !important;
    font-size: clamp(2.35rem, 9.8vw, 3.55rem) !important;
  }
}

/* Service hero final system */

.banner-header--service .banner-shell {
  min-height: clamp(430px, 48vw, 520px) !important;
}

.banner-header--service .banner-copy {
  justify-content: flex-start !important;
  width: min(100%, 548px) !important;
  max-width: 548px !important;
  min-height: clamp(430px, 48vw, 520px) !important;
  padding: 28px 0 34px !important;
}

.banner-header--service .banner-copy::before {
  inset: 0 -40px 0 -118px !important;
  background:
    linear-gradient(90deg, rgba(13, 18, 24, 0.78) 0%, rgba(13, 18, 24, 0.62) 42%, rgba(13, 18, 24, 0.2) 72%, rgba(13, 18, 24, 0) 100%),
    linear-gradient(180deg, rgba(8, 11, 16, 0.18) 0%, rgba(8, 11, 16, 0.08) 100%) !important;
}

.banner-header--service .banner-title {
  display: block !important;
  max-width: 13.4ch !important;
  margin-top: 0 !important;
  font-size: clamp(2.45rem, 4.15vw, 3.85rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.05em !important;
  text-wrap: balance;
}

.banner-header--service .banner-title span {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.banner-header--service .banner-title span:first-child:not(:only-child) {
  color: #f6eee8 !important;
  margin-right: 0.18ch !important;
}

.banner-header--service .banner-title span:last-child:not(:only-child) {
  color: #f2a765 !important;
}

.banner-header--service .banner-title span:only-child {
  color: #f6eee8 !important;
}

.banner-header--service .banner-contactline {
  margin-top: 16px !important;
  gap: 8px 16px !important;
  font-size: 0.88rem !important;
}

.banner-header--service .banner-copy .lead {
  max-width: 30ch !important;
  margin-top: 14px !important;
  font-size: 1rem !important;
  line-height: 1.58 !important;
}

.banner-header--service .service-hero-actions {
  margin-top: 22px !important;
}

.service-summary-stack {
  display: grid;
  gap: 14px;
  margin-bottom: 24px;
}

.service-summary-points {
  display: grid;
  gap: 10px;
  padding: 20px 22px;
  margin: 0;
  list-style: none;
  border-radius: 20px;
  background: rgba(255, 252, 248, 0.98);
  border: 1px solid rgba(232, 220, 209, 0.9);
}

.service-summary-points li {
  position: relative;
  padding-left: 18px;
  color: #382f28;
  line-height: 1.56;
}

.service-summary-points li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent-strong);
}

.service-summary-note {
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 248, 241, 0.98), rgba(255, 244, 236, 0.96));
  border: 1px solid rgba(239, 127, 97, 0.14);
}

.service-summary-note strong {
  display: block;
  color: #1b1714;
  font-size: 1.02rem;
}

.service-summary-note p {
  margin: 6px 0 0;
  color: #5f554c;
}

@media (max-width: 1180px) {
  .banner-header--service .banner-shell {
    min-height: clamp(410px, 46vw, 500px) !important;
  }

  .banner-header--service .banner-copy {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    min-height: clamp(410px, 46vw, 500px) !important;
    padding: 24px 0 30px !important;
  }

  .banner-header--service .banner-copy::before {
    inset: 0 -28px 0 -88px !important;
  }

  .banner-header--service .banner-title {
    max-width: 12.6ch !important;
    font-size: clamp(2.25rem, 5.4vw, 3.4rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--service .banner-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 24px 0 34px !important;
  }

  .banner-header--service .banner-copy::before {
    inset: -8px -18px -8px -18px !important;
  }

  .banner-header--service .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.2rem, 10.3vw, 3.4rem) !important;
    line-height: 0.96 !important;
  }

  .service-summary-stack {
    margin-bottom: 20px;
  }

  .service-summary-points,
  .service-summary-note {
    padding: 18px;
  }
}

/* Footer trust direct-image hierarchy final */

.footer-certifications {
  width: min(100%, 272px) !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 166px) !important;
  grid-template-areas:
    "google institutional"
    "endorsement endorsement" !important;
  align-items: center !important;
  justify-items: start !important;
  column-gap: 14px !important;
  row-gap: 14px !important;
  margin-top: 10px !important;
}

.footer-certificate,
.footer-certificate--google,
.footer-certificate--institutional,
.footer-certificate--endorsement {
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-certificate--google {
  grid-area: google !important;
  width: 92px !important;
  align-self: start !important;
}

.footer-certificate--google img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.footer-certificate-stack--institutional {
  grid-area: institutional !important;
  width: 166px !important;
  display: grid !important;
  align-content: center !important;
  gap: 0 !important;
  padding-top: 0 !important;
  align-self: center !important;
}

.footer-certificate--institutional img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.footer-certificate--endorsement {
  grid-area: endorsement !important;
  width: 272px !important;
  align-self: start !important;
}

.footer-certificate--endorsement img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

@media (max-width: 1080px) {
  .footer-certifications {
    width: min(100%, 252px) !important;
    grid-template-columns: 86px minmax(0, 154px) !important;
    column-gap: 12px !important;
  }

  .footer-certificate--google {
    width: 86px !important;
  }

  .footer-certificate-stack--institutional {
    width: 154px !important;
  }

  .footer-certificate--endorsement {
    width: 252px !important;
  }
}

@media (max-width: 720px) {
  .footer-certifications {
    width: min(100%, 232px) !important;
    grid-template-columns: 80px minmax(0, 140px) !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }

  .footer-certificate--google {
    width: 80px !important;
  }

  .footer-certificate-stack--institutional {
    width: 140px !important;
  }

  .footer-certificate--endorsement {
    width: 232px !important;
  }
}

/* Home hero aligned to service-header discipline */

.banner-header--home .banner-shell {
  min-height: clamp(430px, 48vw, 520px) !important;
  align-items: center !important;
}

.banner-header--home .banner-copy {
  justify-content: flex-start !important;
  width: min(100%, 548px) !important;
  max-width: 548px !important;
  min-height: clamp(430px, 48vw, 520px) !important;
  padding: 28px 0 34px !important;
}

.banner-header--home .banner-copy::before {
  inset: 0 -40px 0 -118px !important;
  background:
    linear-gradient(90deg, rgba(13, 18, 24, 0.78) 0%, rgba(13, 18, 24, 0.62) 42%, rgba(13, 18, 24, 0.2) 72%, rgba(13, 18, 24, 0) 100%),
    linear-gradient(180deg, rgba(8, 11, 16, 0.18) 0%, rgba(8, 11, 16, 0.08) 100%) !important;
}

.banner-header--home .banner-title {
  display: block !important;
  max-width: 10.4ch !important;
  margin-top: 0 !important;
  font-size: clamp(2.7rem, 4.45vw, 4.1rem) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.05em !important;
  text-wrap: balance !important;
}

.banner-header--home .banner-title span {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.banner-header--home .banner-title span:first-child:not(:only-child) {
  color: #f6eee8 !important;
  margin-right: 0.18ch !important;
}

.banner-header--home .banner-title span:last-child:not(:only-child) {
  color: #f2a765 !important;
}

.banner-header--home .banner-contactline {
  margin-top: 16px !important;
  gap: 8px 16px !important;
  font-size: 0.88rem !important;
}

.banner-header--home .banner-copy .lead {
  max-width: 30ch !important;
  margin-top: 14px !important;
  font-size: 1rem !important;
  line-height: 1.58 !important;
}

.banner-header--home .button-row {
  margin-top: 22px !important;
}

.banner-header--home .banner-side {
  align-items: stretch !important;
}

.banner-header--home .banner-icon-frame {
  min-height: clamp(430px, 48vw, 520px) !important;
}

@media (max-width: 1180px) {
  .banner-header--home .banner-shell {
    min-height: clamp(410px, 46vw, 500px) !important;
  }

  .banner-header--home .banner-copy {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    min-height: clamp(410px, 46vw, 500px) !important;
    padding: 24px 0 30px !important;
  }

  .banner-header--home .banner-copy::before {
    inset: 0 -28px 0 -88px !important;
  }

  .banner-header--home .banner-title {
    max-width: 10.8ch !important;
    font-size: clamp(2.4rem, 5.6vw, 3.5rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--home .banner-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 24px 0 34px !important;
  }

  .banner-header--home .banner-copy::before {
    inset: -8px -18px -8px -18px !important;
  }

  .banner-header--home .banner-title {
    max-width: 100% !important;
    font-size: clamp(2.2rem, 10.3vw, 3.4rem) !important;
    line-height: 0.96 !important;
  }
}

/* Homepage testimonials replacing old Hauscheck promo */

.home-testimonials-title {
  margin-top: 18px;
  max-width: 12ch;
}

.home-testimonials-lead {
  max-width: 34ch;
}

.home-testimonials-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.testimonial-card {
  display: grid;
  gap: 20px;
  min-height: 100%;
  padding: 28px;
}

.testimonial-card:hover {
  transform: none;
  box-shadow: 0 22px 42px rgba(19, 19, 19, 0.08);
}

.testimonial-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.testimonial-stars {
  color: #e3a64b;
  letter-spacing: 0.08em;
  font-size: 0.92rem;
  line-height: 1;
}

.testimonial-context {
  color: #7d736a;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.testimonial-quote {
  margin: 0;
  color: #3f372f;
  font-size: 1.02rem;
  line-height: 1.72;
}

.testimonial-meta {
  display: grid;
  gap: 6px;
  padding-top: 14px;
  border-top: 1px solid rgba(225, 214, 204, 0.88);
}

.testimonial-meta strong {
  margin: 0;
  color: #201c18;
  font-size: 0.98rem;
}

.testimonial-meta span {
  color: #7a7067;
  font-size: 0.9rem;
  line-height: 1.55;
}

@media (max-width: 1180px) {
  .home-testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .home-testimonials-grid {
    grid-template-columns: 1fr;
  }

  .testimonial-card {
    padding: 24px;
  }
}

/* Header cleanup: remove contact/location lines from headers */

.topbar,
.banner-contactline {
  display: none !important;
}

.banner-copy .lead {
  margin-top: 18px !important;
}

.banner-header--home .banner-copy .lead {
  margin-top: 18px !important;
}

.banner-header--service .banner-copy,
.banner-header--services .banner-copy,
.banner-header--contact .banner-copy,
.banner-header--about .banner-copy,
.banner-header--hauscheck .banner-copy,
.banner-header--legal .banner-copy {
  padding-top: 22px !important;
}

/* Final mobile experience system */

@media (max-width: 900px) {
  :root {
    --mobile-header-height: 72px;
    --mobile-cta-height: 82px;
  }

  html {
    scroll-padding-top: calc(var(--mobile-header-height) + 14px);
  }

  body {
    padding-bottom: calc(var(--mobile-cta-height) + 24px + env(safe-area-inset-bottom));
  }

  .topbar,
  .nav-desktop,
  .nav-actions .btn,
  .whatsapp-float,
  .banner-contactline,
  .banner-side,
  .banner-expert-card {
    display: none !important;
  }

  .site-header,
  .site-header.scrolled {
    position: sticky !important;
    top: 0 !important;
    z-index: 90 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid rgba(228, 219, 210, 0.94) !important;
    box-shadow: 0 12px 28px rgba(18, 16, 14, 0.08) !important;
    backdrop-filter: none !important;
  }

  .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: var(--mobile-header-height) !important;
    padding-block: 8px !important;
  }

  .brand--lockup {
    width: min(208px, calc(100vw - 108px)) !important;
    max-width: min(208px, calc(100vw - 108px)) !important;
  }

  .brand--lockup img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
  }

  .menu-toggle {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(223, 213, 203, 0.96) !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .mobile-panel {
    position: fixed !important;
    top: calc(var(--mobile-header-height) + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(228, 219, 210, 0.96) !important;
    background: rgba(255, 255, 255, 0.99) !important;
    box-shadow: 0 24px 56px rgba(18, 16, 14, 0.18) !important;
    max-height: calc(100dvh - var(--mobile-header-height) - 24px - env(safe-area-inset-bottom)) !important;
    overflow: auto !important;
    transform: translateY(-10px) scale(0.98) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .mobile-panel.open {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .mobile-panel[hidden] {
    display: none !important;
  }

  .mobile-panel nav {
    display: grid !important;
    gap: 8px !important;
  }

  .mobile-panel a,
  .mobile-group-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 50px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(231, 223, 215, 0.94) !important;
    background: #faf7f3 !important;
    color: #171311 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  .mobile-panel a.active,
  .mobile-group-toggle.active,
  .mobile-group.open .mobile-group-toggle {
    color: var(--accent-strong) !important;
    border-color: rgba(239, 127, 97, 0.28) !important;
    background: #fffaf7 !important;
  }

  .mobile-group {
    display: grid !important;
    gap: 8px !important;
  }

  .mobile-group-panel {
    display: none !important;
    gap: 8px !important;
    padding: 0 0 0 8px !important;
  }

  .mobile-group.open .mobile-group-panel {
    display: grid !important;
  }

  .mobile-group-panel a {
    min-height: 46px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
  }

  .mobile-group-caret {
    margin-left: 10px !important;
  }

  .mobile-panel-meta {
    display: grid !important;
    gap: 12px !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(231, 223, 215, 0.94) !important;
  }

  .mobile-panel-contact {
    display: grid !important;
    gap: 10px !important;
  }

  .mobile-panel-contact a {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    color: #5f554c !important;
    font-size: 0.93rem !important;
    font-weight: 600 !important;
  }

  .mobile-panel-cta {
    width: 100% !important;
    min-height: 50px !important;
  }

  main {
    overflow-x: clip !important;
  }

  .banner-header {
    padding: 8px 0 18px !important;
  }

  .banner-shell {
    width: min(var(--container), calc(100% - 24px)) !important;
    min-height: auto !important;
  }

  .banner-header--home .banner-shell,
  .banner-header--service .banner-shell,
  .banner-header--services .banner-shell,
  .banner-header--about .banner-shell,
  .banner-header--contact .banner-shell,
  .banner-header--hauscheck .banner-shell,
  .banner-header--legal .banner-shell {
    min-height: clamp(420px, calc(100svh - 160px), 540px) !important;
  }

  .banner-copy,
  .banner-header--home .banner-copy,
  .banner-header--service .banner-copy,
  .banner-header--services .banner-copy,
  .banner-header--about .banner-copy,
  .banner-header--contact .banner-copy,
  .banner-header--hauscheck .banner-copy,
  .banner-header--legal .banner-copy {
    width: 100% !important;
    max-width: min(100%, 31rem) !important;
    min-height: auto !important;
    padding: 32px 0 26px !important;
  }

  .banner-copy::before,
  .banner-header--home .banner-copy::before,
  .banner-header--service .banner-copy::before,
  .banner-header--services .banner-copy::before,
  .banner-header--about .banner-copy::before,
  .banner-header--contact .banner-copy::before,
  .banner-header--hauscheck .banner-copy::before,
  .banner-header--legal .banner-copy::before {
    content: "" !important;
    display: block !important;
    inset: 0 -12px 0 -18px !important;
    width: auto !important;
    border-radius: 22px !important;
    background: linear-gradient(90deg, rgba(15, 19, 26, 0.8) 0%, rgba(15, 19, 26, 0.72) 38%, rgba(15, 19, 26, 0.42) 64%, rgba(15, 19, 26, 0.1) 100%) !important;
  }

  .banner-copy > * {
    position: relative !important;
    z-index: 1 !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--services .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--hauscheck .banner-title,
  .banner-header--legal .banner-title {
    max-width: 10.6ch !important;
    font-size: clamp(2.15rem, 9.8vw, 3.2rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.05em !important;
  }

  .banner-copy .lead,
  .banner-header--home .banner-copy .lead,
  .banner-header--service .banner-copy .lead {
    max-width: 24ch !important;
    margin-top: 14px !important;
    font-size: 1rem !important;
    line-height: 1.52 !important;
  }

  .banner-header .button-row,
  .banner-header .service-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  .banner-header .button-row .btn-light,
  .banner-header .service-hero-actions .btn-light {
    display: none !important;
  }

  .banner-copy .btn,
  .banner-header .service-hero-actions .btn {
    width: 100% !important;
    min-height: 50px !important;
  }

  .section,
  .section-tight {
    scroll-margin-top: calc(var(--mobile-header-height) + 16px);
  }

  .section {
    padding: 46px 0 !important;
  }

  .section-tight {
    padding: 22px 0 !important;
  }

  .section-head {
    gap: 14px !important;
  }

  .section-head h2,
  .home-services-title,
  .home-testimonials-title {
    max-width: none !important;
  }

  .home-entry-grid,
  .service-preview-grid,
  .service-directory-grid,
  .home-testimonials-grid,
  .signature-grid--compact {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .service-preview-card {
    min-height: 0 !important;
  }

  .service-preview-visual {
    min-height: 168px !important;
  }

  .service-preview-body {
    gap: 14px !important;
    padding: 18px !important;
  }

  .service-preview-head {
    gap: 12px !important;
  }

  .service-preview-head h3 {
    font-size: 1.14rem !important;
  }

  .service-preview-head p,
  .testimonial-quote {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }

  .testimonial-card,
  .signature-panel,
  .signature-stack > * {
    padding: 22px !important;
  }

  .mobile-cta {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    z-index: 65 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(226, 217, 208, 0.94) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 36px rgba(18, 16, 14, 0.16) !important;
    backdrop-filter: none !important;
  }

  .mobile-cta .btn {
    min-height: 48px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    font-size: 0.94rem !important;
  }
}

@media (max-width: 640px) {
  .brand--lockup {
    width: min(182px, calc(100vw - 92px)) !important;
    max-width: min(182px, calc(100vw - 92px)) !important;
  }

  .banner-header--home .banner-shell,
  .banner-header--service .banner-shell,
  .banner-header--services .banner-shell,
  .banner-header--about .banner-shell,
  .banner-header--contact .banner-shell,
  .banner-header--hauscheck .banner-shell,
  .banner-header--legal .banner-shell {
    min-height: clamp(380px, calc(100svh - 156px), 500px) !important;
  }

  .banner-copy,
  .banner-header--home .banner-copy,
  .banner-header--service .banner-copy,
  .banner-header--services .banner-copy,
  .banner-header--about .banner-copy,
  .banner-header--contact .banner-copy,
  .banner-header--hauscheck .banner-copy,
  .banner-header--legal .banner-copy {
    padding: 28px 0 22px !important;
  }

  .banner-title,
  .banner-header--home .banner-title,
  .banner-header--service .banner-title,
  .banner-header--services .banner-title,
  .banner-header--about .banner-title,
  .banner-header--contact .banner-title,
  .banner-header--hauscheck .banner-title,
  .banner-header--legal .banner-title {
    max-width: 10.8ch !important;
    font-size: clamp(2rem, 10.8vw, 2.86rem) !important;
  }

  .banner-copy .lead,
  .banner-header--home .banner-copy .lead,
  .banner-header--service .banner-copy .lead {
    max-width: 22ch !important;
    font-size: 0.97rem !important;
  }

  .mobile-cta .btn {
    font-size: 0.92rem !important;
  }
}

@media (max-width: 720px) {
  .footer-certifications {
    width: min(100%, 248px) !important;
    grid-template-columns: 86px minmax(0, 150px) !important;
    grid-template-areas:
      "google institutional"
      "endorsement endorsement" !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
    align-items: center !important;
  }

  .footer-certificate--google {
    width: 86px !important;
  }

  .footer-certificate-stack--institutional {
    width: 150px !important;
  }

  .footer-certificate--endorsement {
    width: 248px !important;
  }
}

/* Final corporate header readability system */

.banner-header {
  --hero-atmosphere-dark: rgba(12, 16, 22, 0.88);
  --hero-atmosphere-mid: rgba(12, 16, 22, 0.66);
  --hero-atmosphere-soft: rgba(12, 16, 22, 0.24);
  --hero-copy-text: rgba(252, 247, 241, 0.98);
  --hero-copy-muted: rgba(241, 233, 225, 0.9);
  --hero-accent-readable: #f3ac71;
}

.banner-header::before {
  filter: saturate(0.92) contrast(1.03) brightness(0.7) !important;
}

.banner-header::after {
  opacity: 1 !important;
  background:
    radial-gradient(circle at 84% 18%, rgba(243, 172, 113, 0.14) 0%, transparent 24%),
    radial-gradient(circle at 68% 30%, rgba(86, 108, 142, 0.14) 0%, transparent 24%),
    linear-gradient(90deg, var(--hero-atmosphere-dark) 0%, rgba(12, 16, 22, 0.82) 20%, rgba(12, 16, 22, 0.72) 36%, var(--hero-atmosphere-mid) 50%, rgba(12, 16, 22, 0.42) 64%, var(--hero-atmosphere-soft) 79%, rgba(12, 16, 22, 0.06) 100%),
    linear-gradient(180deg, rgba(8, 11, 16, 0.18) 0%, rgba(8, 11, 16, 0.3) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.032) 0 1px, transparent 1px 228px),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.024) 0 1px, transparent 1px 120px) !important;
  background-size: auto !important;
  background-position: center !important;
}

.banner-shell {
  min-height: clamp(580px, 70vh, 740px) !important;
}

.banner-copy,
.banner-header--home .banner-copy,
.banner-header--service .banner-copy,
.banner-header--services .banner-copy,
.banner-header--about .banner-copy,
.banner-header--contact .banner-copy,
.banner-header--hauscheck .banner-copy,
.banner-header--legal .banner-copy {
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  min-height: clamp(580px, 70vh, 740px) !important;
  padding: clamp(88px, 10.5vh, 128px) 0 clamp(74px, 8.8vh, 102px) !important;
}

.banner-copy::before,
.banner-header--home .banner-copy::before,
.banner-header--service .banner-copy::before,
.banner-header--services .banner-copy::before,
.banner-header--about .banner-copy::before,
.banner-header--contact .banner-copy::before,
.banner-header--hauscheck .banner-copy::before,
.banner-header--legal .banner-copy::before {
  content: "" !important;
  position: absolute !important;
  inset: 20px -170px 20px -210px !important;
  z-index: -1 !important;
  display: block !important;
  background:
    linear-gradient(90deg, rgba(12, 16, 22, 0.9) 0%, rgba(12, 16, 22, 0.84) 22%, rgba(12, 16, 22, 0.74) 40%, rgba(12, 16, 22, 0.56) 56%, rgba(12, 16, 22, 0.28) 76%, rgba(12, 16, 22, 0.02) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 100%) !important;
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.06),
    0 28px 64px rgba(6, 9, 13, 0.12) !important;
}

.banner-header--home .banner-copy::before {
  inset: 16px -210px 16px -230px !important;
}

.banner-title,
.banner-header--home .banner-title,
.banner-header--service .banner-title,
.banner-header--about .banner-title,
.banner-header--contact .banner-title,
.banner-header--services .banner-title,
.banner-header--hauscheck .banner-title,
.banner-header--legal .banner-title {
  color: var(--hero-copy-text) !important;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.08),
    0 12px 28px rgba(6, 9, 13, 0.26),
    0 26px 54px rgba(6, 9, 13, 0.22) !important;
}

.banner-title span:first-child {
  color: #fbf5ef !important;
}

.banner-title span:last-child,
.banner-title span:nth-child(2):last-child {
  color: var(--hero-accent-readable) !important;
}

.banner-copy .lead,
.banner-header--home .banner-copy .lead,
.banner-header--service .banner-copy .lead,
.service-bullet-list li,
.service-lead-box strong,
.service-lead-box span,
.service-lead-box p {
  color: var(--hero-copy-muted) !important;
  text-shadow: 0 8px 22px rgba(6, 9, 13, 0.22) !important;
}

.banner-copy .lead,
.banner-header--home .banner-copy .lead,
.banner-header--service .banner-copy .lead {
  max-width: 33ch !important;
  font-size: 1.04rem !important;
  line-height: 1.62 !important;
}

.service-bullet-list {
  max-width: 35rem !important;
}

.service-bullet-list li {
  padding-right: 14px !important;
}

.banner-header .btn-primary {
  box-shadow: 0 18px 38px rgba(7, 10, 14, 0.22) !important;
}

.banner-header .btn-light {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: #ffffff !important;
}

.banner-header .btn-light:hover {
  background: rgba(255, 255, 255, 0.19) !important;
}

@media (max-width: 1180px) {
  .banner-shell {
    min-height: clamp(520px, 64vh, 660px) !important;
  }

  .banner-copy,
  .banner-header--home .banner-copy,
  .banner-header--service .banner-copy,
  .banner-header--services .banner-copy,
  .banner-header--about .banner-copy,
  .banner-header--contact .banner-copy,
  .banner-header--hauscheck .banner-copy,
  .banner-header--legal .banner-copy {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    min-height: clamp(520px, 64vh, 660px) !important;
    padding: 78px 0 62px !important;
  }

  .banner-copy::before,
  .banner-header--home .banner-copy::before,
  .banner-header--service .banner-copy::before,
  .banner-header--services .banner-copy::before,
  .banner-header--about .banner-copy::before,
  .banner-header--contact .banner-copy::before,
  .banner-header--hauscheck .banner-copy::before,
  .banner-header--legal .banner-copy::before {
    inset: 20px -110px 20px -130px !important;
  }

  .banner-header--home .banner-copy::before {
    inset: 18px -128px 18px -142px !important;
  }
}

@media (max-width: 720px) {
  .banner-header::before {
    filter: saturate(0.9) contrast(1.02) brightness(0.68) !important;
  }

  .banner-header::after {
    background:
      linear-gradient(180deg, rgba(11, 15, 21, 0.52) 0%, rgba(11, 15, 21, 0.38) 20%, rgba(11, 15, 21, 0.64) 100%),
      linear-gradient(90deg, rgba(11, 15, 21, 0.62) 0%, rgba(11, 15, 21, 0.5) 38%, rgba(11, 15, 21, 0.16) 100%) !important;
  }

  .banner-copy::before,
  .banner-header--home .banner-copy::before,
  .banner-header--service .banner-copy::before,
  .banner-header--services .banner-copy::before,
  .banner-header--about .banner-copy::before,
  .banner-header--contact .banner-copy::before,
  .banner-header--hauscheck .banner-copy::before,
  .banner-header--legal .banner-copy::before {
    inset: 12px -14px 12px -14px !important;
    background:
      linear-gradient(180deg, rgba(11, 15, 21, 0.88) 0%, rgba(11, 15, 21, 0.8) 34%, rgba(11, 15, 21, 0.68) 60%, rgba(11, 15, 21, 0.44) 100%) !important;
    box-shadow: 0 18px 42px rgba(6, 9, 13, 0.12) !important;
  }

  .banner-copy .lead,
  .banner-header--home .banner-copy .lead,
  .banner-header--service .banner-copy .lead {
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.56 !important;
  }
}

/* Home hero editorial refinement */

.banner-header--home::after {
  background:
    radial-gradient(circle at 84% 18%, rgba(243, 172, 113, 0.08) 0%, transparent 24%),
    linear-gradient(90deg, rgba(11, 15, 21, 0.74) 0%, rgba(11, 15, 21, 0.66) 16%, rgba(11, 15, 21, 0.54) 30%, rgba(11, 15, 21, 0.38) 46%, rgba(11, 15, 21, 0.2) 64%, rgba(11, 15, 21, 0.08) 82%, rgba(11, 15, 21, 0.02) 100%),
    linear-gradient(180deg, rgba(8, 11, 16, 0.08) 0%, rgba(8, 11, 16, 0.14) 100%) !important;
}

.banner-header--home .banner-shell {
  min-height: clamp(560px, 68vh, 710px) !important;
  width: min(var(--container), calc(100% - 56px)) !important;
}

.banner-header--home .banner-copy {
  width: min(100%, 510px) !important;
  max-width: 510px !important;
  min-height: clamp(560px, 68vh, 710px) !important;
  padding: clamp(84px, 9.6vh, 116px) 0 clamp(60px, 7.4vh, 86px) !important;
}

.banner-header--home .banner-copy::before {
  display: none !important;
}

.banner-header--home .banner-title {
  max-width: 8.9ch !important;
  font-size: clamp(2.62rem, 3.95vw, 4.18rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.062em !important;
}

.banner-header--home .banner-copy .lead {
  max-width: 24ch !important;
  margin-top: 16px !important;
  font-size: 0.97rem !important;
  line-height: 1.6 !important;
}

.banner-header--home .button-row {
  margin-top: 22px !important;
  gap: 10px !important;
}

@media (max-width: 1180px) {
  .banner-header--home .banner-shell {
    min-height: clamp(520px, 64vh, 650px) !important;
  }

  .banner-header--home .banner-copy {
    width: min(100%, 480px) !important;
    max-width: 480px !important;
    min-height: clamp(520px, 64vh, 650px) !important;
    padding: 74px 0 56px !important;
  }

  .banner-header--home .banner-title {
    max-width: 9.2ch !important;
    font-size: clamp(2.48rem, 5.2vw, 3.76rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--home::after {
    background:
      linear-gradient(180deg, rgba(11, 15, 21, 0.38) 0%, rgba(11, 15, 21, 0.24) 16%, rgba(11, 15, 21, 0.46) 100%),
      linear-gradient(90deg, rgba(11, 15, 21, 0.54) 0%, rgba(11, 15, 21, 0.36) 44%, rgba(11, 15, 21, 0.1) 100%) !important;
  }

  .banner-header--home .banner-copy::before {
    display: none !important;
  }

  .banner-header--home .banner-title {
    max-width: 10.2ch !important;
    font-size: clamp(2rem, 9.9vw, 2.92rem) !important;
  }

  .banner-header--home .banner-copy .lead {
    max-width: 23ch !important;
    font-size: 0.96rem !important;
    line-height: 1.52 !important;
  }
}

/* Home hero premium panel system */

.banner-header--home::before {
  filter: saturate(0.96) contrast(1.01) brightness(0.7) !important;
  background-position: center 40% !important;
}

.banner-header--home::after {
  background:
    radial-gradient(circle at 82% 18%, rgba(243, 172, 113, 0.06) 0%, transparent 22%),
    linear-gradient(180deg, rgba(8, 11, 16, 0.08) 0%, rgba(8, 11, 16, 0.22) 100%),
    linear-gradient(90deg, rgba(10, 14, 18, 0.26) 0%, rgba(10, 14, 18, 0.14) 24%, rgba(10, 14, 18, 0.04) 48%, rgba(10, 14, 18, 0.12) 100%) !important;
}

.banner-header--home .banner-shell {
  grid-template-columns: 1fr !important;
  align-items: center !important;
  min-height: clamp(540px, 64vh, 640px) !important;
  width: min(var(--container), calc(100% - 84px)) !important;
}

.banner-header--home .banner-copy--home {
  width: min(100%, 468px) !important;
  max-width: 468px !important;
  min-height: auto !important;
  padding: 24px 26px 24px !important;
  background: linear-gradient(180deg, rgba(250, 246, 240, 0.985) 0%, rgba(246, 240, 233, 0.972) 100%) !important;
  border: 1px solid rgba(226, 214, 203, 0.96) !important;
  border-radius: 26px !important;
  box-shadow:
    0 20px 40px rgba(7, 10, 14, 0.14),
    0 6px 14px rgba(7, 10, 14, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.42) !important;
}

.banner-header--home .banner-copy--home::before {
  display: none !important;
}

.banner-header--home .home-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  color: #685d54 !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.banner-header--home .home-hero-kicker::before {
  content: "" !important;
  width: 32px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f08b69 0%, rgba(240, 139, 105, 0.35) 100%) !important;
}

.banner-header--home .banner-title {
  max-width: 13ch !important;
  margin: 0 !important;
  color: #251f19 !important;
  font-size: clamp(2.36rem, 3.28vw, 3.26rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.052em !important;
  text-shadow: none !important;
  text-wrap: initial !important;
}

.banner-header--home .banner-title span {
  display: block !important;
}

.banner-header--home .banner-title span:first-child:not(:only-child) {
  color: #2a241f !important;
}

.banner-header--home .banner-title span:not(:first-child) {
  color: #db8453 !important;
  margin-top: 2px !important;
}

.banner-header--home .banner-contactline {
  display: none !important;
}

.banner-header--home .home-hero-lead,
.banner-header--home .banner-copy--home .lead {
  max-width: 31ch !important;
  margin-top: 12px !important;
  color: #50463d !important;
  font-size: 0.94rem !important;
  line-height: 1.54 !important;
  text-shadow: none !important;
}

.banner-header--home .button-row {
  margin-top: 16px !important;
  gap: 12px !important;
  justify-content: flex-start !important;
}

.banner-header--home .btn {
  min-height: 46px !important;
  padding: 0 20px !important;
  font-size: 0.9rem !important;
}

.banner-header--home .btn-primary {
  box-shadow: 0 14px 22px rgba(219, 132, 83, 0.2) !important;
}

.banner-header--home .btn-light {
  background: rgba(255, 252, 249, 0.9) !important;
  border-color: rgba(74, 66, 58, 0.1) !important;
  color: #2f2924 !important;
  box-shadow: none !important;
}

.banner-header--home .btn-light:hover {
  background: rgba(255, 255, 255, 0.94) !important;
}

@media (max-width: 1180px) {
  .banner-header--home .banner-shell {
    min-height: clamp(500px, 60vh, 580px) !important;
    width: min(var(--container), calc(100% - 56px)) !important;
  }

  .banner-header--home .banner-copy--home {
    width: min(100%, 438px) !important;
    max-width: 438px !important;
    padding: 22px 22px 22px !important;
    border-radius: 24px !important;
  }

  .banner-header--home .banner-title {
    max-width: 13.2ch !important;
    font-size: clamp(2.14rem, 4.2vw, 2.96rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--home::before {
    background-position: center 34% !important;
    filter: saturate(0.94) contrast(1.01) brightness(0.62) !important;
  }

  .banner-header--home::after {
    background:
      linear-gradient(180deg, rgba(8, 11, 16, 0.14) 0%, rgba(8, 11, 16, 0.34) 100%),
      linear-gradient(90deg, rgba(10, 14, 18, 0.2) 0%, rgba(10, 14, 18, 0.08) 42%, rgba(10, 14, 18, 0.18) 100%) !important;
  }

  .banner-header--home .banner-shell {
    width: min(var(--container), calc(100% - 28px)) !important;
    min-height: clamp(480px, 78vw, 540px) !important;
  }

  .banner-header--home .banner-copy--home {
    width: 100% !important;
    max-width: none !important;
    padding: 20px 18px 20px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(249, 245, 239, 0.94) 0%, rgba(244, 238, 230, 0.9) 100%) !important;
    box-shadow:
      0 16px 32px rgba(7, 10, 14, 0.14),
      0 6px 14px rgba(7, 10, 14, 0.06) !important;
  }

  .banner-header--home .home-hero-kicker {
    margin-bottom: 14px !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
  }

  .banner-header--home .banner-title {
    max-width: 100% !important;
    font-size: clamp(1.86rem, 9vw, 2.48rem) !important;
    line-height: 0.98 !important;
  }

  .banner-header--home .home-hero-lead,
  .banner-header--home .banner-copy--home .lead {
    max-width: 100% !important;
    font-size: 0.92rem !important;
    line-height: 1.48 !important;
  }

  .banner-header--home .button-row {
    gap: 8px !important;
  }

  .banner-header--home .btn {
    min-height: 44px !important;
    padding: 0 16px !important;
    font-size: 0.88rem !important;
  }
}

/* Home hero isolated premium system */

.banner-header--home.home-hero-scene::before {
  filter: saturate(0.96) contrast(1.01) brightness(0.72) !important;
  background-position: center 42% !important;
}

.banner-header--home.home-hero-scene::after {
  background:
    linear-gradient(180deg, rgba(10, 14, 18, 0.08) 0%, rgba(10, 14, 18, 0.2) 100%),
    linear-gradient(90deg, rgba(10, 14, 18, 0.16) 0%, rgba(10, 14, 18, 0.06) 24%, rgba(10, 14, 18, 0.02) 46%, rgba(10, 14, 18, 0.1) 100%) !important;
}

.banner-header--home.home-hero-scene .home-hero-shell {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: clamp(560px, 66vh, 680px) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding:
    clamp(44px, 6vh, 72px)
    clamp(56px, 6vw, 128px)
    clamp(50px, 7vh, 84px) !important;
}

.banner-header--home.home-hero-scene .home-hero-panel {
  width: min(100%, 438px) !important;
  max-width: 438px !important;
  padding: 22px 24px 24px !important;
  background: linear-gradient(180deg, rgba(249, 246, 241, 0.985) 0%, rgba(245, 239, 232, 0.975) 100%) !important;
  border: 1px solid rgba(226, 215, 205, 0.96) !important;
  border-radius: 24px !important;
  box-shadow:
    0 18px 34px rgba(7, 10, 14, 0.14),
    0 4px 12px rgba(7, 10, 14, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.44) !important;
}

.banner-header--home.home-hero-scene .home-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  color: #6a5f56 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.banner-header--home.home-hero-scene .home-hero-kicker::before {
  content: "" !important;
  width: 30px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #f08b69 0%, rgba(240, 139, 105, 0.32) 100%) !important;
}

.banner-header--home.home-hero-scene .home-hero-title {
  margin: 0 !important;
  max-width: 11.2ch !important;
  color: #251f19 !important;
  font-size: clamp(2.28rem, 3.15vw, 3.22rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.05em !important;
}

.banner-header--home.home-hero-scene .home-hero-title span {
  display: block !important;
}

.banner-header--home.home-hero-scene .home-hero-title span:first-child {
  color: #261f1a !important;
}

.banner-header--home.home-hero-scene .home-hero-title span:not(:first-child) {
  color: #d98452 !important;
  margin-top: 2px !important;
}

.banner-header--home.home-hero-scene .home-hero-lead {
  max-width: 31ch !important;
  margin: 12px 0 0 !important;
  color: #51473f !important;
  font-size: 0.94rem !important;
  line-height: 1.55 !important;
}

.banner-header--home.home-hero-scene .home-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.banner-header--home.home-hero-scene .home-hero-actions .btn {
  min-height: 44px !important;
  padding: 0 18px !important;
  font-size: 0.88rem !important;
}

.banner-header--home.home-hero-scene .home-hero-actions .btn-primary {
  box-shadow: 0 12px 20px rgba(219, 132, 83, 0.18) !important;
}

.banner-header--home.home-hero-scene .home-hero-actions .btn-light {
  background: rgba(255, 252, 249, 0.92) !important;
  border-color: rgba(75, 67, 59, 0.1) !important;
  color: #2f2924 !important;
  box-shadow: none !important;
}

@media (max-width: 1180px) {
  .banner-header--home.home-hero-scene .home-hero-shell {
    min-height: clamp(520px, 60vh, 600px) !important;
    padding:
      clamp(40px, 5vh, 58px)
      clamp(36px, 4vw, 72px)
      clamp(42px, 5vh, 64px) !important;
  }

  .banner-header--home.home-hero-scene .home-hero-panel {
    width: min(100%, 410px) !important;
    max-width: 410px !important;
    padding: 20px 20px 22px !important;
  }

  .banner-header--home.home-hero-scene .home-hero-title {
    max-width: 11.6ch !important;
    font-size: clamp(2.1rem, 3.8vw, 2.86rem) !important;
  }
}

@media (max-width: 720px) {
  .banner-header--home.home-hero-scene::before {
    background-position: center 34% !important;
    filter: saturate(0.94) contrast(1.01) brightness(0.64) !important;
  }

  .banner-header--home.home-hero-scene::after {
    background:
      linear-gradient(180deg, rgba(10, 14, 18, 0.12) 0%, rgba(10, 14, 18, 0.28) 100%),
      linear-gradient(90deg, rgba(10, 14, 18, 0.14) 0%, rgba(10, 14, 18, 0.06) 38%, rgba(10, 14, 18, 0.14) 100%) !important;
  }

  .banner-header--home.home-hero-scene .home-hero-shell {
    min-height: clamp(470px, 76vw, 540px) !important;
    padding: 22px 14px 24px !important;
  }

  .banner-header--home.home-hero-scene .home-hero-panel {
    width: min(100%, 390px) !important;
    padding: 18px 18px 20px !important;
    border-radius: 22px !important;
    box-shadow:
      0 14px 28px rgba(7, 10, 14, 0.12),
      0 4px 12px rgba(7, 10, 14, 0.05) !important;
  }

  .banner-header--home.home-hero-scene .home-hero-kicker {
    margin-bottom: 10px !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.13em !important;
  }

  .banner-header--home.home-hero-scene .home-hero-title {
    max-width: 100% !important;
    font-size: clamp(1.82rem, 8.8vw, 2.4rem) !important;
    line-height: 0.98 !important;
  }

  .banner-header--home.home-hero-scene .home-hero-lead {
    max-width: 100% !important;
    font-size: 0.9rem !important;
    line-height: 1.48 !important;
  }

  .banner-header--home.home-hero-scene .home-hero-actions {
    gap: 8px !important;
    margin-top: 14px !important;
  }

  .banner-header--home.home-hero-scene .home-hero-actions .btn {
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 0.84rem !important;
  }
}

/* Home dark header + integrated hero */

.page-home-dark {
  background: #0d1218;
}

.page-home-dark .site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 80 !important;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    backdrop-filter 220ms ease !important;
}

.page-home-dark .site-header.scrolled {
  background: rgba(12, 16, 21, 0.78) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24) !important;
}

.page-home-dark .header-inner {
  min-height: 92px !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 28px !important;
}

.page-home-dark .nav-desktop {
  justify-self: end !important;
  gap: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-home-dark .nav-desktop > * + * {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.page-home-dark .nav-desktop > * + *::before {
  content: none !important;
}

.page-home-dark .nav-desktop > a {
  min-height: auto !important;
  padding: 0 !important;
  color: rgba(241, 245, 249, 0.8) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.page-home-dark .nav-desktop > a:hover,
.page-home-dark .nav-desktop > a.active {
  color: #ffffff !important;
}

.page-home-dark .nav-desktop > a::after {
  left: 0 !important;
  right: auto !important;
  bottom: -12px !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.85) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
}

.page-home-dark .nav-desktop > a:hover::after,
.page-home-dark .nav-desktop > a.active::after {
  transform: scaleX(1) !important;
}

.page-home-dark .nav-actions {
  justify-self: end !important;
  gap: 12px !important;
}

.page-home-dark .nav-actions .btn {
  display: inline-flex !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

.page-home-dark .nav-actions .btn-secondary {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #f4f6f8 !important;
  box-shadow: none !important;
}

.page-home-dark .nav-actions .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.11) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

.page-home-dark .nav-actions .btn-primary {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 34px rgba(239, 127, 97, 0.2) !important;
}

.page-home-dark .menu-toggle {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: none !important;
}

.page-home-dark .menu-toggle span,
.page-home-dark .menu-toggle::before,
.page-home-dark .menu-toggle::after {
  background: #f3f5f8 !important;
}

.page-home-dark .mobile-panel {
  background: rgba(10, 14, 18, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.35) !important;
}

.page-home-dark .mobile-panel nav a,
.page-home-dark .mobile-panel-contact a {
  color: rgba(241, 245, 249, 0.88) !important;
}

.page-home-dark .mobile-panel nav a:hover,
.page-home-dark .mobile-panel nav a.active {
  color: #ffffff !important;
}

.page-home-dark .mobile-panel::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0%, transparent 100%) !important;
}

.home-midnight-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: #0c1015;
}

.home-midnight-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(4, 8, 13, 0.24) 0%, rgba(4, 8, 13, 0.58) 100%),
    linear-gradient(90deg, rgba(6, 10, 16, 0.86) 0%, rgba(6, 10, 16, 0.64) 28%, rgba(6, 10, 16, 0.22) 54%, rgba(6, 10, 16, 0.44) 100%),
    radial-gradient(circle at 56% 46%, rgba(255, 183, 109, 0.18) 0%, rgba(255, 183, 109, 0.08) 10%, transparent 23%),
    url("../skyscraper-building-cityscape.jpg") 58% center / cover no-repeat;
  transform: scale(1.02);
}

.home-midnight-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 20%, rgba(214, 228, 243, 0.12) 0%, transparent 20%),
    radial-gradient(circle at 57% 45%, rgba(255, 192, 120, 0.12) 0%, transparent 16%);
  background-size: 220px 100%, 100% 118px, auto, auto;
  opacity: 0.18;
  pointer-events: none;
}

.home-midnight-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1240px, calc(100% - 72px));
  margin: 0 auto;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 148px 0 88px;
}

.home-midnight-hero__copy {
  max-width: 640px;
}

.home-midnight-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: rgba(233, 238, 243, 0.74);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.home-midnight-hero__eyebrow::before {
  content: "";
  width: 36px;
  height: 1px;
  background: rgba(255, 255, 255, 0.46);
}

.home-midnight-hero__title {
  margin: 0;
  max-width: 11.8ch;
  color: #f4f6f8;
  font-size: clamp(3.1rem, 6.2vw, 5.4rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
  text-wrap: balance;
}

.home-midnight-hero__lead {
  max-width: 33ch;
  margin: 24px 0 0;
  color: rgba(228, 234, 240, 0.82);
  font-size: 1.12rem;
  line-height: 1.72;
}

.home-midnight-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.page-home-dark .home-midnight-hero .btn {
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 0.94rem !important;
}

.page-home-dark .home-midnight-hero .btn-primary {
  background: #edf1f5 !important;
  border-color: #edf1f5 !important;
  color: #11161c !important;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.18) !important;
}

.page-home-dark .home-midnight-hero .btn-light {
  background: rgba(255, 255, 255, 0.02) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #f4f6f8 !important;
  box-shadow: none !important;
}

.page-home-dark .home-midnight-hero .btn-light:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
}

@media (max-width: 1180px) {
  .page-home-dark .header-inner {
    min-height: 86px !important;
    gap: 20px !important;
  }

  .page-home-dark .nav-desktop {
    gap: 24px !important;
  }

  .home-midnight-hero__inner {
    width: min(1100px, calc(100% - 48px));
    padding: 132px 0 72px;
  }

  .home-midnight-hero__title {
    font-size: clamp(2.78rem, 6.5vw, 4.4rem);
  }
}

@media (max-width: 900px) {
  .page-home-dark .site-header {
    background: rgba(12, 16, 21, 0.56) !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(12px) saturate(1.1) !important;
  }

  .page-home-dark .header-inner {
    min-height: 78px !important;
  }

  .page-home-dark .nav-actions .btn {
    display: none !important;
  }

  .home-midnight-hero::before {
    background:
      linear-gradient(180deg, rgba(4, 8, 13, 0.42) 0%, rgba(4, 8, 13, 0.62) 100%),
      linear-gradient(180deg, rgba(6, 10, 16, 0.72) 0%, rgba(6, 10, 16, 0.26) 34%, rgba(6, 10, 16, 0.74) 100%),
      radial-gradient(circle at 56% 36%, rgba(255, 183, 109, 0.2) 0%, rgba(255, 183, 109, 0.1) 10%, transparent 22%),
      url("../skyscraper-building-cityscape.jpg") 60% center / cover no-repeat;
  }

  .home-midnight-hero__inner {
    width: min(100%, calc(100% - 28px));
    align-items: flex-end;
    padding: 124px 0 52px;
  }

  .home-midnight-hero__title {
    max-width: 11.8ch;
    font-size: clamp(2.4rem, 11vw, 3.5rem);
    line-height: 0.95;
  }

  .home-midnight-hero__lead {
    max-width: 100%;
    margin-top: 18px;
    font-size: 0.98rem;
    line-height: 1.62;
  }

  .home-midnight-hero__actions {
    gap: 10px;
    margin-top: 24px;
  }

  .page-home-dark .home-midnight-hero .btn {
    min-height: 48px !important;
    padding: 0 20px !important;
    font-size: 0.9rem !important;
  }
}

/* Home dark hero corrections */

.page-home-dark {
  background: #f7f6f2 !important;
}

.page-home-dark .brand--site-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 18px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(229, 220, 210, 0.8) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 36px rgba(7, 10, 15, 0.12) !important;
}

.page-home-dark .brand--site-brand img {
  display: block !important;
  width: 210px !important;
  height: auto !important;
}

.page-home-dark .site-header.scrolled .brand--site-brand {
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
}

@media (max-width: 900px) {
  .page-home-dark .brand--site-brand {
    padding: 10px 14px !important;
    border-radius: 16px !important;
  }

  .page-home-dark .brand--site-brand img {
    width: 174px !important;
  }
}

.page-home-dark .nav-desktop > .nav-dropdown {
  display: inline-flex !important;
  align-items: center !important;
}

.page-home-dark .nav-dropdown-toggle {
  min-height: auto !important;
  padding: 0 !important;
  color: rgba(241, 245, 249, 0.8) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.page-home-dark .nav-dropdown-toggle:hover,
.page-home-dark .nav-dropdown.active .nav-dropdown-toggle,
.page-home-dark .nav-dropdown:focus-within .nav-dropdown-toggle {
  color: #ffffff !important;
}

.page-home-dark .nav-dropdown-toggle::after {
  left: 0 !important;
  right: auto !important;
  bottom: -12px !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.85) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
}

.page-home-dark .nav-dropdown:hover .nav-dropdown-toggle::after,
.page-home-dark .nav-dropdown:focus-within .nav-dropdown-toggle::after,
.page-home-dark .nav-dropdown.active .nav-dropdown-toggle::after,
.page-home-dark .nav-dropdown.open .nav-dropdown-toggle::after {
  transform: scaleX(1) !important;
}

.page-home-dark .nav-dropdown-caret {
  border-color: currentColor !important;
}

.page-home-dark .nav-dropdown-menu {
  top: calc(100% + 18px) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(12, 16, 21, 0.96) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.36) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
}

.page-home-dark .nav-dropdown-feature {
  border-right-color: rgba(255, 255, 255, 0.1) !important;
}

.page-home-dark .nav-dropdown-label {
  color: rgba(226, 145, 115, 0.92) !important;
}

.page-home-dark .nav-dropdown-feature strong,
.page-home-dark .nav-dropdown-item-title,
.page-home-dark .nav-dropdown-overview {
  color: #f4f6f8 !important;
}

.page-home-dark .nav-dropdown-feature p,
.page-home-dark .nav-dropdown-item-copy,
.page-home-dark .nav-dropdown-points li {
  color: rgba(221, 228, 236, 0.72) !important;
}

.page-home-dark .nav-dropdown-grid a {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.page-home-dark .nav-dropdown-grid a:hover,
.page-home-dark .nav-dropdown-grid a.active {
  border-color: rgba(226, 145, 115, 0.28) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

.page-home-dark .nav-dropdown-contact {
  color: #e29173 !important;
}

/* Final canonical header contract */

.site-header.site-header--root {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(26, 22, 19, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  box-shadow: 0 10px 28px rgba(17, 17, 17, 0.05) !important;
}

.site-header.site-header--root.scrolled {
  box-shadow: 0 14px 34px rgba(17, 17, 17, 0.08) !important;
}

.site-header.site-header--root .header-inner {
  min-height: 84px !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 270px) 1fr auto !important;
  align-items: center !important;
  gap: 28px !important;
}

.site-header.site-header--root .brand--site-brand {
  display: inline-flex !important;
  align-items: center !important;
  width: min(100%, 250px) !important;
}

.site-header.site-header--root .brand--site-brand img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.site-header.site-header--root .nav-desktop {
  display: flex !important;
  align-items: center !important;
  justify-self: center !important;
  justify-content: center !important;
  gap: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header.site-header--root .nav-desktop > * + * {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.site-header.site-header--root .nav-desktop > * + *::before {
  content: none !important;
}

.site-header.site-header--root .nav-desktop > a,
.site-header.site-header--root .nav-dropdown-toggle {
  min-height: auto !important;
  padding: 0 !important;
  color: #231d1a !important;
  font-size: 0.95rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.site-header.site-header--root .nav-desktop > a::after,
.site-header.site-header--root .nav-dropdown-toggle::after {
  bottom: -17px !important;
  width: 22px !important;
  height: 1.5px !important;
  background: #df7a58 !important;
}

.site-header.site-header--root .nav-actions {
  display: flex !important;
  align-items: center !important;
  justify-self: end !important;
  gap: 12px !important;
}

.site-header.site-header--root .nav-actions .btn-secondary {
  display: none !important;
}

.site-header.site-header--root .nav-actions .btn-primary {
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 12px !important;
  background: #ef8b67 !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
  box-shadow: none !important;
}

.site-header.site-header--root .nav-actions .btn-primary:hover {
  background: #e27b57 !important;
}

.site-header.site-header--root .menu-toggle {
  width: 52px !important;
  height: 40px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(25, 22, 20, 0.14) !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf8f5 100%) !important;
  box-shadow: 0 8px 18px rgba(17, 17, 17, 0.04) !important;
}

.site-header.site-header--root .menu-toggle span,
.site-header.site-header--root .menu-toggle::before,
.site-header.site-header--root .menu-toggle::after {
  background: #201b18 !important;
}

.site-header.site-header--root .mobile-panel {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid rgba(26, 22, 19, 0.08) !important;
}

.site-header.site-header--root .mobile-panel nav {
  gap: 10px !important;
}

.site-header.site-header--root .mobile-panel a,
.site-header.site-header--root .mobile-group-toggle {
  color: #231d1a !important;
}

.page-home-dark .site-header.site-header--root {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.page-home-dark .site-header.site-header--root.scrolled {
  background: rgba(12, 16, 21, 0.8) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24) !important;
}

.page-home-dark .site-header.site-header--root .header-inner {
  min-height: 92px !important;
  grid-template-columns: minmax(220px, 270px) 1fr auto !important;
}

.page-home-dark .site-header.site-header--root .brand--site-brand {
  justify-content: center !important;
  padding: 12px 18px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(229, 220, 210, 0.8) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 36px rgba(7, 10, 15, 0.12) !important;
}

.page-home-dark .site-header.site-header--root .brand--site-brand img {
  width: 210px !important;
}

.page-home-dark .site-header.site-header--root .nav-desktop > a,
.page-home-dark .site-header.site-header--root .nav-dropdown-toggle {
  color: rgba(241, 245, 249, 0.82) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.page-home-dark .site-header.site-header--root .nav-desktop > a:hover,
.page-home-dark .site-header.site-header--root .nav-desktop > a.active,
.page-home-dark .site-header.site-header--root .nav-dropdown.active .nav-dropdown-toggle,
.page-home-dark .site-header.site-header--root .nav-dropdown:focus-within .nav-dropdown-toggle {
  color: #ffffff !important;
}

.page-home-dark .site-header.site-header--root .nav-desktop > a::after,
.page-home-dark .site-header.site-header--root .nav-dropdown-toggle::after {
  bottom: -12px !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

.page-home-dark .site-header.site-header--root .nav-actions .btn-primary {
  background: #ef8b67 !important;
  color: #ffffff !important;
}

.page-home-dark .site-header.site-header--root .menu-toggle {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

.page-home-dark .site-header.site-header--root .menu-toggle span,
.page-home-dark .site-header.site-header--root .menu-toggle::before,
.page-home-dark .site-header.site-header--root .menu-toggle::after {
  background: #f4f6f8 !important;
}

.page-home-dark .site-header.site-header--root .mobile-panel {
  background: rgba(12, 16, 21, 0.96) !important;
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

.page-home-dark .site-header.site-header--root .mobile-panel a,
.page-home-dark .site-header.site-header--root .mobile-group-toggle,
.page-home-dark .site-header.site-header--root .mobile-panel-contact a {
  color: #f4f6f8 !important;
}

@media (max-width: 980px) {
  .site-header.site-header--root .header-inner,
  .page-home-dark .site-header.site-header--root .header-inner {
    grid-template-columns: auto 1fr auto !important;
    gap: 16px !important;
    min-height: 76px !important;
  }

  .site-header.site-header--root .brand--site-brand {
    width: min(100%, 214px) !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand {
    padding: 10px 14px !important;
    border-radius: 16px !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand img {
    width: 174px !important;
  }

  .site-header.site-header--root .nav-actions {
    gap: 10px !important;
  }

  .site-header.site-header--root .nav-actions .btn-primary {
    min-height: 40px !important;
    padding: 0 15px !important;
    font-size: 0.8rem !important;
  }
}

/* Global menu-to-visual integration */

.site-header.site-header--root {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 90 !important;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.site-header.site-header--root.scrolled {
  background: rgba(12, 16, 21, 0.8) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24) !important;
}

.site-header.site-header--root .header-inner {
  min-height: 92px !important;
}

.site-header.site-header--root .brand--site-brand {
  justify-content: center !important;
  padding: 12px 18px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(229, 220, 210, 0.8) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 36px rgba(7, 10, 15, 0.12) !important;
}

.site-header.site-header--root .brand--site-brand img {
  width: 210px !important;
}

.site-header.site-header--root .nav-desktop > a,
.site-header.site-header--root .nav-dropdown-toggle {
  color: rgba(241, 245, 249, 0.82) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.site-header.site-header--root .nav-desktop > a:hover,
.site-header.site-header--root .nav-desktop > a.active,
.site-header.site-header--root .nav-dropdown.active .nav-dropdown-toggle,
.site-header.site-header--root .nav-dropdown:focus-within .nav-dropdown-toggle {
  color: #ffffff !important;
}

.site-header.site-header--root .nav-desktop > a::after,
.site-header.site-header--root .nav-dropdown-toggle::after {
  bottom: -12px !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

.site-header.site-header--root .nav-actions .btn-primary {
  background: #ef8b67 !important;
  color: #ffffff !important;
}

.site-header.site-header--root .menu-toggle {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

.site-header.site-header--root .menu-toggle span,
.site-header.site-header--root .menu-toggle::before,
.site-header.site-header--root .menu-toggle::after {
  background: #f4f6f8 !important;
}

.site-header.site-header--root .mobile-panel {
  background: rgba(12, 16, 21, 0.96) !important;
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

.site-header.site-header--root .mobile-panel a,
.site-header.site-header--root .mobile-group-toggle,
.site-header.site-header--root .mobile-panel-contact a {
  color: #f4f6f8 !important;
}

.site-header.site-header--root .nav-dropdown-menu {
  top: calc(100% + 18px) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(12, 16, 21, 0.96) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.36) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
}

.site-header.site-header--root .nav-dropdown-feature {
  border-right-color: rgba(255, 255, 255, 0.1) !important;
}

.site-header.site-header--root .nav-dropdown-label {
  color: rgba(226, 145, 115, 0.92) !important;
}

.site-header.site-header--root .nav-dropdown-feature strong,
.site-header.site-header--root .nav-dropdown-item-title,
.site-header.site-header--root .nav-dropdown-overview {
  color: #f4f6f8 !important;
}

.site-header.site-header--root .nav-dropdown-feature p,
.site-header.site-header--root .nav-dropdown-item-copy,
.site-header.site-header--root .nav-dropdown-points li {
  color: rgba(221, 228, 236, 0.72) !important;
}

.site-header.site-header--root .nav-dropdown-grid a {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.site-header.site-header--root .nav-dropdown-grid a:hover,
.site-header.site-header--root .nav-dropdown-grid a.active {
  border-color: rgba(226, 145, 115, 0.28) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

.site-header.site-header--root .nav-dropdown-contact {
  color: #e29173 !important;
}

.hero--legal {
  position: relative !important;
  padding-top: clamp(120px, 14vh, 152px) !important;
  background:
    linear-gradient(180deg, rgba(12, 16, 21, 0.96) 0px, rgba(12, 16, 21, 0.88) 118px, rgba(12, 16, 21, 0.34) 220px, rgba(255, 253, 249, 0) 320px),
    radial-gradient(circle at top right, rgba(239, 127, 97, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fffdf9 46%, #fff7f2 100%) !important;
}

.hero--legal .hero-copy--legal,
.hero--legal .hero-aside {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 980px) {
  .site-header.site-header--root .header-inner {
    min-height: 78px !important;
  }

  .site-header.site-header--root .brand--site-brand {
    padding: 10px 14px !important;
    border-radius: 16px !important;
  }

  .site-header.site-header--root .brand--site-brand img {
    width: 174px !important;
  }
}

/* Final original-logo presentation */

.site-header.site-header--root .brand--site-brand,
.page-home-dark .site-header.site-header--root .brand--site-brand,
.page-home-dark .brand--site-brand {
  flex: 0 0 auto !important;
  width: clamp(214px, 15vw, 248px) !important;
  justify-content: center !important;
  padding: 3px 6px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  border: 0 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}

.site-header.site-header--root .brand--site-brand img,
.page-home-dark .site-header.site-header--root .brand--site-brand img,
.page-home-dark .brand--site-brand img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
}

.site-header.site-header--root.scrolled .brand--site-brand,
.page-home-dark .site-header.site-header--root.scrolled .brand--site-brand,
.page-home-dark .site-header.scrolled .brand--site-brand {
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  .site-header.site-header--root .brand--site-brand,
  .page-home-dark .site-header.site-header--root .brand--site-brand,
  .page-home-dark .brand--site-brand {
    width: clamp(176px, 35vw, 206px) !important;
    padding: 2px 5px !important;
    border-radius: 4px !important;
  }
}

/* Final inner-page hero cleanup */

body:not(.page-home-dark) .banner-header {
  padding: clamp(132px, 15vh, 168px) 0 56px !important;
  min-height: clamp(520px, 74vh, 720px) !important;
  background:
    linear-gradient(90deg, rgba(11, 14, 18, 0.78) 0%, rgba(11, 14, 18, 0.62) 34%, rgba(11, 14, 18, 0.38) 62%, rgba(11, 14, 18, 0.22) 100%),
    linear-gradient(180deg, rgba(11, 14, 18, 0.12) 0%, rgba(11, 14, 18, 0.46) 100%),
    var(--banner-image) center / cover no-repeat !important;
}

body:not(.page-home-dark) .banner-header::before {
  filter: none !important;
  background: linear-gradient(180deg, rgba(11, 14, 18, 0.04) 0%, rgba(11, 14, 18, 0.18) 24%, rgba(11, 14, 18, 0.4) 100%) !important;
}

body:not(.page-home-dark) .banner-header::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}

body:not(.page-home-dark) .banner-shell {
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(20px, 3vw, 34px) !important;
  align-items: start !important;
}

body:not(.page-home-dark) .banner-shell::before,
body:not(.page-home-dark) .banner-shell::after {
  content: none !important;
  display: none !important;
}

body:not(.page-home-dark) .banner-side {
  display: none !important;
}

body:not(.page-home-dark) .banner-copy {
  width: min(100%, 640px) !important;
  max-width: 680px !important;
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not(.page-home-dark) .banner-copy::before {
  display: none !important;
}

body:not(.page-home-dark) .banner-kicker {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

body:not(.page-home-dark) .banner-title {
  margin-top: 0 !important;
  max-width: 11.8ch !important;
  color: #ffffff !important;
}

body:not(.page-home-dark) .banner-title span:first-child {
  color: #ffffff !important;
}

body:not(.page-home-dark) .banner-title span:last-child {
  color: #f2e3d5 !important;
}

body:not(.page-home-dark) .banner-contactline {
  color: rgba(255, 255, 255, 0.78) !important;
}

body:not(.page-home-dark) .banner-contactline span:not(:last-child)::after {
  background: rgba(255, 255, 255, 0.18) !important;
}

body:not(.page-home-dark) .banner-copy .lead,
body:not(.page-home-dark) .service-bullet-list li,
body:not(.page-home-dark) .service-lead-box span,
body:not(.page-home-dark) .service-hero-tag {
  color: rgba(255, 255, 255, 0.88) !important;
}

body:not(.page-home-dark) .service-lead-box {
  background: rgba(10, 14, 18, 0.26) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

body:not(.page-home-dark) .service-lead-box strong {
  color: #ffffff !important;
}

body:not(.page-home-dark) .banner-copy .btn-light {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body:not(.page-home-dark) .banner-copy .btn-light:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

@media (max-width: 980px) {
  body:not(.page-home-dark) .banner-header {
    padding-top: 112px !important;
  }

  body:not(.page-home-dark) .banner-title {
    max-width: 10.6ch !important;
  }

  body:not(.page-home-dark) .banner-contactline {
    font-size: 0.88rem !important;
  }
}

/* Final mobile header and section-head repair */

@media (max-width: 900px) {
  .site-header.site-header--root .header-inner,
  .page-home-dark .site-header.site-header--root .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: var(--mobile-header-height, 72px) !important;
    padding-block: 8px !important;
  }

  .site-header.site-header--root .nav-desktop,
  .page-home-dark .site-header.site-header--root .nav-desktop,
  .site-header.site-header--root .nav-actions .btn,
  .page-home-dark .site-header.site-header--root .nav-actions .btn {
    display: none !important;
  }

  .site-header.site-header--root .nav-actions,
  .page-home-dark .site-header.site-header--root .nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin-left: 0 !important;
  }

  .site-header.site-header--root .menu-toggle,
  .page-home-dark .site-header.site-header--root .menu-toggle {
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
  }

  .site-header.site-header--root .brand--site-brand,
  .page-home-dark .site-header.site-header--root .brand--site-brand,
  .page-home-dark .brand--site-brand {
    justify-self: start !important;
    width: clamp(168px, 44vw, 204px) !important;
    max-width: calc(100vw - 110px) !important;
  }

  .site-header.site-header--root .mobile-panel,
  .page-home-dark .site-header.site-header--root .mobile-panel {
    position: fixed !important;
    top: calc(var(--mobile-header-height, 72px) + 8px) !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px !important;
    border-radius: 24px !important;
    max-height: calc(100svh - var(--mobile-header-height, 72px) - 28px - env(safe-area-inset-bottom)) !important;
    overflow: auto !important;
    z-index: 120 !important;
  }

  .site-header.site-header--root .mobile-panel nav,
  .page-home-dark .site-header.site-header--root .mobile-panel nav {
    display: grid !important;
    gap: 0 !important;
    padding-top: 0 !important;
  }

  .site-header.site-header--root .mobile-panel[hidden],
  .page-home-dark .site-header.site-header--root .mobile-panel[hidden] {
    display: none !important;
  }

  .site-header.site-header--root .mobile-panel.open,
  .page-home-dark .site-header.site-header--root .mobile-panel.open {
    display: block !important;
  }

  .section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
  }

  .section-head > div,
  .section-head > p,
  .home-testimonials-lead {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .home-testimonials-lead {
    order: 2 !important;
  }

  #hauscheck .section-head,
  #hauscheck .section-head.reveal {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  #hauscheck .section-head > div,
  #hauscheck .home-testimonials-lead {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #hauscheck .home-testimonials-lead {
    margin-top: 0 !important;
    order: 2 !important;
  }
}

/* Final inner-page typography alignment to home hero */

body:not(.page-home-dark) .banner-kicker,
.hero--legal .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
  color: rgba(233, 238, 243, 0.74) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body:not(.page-home-dark) .banner-kicker::before,
.hero--legal .eyebrow::before {
  content: "" !important;
  width: 36px !important;
  height: 1px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.46) !important;
}

body:not(.page-home-dark) .banner-title,
.hero--legal .hero-copy--legal h1 {
  margin: 0 !important;
  max-width: 11.8ch !important;
  font-size: clamp(3rem, 5.8vw, 5rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.068em !important;
  font-weight: 800 !important;
}

body:not(.page-home-dark) .banner-title span {
  display: block !important;
}

body:not(.page-home-dark) .banner-title span:first-child {
  color: #ffffff !important;
}

body:not(.page-home-dark) .banner-title span:not(:first-child) {
  color: #f2e3d5 !important;
  margin-top: 2px !important;
}

body:not(.page-home-dark) .banner-title--wide {
  max-width: 12.2ch !important;
}

body:not(.page-home-dark) .banner-contactline {
  display: none !important;
}

body:not(.page-home-dark) .banner-copy .lead,
.hero--legal .hero-copy--legal .lead {
  max-width: 33ch !important;
  margin-top: 24px !important;
  font-size: 1.08rem !important;
  line-height: 1.68 !important;
}

body:not(.page-home-dark) .banner-copy .button-row,
body:not(.page-home-dark) .banner-copy .service-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 30px !important;
}

body:not(.page-home-dark) .banner-copy .btn,
.hero--legal .hero-copy--legal .btn {
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 0.94rem !important;
}

body:not(.page-home-dark) .banner-copy .btn-primary {
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.18) !important;
}

body:not(.page-home-dark) .banner-copy .btn-light {
  background: rgba(255, 255, 255, 0.02) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: #f4f6f8 !important;
}

body:not(.page-home-dark) .banner-copy .btn-light:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
}

@media (max-width: 980px) {
  body:not(.page-home-dark) .banner-title,
  .hero--legal .hero-copy--legal h1 {
    font-size: clamp(2.78rem, 6.5vw, 4.4rem) !important;
  }

  body:not(.page-home-dark) .banner-copy .lead,
  .hero--legal .hero-copy--legal .lead {
    margin-top: 18px !important;
    font-size: 0.98rem !important;
    line-height: 1.62 !important;
  }

  body:not(.page-home-dark) .banner-copy .button-row,
  body:not(.page-home-dark) .banner-copy .service-hero-actions {
    gap: 10px !important;
    margin-top: 24px !important;
  }

  body:not(.page-home-dark) .banner-copy .btn,
  .hero--legal .hero-copy--legal .btn {
    min-height: 48px !important;
    padding: 0 20px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 720px) {
  body:not(.page-home-dark) .banner-kicker,
  .hero--legal .eyebrow {
    margin-bottom: 14px !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  body:not(.page-home-dark) .banner-title,
  .hero--legal .hero-copy--legal h1 {
    max-width: 100% !important;
    font-size: clamp(1.86rem, 9vw, 2.48rem) !important;
    line-height: 0.98 !important;
  }

  body:not(.page-home-dark) .banner-copy .lead,
  .hero--legal .hero-copy--legal .lead {
    max-width: 100% !important;
    font-size: 0.92rem !important;
    line-height: 1.48 !important;
  }

  body:not(.page-home-dark) .banner-copy .button-row,
  body:not(.page-home-dark) .banner-copy .service-hero-actions {
    gap: 8px !important;
    margin-top: 14px !important;
  }
}

/* Final mobile menu open-state repair */

@media (max-width: 900px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .mobile-cta {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(14px) !important;
  }

  .site-header.site-header--root .mobile-panel,
  .page-home-dark .site-header.site-header--root .mobile-panel {
    background: rgba(8, 12, 17, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 28px 56px rgba(0, 0, 0, 0.38) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
  }

  .site-header.site-header--root .mobile-panel::before,
  .page-home-dark .site-header.site-header--root .mobile-panel::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  .site-header.site-header--root .mobile-panel nav,
  .page-home-dark .site-header.site-header--root .mobile-panel nav {
    gap: 0 !important;
  }

  .site-header.site-header--root .mobile-panel a,
  .site-header.site-header--root .mobile-group-toggle,
  .page-home-dark .site-header.site-header--root .mobile-panel a,
  .page-home-dark .site-header.site-header--root .mobile-group-toggle {
    min-height: 0 !important;
    padding: 14px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #f1f5f8 !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
  }

  .site-header.site-header--root .mobile-panel a.active,
  .site-header.site-header--root .mobile-group-toggle.active,
  .site-header.site-header--root .mobile-group.open .mobile-group-toggle,
  .page-home-dark .site-header.site-header--root .mobile-panel a.active,
  .page-home-dark .site-header.site-header--root .mobile-group-toggle.active,
  .page-home-dark .site-header.site-header--root .mobile-group.open .mobile-group-toggle {
    background: transparent !important;
    border-color: rgba(240, 139, 105, 0.28) !important;
    color: #ffffff !important;
  }

  .site-header.site-header--root .mobile-group,
  .page-home-dark .site-header.site-header--root .mobile-group {
    gap: 0 !important;
  }

  .site-header.site-header--root .mobile-group-panel,
  .page-home-dark .site-header.site-header--root .mobile-group-panel {
    gap: 0 !important;
    padding: 2px 0 8px 14px !important;
  }

  .site-header.site-header--root .mobile-group-panel a,
  .page-home-dark .site-header.site-header--root .mobile-group-panel a {
    padding: 9px 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(223, 228, 236, 0.76) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
  }

  .site-header.site-header--root .mobile-group-panel a.active,
  .page-home-dark .site-header.site-header--root .mobile-group-panel a.active {
    color: #ffffff !important;
  }

  .site-header.site-header--root .mobile-group-caret,
  .page-home-dark .site-header.site-header--root .mobile-group-caret {
    color: rgba(223, 228, 236, 0.72) !important;
  }

  .site-header.site-header--root .mobile-panel-meta,
  .page-home-dark .site-header.site-header--root .mobile-panel-meta {
    gap: 12px !important;
    margin-top: 16px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .site-header.site-header--root .mobile-panel-contact,
  .page-home-dark .site-header.site-header--root .mobile-panel-contact {
    gap: 10px !important;
  }

  .site-header.site-header--root .mobile-panel-contact a,
  .page-home-dark .site-header.site-header--root .mobile-panel-contact a {
    padding: 0 !important;
    min-height: auto !important;
    border: 0 !important;
    background: none !important;
    color: rgba(223, 228, 236, 0.8) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
  }

  .site-header.site-header--root .mobile-panel-cta,
  .page-home-dark .site-header.site-header--root .mobile-panel-cta {
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 2px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  .mobile-cta.mobile-cta--whatsapp {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  .mobile-cta.mobile-cta--whatsapp .btn {
    width: 100% !important;
  }

  .mobile-cta.mobile-cta--whatsapp .btn-whatsapp {
    min-height: 50px !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #1db155 0%, #148f46 100%) !important;
    border-color: #148f46 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(20, 143, 70, 0.22) !important;
  }

  .mobile-cta.mobile-cta--whatsapp .btn-whatsapp:hover {
    background: linear-gradient(180deg, #22bd5b 0%, #169649 100%) !important;
    border-color: #169649 !important;
  }
}

/* Final narrow-mobile home hero title fit */

@media (max-width: 480px) {
  .home-midnight-hero__title {
    max-width: 100% !important;
    font-size: clamp(2.06rem, 8.8vw, 2.58rem) !important;
    line-height: 0.99 !important;
    letter-spacing: -0.052em !important;
    text-wrap: balance !important;
  }
}

@media (max-width: 390px) {
  .home-midnight-hero__title {
    font-size: clamp(1.9rem, 8.4vw, 2.28rem) !important;
    letter-spacing: -0.045em !important;
  }
}

/* Final homepage mobile header and hero system */

@media (max-width: 900px) {
  .page-home-dark {
    --mobile-home-header-height: 72px;
  }

  .page-home-dark .site-header.site-header--root {
    background: rgba(10, 14, 19, 0.58) !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    box-shadow: none !important;
  }

  .page-home-dark .site-header.site-header--root.scrolled,
  .page-home-dark.menu-open .site-header.site-header--root {
    background: rgba(10, 14, 19, 0.9) !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.26) !important;
  }

  .page-home-dark .site-header.site-header--root .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: var(--mobile-home-header-height) !important;
    padding-block: 8px !important;
  }

  .page-home-dark .site-header.site-header--root .nav-desktop,
  .page-home-dark .site-header.site-header--root .nav-actions > .btn {
    display: none !important;
  }

  .page-home-dark .site-header.site-header--root .nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin-left: 0 !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand {
    justify-self: start !important;
    width: clamp(170px, 44vw, 198px) !important;
    max-width: calc(100vw - 104px) !important;
    padding: 2px 5px !important;
    border-radius: 4px !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle {
    display: grid !important;
    place-items: center !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    justify-self: end !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel {
    position: fixed !important;
    top: calc(var(--mobile-home-header-height) + 10px) !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px 18px calc(18px + env(safe-area-inset-bottom)) !important;
    border-radius: 24px !important;
    max-height: calc(100svh - var(--mobile-home-header-height) - 26px - env(safe-area-inset-bottom)) !important;
    overflow: auto !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel nav {
    gap: 0 !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel a,
  .page-home-dark .site-header.site-header--root .mobile-group-toggle {
    padding: 15px 2px !important;
    font-size: 1rem !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-group-panel {
    padding: 4px 0 8px 14px !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-group-panel a {
    padding: 9px 0 !important;
    font-size: 0.9rem !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel-meta {
    gap: 12px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel-contact {
    gap: 10px !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel-contact a {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }

  .page-home-dark .site-header.site-header--root .mobile-panel-cta {
    min-height: 46px !important;
    margin-top: 4px !important;
  }

  .page-home-dark .home-midnight-hero::before {
    background:
      linear-gradient(180deg, rgba(4, 8, 13, 0.5) 0%, rgba(4, 8, 13, 0.68) 100%),
      linear-gradient(90deg, rgba(6, 10, 16, 0.84) 0%, rgba(6, 10, 16, 0.72) 26%, rgba(6, 10, 16, 0.28) 58%, rgba(6, 10, 16, 0.58) 100%),
      radial-gradient(circle at 58% 34%, rgba(255, 183, 109, 0.18) 0%, rgba(255, 183, 109, 0.08) 12%, transparent 22%),
      url("../skyscraper-building-cityscape.jpg") 62% center / cover no-repeat !important;
  }

  .page-home-dark .home-midnight-hero__inner {
    width: min(100%, calc(100% - 28px)) !important;
    min-height: 100svh !important;
    align-items: flex-end !important;
    padding: calc(var(--mobile-home-header-height) + 34px) 0 calc(var(--mobile-cta-height, 82px) + 34px + env(safe-area-inset-bottom)) !important;
  }

  .page-home-dark .home-midnight-hero__copy {
    width: min(100%, 31rem) !important;
    max-width: 31rem !important;
  }

  .page-home-dark .home-midnight-hero__eyebrow {
    gap: 10px !important;
    margin-bottom: 14px !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  .page-home-dark .home-midnight-hero__eyebrow::before {
    width: 28px !important;
  }

  .page-home-dark .home-midnight-hero__title {
    max-width: 10.6ch !important;
    font-size: clamp(2.16rem, 10vw, 3rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.055em !important;
    text-wrap: balance !important;
  }

  .page-home-dark .home-midnight-hero__lead {
    max-width: 30ch !important;
    margin-top: 16px !important;
    font-size: 0.96rem !important;
    line-height: 1.58 !important;
  }

  .page-home-dark .home-midnight-hero__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100%, 320px) !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }

  .page-home-dark .home-midnight-hero__actions .btn {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 480px) {
  .page-home-dark .site-header.site-header--root .brand--site-brand {
    width: clamp(158px, 45vw, 184px) !important;
    max-width: calc(100vw - 96px) !important;
  }

  .page-home-dark .home-midnight-hero__title {
    max-width: 100% !important;
    font-size: clamp(2rem, 8.8vw, 2.5rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.048em !important;
  }

  .page-home-dark .home-midnight-hero__lead {
    max-width: 100% !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 390px) {
  .page-home-dark .site-header.site-header--root .menu-toggle {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  .page-home-dark .home-midnight-hero__title {
    font-size: clamp(1.86rem, 8.3vw, 2.26rem) !important;
    letter-spacing: -0.04em !important;
  }
}

/* Final visual-viewport mobile CTA anchoring */

@media (max-width: 900px) {
  .mobile-cta {
    bottom: calc(12px + env(safe-area-inset-bottom) + var(--visual-viewport-bottom-offset, 0px)) !important;
    transition:
      bottom 180ms ease,
      opacity 160ms ease,
      visibility 160ms ease,
      transform 180ms ease !important;
  }
}

/* Final responsive audit stability pass */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

.header-inner,
.section-head,
.section-head > *,
.home-midnight-hero__copy,
.home-midnight-hero__actions,
.banner-copy,
.banner-copy > *,
.service-preview-head > div,
.service-preview-body,
.service-directory-body,
.entry-card,
.service-preview-card,
.service-directory-card,
.quote-card,
.testimonial-card,
.signature-panel,
.signature-stack > *,
.contact-card,
.detail-card,
.form-card,
.mini-card,
.footer-grid > *,
.footer-certifications > *,
.split-grid > *,
.contact-grid > *,
.quote-grid > *,
.cards-grid > *,
.proof-grid > *,
.home-entry-grid > *,
.service-directory-grid > *,
.detail-stack > * {
  min-width: 0;
}

.section-head h2,
.signature-panel h2,
.cta-banner h2 {
  text-wrap: balance;
}

.section-head .lead,
.banner-copy .lead,
.home-midnight-hero__lead,
.contact-card p,
.detail-card p,
.footer-links a,
.footer-links span,
.footer-bottom,
.mobile-panel-contact a {
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  main {
    overflow-x: clip !important;
  }

  .split-grid,
  .contact-grid,
  .quote-grid,
  .cards-grid,
  .proof-grid,
  .cross-grid,
  .service-facts-grid,
  .service-gallery-grid,
  .detail-stack,
  .footer-certifications {
    grid-template-columns: 1fr !important;
  }

  .footer-panel {
    padding: 24px 20px !important;
    border-radius: 28px !important;
  }

  .footer-grid {
    gap: 22px !important;
  }

  .footer-brand {
    padding-right: 0 !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .footer-legal {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .service-directory-card,
  .service-preview-card {
    min-height: 0 !important;
  }

  .service-directory-body,
  .service-preview-body,
  .quote-card,
  .contact-card,
  .detail-card,
  .signature-panel,
  .signature-stack > * {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Final home mobile header, typography, and WhatsApp bubble optimization */

@media (max-width: 900px) {
  .page-home-dark {
    padding-bottom: 18px !important;
  }

  .page-home-dark .mobile-cta.mobile-cta--whatsapp {
    display: none !important;
  }

  .page-home-dark .site-header.site-header--root .header-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    min-height: 74px !important;
    padding-block: 9px !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand,
  .page-home-dark .site-header.site-header--root .nav-actions,
  .page-home-dark .site-header.site-header--root .menu-toggle {
    align-self: center !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand {
    width: clamp(166px, 44vw, 194px) !important;
    max-width: calc(100vw - 102px) !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand img {
    display: block !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle {
    position: relative !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    border-radius: 16px !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle span,
  .page-home-dark .site-header.site-header--root .menu-toggle::before,
  .page-home-dark .site-header.site-header--root .menu-toggle::after {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 18px !important;
    height: 1.7px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #f4f6f8 !important;
    transform-origin: center !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle span {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle::before {
    transform: translate(-50%, calc(-50% - 6px)) !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle::after {
    transform: translate(-50%, calc(-50% + 6px)) !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle.open span {
    opacity: 0 !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle.open::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle.open::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  .page-home-dark .home-midnight-hero__inner {
    padding: calc(var(--mobile-home-header-height) + 28px) 0 42px !important;
  }

  .page-home-dark .home-midnight-hero__copy {
    width: 100% !important;
    max-width: min(100%, 29rem) !important;
  }

  .page-home-dark .home-midnight-hero__eyebrow {
    max-width: 22ch !important;
    margin-bottom: 12px !important;
    font-size: 0.7rem !important;
    line-height: 1.38 !important;
    letter-spacing: 0.12em !important;
  }

  .page-home-dark .home-midnight-hero__eyebrow::before {
    width: 24px !important;
  }

  .page-home-dark .home-midnight-hero__title {
    max-width: 9.3ch !important;
    font-size: clamp(1.88rem, 8.5vw, 2.34rem) !important;
    line-height: 0.99 !important;
    letter-spacing: -0.04em !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  .page-home-dark .home-midnight-hero__lead {
    max-width: 28ch !important;
    margin-top: 14px !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }

  .page-home-dark .home-midnight-hero__actions {
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    margin-top: 18px !important;
  }

  .page-home-dark .home-midnight-hero__actions .btn {
    min-height: 50px !important;
  }

}

@media (max-width: 480px) {
  .page-home-dark .site-header.site-header--root .header-inner {
    column-gap: 12px !important;
  }

  .page-home-dark .site-header.site-header--root .brand--site-brand {
    width: clamp(154px, 44vw, 182px) !important;
    max-width: calc(100vw - 92px) !important;
  }

  .page-home-dark .home-midnight-hero__title {
    max-width: 100% !important;
    font-size: clamp(1.74rem, 8vw, 2.14rem) !important;
    letter-spacing: -0.034em !important;
  }

  .page-home-dark .home-midnight-hero__lead {
    font-size: 0.86rem !important;
    line-height: 1.46 !important;
  }
}

@media (max-width: 390px) {
  .page-home-dark .site-header.site-header--root .brand--site-brand {
    width: clamp(146px, 43vw, 170px) !important;
    max-width: calc(100vw - 88px) !important;
  }

  .page-home-dark .site-header.site-header--root .menu-toggle {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }

  .page-home-dark .home-midnight-hero__eyebrow {
    max-width: 20ch !important;
    font-size: 0.67rem !important;
  }

  .page-home-dark .home-midnight-hero__title {
    font-size: clamp(1.62rem, 7.5vw, 1.98rem) !important;
    line-height: 1.01 !important;
  }

}

/* Final global mobile hamburger alignment to match home header */
@media (max-width: 900px) {
  .site-header.site-header--root .header-inner {
    align-items: center !important;
    column-gap: 14px !important;
  }

  .site-header.site-header--root .menu-toggle {
    align-self: center !important;
    justify-self: end !important;
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
  }

  .site-header.site-header--root .menu-toggle span,
  .site-header.site-header--root .menu-toggle::before,
  .site-header.site-header--root .menu-toggle::after {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 18px !important;
    height: 1.8px !important;
    border-radius: 999px !important;
    background: #f4f6f8 !important;
    transform-origin: center !important;
    margin: 0 !important;
  }

  .site-header.site-header--root .menu-toggle span {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
  }

  .site-header.site-header--root .menu-toggle::before {
    transform: translate(-50%, calc(-50% - 6px)) !important;
  }

  .site-header.site-header--root .menu-toggle::after {
    transform: translate(-50%, calc(-50% + 6px)) !important;
  }

  .site-header.site-header--root .menu-toggle.open span {
    opacity: 0 !important;
  }

  .site-header.site-header--root .menu-toggle.open::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  .site-header.site-header--root .menu-toggle.open::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
}

@media (max-width: 390px) {
  .site-header.site-header--root .menu-toggle {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }
}

/* Final global header typography and color alignment to home header */
.site-header.site-header--root {
  background: rgba(12, 16, 21, 0.84) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.1) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.18) !important;
}

.site-header.site-header--root.scrolled {
  background: rgba(10, 14, 19, 0.92) !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24) !important;
}

.site-header.site-header--root .nav-desktop > a,
.site-header.site-header--root .nav-dropdown-toggle {
  color: rgba(241, 245, 249, 0.82) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.site-header.site-header--root .nav-desktop > a:hover,
.site-header.site-header--root .nav-desktop > a.active,
.site-header.site-header--root .nav-dropdown.active .nav-dropdown-toggle,
.site-header.site-header--root .nav-dropdown:focus-within .nav-dropdown-toggle {
  color: #ffffff !important;
}

.site-header.site-header--root .nav-desktop > a::after,
.site-header.site-header--root .nav-dropdown-toggle::after {
  bottom: -12px !important;
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

.site-header.site-header--root .nav-actions .btn-primary {
  color: #ffffff !important;
}

.site-header.site-header--root .mobile-panel a,
.site-header.site-header--root .mobile-group-toggle,
.site-header.site-header--root .mobile-panel-contact a {
  color: #f4f6f8 !important;
}

.site-header.site-header--root .mobile-group-panel a {
  color: rgba(223, 228, 236, 0.76) !important;
}

/* Final global header CTA alignment to home header button discipline */
.site-header.site-header--root .nav-actions {
  gap: 12px !important;
}

.site-header.site-header--root .nav-actions .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

.site-header.site-header--root .nav-actions .btn-primary {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 34px rgba(239, 127, 97, 0.2) !important;
}

.site-header.site-header--root .nav-actions .btn-primary:hover {
  background: var(--accent-strong) !important;
  border-color: var(--accent-strong) !important;
}

/* Final inner-page hero typography alignment to home hero */
body:not(.page-home-dark) .banner-kicker,
.hero--legal .eyebrow {
  color: rgba(233, 238, 243, 0.74) !important;
  
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

body:not(.page-home-dark) .banner-kicker::before,
.hero--legal .eyebrow::before {
  background: rgba(255, 255, 255, 0.46) !important;
}

body:not(.page-home-dark) .banner-title,
.hero--legal .hero-copy--legal h1 {
  color: #f4f6f8 !important;
  
  font-size: clamp(3.1rem, 6.2vw, 5.4rem) !important;
  font-weight: 800 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.06em !important;
}

body:not(.page-home-dark) .banner-title span,
.hero--legal .hero-copy--legal h1 span {
  color: inherit !important;
}

body:not(.page-home-dark) .banner-title span:first-child,
body:not(.page-home-dark) .banner-title span:last-child,
body:not(.page-home-dark) .banner-title span:not(:first-child) {
  color: #f4f6f8 !important;
  margin-top: 0 !important;
}

body:not(.page-home-dark) .banner-copy .lead,
.hero--legal .hero-copy--legal .lead {
  color: rgba(228, 234, 240, 0.82) !important;
  
  font-size: 1.12rem !important;
  line-height: 1.72 !important;
}

@media (max-width: 1180px) {
  body:not(.page-home-dark) .banner-title,
  .hero--legal .hero-copy--legal h1 {
    font-size: clamp(2.78rem, 6.5vw, 4.4rem) !important;
  }
}

@media (max-width: 900px) {
  body:not(.page-home-dark) .banner-kicker,
  .hero--legal .eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  body:not(.page-home-dark) .banner-title,
  .hero--legal .hero-copy--legal h1 {
    max-width: 10.6ch !important;
    font-size: clamp(2.16rem, 10vw, 3rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.055em !important;
    text-wrap: balance !important;
  }

  body:not(.page-home-dark) .banner-copy .lead,
  .hero--legal .hero-copy--legal .lead {
    max-width: 30ch !important;
    font-size: 0.96rem !important;
    line-height: 1.58 !important;
  }
}

@media (max-width: 480px) {
  body:not(.page-home-dark) .banner-title,
  .hero--legal .hero-copy--legal h1 {
    max-width: 100% !important;
    font-size: clamp(2rem, 8.8vw, 2.5rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.048em !important;
  }

  body:not(.page-home-dark) .banner-copy .lead,
  .hero--legal .hero-copy--legal .lead {
    max-width: 100% !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 390px) {
  body:not(.page-home-dark) .banner-title,
  .hero--legal .hero-copy--legal h1 {
    font-size: clamp(1.86rem, 8.3vw, 2.26rem) !important;
    letter-spacing: -0.04em !important;
  }
}

/* Final canonical mobile WhatsApp bubble to match home behavior */
@media (max-width: 900px) {
  .js .mobile-cta.mobile-cta--whatsapp {
    display: none !important;
  }

  .whatsapp-float.whatsapp-float--mobile {
    display: flex !important;
    right: 16px !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--visual-viewport-bottom-offset, 0px)) !important;
    z-index: 66 !important;
    gap: 10px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(12px) !important;
    pointer-events: none !important;
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease !important;
  }

  .whatsapp-float.whatsapp-float--mobile.is-mounted {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  body.menu-open .whatsapp-float.whatsapp-float--mobile {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(10px) !important;
    pointer-events: none !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-bubble {
    width: min(216px, calc(100vw - 94px)) !important;
    padding: 12px 34px 12px 14px !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 32px rgba(10, 16, 14, 0.2) !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-bubble::after {
    right: 16px !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-bubble strong {
    font-size: 0.92rem !important;
    margin-bottom: 4px !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-bubble span {
    font-size: 0.82rem !important;
    line-height: 1.46 !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-close {
    top: 8px !important;
    right: 8px !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-button {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 30px rgba(23, 153, 71, 0.24) !important;
  }

  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-button svg {
    width: 32px !important;
    height: 32px !important;
  }
}

@media (max-width: 390px) {
  .whatsapp-float.whatsapp-float--mobile .whatsapp-float-bubble {
    width: min(196px, calc(100vw - 86px)) !important;
  }
}

/* Final hero CTA vertical rhythm refinement */
.home-midnight-hero__lead {
  margin-top: 18px !important;
}

.home-midnight-hero__actions {
  margin-top: 20px !important;
}

body:not(.page-home-dark) .banner-copy {
  justify-content: flex-start !important;
  padding-top: clamp(52px, 6vh, 68px) !important;
  padding-bottom: clamp(34px, 4.4vh, 46px) !important;
}

.hero--legal .hero-copy--legal {
  padding-top: clamp(34px, 4vh, 46px) !important;
  padding-bottom: clamp(26px, 3.4vh, 34px) !important;
}

body:not(.page-home-dark) .banner-copy .lead,
.hero--legal .hero-copy--legal .lead {
  margin-top: 18px !important;
}

body:not(.page-home-dark) .banner-copy .button-row,
body:not(.page-home-dark) .banner-copy .service-hero-actions {
  margin-top: 18px !important;
}

@media (max-width: 900px) {
  .home-midnight-hero__lead {
    margin-top: 14px !important;
  }

  .home-midnight-hero__actions {
    margin-top: 16px !important;
  }

  body:not(.page-home-dark) .banner-copy {
    padding-top: 34px !important;
    padding-bottom: 24px !important;
  }

  .hero--legal .hero-copy--legal {
    padding-top: 24px !important;
    padding-bottom: 20px !important;
  }

  body:not(.page-home-dark) .banner-copy .lead,
  .hero--legal .hero-copy--legal .lead {
    margin-top: 14px !important;
  }

  body:not(.page-home-dark) .banner-copy .button-row,
  body:not(.page-home-dark) .banner-copy .service-hero-actions {
    margin-top: 14px !important;
  }
}

/* Final mobile inner-page header CTA cleanup */
@media (max-width: 900px) {
  body:not(.page-home-dark) .site-header.site-header--root .nav-actions > .btn {
    display: none !important;
  }

  body:not(.page-home-dark) .site-header.site-header--root .nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin-left: 0 !important;
  }
}

/* Final global white header bar */
.site-header.site-header--root,
.site-header.site-header--root.scrolled,
.page-home-dark .site-header.site-header--root,
.page-home-dark .site-header.site-header--root.scrolled,
.page-home-dark.menu-open .site-header.site-header--root {
  background: rgba(255, 255, 255, 0.97) !important;
  border-bottom-color: rgba(26, 22, 19, 0.08) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  box-shadow: 0 14px 34px rgba(17, 17, 17, 0.08) !important;
}

.site-header.site-header--root {
  --header-bar-primary: #231d1a;
  --header-bar-secondary: rgba(48, 40, 35, 0.86);
  --header-bar-muted: rgba(81, 72, 66, 0.72);
}

.site-header.site-header--root .nav-desktop > a,
.site-header.site-header--root .nav-dropdown-toggle,
.site-header.site-header--root .mobile-panel a,
.site-header.site-header--root .mobile-group-toggle,
.site-header.site-header--root .mobile-panel-contact a,
.site-header.site-header--root .mobile-panel-contact span,
.site-header.site-header--root .nav-dropdown-label,
.site-header.site-header--root .nav-dropdown-feature strong,
.site-header.site-header--root .nav-dropdown-item-title,
.site-header.site-header--root .nav-dropdown-overview,
.site-header.site-header--root .nav-dropdown-contact {
  color: var(--header-bar-primary) !important;
}

.site-header.site-header--root .nav-dropdown-feature p,
.site-header.site-header--root .nav-dropdown-item-copy,
.site-header.site-header--root .nav-dropdown-points li,
.site-header.site-header--root .mobile-group-panel a,
.site-header.site-header--root .mobile-panel-meta {
  color: var(--header-bar-secondary) !important;
}

.site-header.site-header--root .mobile-panel-contact span,
.site-header.site-header--root .mobile-panel-meta,
.site-header.site-header--root .nav-dropdown-label {
  color: var(--header-bar-muted) !important;
}

.site-header.site-header--root .nav-desktop > a:hover,
.site-header.site-header--root .nav-desktop > a.active,
.site-header.site-header--root .nav-desktop > a[aria-current="page"],
.site-header.site-header--root .nav-dropdown-toggle:hover,
.site-header.site-header--root .nav-dropdown-toggle.active,
.site-header.site-header--root .nav-dropdown.active .nav-dropdown-toggle,
.site-header.site-header--root .nav-dropdown:focus-within .nav-dropdown-toggle,
.site-header.site-header--root .mobile-panel a:hover,
.site-header.site-header--root .mobile-panel a.active,
.site-header.site-header--root .mobile-panel a[aria-current="page"],
.site-header.site-header--root .mobile-group-toggle:hover,
.site-header.site-header--root .mobile-group-toggle.active,
.site-header.site-header--root .mobile-group.open .mobile-group-toggle,
.site-header.site-header--root .mobile-group-panel a:hover,
.site-header.site-header--root .mobile-group-panel a.active,
.site-header.site-header--root .mobile-group-panel a[aria-current="page"],
.site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-title,
.site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-title,
.site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-overview,
.site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-overview,
.site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-feature strong,
.site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-feature strong,
.site-header.site-header--root .nav-dropdown-contact:hover,
.site-header.site-header--root .nav-dropdown-label:hover {
  color: #111111 !important;
}

.site-header.site-header--root .nav-desktop > a::after,
.site-header.site-header--root .nav-dropdown-toggle::after {
  background: rgba(35, 29, 26, 0.88) !important;
}

.site-header.site-header--root .nav-dropdown-caret,
.site-header.site-header--root .mobile-group-caret {
  color: var(--header-bar-secondary) !important;
  border-color: currentColor !important;
}

.site-header.site-header--root .menu-toggle {
  border-color: rgba(35, 29, 26, 0.12) !important;
  background: rgba(35, 29, 26, 0.04) !important;
}

.site-header.site-header--root .menu-toggle span,
.site-header.site-header--root .menu-toggle::before,
.site-header.site-header--root .menu-toggle::after {
  background: #231d1a !important;
}

/* Final start desktop/tablet header and dropdown color cleanup */
@media (min-width: 901px) {
  .page-home-dark .site-header.site-header--root {
    --home-header-primary: #231d1a;
    --home-header-strong: #111111;
    --home-header-secondary: rgba(72, 61, 54, 0.84);
    --home-header-muted: rgba(102, 90, 82, 0.7);
    --home-header-accent: #d87654;
    --home-header-surface: rgba(255, 255, 255, 0.985);
    --home-header-surface-soft: #fdf9f5;
    --home-header-border: rgba(32, 25, 21, 0.08);
  }

  .page-home-dark .site-header.site-header--root .nav-desktop > a,
  .page-home-dark .site-header.site-header--root .nav-dropdown-toggle {
    color: var(--home-header-primary) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.015em !important;
    text-transform: uppercase !important;
  }

  .page-home-dark .site-header.site-header--root .nav-desktop > a:hover,
  .page-home-dark .site-header.site-header--root .nav-desktop > a.active,
  .page-home-dark .site-header.site-header--root .nav-desktop > a[aria-current="page"],
  .page-home-dark .site-header.site-header--root .nav-dropdown-toggle:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-toggle.active,
  .page-home-dark .site-header.site-header--root .nav-dropdown.active .nav-dropdown-toggle,
  .page-home-dark .site-header.site-header--root .nav-dropdown:focus-within .nav-dropdown-toggle {
    color: var(--home-header-strong) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-desktop > a::after,
  .page-home-dark .site-header.site-header--root .nav-dropdown-toggle::after {
    background: rgba(35, 29, 26, 0.9) !important;
    bottom: -12px !important;
    width: 24px !important;
    height: 1.5px !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-caret {
    color: var(--home-header-secondary) !important;
    border-color: currentColor !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-menu {
    border: 1px solid var(--home-header-border) !important;
    background: var(--home-header-surface) !important;
    box-shadow: 0 24px 52px rgba(17, 17, 17, 0.11) !important;
    backdrop-filter: blur(16px) saturate(1.04) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature {
    border-right-color: rgba(216, 205, 195, 0.92) !important;
    background: linear-gradient(180deg, #fdfaf7 0%, var(--home-header-surface-soft) 100%) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-label {
    color: var(--home-header-accent) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature strong,
  .page-home-dark .site-header.site-header--root .nav-dropdown-item-title,
  .page-home-dark .site-header.site-header--root .nav-dropdown-overview {
    color: var(--home-header-primary) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature p,
  .page-home-dark .site-header.site-header--root .nav-dropdown-item-copy,
  .page-home-dark .site-header.site-header--root .nav-dropdown-points li {
    color: var(--home-header-secondary) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a {
    border-bottom-color: rgba(214, 204, 196, 0.94) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active {
    background: transparent !important;
    border-color: rgba(216, 118, 84, 0.32) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-title,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-title,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-overview,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-overview,
  .page-home-dark .site-header.site-header--root .nav-dropdown-contact:hover {
    color: var(--home-header-strong) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-overview {
    background: #171717 !important;
    color: #ffffff !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-overview:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-overview.active {
    background: #111111 !important;
    color: #ffffff !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-contact {
    border-color: rgba(214, 204, 196, 0.96) !important;
    background: #ffffff !important;
    color: var(--home-header-primary) !important;
  }
}

/* Final start desktop dropdown light-surface enforcement */
@media (min-width: 901px) {
  .page-home-dark .site-header.site-header--root .nav-dropdown-menu {
    background: #fffdfb !important;
    border: 1px solid rgba(36, 29, 24, 0.08) !important;
    box-shadow: 0 26px 56px rgba(16, 16, 16, 0.12) !important;
    backdrop-filter: none !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-layout {
    gap: 18px !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature {
    background: linear-gradient(180deg, #fdf9f5 0%, #fbf6f1 100%) !important;
    border-right-color: rgba(220, 208, 198, 0.92) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-label {
    color: #d87654 !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature strong {
    color: #231d1a !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature p,
  .page-home-dark .site-header.site-header--root .nav-dropdown-points li {
    color: rgba(77, 66, 59, 0.86) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-actions {
    gap: 10px !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-overview {
    background: #171717 !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-overview:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-overview.active {
    background: #111111 !important;
    color: #ffffff !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-contact {
    background: #ffffff !important;
    color: #231d1a !important;
    border: 1px solid rgba(220, 208, 198, 0.96) !important;
    box-shadow: none !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-contact:hover {
    color: #111111 !important;
    border-color: rgba(216, 118, 84, 0.34) !important;
    background: #fffaf6 !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a {
    background: transparent !important;
    border-bottom-color: rgba(220, 208, 198, 0.9) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-item-title {
    color: #231d1a !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-item-copy {
    color: rgba(84, 72, 65, 0.82) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active {
    background: rgba(216, 118, 84, 0.06) !important;
    border-color: rgba(216, 118, 84, 0.34) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-title,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-title {
    color: #111111 !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-copy,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-copy {
    color: rgba(70, 60, 54, 0.84) !important;
  }
}

/* Final global desktop dropdown light-surface enforcement */
@media (min-width: 901px) {
  .site-header.site-header--root {
    --dropdown-surface: #fffdfb;
    --dropdown-surface-soft: #fbf6f1;
    --dropdown-border: rgba(36, 29, 24, 0.08);
    --dropdown-divider: rgba(220, 208, 198, 0.9);
    --dropdown-primary: #231d1a;
    --dropdown-strong: #111111;
    --dropdown-secondary: rgba(77, 66, 59, 0.86);
    --dropdown-copy: rgba(84, 72, 65, 0.82);
    --dropdown-accent: #d87654;
  }

  .site-header.site-header--root .nav-dropdown-menu {
    background: var(--dropdown-surface) !important;
    border: 1px solid var(--dropdown-border) !important;
    box-shadow: 0 26px 56px rgba(16, 16, 16, 0.12) !important;
    backdrop-filter: none !important;
  }

  .site-header.site-header--root .nav-dropdown-layout {
    gap: 18px !important;
  }

  .site-header.site-header--root .nav-dropdown-feature {
    background: linear-gradient(180deg, #fdf9f5 0%, var(--dropdown-surface-soft) 100%) !important;
    border-right-color: rgba(220, 208, 198, 0.92) !important;
  }

  .site-header.site-header--root .nav-dropdown-label {
    color: var(--dropdown-accent) !important;
  }

  .site-header.site-header--root .nav-dropdown-feature strong,
  .site-header.site-header--root .nav-dropdown-item-title {
    color: var(--dropdown-primary) !important;
  }

  .site-header.site-header--root .nav-dropdown-feature p,
  .site-header.site-header--root .nav-dropdown-points li {
    color: var(--dropdown-secondary) !important;
  }

  .site-header.site-header--root .nav-dropdown-actions {
    gap: 10px !important;
  }

  .site-header.site-header--root .nav-dropdown-overview {
    background: #171717 !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .site-header.site-header--root .nav-dropdown-overview:hover,
  .site-header.site-header--root .nav-dropdown-overview.active {
    background: #111111 !important;
    color: #ffffff !important;
  }

  .site-header.site-header--root .nav-dropdown-contact {
    background: #ffffff !important;
    color: var(--dropdown-primary) !important;
    border: 1px solid rgba(220, 208, 198, 0.96) !important;
    box-shadow: none !important;
  }

  .site-header.site-header--root .nav-dropdown-contact:hover {
    color: var(--dropdown-strong) !important;
    border-color: rgba(216, 118, 84, 0.34) !important;
    background: #fffaf6 !important;
  }

  .site-header.site-header--root .nav-dropdown-grid a {
    background: transparent !important;
    border-bottom-color: var(--dropdown-divider) !important;
  }

  .site-header.site-header--root .nav-dropdown-item-copy {
    color: var(--dropdown-copy) !important;
  }

  .site-header.site-header--root .nav-dropdown-grid a:hover,
  .site-header.site-header--root .nav-dropdown-grid a.active {
    background: rgba(216, 118, 84, 0.06) !important;
    border-color: rgba(216, 118, 84, 0.34) !important;
  }

  .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-title,
  .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-title {
    color: var(--dropdown-strong) !important;
  }

  .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-copy,
  .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-copy {
    color: rgba(70, 60, 54, 0.84) !important;
  }
}

/* Final start desktop dropdown color recovery */
@media (min-width: 901px) {
  .page-home-dark .site-header.site-header--root {
    --start-dropdown-surface: #fffdfa;
    --start-dropdown-surface-soft: #fbf5ef;
    --start-dropdown-border: rgba(39, 31, 26, 0.1);
    --start-dropdown-divider: rgba(220, 208, 198, 0.92);
    --start-dropdown-primary: #241e1a;
    --start-dropdown-strong: #111111;
    --start-dropdown-secondary: rgba(83, 72, 65, 0.88);
    --start-dropdown-copy: rgba(98, 87, 79, 0.84);
    --start-dropdown-accent: #d87654;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-menu,
  .page-home-dark .site-header.site-header--root .nav-dropdown-layout,
  .page-home-dark .site-header.site-header--root .nav-dropdown-feature,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a {
    color: var(--start-dropdown-primary) !important;
    text-shadow: none !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-menu {
    background: var(--start-dropdown-surface) !important;
    background-color: var(--start-dropdown-surface) !important;
    border: 1px solid var(--start-dropdown-border) !important;
    box-shadow: 0 28px 60px rgba(16, 16, 16, 0.12) !important;
    backdrop-filter: none !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-layout {
    background: transparent !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature {
    background: linear-gradient(180deg, #fdf9f5 0%, var(--start-dropdown-surface-soft) 100%) !important;
    border-right-color: var(--start-dropdown-divider) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-label {
    color: var(--start-dropdown-accent) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature strong,
  .page-home-dark .site-header.site-header--root .nav-dropdown-item-title,
  .page-home-dark .site-header.site-header--root .nav-dropdown-overview,
  .page-home-dark .site-header.site-header--root .nav-dropdown-contact {
    color: var(--start-dropdown-primary) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-feature p,
  .page-home-dark .site-header.site-header--root .nav-dropdown-item-copy,
  .page-home-dark .site-header.site-header--root .nav-dropdown-points li {
    color: var(--start-dropdown-secondary) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a {
    background: transparent !important;
    border-bottom-color: var(--start-dropdown-divider) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-overview {
    background: #171717 !important;
    color: #ffffff !important;
    border: 0 !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-overview:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-overview.active {
    background: #111111 !important;
    color: #ffffff !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-contact {
    background: #ffffff !important;
    border: 1px solid var(--start-dropdown-divider) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-contact:hover {
    background: #fff9f4 !important;
    border-color: rgba(216, 118, 84, 0.34) !important;
    color: var(--start-dropdown-strong) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active {
    background: rgba(216, 118, 84, 0.06) !important;
    border-color: rgba(216, 118, 84, 0.34) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-title,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-title {
    color: var(--start-dropdown-strong) !important;
  }

  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a:hover .nav-dropdown-item-copy,
  .page-home-dark .site-header.site-header--root .nav-dropdown-grid a.active .nav-dropdown-item-copy {
    color: rgba(75, 64, 57, 0.86) !important;
  }
}

/* Final canonical header logo alignment to footer brand */
.site-header.site-header--root,
.page-home-dark .site-header.site-header--root {
  --header-brand-lockup-width: 262px;
}

.site-header.site-header--root .brand--site-brand,
.site-header.site-header--root.scrolled .brand--site-brand,
.page-home-dark .site-header.site-header--root .brand--site-brand,
.page-home-dark .site-header.site-header--root.scrolled .brand--site-brand,
.page-home-dark .brand--site-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  justify-self: start !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: min(100%, var(--header-brand-lockup-width)) !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.site-header.site-header--root .brand--site-brand img,
.site-header.site-header--root.scrolled .brand--site-brand img,
.page-home-dark .site-header.site-header--root .brand--site-brand img,
.page-home-dark .site-header.site-header--root.scrolled .brand--site-brand img,
.page-home-dark .brand--site-brand img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  filter: none !important;
  opacity: 1 !important;
}

@media (max-width: 1180px) {
  .site-header.site-header--root,
  .page-home-dark .site-header.site-header--root {
    --header-brand-lockup-width: 246px;
  }
}

@media (max-width: 980px) {
  .site-header.site-header--root,
  .page-home-dark .site-header.site-header--root {
    --header-brand-lockup-width: 228px;
  }
}

@media (max-width: 900px) {
  .site-header.site-header--root,
  .page-home-dark .site-header.site-header--root {
    --header-brand-lockup-width: 208px;
  }

  .site-header.site-header--root .brand--site-brand,
  .site-header.site-header--root.scrolled .brand--site-brand,
  .page-home-dark .site-header.site-header--root .brand--site-brand,
  .page-home-dark .site-header.site-header--root.scrolled .brand--site-brand,
  .page-home-dark .brand--site-brand {
    max-width: calc(100vw - 112px) !important;
  }
}

@media (max-width: 480px) {
  .site-header.site-header--root,
  .page-home-dark .site-header.site-header--root {
    --header-brand-lockup-width: 194px;
  }

  .site-header.site-header--root .brand--site-brand,
  .site-header.site-header--root.scrolled .brand--site-brand,
  .page-home-dark .site-header.site-header--root .brand--site-brand,
  .page-home-dark .site-header.site-header--root.scrolled .brand--site-brand,
  .page-home-dark .brand--site-brand {
    max-width: calc(100vw - 104px) !important;
  }
}

/* Final mobile header and menu stabilization */
@media (max-width: 900px) {
  .site-header.site-header--root,
  .page-home-dark .site-header.site-header--root {
    --mobile-header-brand-width: clamp(168px, 44vw, 204px);
    --mobile-header-brand-max: calc(100vw - 110px);
    --mobile-menu-surface: rgba(8, 12, 17, 0.97);
    --mobile-menu-border: rgba(255, 255, 255, 0.08);
    --mobile-menu-divider: rgba(255, 255, 255, 0.1);
    --mobile-menu-text: #f7f8fa;
    --mobile-menu-text-strong: #ffffff;
    --mobile-menu-text-muted: rgba(233, 238, 243, 0.72);
    --mobile-menu-active: rgba(255, 255, 255, 0.06);
  }

  .site-header.site-header--root .header-inner,
  .page-home-dark .site-header.site-header--root .header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    min-height: 74px !important;
    padding-block: 8px !important;
  }

  .site-header.site-header--root .nav-desktop,
  .page-home-dark .site-header.site-header--root .nav-desktop,
  .site-header.site-header--root .nav-actions > .btn,
  .page-home-dark .site-header.site-header--root .nav-actions > .btn {
    display: none !important;
  }

  .site-header.site-header--root .nav-actions,
  .page-home-dark .site-header.site-header--root .nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    gap: 0 !important;
    margin-left: 0 !important;
  }

  .site-header.site-header--root .brand--site-brand,
  .site-header.site-header--root.scrolled .brand--site-brand,
  .page-home-dark .site-header.site-header--root .brand--site-brand,
  .page-home-dark .site-header.site-header--root.scrolled .brand--site-brand,
  .page-home-dark .brand--site-brand {
    justify-self: start !important;
    align-self: center !important;
    width: var(--mobile-header-brand-width) !important;
    max-width: var(--mobile-header-brand-max) !important;
    min-width: 0 !important;
  }

  .site-header.site-header--root .menu-toggle,
  .page-home-dark .site-header.site-header--root .menu-toggle {
    display: grid !important;
    place-items: center !important;
    justify-self: end !important;
    align-self: center !important;
    flex: 0 0 auto !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(17, 23, 30, 0.14) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .site-header.site-header--root .menu-toggle span,
  .site-header.site-header--root .menu-toggle::before,
  .site-header.site-header--root .menu-toggle::after,
  .page-home-dark .site-header.site-header--root .menu-toggle span,
  .page-home-dark .site-header.site-header--root .menu-toggle::before,
  .page-home-dark .site-header.site-header--root .menu-toggle::after {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 18px !important;
    height: 1.8px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #231d1a !important;
    transform-origin: center !important;
  }

  .site-header.site-header--root .menu-toggle span,
  .page-home-dark .site-header.site-header--root .menu-toggle span {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
  }

  .site-header.site-header--root .menu-toggle::before,
  .page-home-dark .site-header.site-header--root .menu-toggle::before {
    transform: translate(-50%, calc(-50% - 6px)) !important;
  }

  .site-header.site-header--root .menu-toggle::after,
  .page-home-dark .site-header.site-header--root .menu-toggle::after {
    transform: translate(-50%, calc(-50% + 6px)) !important;
  }

  .site-header.site-header--root .menu-toggle.open span,
  .page-home-dark .site-header.site-header--root .menu-toggle.open span {
    opacity: 0 !important;
  }

  .site-header.site-header--root .menu-toggle.open::before,
  .page-home-dark .site-header.site-header--root .menu-toggle.open::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  .site-header.site-header--root .menu-toggle.open::after,
  .page-home-dark .site-header.site-header--root .menu-toggle.open::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  .site-header.site-header--root .mobile-panel,
  .page-home-dark .site-header.site-header--root .mobile-panel {
    position: fixed !important;
    top: calc(var(--mobile-header-height, 72px) + 8px) !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px !important;
    background: var(--mobile-menu-surface) !important;
    border: 1px solid var(--mobile-menu-border) !important;
    border-top: 1px solid var(--mobile-menu-border) !important;
    border-radius: 24px !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.32) !important;
    backdrop-filter: blur(18px) saturate(1.04) !important;
    max-height: calc(100svh - var(--mobile-header-height, 72px) - 28px - env(safe-area-inset-bottom)) !important;
    overflow: auto !important;
    z-index: 120 !important;
  }

  .site-header.site-header--root .mobile-panel[hidden],
  .page-home-dark .site-header.site-header--root .mobile-panel[hidden] {
    display: none !important;
  }

  .site-header.site-header--root .mobile-panel.open,
  .page-home-dark .site-header.site-header--root .mobile-panel.open {
    display: block !important;
  }

  .site-header.site-header--root .mobile-panel nav,
  .page-home-dark .site-header.site-header--root .mobile-panel nav {
    display: grid !important;
    gap: 0 !important;
    padding-top: 0 !important;
  }

  .site-header.site-header--root .mobile-panel a,
  .site-header.site-header--root .mobile-group-toggle,
  .page-home-dark .site-header.site-header--root .mobile-panel a,
  .page-home-dark .site-header.site-header--root .mobile-group-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 0 4px !important;
    border-bottom: 1px solid var(--mobile-menu-divider) !important;
    color: var(--mobile-menu-text) !important;
    background: transparent !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-shadow: none !important;
  }

  .site-header.site-header--root .mobile-panel a.active,
  .site-header.site-header--root .mobile-panel a[aria-current="page"],
  .site-header.site-header--root .mobile-group-toggle.active,
  .site-header.site-header--root .mobile-group.open .mobile-group-toggle,
  .page-home-dark .site-header.site-header--root .mobile-panel a.active,
  .page-home-dark .site-header.site-header--root .mobile-panel a[aria-current="page"],
  .page-home-dark .site-header.site-header--root .mobile-group-toggle.active,
  .page-home-dark .site-header.site-header--root .mobile-group.open .mobile-group-toggle {
    color: var(--mobile-menu-text-strong) !important;
    background: var(--mobile-menu-active) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    border-radius: 14px !important;
  }

  .site-header.site-header--root .mobile-panel a:hover,
  .site-header.site-header--root .mobile-group-toggle:hover,
  .site-header.site-header--root .mobile-group-panel a:hover,
  .page-home-dark .site-header.site-header--root .mobile-panel a:hover,
  .page-home-dark .site-header.site-header--root .mobile-group-toggle:hover,
  .page-home-dark .site-header.site-header--root .mobile-group-panel a:hover {
    color: var(--mobile-menu-text-strong) !important;
    background: var(--mobile-menu-active) !important;
  }

  .site-header.site-header--root .mobile-group-panel,
  .page-home-dark .site-header.site-header--root .mobile-group-panel {
    padding: 2px 0 10px 14px !important;
  }

  .site-header.site-header--root .mobile-group-panel a,
  .page-home-dark .site-header.site-header--root .mobile-group-panel a {
    min-height: 44px !important;
    padding: 0 4px !important;
    color: rgba(239, 243, 247, 0.88) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
  }

  .site-header.site-header--root .mobile-group-caret,
  .page-home-dark .site-header.site-header--root .mobile-group-caret {
    color: var(--mobile-menu-text-muted) !important;
    border-color: currentColor !important;
  }

  .site-header.site-header--root .mobile-panel-meta,
  .page-home-dark .site-header.site-header--root .mobile-panel-meta {
    display: grid !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 0 !important;
    color: var(--mobile-menu-text-muted) !important;
  }

  .site-header.site-header--root .mobile-panel-contact,
  .page-home-dark .site-header.site-header--root .mobile-panel-contact {
    display: grid !important;
    gap: 10px !important;
  }

  .site-header.site-header--root .mobile-panel-contact a,
  .site-header.site-header--root .mobile-panel-contact span,
  .page-home-dark .site-header.site-header--root .mobile-panel-contact a,
  .page-home-dark .site-header.site-header--root .mobile-panel-contact span {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--mobile-menu-text-muted) !important;
    font-size: 0.89rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  .site-header.site-header--root .mobile-panel-contact a:hover,
  .page-home-dark .site-header.site-header--root .mobile-panel-contact a:hover {
    color: var(--mobile-menu-text-strong) !important;
  }

  .site-header.site-header--root .mobile-panel-cta,
  .page-home-dark .site-header.site-header--root .mobile-panel-cta {
    display: none !important;
  }

  body.menu-open .whatsapp-float--mobile,
  body.menu-open .mobile-cta.mobile-cta--whatsapp {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 390px) {
  .site-header.site-header--root,
  .page-home-dark .site-header.site-header--root {
    --mobile-header-brand-max: calc(100vw - 96px);
  }

  .site-header.site-header--root .menu-toggle,
  .page-home-dark .site-header.site-header--root .menu-toggle {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }
}

/* Leistung pages: remove bullet markers from list items */
.page-leistungen .checklist li,
body.page-service .service-summary-points li,
body.page-service .detail-list li {
  padding-left: 0 !important;
}

.page-leistungen .checklist li::before,
body.page-service .service-summary-points li::before,
body.page-service .detail-list li::before {
  display: none !important;
}

/* Legal pages: enforce readable hero/header contrast */
body.page-legal .hero--legal .eyebrow {
  color: rgba(101, 73, 56, 0.88) !important;
}

body.page-legal .hero--legal .eyebrow::before {
  background: rgba(123, 92, 72, 0.42) !important;
}

body.page-legal .hero--legal .hero-copy--legal h1 {
  color: #1f1916 !important;
}

body.page-legal .hero--legal .hero-copy--legal .lead {
  color: rgba(70, 58, 50, 0.9) !important;
}
