﻿@font-face {
  font-family: "Inter";
  src: url("../fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/InterVariable-Italic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --background: #ffffff;
  --foreground: #1d1d1f;
  --muted: #f5f5f7;
  --muted-foreground: #86868b;
  --border: rgba(29, 29, 31, 0.1);
  --primary: #8a6500;
  --primary-hover: #6f5100;
  --primary-action: #f5c518;
  --primary-action-hover: #e5b500;
  --on-primary: #111216;
  --ink-950: #08090c;
  --ink-900: #0d0d11;
  --ink-850: #111217;
  --ink-glass: rgba(13, 13, 17, 0.72);
  --accent-soft: rgba(245, 197, 24, 0.1);
  --accent-line: rgba(245, 197, 24, 0.28);
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-snap: cubic-bezier(0.2, 0.8, 0.2, 1);
  --radius-shell: clamp(1.5rem, 2.6vw, 2.75rem);
  --font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Privatrechtsschutz preview-switch hero */
.protection-switch-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  padding-top: 4.25rem;
  background: var(--background);
  color: var(--foreground);
  isolation: isolate;
}

.protection-switch-hero__texture {
  position: absolute;
  inset: 4.25rem 0 auto;
  height: 1px;
  background: var(--border);
  pointer-events: none;
}

.protection-page .site-header:not(:is(.is-scrolled, .is-menu-open)) {
  --header-color: var(--foreground);
  --header-control-border: var(--border);
  --header-control-background: color-mix(in srgb, var(--background) 88%, transparent);
}

.protection-switch-hero__inner {
  width: min(100% - 3rem, 90rem);
  flex: 1;
  display: grid;
  grid-template-columns: minmax(13rem, 16rem) minmax(18rem, 21rem) minmax(24rem, 1fr);
  align-items: center;
  gap: 3.5rem;
  margin-inline: auto;
  padding: 3.25rem 0 2.75rem;
}

.protection-topic-rail {
  display: grid;
  align-content: center;
  gap: .45rem;
}

.protection-topic-rail__label {
  margin-bottom: 1rem;
  color: var(--muted-foreground);
  font-family: var(--font-display);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.protection-topic-rail a {
  min-height: 3.35rem;
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
  padding: .55rem .75rem;
  border: 1px solid transparent;
  border-radius: .55rem;
  color: var(--muted-foreground);
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  transition: border-color .28s ease, background .28s ease, color .28s ease, transform .28s ease;
}

.protection-topic-rail a span {
  color: color-mix(in srgb, var(--primary-action) 75%, var(--foreground));
  font-size: .63rem;
  font-weight: 850;
}

.protection-topic-rail a:hover,
.protection-topic-rail a:focus-visible,
.protection-topic-rail a.is-active,
.protection-topic-rail a[aria-current="page"] {
  border-color: var(--border);
  background: var(--muted);
  color: var(--foreground);
  outline: none;
  transform: translateX(.25rem);
}

.protection-topic-rail a.is-active,
.protection-topic-rail a[aria-current="page"] {
  box-shadow: inset 2px 0 var(--primary-action);
}

.protection-phone-wrap {
  position: relative;
  min-height: 38rem;
  display: grid;
  place-items: center;
}

.protection-phone-orbit {
  position: absolute;
  width: 25rem;
  height: 25rem;
  border: 1px solid color-mix(in srgb, var(--primary-action) 25%, transparent);
  border-radius: 50%;
}

.protection-phone-orbit::before,
.protection-phone-orbit::after {
  position: absolute;
  border: 1px solid var(--border);
  border-radius: 50%;
  content: "";
}

.protection-phone-orbit::before { inset: 2.4rem; }
.protection-phone-orbit::after { inset: 5rem; }

.protection-phone {
  position: relative;
  z-index: 1;
  width: 18.25rem;
  height: 36.5rem;
  padding: .48rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 2.65rem;
  background: #171719;
  box-shadow: 0 2.4rem 5rem rgba(20,20,24,.22), inset 0 0 0 1px rgba(0,0,0,.65);
  margin-inline: auto;
  transform: rotate(0deg);
}

.dark .protection-phone { box-shadow: 0 2.4rem 5rem rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.08); }

.protection-phone__hardware {
  position: absolute;
  top: .85rem;
  left: 50%;
  z-index: 4;
  width: 5.4rem;
  height: 1.45rem;
  border-radius: 1rem;
  background: #0b0b0c;
  transform: translateX(-50%);
}

.protection-phone__hardware span {
  position: absolute;
  top: .58rem;
  right: .7rem;
  width: .28rem;
  height: .28rem;
  border-radius: 50%;
  background: #303848;
}

.protection-phone__screen {
  position: relative;
  height: 100%;
  overflow: hidden;
  padding: 1.05rem 1.05rem 1.15rem;
  border-radius: 2.2rem;
  background: #f7f5ef;
  color: #151517;
}

.protection-phone__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .1rem .3rem 0;
  font-size: .58rem;
  font-weight: 800;
}

.protection-phone__status span:nth-child(2) { color: #7b766b; font-weight: 700; }
.protection-phone__status i { width: .38rem; height: .38rem; border-radius: 50%; background: #54bf7a; }

.protection-phone__app-head {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: 1.5rem;
  font-size: .72rem;
  font-weight: 800;
}

.protection-phone__app-icon {
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border-radius: .55rem;
  background: var(--primary-action);
}

.protection-phone__app-icon svg { width: 1.05rem; fill: none; stroke: #17140a; stroke-width: 1.7; }

.protection-phone__visual {
  position: relative;
  height: 10rem;
  display: grid;
  place-items: center;
  margin-top: 1.25rem;
  border: 1px solid rgba(20,20,24,.08);
  border-radius: 1.15rem;
  background: #e9e5da;
}

.protection-phone__visual svg {
  position: relative;
  z-index: 2;
  width: 3.5rem;
  fill: none;
  stroke: #171719;
  stroke-width: 1.15;
}

.protection-phone__ring {
  position: absolute;
  width: 7rem;
  height: 7rem;
  border: 1px solid rgba(20,20,24,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 1.4rem rgba(245,197,24,.16), 0 0 0 2.8rem rgba(245,197,24,.08);
}

.protection-phone__copy { min-height: 9.2rem; padding: 1.2rem .2rem .2rem; }
.protection-phone__copy > span { color: #8a6500; font-size: .61rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.protection-phone__copy strong { display: block; margin-top: .55rem; font-family: var(--font-display); font-size: 1.42rem; line-height: 1.07; letter-spacing: 0; }
.protection-phone__copy p { margin: .65rem 0 0; color: #706d66; font-size: .72rem; line-height: 1.5; }

.protection-phone__case {
  min-height: 3.9rem;
  padding: .7rem .8rem;
  border: 1px solid rgba(20,20,24,.09);
  border-radius: .75rem;
  background: rgba(255,255,255,.65);
}

.protection-phone__case span { display: block; color: #8a877f; font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.protection-phone__case strong { display: block; margin-top: .3rem; font-size: .68rem; line-height: 1.35; }
.protection-phone__progress { display: flex; gap: .35rem; justify-content: center; margin-top: .8rem; }
.protection-phone__progress i { width: .32rem; height: .32rem; border-radius: 50%; background: #cbc7bd; transition: width .35s ease, background .35s ease; }
.protection-phone__progress i.is-active { width: 1.15rem; border-radius: .3rem; background: #8a6500; }

.protection-switch-hero__copy { max-width: 35rem; }
.protection-switch-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem .7rem;
  border: 1px solid var(--border);
  border-radius: .5rem;
  color: var(--muted-foreground);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.protection-switch-hero__badge i,
.protection-switch-hero__proof i { width: .42rem; height: .42rem; flex: 0 0 auto; border-radius: 50%; background: var(--primary-action); box-shadow: 0 0 0 .28rem rgba(245,197,24,.12); }

.protection-switch-hero__copy h1 {
  margin: 1.4rem 0 1.25rem;
  font-family: var(--font-display);
  font-size: 4rem;
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.protection-switch-hero__copy h1 span { color: var(--primary); }
.protection-switch-hero__copy > p:not(.protection-switch-hero__proof) { max-width: 34rem; margin: 0; color: var(--muted-foreground); font-size: 1.05rem; line-height: 1.7; }

.protection-google-rating {
  width: min(100%, 25rem);
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) 1.3rem;
  align-items: center;
  gap: .85rem;
  margin-top: 1.7rem;
  padding: .72rem .8rem;
  border: 1px solid var(--border);
  border-radius: .7rem;
  background: color-mix(in srgb, var(--muted) 65%, transparent);
  color: var(--foreground);
  text-decoration: none;
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

.protection-google-rating:hover { border-color: color-mix(in srgb, var(--primary-action) 50%, var(--border)); background: var(--muted); transform: translateY(-2px); }
.protection-google-rating__g { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--background); font-size: 1.15rem; font-weight: 900; color: #4285f4; }
.protection-google-rating > span:nth-child(2) { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .15rem .55rem; }
.protection-google-rating strong { font-size: .95rem; }
.protection-google-rating__stars { color: #f5b600; font-size: .78rem; letter-spacing: .05em; }
.protection-google-rating small { grid-column: 1 / -1; color: var(--muted-foreground); font-size: .66rem; }
.protection-google-rating > svg { width: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.8; }

.protection-switch-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.protection-switch-hero__contact { min-height: 3.2rem; display: inline-flex; align-items: center; padding: 0 1rem; border: 1px solid var(--border); border-radius: .65rem; color: var(--foreground); font-weight: 750; text-decoration: none; transition: background .25s ease, border-color .25s ease; }
.protection-switch-hero__contact:hover { border-color: var(--foreground); background: var(--muted); }
.protection-switch-hero__proof { display: flex; align-items: center; gap: .65rem; margin-top: 1.25rem !important; color: var(--muted-foreground); font-size: .72rem !important; }

.protection-switch-hero__dock {
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.3rem;
  padding: .9rem 1.5rem;
  border-top: 1px solid var(--border);
  color: var(--muted-foreground);
  font-size: .75rem;
  font-weight: 700;
}

.protection-switch-hero__dock i { width: .22rem; height: .22rem; border-radius: 50%; background: var(--primary-action); }

@media (max-width: 1180px) {
  .protection-switch-hero__inner { grid-template-columns: 13rem 18rem minmax(21rem, 1fr); gap: 2rem; }
  .protection-phone { width: 16.5rem; height: 33rem; }
  .protection-phone-wrap { min-height: 34rem; }
  .protection-phone__visual { height: 8rem; }
  .protection-phone__copy { min-height: 8rem; }
  .protection-switch-hero__copy h1 { font-size: 3.35rem; }
}

@media (max-width: 920px) {
  .protection-switch-hero { min-height: auto; }
  .protection-switch-hero__inner { grid-template-columns: minmax(17rem, .9fr) minmax(20rem, 1.1fr); padding-top: 4rem; }
  .protection-topic-rail { grid-column: 1 / -1; display: flex; overflow-x: auto; padding-bottom: .4rem; scrollbar-width: none; scroll-snap-type: x proximity; }
  .protection-topic-rail::-webkit-scrollbar { display: none; }
  .protection-topic-rail__label { display: none; }
  .protection-topic-rail a { min-width: 12.5rem; scroll-snap-align: start; }
  .protection-phone-wrap { grid-column: 1; grid-row: 2; }
  .protection-switch-hero__copy { grid-column: 2; grid-row: 2; }
}

@media (max-width: 700px) {
  .protection-switch-hero { padding-top: 4rem; }
  .protection-switch-hero__inner { width: min(100% - 2rem, 90rem); display: flex; flex-direction: column; align-items: stretch; gap: 2.25rem; padding: 2rem 0 2.75rem; }
  .protection-switch-hero__copy { order: 1; max-width: none; }
  .protection-switch-hero__copy h1 { margin-top: 1.2rem; font-size: 2.25rem; }
  .protection-switch-hero__copy > p:not(.protection-switch-hero__proof) { font-size: .98rem; }
  .protection-topic-rail { order: 2; margin-inline: -1rem; padding-inline: 1rem; }
  .protection-phone-wrap { order: 3; min-height: 34rem; }
  .protection-phone { width: 16.5rem; height: 33rem; }
  .protection-phone-orbit { width: 21rem; height: 21rem; }
  .protection-switch-hero__dock { justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
}

@media (max-width: 360px) {
  .protection-switch-hero__copy h1 { font-size: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .protection-phone,
  .protection-topic-rail a { transform: none !important; }
}

html.dark {
  --background: #0d0d0f;
  --foreground: #f5f5f7;
  --muted: #1a1a1e;
  --muted-foreground: #86868b;
  --border: rgba(255, 255, 255, 0.07);
  --primary: #f5c518;
  --primary-hover: #ffd84d;
  --primary-action: #f5c518;
  --primary-action-hover: #ffd84d;
  --on-primary: #111216;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; color-scheme: light; }
html.dark { color-scheme: dark; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: clip;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-body);
  font-optical-sizing: auto;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  line-height: 1.5;
  transition: background-color 250ms ease, color 250ms ease;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { display: block; }

.cinematic-hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  background: #08090b;
  color: #fff;
}

.cinematic-hero__video,
.cinematic-hero__shade,
.cinematic-hero__glow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cinematic-hero__video {
  z-index: -5;
  object-fit: cover;
  object-position: 62% center;
}

.cinematic-hero__shade--side {
  z-index: -4;
  background: linear-gradient(90deg, rgba(4,5,7,.86) 0%, rgba(4,5,7,.6) 38%, rgba(4,5,7,.12) 72%, rgba(4,5,7,.26) 100%);
}

.cinematic-hero__shade--vertical {
  z-index: -3;
  background: linear-gradient(180deg, rgba(0,0,0,.44) 0%, transparent 24%, transparent 58%, rgba(0,0,0,.78) 100%);
}

.cinematic-hero__glow {
  z-index: -2;
  background: radial-gradient(circle at 72% 38%, rgba(245,197,24,.09), transparent 32rem);
}

.site-header {
  --site-header-height: 4.25rem;
  --header-color: #fff;
  --header-border: transparent;
  --header-background: linear-gradient(180deg, rgba(8,9,12,.42), transparent);
  --header-shadow: none;
  --header-backdrop: none;
  --header-control-border: rgba(255,255,255,.15);
  --header-control-background: rgba(255,255,255,.1);
  position: fixed;
  inset: 0 0 auto;
  z-index: 190;
  color: var(--header-color);
  border-bottom: 1px solid var(--header-border);
  background: var(--header-background);
  box-shadow: var(--header-shadow);
  backdrop-filter: var(--header-backdrop);
  -webkit-backdrop-filter: var(--header-backdrop);
  transition:
    border-color .46s var(--ease-premium),
    background .46s var(--ease-premium),
    box-shadow .46s var(--ease-premium),
    backdrop-filter .46s var(--ease-premium);
}

.site-header:is(.is-scrolled, .is-menu-open) {
  --header-color: #fff;
  --header-border: rgba(255,255,255,.11);
  --header-background:
    radial-gradient(circle at 50% 0%, rgba(245,197,24,.055), transparent 32rem),
    color-mix(in srgb, var(--ink-900) 72%, transparent);
  --header-shadow: 0 1.2rem 4rem rgba(0,0,0,.22);
  --header-backdrop: blur(22px) saturate(128%);
  --header-control-border: rgba(255,255,255,.15);
  --header-control-background: rgba(255,255,255,.1);
}

.site-header.is-menu-open {
  z-index: 420;
}

.site-header__inner {
  width: min(100% - 2rem, 80rem);
  height: var(--site-header-height);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
}

.site-brand {
  justify-self: start;
  font-family: var(--font-display);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: 0;
  color: inherit;
}

.site-header__actions { justify-self: end; display: flex; align-items: center; gap: .75rem; }
.header-cta,
.theme-toggle,
.site-menu-toggle {
  position: relative;
  justify-self: center;
  border: 1px solid var(--header-control-border);
  background: var(--header-control-background);
  color: inherit;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 .8rem 2.2rem rgba(0,0,0,.12);
  transition:
    transform .46s var(--ease-premium),
    background .46s var(--ease-premium),
    border-color .46s var(--ease-premium),
    box-shadow .46s var(--ease-premium);
}
.header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: .55rem 1rem;
  border-radius: 999px;
  font-size: .875rem;
  font-weight: 600;
}
.theme-toggle {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.site-menu-toggle {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.site-menu-toggle span {
  position: absolute;
  width: .95rem;
  height: 1.5px;
  border-radius: 99px;
  background: currentColor;
  transition: transform .46s var(--ease-premium), opacity .46s var(--ease-premium);
}

.site-menu-toggle span:first-child { transform: translateY(-.2rem); }
.site-menu-toggle span:last-child { transform: translateY(.2rem); }
.site-menu-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }
.header-cta:hover,
.theme-toggle:hover,
.site-menu-toggle:hover {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 1rem 2.6rem rgba(0,0,0,.16);
  transform: translateY(-1px) scale(1.018);
}

.header-cta:active,
.theme-toggle:active,
.site-menu-toggle:active { transform: translateY(0) scale(.982); }
.theme-toggle svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle__moon { display: none; }
html.dark .theme-toggle__sun { display: none; }
html.dark .theme-toggle__moon { display: block; }

.site-nav-panel {
  position: absolute;
  z-index: 2;
  inset: 100% 0 auto;
  height: calc(100dvh - var(--site-header-height));
  visibility: hidden;
  opacity: 0;
  overflow-y: auto;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 50% -12%, rgba(245,197,24,.08), transparent 34rem),
    linear-gradient(135deg, rgba(255,255,255,.06), transparent 38%),
    var(--ink-900);
  color: #fff;
  box-shadow: 0 2.2rem 5.6rem rgba(0,0,0,.34);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
  transform: translateY(-.8rem);
  transition:
    opacity .42s var(--ease-premium),
    visibility .42s var(--ease-premium),
    transform .42s var(--ease-premium);
}

.site-nav-panel.is-open {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.site-nav-panel__inner {
  width: min(100% - 2rem, 80rem);
  min-height: 100%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(2rem, 5vw, 4rem) 0 1.5rem;
}

.site-nav-panel__main {
  display: grid;
  grid-template-columns: minmax(22rem, .9fr) minmax(13rem, .48fr);
  align-items: start;
  gap: clamp(1rem, 2vw, 1.5rem);
  transition: grid-template-columns .34s ease;
}

.site-nav-panel.has-subnav-open .site-nav-panel__main {
  grid-template-columns: minmax(22rem, .9fr) minmax(24rem, 1.12fr) minmax(13rem, .48fr);
}

.site-nav-panel__label {
  display: block;
  color: var(--primary-action);
  font-size: .65rem;
  font-weight: 750;
  text-transform: uppercase;
}

.site-nav-panel__links {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.site-nav-panel__links a,
.site-nav-panel__group-trigger {
  width: 100%;
  display: grid;
  grid-template-columns: 2rem minmax(0,1fr) auto;
  align-items: baseline;
  gap: .8rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
  border-left: 0;
  border-right: 0;
  border-top: 0;
  background: transparent;
  color: inherit;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.55vw, 2.25rem);
  line-height: 1.1;
  text-align: left;
  cursor: pointer;
  transition:
    color .36s var(--ease-premium),
    padding .36s var(--ease-premium),
    opacity .36s var(--ease-premium),
    filter .36s var(--ease-premium);
}

.site-nav-panel__links a:hover,
.site-nav-panel__group-trigger:hover,
.site-nav-panel__group-trigger.is-active,
.site-nav-panel__group-trigger[aria-expanded="true"],
.site-nav-panel__group-trigger[aria-current="page"] {
  padding-left: .4rem;
  color: var(--primary-action);
}

.site-nav-panel__links a[aria-current="page"],
.site-nav-panel__group-trigger[aria-expanded="true"],
.site-nav-panel__group-trigger[aria-current="page"] {
  color: var(--primary-action);
}

.site-nav-panel__links small {
  color: rgba(255,255,255,.36);
  font-family: var(--font-body);
  font-size: .65rem;
}

.site-nav-panel__links span {
  min-width: 0;
}

.site-nav-panel__group-trigger i {
  width: .64rem;
  height: .64rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  opacity: .42;
  transform: rotate(45deg) translateY(-.12rem);
  transition: transform .36s var(--ease-premium), opacity .36s var(--ease-premium);
}

.site-nav-panel__group-trigger.is-active i,
.site-nav-panel__group-trigger[aria-expanded="true"] i {
  opacity: 1;
  transform: rotate(45deg) translate(.15rem,-.12rem);
}

.site-nav-panel.is-subnav-active .site-nav-panel__primary > :not(.is-active):not(:hover):not([aria-current="page"]):not([aria-expanded="true"]) {
  opacity: .48;
  filter: blur(.55px);
}

.site-nav-panel__subnav {
  position: relative;
  display: none;
  overflow: hidden;
  min-height: 25rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 2rem;
  background:
    radial-gradient(circle at 82% 0%, rgba(245,197,24,.15), transparent 18rem),
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.22);
}

.site-nav-panel.has-subnav-open .site-nav-panel__subnav {
  display: block;
}

.site-nav-panel__subgroup[hidden] {
  display: none;
}

.site-nav-panel__subgroup h2 {
  max-width: 12ch;
  margin: .7rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.6vw, 3.25rem);
  line-height: .98;
  letter-spacing: 0;
}

.site-nav-panel__subgroup p {
  max-width: 34rem;
  margin: 1rem 0 0;
  color: rgba(255,255,255,.62);
  font-size: .92rem;
  line-height: 1.6;
}

.site-nav-panel__subgrid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .65rem;
  margin-top: clamp(1rem, 2vw, 1.5rem);
}

.site-nav-panel__subgrid a {
  position: relative;
  min-height: 7.1rem;
  padding: .9rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.055);
  color: #fff;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.site-nav-panel__subgrid a::before {
  position: absolute;
  inset: auto .9rem .85rem auto;
  width: .46rem;
  height: .46rem;
  border-radius: 999px;
  background: currentColor;
  opacity: .28;
  content: "";
}

.site-nav-panel__subgrid a:hover,
.site-nav-panel__subgrid a[aria-current="page"] {
  transform: translateY(-2px);
  border-color: rgba(245,197,24,.45);
  background: rgba(245,197,24,.09);
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
}

.site-nav-panel__subgrid a[aria-current="page"] {
  color: var(--primary-action);
}

.site-nav-panel__subgrid small,
.site-nav-panel__subgrid span {
  display: block;
  color: rgba(255,255,255,.5);
  font-size: .68rem;
  line-height: 1.35;
}

.site-nav-panel__subgrid strong {
  display: block;
  margin: .55rem 0 .25rem;
  color: currentColor;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  line-height: 1.05;
}

.site-nav-panel__subgrid--compact a {
  min-height: 6rem;
}

.site-nav-panel__contact {
  min-width: 0;
}

.site-nav-panel__contact h2 { margin: .8rem 0 0; font-family: var(--font-display); font-size: clamp(1.8rem, 2.55vw, 2.35rem); line-height: 1; letter-spacing: 0; }
.site-nav-panel__contact address { margin-top: 1.2rem; color: rgba(255,255,255,.6); font-size: .92rem; font-style: normal; line-height: 1.7; }
.site-nav-panel__phone { display: inline-block; margin-top: 1rem; color: var(--primary-action); font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 650; }

.site-nav-panel__footer {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1.6fr) minmax(16rem, .8fr);
  align-items: end;
  gap: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.1);
}

.site-nav-panel__footer dl { margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.site-nav-panel__footer dl div { min-width: 0; }
.site-nav-panel__footer dt { color: rgba(255,255,255,.45); font-size: .65rem; }
.site-nav-panel__footer dd { margin: .25rem 0 0; font-size: .8rem; font-weight: 650; }
.site-nav-panel__footer .is-closed dd { color: #f87171; }
.site-nav-panel__footer > p { margin: 0; color: rgba(255,255,255,.48); font-size: .72rem; line-height: 1.55; text-align: right; }
html { scrollbar-gutter: stable; }
html.is-scroll-locked,
html.is-scroll-locked body,
html.has-nav-open,
html.has-nav-open body,
html.has-call-planner-open,
html.has-call-planner-open body,
html.has-trust-award-open,
html.has-trust-award-open body,
html.has-expand-card-open,
html.has-expand-card-open body,
html.has-pdf-reader-open,
html.has-pdf-reader-open body {
  overflow: hidden;
}

@media (max-width: 700px) {
  .site-header { --site-header-height: 4rem; }
  .site-header__inner,.site-nav-panel__inner { width: min(100% - 1.25rem, 80rem); }
  .site-header__inner { grid-template-columns: 1fr auto 1fr; gap: .75rem; }
  .site-nav-panel { height: calc(100dvh - var(--site-header-height)); }
  .site-nav-panel__inner { padding-top: 1.5rem; }
  .site-nav-panel__main,
  .site-nav-panel.has-subnav-open .site-nav-panel__main {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .site-nav-panel__links a,
  .site-nav-panel__group-trigger {
    grid-template-columns: 1.75rem minmax(0,1fr) auto;
    font-size: clamp(1.35rem, 7vw, 2.05rem);
  }
  .site-nav-panel__subnav {
    min-height: 0;
    border-radius: 1.45rem;
  }
  .site-nav-panel__subgroup h2 { max-width: 14ch; }
  .site-nav-panel__subgrid { grid-template-columns: 1fr; }
  .site-nav-panel__footer { grid-template-columns: 1fr; align-items: start; gap: .75rem; margin-top: 2rem; }
  .site-nav-panel__footer dl { grid-template-columns: 1fr 1fr; }
  .site-nav-panel__footer > p { max-width: 20rem; text-align: left; }
}

/* Modern contact footer */
.site-footer {
  --primary: var(--primary-action);
  position: relative;
  overflow: hidden;
  margin-top: clamp(5rem, 10vw, 9rem);
  background: #0c0c0e;
  color: #f7f7f5;
  isolation: isolate;
}

.site-footer::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(88rem, 88vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(245,197,24,.8), transparent);
  content: "";
  transform: translateX(-50%);
}

.site-footer__inner {
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0 1.75rem;
}

.site-footer__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 3rem;
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.site-footer__eyebrow,
.site-footer__label {
  color: rgba(255,255,255,.52);
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.site-footer__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

.site-footer__eyebrow i,
.site-footer__status i {
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 .32rem rgba(245,197,24,.1);
}

.site-footer__lead h2 {
  max-width: 17ch;
  margin: 1.25rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5.6vw, 5.7rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.site-footer__lead-actions {
  width: min(100%, 20rem);
  display: grid;
  gap: .7rem;
}

.site-footer__primary,
.site-footer__whatsapp {
  min-height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 1.25rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: .65rem;
  color: #fff;
  font-weight: 750;
  text-decoration: none;
  transition: transform .3s ease, border-color .3s ease, background .3s ease, color .3s ease;
}

.site-footer__primary {
  border-color: var(--primary);
  background: var(--primary);
  color: #17140a;
}

.site-footer__whatsapp::after {
  color: #54d987;
  content: "â—";
  font-size: .7rem;
}

.site-footer__primary:hover,
.site-footer__whatsapp:hover {
  transform: translateY(-2px);
}

.site-footer__whatsapp:hover {
  border-color: rgba(84,217,135,.5);
  background: rgba(84,217,135,.08);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 1.25fr) minmax(15rem, 1fr) minmax(15rem, .9fr);
  gap: clamp(3rem, 7vw, 7rem);
  padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.site-footer__brand-mark {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(245,197,24,.55);
  border-radius: 50%;
  color: var(--primary);
  font-family: var(--font-display);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.site-footer__brand h3 {
  margin: 1.5rem 0 .8rem;
  font-family: var(--font-display);
  font-size: 1.35rem;
  letter-spacing: 0;
}

.site-footer__brand p {
  max-width: 28rem;
  margin: 0;
  color: rgba(255,255,255,.55);
  line-height: 1.7;
}

.site-footer__socials {
  display: flex;
  gap: .6rem;
  margin-top: 1.8rem;
}

.site-footer__social {
  position: relative;
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.035);
  color: #fff;
  cursor: pointer;
  transition: transform .3s ease, color .3s ease, border-color .3s ease, background .3s ease;
}

.site-footer__social svg {
  width: 1.12rem;
  height: 1.12rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.site-footer__social svg .is-filled { fill: currentColor; stroke: none; }
.site-footer__social:hover,
.site-footer__social:focus-visible {
  z-index: 2;
  border-color: var(--primary);
  background: var(--primary);
  color: #15120a;
  outline: none;
  transform: translateY(-3px);
}

.site-footer__social::after {
  position: absolute;
  bottom: calc(100% + .65rem);
  left: 50%;
  width: max-content;
  max-width: 12rem;
  padding: .42rem .58rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .38rem;
  background: #202024;
  color: #fff;
  content: attr(data-label);
  font-size: .68rem;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, .25rem);
  transition: opacity .2s ease, transform .2s ease;
}

.site-footer__social:hover::after,
.site-footer__social:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.site-footer__social--pending { color: rgba(255,255,255,.48); }
.site-footer__social-dot {
  position: absolute;
  top: .65rem;
  left: .72rem;
  width: .12rem;
  height: .12rem;
  border-radius: 50%;
  background: currentColor;
}

.site-footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.site-footer__column address {
  display: grid;
  gap: .55rem;
  margin: 1.35rem 0 1.5rem;
  color: rgba(255,255,255,.6);
  font-style: normal;
  line-height: 1.65;
}

.site-footer__column address strong { color: #fff; font-weight: 700; }
.site-footer__column address a,
.site-footer__contact-link { color: inherit; text-decoration: none; }

.site-footer__contact-link {
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .32rem 0;
  color: rgba(255,255,255,.82);
  overflow-wrap: anywhere;
  transition: color .25s ease;
}

.site-footer__column a:hover,
.site-footer__contact-link:hover { color: var(--primary); }

.site-footer__hours {
  width: 100%;
  margin: 1.2rem 0 1.6rem;
}

.site-footer__hours div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.site-footer__hours dt { color: rgba(255,255,255,.57); }
.site-footer__hours dd { margin: 0; color: #fff; font-weight: 650; }
.site-footer__hours .is-closed dd { color: #ff8b7d; }

.site-footer__status {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: .77rem;
  line-height: 1.5;
}

.site-footer__status i { margin-top: .32rem; flex: 0 0 auto; }

.site-footer__bottom {
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.4);
  font-size: .72rem;
}

.site-footer__bottom p { margin: 0; }
.site-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 1.4rem; }
.site-footer__bottom a { color: inherit; text-decoration: none; transition: color .25s ease; }
.site-footer__bottom a:hover { color: #fff; }

@media (max-width: 900px) {
  .site-footer__lead { grid-template-columns: 1fr; align-items: start; }
  .site-footer__lead-actions { width: min(100%, 28rem); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .site-footer { margin-top: 4.5rem; }
  .site-footer__inner { width: min(100% - 2rem, 90rem); padding-top: 3.8rem; }
  .site-footer__lead { gap: 2rem; padding-bottom: 3rem; }
  .site-footer__lead h2 { font-size: clamp(2.45rem, 12vw, 3.7rem); }
  .site-footer__grid { grid-template-columns: 1fr; gap: 3rem; padding: 3.5rem 0; }
  .site-footer__brand { grid-column: auto; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; padding: 1.5rem 0 .5rem; }
  .site-footer__bottom nav { gap: .7rem 1.1rem; }
}

.cinematic-hero__content {
  position: relative;
  z-index: 10;
  width: min(100% - 2rem, 80rem);
  min-height: 100svh;
  margin-inline: auto;
  display: flex;
  align-items: center;
  padding-block: 7.5rem 5.75rem;
}

.cinematic-hero__grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem);
  align-items: end;
  gap: clamp(2rem, 5vw, 5rem);
}

.hero-copy { max-width: 58rem; min-width: 0; }
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.85);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
}
.hero-eyebrow span {
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: var(--primary-action);
  box-shadow: 0 0 1rem rgba(245,197,24,.7);
}
.hero-title {
  max-width: 11ch;
  margin: 1.5rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 7.6vw, 7rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: 0;
  text-wrap: balance;
}
.hero-title span { display: block; color: rgba(255,255,255,.72); }
.hero-lead {
  max-width: 39rem;
  margin: 1.65rem 0 0;
  color: rgba(255,255,255,.76);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.65;
  text-wrap: pretty;
}
.hero-actions { margin-top: 1.75rem; display: flex; flex-wrap: wrap; gap: .7rem; }
.button {
  min-height: 3rem;
  padding: .75rem 1.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 700;
  transition: transform .3s ease, background .3s ease, border-color .3s ease;
}
.button:hover { transform: scale(1.01); }
.button svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s ease; }
.button--primary { background: var(--primary-action); color: var(--on-primary); box-shadow: 0 14px 40px rgba(245,197,24,.24); }
.button--primary:hover { background: var(--primary-action-hover); }
.button--primary:hover svg { transform: translate(.125rem,-.125rem); }
.button--glass { border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.08); color: #fff; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.button--glass:hover { background: rgba(255,255,255,.14); }
.hero-whatsapp svg { stroke-width: 1.65; }
.hero-benefits {
  width: fit-content;
  margin: 1.75rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  color: rgba(255,255,255,.7);
  font-size: .8rem;
}
.hero-benefits li { display: flex; align-items: center; gap: .5rem; }
.hero-benefits span { width: .32rem; height: .32rem; border-radius: 50%; background: var(--primary-action); box-shadow: 0 0 .8rem rgba(245,197,24,.55); }

.hero-call-planner {
  align-self: end;
  min-width: 0;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1.1rem;
  background: rgba(20,22,27,.46);
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(24px) saturate(130%);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
}
.hero-call-planner__head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; }
.hero-call-planner__icon { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.09); color: var(--primary-action); }
.hero-call-planner__icon svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-call-planner__head div span { display: block; color: rgba(255,255,255,.58); font-size: .72rem; }
.hero-call-planner__head strong { display: block; margin-top: .08rem; font-size: .92rem; }
.hero-call-planner__head small { color: rgba(255,255,255,.5); font-size: .72rem; }
.hero-call-planner__quick { margin-top: .75rem; }
.hero-call-planner__quick > label { display: block; }
.hero-call-planner__quick > label > span { display: block; margin: 0 0 .3rem .15rem; color: rgba(255,255,255,.56); font-size: .7rem; }
.hero-call-planner select {
  width: 100%;
  height: 2.45rem;
  padding: 0 2rem 0 .75rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .65rem;
  outline: none;
  background: rgba(0,0,0,.2);
  color: #fff;
  font: inherit;
  font-size: .82rem;
  color-scheme: dark;
}
.hero-call-planner select option { background: #1c1c1f; color: #fff; }
.hero-call-planner__times { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; margin-top: .45rem; }
.hero-call-planner__times button { height: 2.1rem; border: 1px solid rgba(255,255,255,.09); border-radius: .55rem; background: rgba(255,255,255,.05); color: rgba(255,255,255,.72); font-size: .76rem; cursor: pointer; }
.hero-call-planner__times button.is-active { border-color: rgba(245,197,24,.6); background: rgba(245,197,24,.2); color: #fff; }
.hero-call-planner__continue { width: 100%; height: 2.65rem; margin-top: .55rem; display: flex; align-items: center; justify-content: space-between; padding: 0 .85rem; border: 0; border-radius: .7rem; background: var(--primary-action); color: var(--on-primary); font-size: .82rem; font-weight: 750; cursor: pointer; transition: background .25s ease, transform .25s ease; }
.hero-call-planner__continue:hover { background: var(--primary-action-hover); transform: translateY(-1px); }
.hero-call-planner__continue svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.hero-media-controls {
  position: absolute;
  z-index: 21;
  left: max(1rem, calc((100vw - 80rem) / 2));
  bottom: 1.25rem;
  display: flex;
  gap: .5rem;
}
.hero-media-controls button {
  width: 2.7rem;
  height: 2.7rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  background: rgba(18,20,24,.5);
  color: rgba(255,255,255,.86);
  cursor: pointer;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: background .25s ease, transform .25s ease;
}
.hero-media-controls button:hover { background: rgba(255,255,255,.16); transform: scale(1.04); }
.hero-media-controls svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-control__play,
.hero-control__sound { display: none !important; }
.hero-media-controls [data-hero-video-toggle][aria-pressed="true"] .hero-control__pause,
.hero-media-controls [data-hero-mute-toggle][aria-pressed="false"] .hero-control__muted { display: none !important; }
.hero-media-controls [data-hero-video-toggle][aria-pressed="true"] .hero-control__play,
.hero-media-controls [data-hero-mute-toggle][aria-pressed="false"] .hero-control__sound { display: block !important; }

.call-planner-dialog { position: fixed; inset: 0; z-index: 220; display: grid; place-items: center; padding: 1rem; visibility: hidden; opacity: 0; transition: opacity .28s ease, visibility .28s ease; }
.call-planner-dialog.is-open { visibility: visible; opacity: 1; }
.call-planner-dialog__backdrop { position: absolute; inset: 0; background: rgba(8,9,12,.62); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.call-planner-sheet { position: relative; width: min(46rem,100%); max-height: calc(100svh - 2rem); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; padding: clamp(1.4rem,4vw,2.5rem); border: 1px solid color-mix(in srgb,var(--foreground) 9%,transparent); border-radius: 1.5rem; background: var(--background); color: var(--foreground); box-shadow: 0 40px 120px rgba(0,0,0,.38); transform: translateY(18px) scale(.98); transition: transform .34s cubic-bezier(.2,.75,.25,1); }
.call-planner-dialog.is-open .call-planner-sheet { transform: translateY(0) scale(1); }
.call-planner-sheet__close { position: absolute; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem; border: 1px solid var(--border); border-radius: 50%; background: var(--muted); color: var(--foreground); cursor: pointer; }
.call-planner-sheet__close::before,.call-planner-sheet__close::after { position: absolute; top: 50%; left: 50%; width: .9rem; height: 1.5px; border-radius: 99px; background: currentColor; content: ""; transform: translate(-50%,-50%) rotate(45deg); }
.call-planner-sheet__close::after { transform: translate(-50%,-50%) rotate(-45deg); }
.call-planner-sheet__head { padding-right: 3rem; }
.call-planner-sheet__head > span { color: var(--primary); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.call-planner-sheet__head h2 { max-width: 15ch; margin: .55rem 0 0; font-family: var(--font-display); font-size: clamp(1.8rem,4vw,3rem); line-height: 1.02; letter-spacing: 0; }
.call-planner-sheet__head p { max-width: 37rem; margin: .8rem 0 0; color: var(--muted-foreground); line-height: 1.6; }
.call-planner-form { margin-top: 1.5rem; }
.call-planner-form label > span,.call-planner-urgency legend { display: block; margin: 0 0 .35rem .1rem; color: var(--muted-foreground); font-size: .7rem; font-weight: 600; }
.call-planner-form__row { display: grid; grid-template-columns: 1.3fr 1fr .75fr; gap: .65rem; }
.call-planner-form input,.call-planner-form select { width: 100%; height: 3rem; padding: 0 .85rem; border: 1px solid var(--border); border-radius: .7rem; outline: none; background: var(--muted); color: var(--foreground); font: inherit; font-size: .85rem; }
.dark .call-planner-form input,.dark .call-planner-form select { color-scheme: dark; }
.dark .call-planner-form select option { background: #1c1c1f; color: #fff; }
.call-planner-form input:focus,.call-planner-form select:focus { border-color: color-mix(in srgb,var(--primary) 60%,var(--border)); box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent); }
.call-planner-urgency { margin: 1rem 0 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
.call-planner-urgency legend { grid-column: 1/-1; }
.call-planner-urgency label { position: relative; }
.call-planner-urgency input { position: absolute; opacity: 0; pointer-events: none; }
.call-planner-urgency label span { height: 2.65rem; margin: 0; display: grid; place-items: center; border: 1px solid var(--border); border-radius: .7rem; background: var(--muted); color: var(--muted-foreground); cursor: pointer; }
.call-planner-urgency input:checked + span { border-color: color-mix(in srgb,var(--primary) 55%,var(--border)); background: color-mix(in srgb,var(--primary) 9%,var(--background)); color: var(--primary); }
.call-planner-urgency label:nth-of-type(2) input:checked + span { border-color: rgba(220,38,38,.4); background: rgba(220,38,38,.08); color: #dc2626; }
.call-planner-form__contact { display: grid; grid-template-columns: 1.25fr 1fr 1.25fr; gap: .65rem; margin-top: 1rem; }
.call-planner-form__actions { display: flex; align-items: center; gap: .75rem; margin-top: 1.25rem; }
.call-planner-form__actions > a { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; padding: .75rem 1.25rem; border: 1px solid var(--border); border-radius: 999px; color: var(--foreground); font-size: .85rem; font-weight: 700; }
.call-planner-form__note { margin: .75rem 0 0; color: var(--muted-foreground); font-size: .72rem; }

.scroll-cue {
  position: absolute;
  z-index: 20;
  left: 50%;
  bottom: 1.25rem;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.7);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.scroll-cue svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; animation: cue 1.8s ease-in-out infinite; }
@keyframes cue { 0%,100% { transform: translateY(0); } 50% { transform: translateY(.25rem); } }

.next-section { background: var(--background); padding: 6rem 0; }
.section-shell { width: min(100% - 2rem, 80rem); margin-inline: auto; }
.next-card { padding: clamp(2rem,5vw,3rem); border: 1px solid var(--border); border-radius: 2rem; background: var(--muted); transition: transform .3s ease, background-color .25s ease, border-color .25s ease; }
.next-card:hover { transform: scale(1.01); }
.next-card > span { color: var(--primary); font-size: .875rem; font-weight: 700; }
.next-card h2 { max-width: 46rem; margin: .75rem 0 0; font-family: var(--font-display); font-size: clamp(2rem,5vw,3.5rem); line-height: 1.05; letter-spacing: -.045em; text-wrap: balance; }
.next-card p { max-width: 44rem; margin: 1rem 0 0; color: var(--muted-foreground); line-height: 1.75; }

[data-stagger-item], [data-reveal] { opacity: 1; transform: none; }
[data-stagger-item].is-visible,
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}

@media (max-width: 1023px) {
  .cinematic-hero__content { align-items: flex-end; padding-top: 5rem; padding-bottom: 3rem; }
  .cinematic-hero__grid { grid-template-columns: minmax(0,1fr); }
  .hero-call-planner { width: min(20rem, 100%); margin-top: 1.25rem; }
}

@media (max-width: 639px) {
  .header-cta { display: none; }
  .cinematic-hero__video { object-position: 68% center; }
  .cinematic-hero__shade--side { background: linear-gradient(90deg, rgba(4,5,7,.88) 0%, rgba(4,5,7,.68) 58%, rgba(4,5,7,.38) 100%); }
  .cinematic-hero__content { width: min(100% - 1.25rem, 80rem); min-height: 100svh; padding-top: 5.25rem; padding-bottom: 4.5rem; }
  .hero-title { max-width: 100%; font-size: clamp(2.8rem, 12vw, 4rem); letter-spacing: 0; }
  .hero-actions { flex-direction: column; }
  .button { width: 100%; }
  .hero-benefits { width: 100%; gap: .5rem 1rem; }
  .hero-call-planner { width: 100%; margin-top: .75rem; }
  .hero-call-planner__quick { display: none; }
  .hero-call-planner__continue { margin-top: .65rem; }
  .hero-media-controls { left: 1rem; bottom: 1rem; }
  .scroll-cue { display: none; }
  .next-section { padding: 4rem 0; }
  .section-shell { width: min(100% - 1.25rem, 80rem); }
  .next-card { border-radius: 1.5rem; }
}

@media (max-width: 700px) {
  .call-planner-dialog { display: block; padding: .5rem; }
  .call-planner-sheet { position: absolute; inset: .5rem; width: auto; height: calc(100dvh - 1rem); max-height: none; overflow-y: scroll; border-radius: 1.35rem 1.35rem .8rem .8rem; padding: 1.25rem 1.25rem 2rem; }
  .call-planner-form__row,.call-planner-form__contact { grid-template-columns: 1fr 1fr; }
  .call-planner-form__row label:first-child,.call-planner-form__contact label:first-child { grid-column: 1/-1; }
  .call-planner-urgency { grid-template-columns: 1fr; }
  .call-planner-form__actions { align-items: stretch; flex-direction: column; }
  .call-planner-form__actions .button,.call-planner-form__actions > a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-stagger-item], [data-reveal] { opacity: 1; transform: none; }
}

/* Guided quickcheck */
.quickcheck-section {
  padding: clamp(5rem, 9vw, 8rem) 0 clamp(4.5rem, 8vw, 7rem);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--background) 92%, #eaf4ff) 0%, var(--background) 78%),
    var(--background);
}

.quickcheck-heading {
  max-width: 56rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.quickcheck-heading h2 {
  max-width: 54rem;
  margin: 1rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5.6vw, 4.95rem);
  line-height: .98;
  letter-spacing: -.042em;
  text-wrap: balance;
}

.quickcheck-heading p {
  max-width: 42rem;
  margin: 1.2rem 0 0;
  color: var(--muted-foreground);
  font-size: 1rem;
  line-height: 1.75;
}

.quickcheck-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(21rem, .72fr);
  align-items: start;
  gap: 1rem;
}

.quickcheck-panel,
.quickcheck-result {
  min-width: 0;
  padding: clamp(1.1rem, 2.4vw, 1.8rem);
}

.quickcheck-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.quickcheck-step > span {
  width: 2.7rem;
  height: 2.7rem;
  flex: 0 0 2.7rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--foreground);
  color: var(--background);
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.quickcheck-step h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
  line-height: 1.12;
  letter-spacing: -.04em;
}

.quickcheck-step p {
  max-width: 36rem;
  margin: .45rem 0 0;
  color: var(--muted-foreground);
  line-height: 1.65;
}

.quickcheck-step--compact {
  margin-top: 1.25rem;
  align-items: center;
}

.quickcheck-step--compact h3 {
  font-size: 1rem;
  letter-spacing: -.025em;
}

.quickcheck-options {
  margin-top: 1.35rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.quickcheck-option,
.quickcheck-urgency button {
  border: 1px solid var(--border);
  color: var(--foreground);
  font: inherit;
  cursor: pointer;
  transition:
    transform .32s cubic-bezier(.2,.75,.25,1),
    border-color .32s ease,
    background .32s ease,
    box-shadow .32s ease,
    color .32s ease;
}

.quickcheck-option {
  min-height: 8.25rem;
  padding: 1rem;
  border-radius: 1.35rem;
  background: color-mix(in srgb, var(--background) 72%, var(--muted));
  text-align: left;
}

.quickcheck-option span {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: .32rem .6rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 84%, transparent);
  color: var(--primary);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.quickcheck-option strong {
  display: block;
  max-width: 15rem;
  margin-top: 1.35rem;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  line-height: 1.12;
  letter-spacing: -.04em;
}

.quickcheck-option:hover,
.quickcheck-option.is-active,
.quickcheck-urgency button:hover,
.quickcheck-urgency button.is-active {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary) 34%, var(--border));
  background: color-mix(in srgb, var(--background) 88%, #eaf4ff);
  box-shadow: 0 18px 46px color-mix(in srgb, var(--primary) 10%, transparent);
}

.quickcheck-option.is-active {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent), 0 18px 46px color-mix(in srgb, var(--primary) 12%, transparent);
}

.quickcheck-urgency {
  margin-top: .85rem;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.quickcheck-urgency button {
  min-height: 2.65rem;
  padding: .62rem .9rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--background) 74%, var(--muted));
  font-size: .85rem;
  font-weight: 700;
}

.quickcheck-result {
  position: sticky;
  top: 5rem;
}

.quickcheck-result__eyebrow {
  color: var(--primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.quickcheck-result h3 {
  margin: .8rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.quickcheck-result p {
  margin: 1rem 0 0;
  color: var(--muted-foreground);
  line-height: 1.72;
}

.quickcheck-result__list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .65rem;
}

.quickcheck-result__list li {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: color-mix(in srgb, var(--foreground) 84%, var(--muted-foreground));
  font-size: .92rem;
  font-weight: 650;
}

.quickcheck-result__list li::before {
  content: "";
  width: .55rem;
  height: .55rem;
  flex: 0 0 .55rem;
  border-radius: 999px;
  background: var(--primary);
  box-shadow: 0 0 0 .3rem color-mix(in srgb, var(--primary) 12%, transparent);
}

.quickcheck-result__meta {
  margin-top: 1.6rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.quickcheck-result__meta div {
  padding: .9rem;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--background) 72%, var(--muted));
}

.quickcheck-result__meta span {
  display: block;
  color: var(--muted-foreground);
  font-size: .72rem;
  font-weight: 700;
}

.quickcheck-result__meta strong {
  display: block;
  margin-top: .35rem;
  font-family: var(--font-display);
  font-size: .95rem;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.quickcheck-actions {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.quickcheck-whatsapp {
  min-height: 3rem;
  padding: .75rem 1.15rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--background) 74%, var(--muted));
  color: var(--primary);
  font-size: .875rem;
  font-weight: 800;
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

.quickcheck-whatsapp:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary) 28%, var(--border));
  background: color-mix(in srgb, var(--background) 90%, #eaf4ff);
}

.quickcheck-panel.premium-surface-card:hover,
.quickcheck-result.premium-surface-card:hover {
  transform: none !important;
}

html.dark .quickcheck-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(245,197,24,.12), transparent 30rem),
    var(--background);
}

html.dark .quickcheck-option,
html.dark .quickcheck-urgency button,
html.dark .quickcheck-result__meta div,
html.dark .quickcheck-whatsapp {
  background: rgba(255,255,255,.035);
}

html.dark .quickcheck-option:hover,
html.dark .quickcheck-option.is-active,
html.dark .quickcheck-urgency button:hover,
html.dark .quickcheck-urgency button.is-active,
html.dark .quickcheck-whatsapp:hover {
  background: rgba(245,197,24,.09);
}

@media (max-width: 980px) {
  .quickcheck-layout { grid-template-columns: 1fr; }
  .quickcheck-result { position: relative; top: auto; }
}

@media (max-width: 639px) {
  .quickcheck-section { padding: 4rem 0; }
  .quickcheck-options { grid-template-columns: 1fr; }
  .quickcheck-option { min-height: 7rem; border-radius: 1.15rem; }
  .quickcheck-result__meta { grid-template-columns: 1fr; }
  .quickcheck-actions { flex-direction: column; }
  .quickcheck-whatsapp { width: 100%; }
}

/* Bento card funnel */
.funnel-section {
  padding: clamp(5rem, 9vw, 8rem) 0 clamp(5.5rem, 9vw, 8rem);
  background:
    radial-gradient(circle at 10% 12%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 28rem),
    linear-gradient(180deg, color-mix(in srgb, var(--background) 94%, #eef6ff) 0%, var(--background) 80%);
}

.funnel-heading {
  margin-bottom: clamp(2rem, 4.5vw, 3.75rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 28rem);
  align-items: end;
  gap: 2rem;
}

.funnel-heading h2 {
  max-width: 58rem;
  margin: 1rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 6.2vw, 5.8rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.funnel-heading p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 1rem;
  line-height: 1.75;
  text-wrap: pretty;
}

.funnel-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 30rem);
  align-items: start;
  gap: 1rem;
}

.funnel-board {
  min-width: 0;
  padding: .75rem;
  border: 1px solid var(--border);
  border-radius: 2.25rem;
  background: color-mix(in srgb, var(--muted) 62%, transparent);
  box-shadow: 0 20px 70px color-mix(in srgb, var(--foreground) 7%, transparent);
}

.funnel-board__topline {
  min-height: 3.3rem;
  padding: .3rem .45rem .75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.funnel-board__topline span {
  color: var(--muted-foreground);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.funnel-board__topline strong {
  color: var(--primary);
  font-size: .88rem;
  font-weight: 800;
}

.funnel-bento {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: minmax(10.5rem, auto);
  gap: .75rem;
}

.funnel-card {
  position: relative;
  min-width: 0;
  grid-column: span 2;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 90%, transparent);
  border-radius: 1.65rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), transparent 42%),
    color-mix(in srgb, var(--background) 86%, var(--muted));
  color: var(--foreground);
  text-align: left;
  font: inherit;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.7);
  isolation: isolate;
  transition:
    transform .42s cubic-bezier(.2,.75,.25,1),
    border-color .42s ease,
    background .42s ease,
    box-shadow .42s ease;
}

.funnel-card::before {
  content: "";
  position: absolute;
  inset: auto -18% -42% auto;
  width: 11rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 12%, transparent);
  filter: blur(24px);
  opacity: 0;
  transition: opacity .42s ease, transform .42s cubic-bezier(.2,.75,.25,1);
  z-index: -1;
}

.funnel-card--hero {
  grid-column: span 3;
  grid-row: span 2;
  min-height: 22rem;
}

.funnel-card--tall {
  grid-row: span 2;
}

.funnel-card--wide {
  grid-column: span 4;
}

.funnel-card__number {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: color-mix(in srgb, var(--foreground) 28%, transparent);
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.funnel-card__icon {
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--primary) 10%, var(--background));
  color: var(--primary);
  box-shadow: inset 0 1px rgba(255,255,255,.72);
}

.funnel-card__icon svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.funnel-card__kicker {
  display: block;
  margin-top: 1.65rem;
  color: var(--primary);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.funnel-card strong {
  display: block;
  max-width: 16rem;
  margin-top: .55rem;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.85rem);
  line-height: 1.05;
  letter-spacing: -.038em;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}

.funnel-card--hero strong {
  max-width: 100%;
  font-size: clamp(1.65rem, 2.35vw, 2.25rem);
}

.funnel-card p {
  max-width: 20rem;
  margin: .75rem 0 0;
  color: var(--muted-foreground);
  font-size: .9rem;
  line-height: 1.55;
  text-wrap: pretty;
}

.funnel-card:hover,
.funnel-card.is-active {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--primary) 36%, var(--border));
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), transparent 42%),
    color-mix(in srgb, var(--background) 92%, #edf6ff);
  box-shadow:
    inset 0 1px rgba(255,255,255,.9),
    0 24px 62px color-mix(in srgb, var(--primary) 12%, transparent);
}

.funnel-card:hover::before,
.funnel-card.is-active::before {
  opacity: 1;
  transform: translate(-8%, -8%) scale(1.08);
}

.funnel-card.is-active .funnel-card__icon {
  background: var(--primary-action);
  color: var(--on-primary);
}

.funnel-intent {
  margin-top: .75rem;
  padding: .7rem;
  border: 1px solid var(--border);
  border-radius: 1.45rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  background: color-mix(in srgb, var(--background) 70%, transparent);
}

.funnel-intent > span {
  margin-right: .25rem;
  color: var(--muted-foreground);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.funnel-intent button {
  min-height: 2.55rem;
  padding: .62rem .88rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--background) 82%, var(--muted));
  color: var(--foreground);
  font: inherit;
  font-size: .84rem;
  font-weight: 760;
  cursor: pointer;
  transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}

.funnel-intent button:hover,
.funnel-intent button.is-active {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary) 34%, var(--border));
  background: color-mix(in srgb, var(--primary) 9%, var(--background));
  box-shadow: 0 12px 34px color-mix(in srgb, var(--primary) 9%, transparent);
}

.funnel-result {
  position: sticky;
  top: 5rem;
  min-width: 0;
  padding: clamp(1.2rem, 2.5vw, 1.85rem);
  border-radius: 2rem;
}

.funnel-result.premium-surface-card:hover {
  transform: none !important;
}

.funnel-result__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .9rem;
  padding: .45rem .45rem .45rem .75rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--background) 78%, var(--muted));
}

.funnel-result__status span {
  color: var(--muted-foreground);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.funnel-result__status strong {
  min-height: 2.1rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  background: var(--foreground);
  color: var(--background);
  font-size: .8rem;
  font-weight: 800;
}

.funnel-result__eyebrow {
  display: block;
  margin-top: 1.5rem;
  color: var(--primary);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.funnel-result h3 {
  margin: .75rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3vw, 3.2rem);
  line-height: 1.01;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.funnel-result p {
  margin: 1rem 0 0;
  color: var(--muted-foreground);
  line-height: 1.72;
  text-wrap: pretty;
}

.funnel-result__list {
  margin: 1.45rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .65rem;
}

.funnel-result__list li {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: color-mix(in srgb, var(--foreground) 86%, var(--muted-foreground));
  font-size: .92rem;
  font-weight: 700;
}

.funnel-result__list li::before {
  content: "";
  width: .58rem;
  height: .58rem;
  flex: 0 0 .58rem;
  border-radius: 999px;
  background: var(--primary);
  box-shadow: 0 0 0 .32rem color-mix(in srgb, var(--primary) 12%, transparent);
}

.funnel-result__meta {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.funnel-result__meta div {
  min-width: 0;
  padding: .9rem;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--background) 74%, var(--muted));
}

.funnel-result__meta span {
  display: block;
  color: var(--muted-foreground);
  font-size: .72rem;
  font-weight: 750;
}

.funnel-result__meta strong {
  display: block;
  margin-top: .35rem;
  font-family: var(--font-display);
  font-size: .92rem;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.funnel-actions {
  margin-top: 1.45rem;
}

html.dark .funnel-section {
  background:
    radial-gradient(circle at 10% 12%, rgba(245,197,24,.13), transparent 30rem),
    var(--background);
}

html.dark .funnel-board,
html.dark .funnel-intent {
  background: rgba(255,255,255,.035);
}

html.dark .funnel-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 42%),
    rgba(255,255,255,.025);
  box-shadow: inset 0 1px rgba(255,255,255,.055);
}

html.dark .funnel-card:hover,
html.dark .funnel-card.is-active {
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 42%),
    rgba(245,197,24,.075);
  box-shadow: 0 24px 68px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.08);
}

html.dark .funnel-card__icon,
html.dark .funnel-intent button,
html.dark .funnel-result__status,
html.dark .funnel-result__meta div {
  background: rgba(255,255,255,.045);
}

@media (max-width: 1100px) {
  .funnel-layout,
  .funnel-heading {
    grid-template-columns: 1fr;
  }

  .funnel-result {
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .funnel-bento {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .funnel-card,
  .funnel-card--hero,
  .funnel-card--tall,
  .funnel-card--wide {
    grid-column: auto;
    grid-row: auto;
    min-height: 11.5rem;
  }

  .funnel-card--hero strong {
    font-size: clamp(1.45rem, 8vw, 2.35rem);
  }

  .funnel-card:hover,
  .funnel-card.is-active {
    transform: none;
  }

  .funnel-board {
    padding: .55rem;
    border-radius: 1.65rem;
  }

  .funnel-board__topline {
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }

  .funnel-intent {
    align-items: stretch;
    flex-direction: column;
  }

  .funnel-intent button {
    width: 100%;
  }

  .funnel-result__meta {
    grid-template-columns: 1fr;
  }
}

/* True guided funnel */
.guided-funnel-section {
  padding: clamp(5rem, 9vw, 8rem) 0 clamp(5.5rem, 9vw, 8rem);
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 30rem),
    linear-gradient(180deg, color-mix(in srgb, var(--background) 94%, #eef6ff), var(--background) 78%);
}

.guided-funnel-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(25rem, .96fr);
  align-items: start;
  gap: clamp(4rem, 8vw, 8rem);
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.guided-funnel-heading h2 {
  margin: 1rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5.7vw, 5.45rem);
  line-height: .98;
  letter-spacing: 0;
  text-wrap: balance;
}

.funnel-explainer {
  min-width: 0;
  padding-top: .35rem;
}

.funnel-explainer__badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2rem;
  padding: .4rem .68rem;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
  border-radius: .45rem;
  background: color-mix(in srgb, var(--primary) 7%, var(--background));
  color: var(--primary);
  font-size: .68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.funnel-explainer__badge i {
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 .22rem rgba(34,197,94,.1), 0 0 .8rem rgba(34,197,94,.35);
}

.funnel-explainer__intro h3 {
  max-width: 25rem;
  margin: 1.05rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.2vw, 1.95rem);
  line-height: 1.14;
  letter-spacing: 0;
}

.funnel-explainer__intro > p {
  max-width: 35rem;
  margin: 1rem 0 0;
  color: var(--muted-foreground);
  font-size: .92rem;
  line-height: 1.7;
}

.funnel-process {
  margin: 1.45rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--border);
}

.funnel-process li {
  position: relative;
  display: grid;
  grid-template-columns: 2.4rem minmax(0,1fr);
  gap: .9rem;
  padding: .9rem .15rem;
  border-bottom: 1px solid var(--border);
  transition: padding .25s ease, background .25s ease;
}

.funnel-process li:hover {
  padding-inline: .55rem;
  background: color-mix(in srgb, var(--primary) 4%, transparent);
}

.funnel-process__number {
  padding-top: .12rem;
  color: var(--primary);
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 700;
}

.funnel-process li div {
  min-width: 0;
}

.funnel-process strong {
  display: block;
  color: var(--foreground);
  font-size: .88rem;
  line-height: 1.35;
}

.funnel-process li p {
  margin: .18rem 0 0;
  color: var(--muted-foreground);
  font-size: .78rem;
  line-height: 1.5;
}

.funnel-explainer__trust {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .65rem;
  margin: 1rem 0 0;
  color: var(--muted-foreground);
  font-size: .72rem;
  line-height: 1.55;
}

.funnel-explainer__trust svg {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: .05rem;
  fill: none;
  stroke: var(--primary);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 980px) {
  .guided-funnel-heading {
    grid-template-columns: 1fr;
    gap: 2.75rem;
  }

  .funnel-explainer {
    max-width: 42rem;
  }
}

.guided-funnel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(27rem, 34rem);
  align-items: stretch;
  gap: 1rem;
}

.guided-funnel__main,
.guided-funnel__status {
  min-width: 0;
  border-radius: 2.5rem;
}

.guided-funnel__main {
  padding: clamp(1.1rem, 2.5vw, 2rem);
  border: 1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(255,255,255,.66), transparent 42%),
    color-mix(in srgb, var(--muted) 68%, transparent);
  box-shadow: 0 24px 80px color-mix(in srgb, var(--foreground) 7%, transparent);
}

.guided-funnel__question {
  padding: .25rem .2rem clamp(1.1rem, 2.3vw, 1.7rem);
}

.guided-funnel__question span {
  color: var(--primary);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.guided-funnel__question h3 {
  max-width: 42rem;
  margin: .65rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.4vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.042em;
  text-wrap: balance;
}

.guided-funnel__question p {
  max-width: 40rem;
  margin: .9rem 0 0;
  color: var(--muted-foreground);
  line-height: 1.7;
}

.guided-funnel__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.guided-option {
  position: relative;
  min-height: 13.5rem;
  padding: clamp(1.1rem, 2vw, 1.55rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
  border-radius: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), transparent 46%),
    color-mix(in srgb, var(--background) 88%, var(--muted));
  color: var(--foreground);
  text-align: left;
  font: inherit;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.82);
  isolation: isolate;
  transition:
    transform .42s cubic-bezier(.2,.75,.25,1),
    border-color .42s ease,
    box-shadow .42s ease,
    background .42s ease;
}

.guided-option::before {
  content: "";
  position: absolute;
  right: -18%;
  bottom: -45%;
  width: 12rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 12%, transparent);
  filter: blur(26px);
  opacity: 0;
  z-index: -1;
  transition: opacity .4s ease, transform .42s cubic-bezier(.2,.75,.25,1);
}

.guided-option--wide {
  grid-column: span 2;
  min-height: 11.5rem;
}

.guided-option__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--primary) 10%, var(--background));
  color: var(--primary);
  box-shadow: inset 0 1px rgba(255,255,255,.72);
}

.guided-option__icon svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.guided-option__label {
  display: block;
  color: var(--primary);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.guided-option strong {
  display: block;
  max-width: 28rem;
  margin-top: .55rem;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.6vw, 2.35rem);
  line-height: 1.03;
  letter-spacing: -.04em;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.guided-option p {
  max-width: 34rem;
  margin: .65rem 0 0;
  color: var(--muted-foreground);
  line-height: 1.58;
}

.guided-option__arrow {
  inline-size: 2rem;
  block-size: 2rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: var(--primary);
  font-size: .88rem;
  font-weight: 850;
  line-height: 1;
}

.guided-option:hover,
.guided-option.is-selected {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--primary) 36%, var(--border));
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), transparent 46%),
    color-mix(in srgb, var(--background) 94%, #eef6ff);
  box-shadow:
    inset 0 1px rgba(255,255,255,.95),
    0 26px 70px color-mix(in srgb, var(--primary) 12%, transparent);
}

.guided-option:hover::before,
.guided-option.is-selected::before {
  opacity: 1;
  transform: translate(-6%, -8%) scale(1.08);
}

.guided-option--danger {
  border-color: color-mix(in srgb, #ff3b30 22%, var(--border));
}

.guided-option--danger::before {
  background: color-mix(in srgb, #ff3b30 22%, transparent);
  opacity: .42;
}

.guided-option--danger .guided-option__icon {
  background: color-mix(in srgb, #ff3b30 13%, var(--background));
  color: #d92d20;
}

.guided-option--danger .guided-option__label,
.guided-option--danger .guided-option__arrow {
  color: #d92d20;
}

.guided-option--danger:hover,
.guided-option--danger.is-selected {
  border-color: color-mix(in srgb, #ff3b30 46%, var(--border));
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), transparent 46%),
    color-mix(in srgb, var(--background) 88%, #fff1f0);
  box-shadow:
    inset 0 1px rgba(255,255,255,.95),
    0 26px 70px rgba(255,59,48,.14);
}

.guided-funnel__actions {
  min-height: 3rem;
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.guided-funnel__actions span {
  color: var(--muted-foreground);
  font-size: .85rem;
  line-height: 1.5;
}

.guided-funnel__back {
  border: 0;
  padding: .7rem .85rem;
  border-radius: 999px;
  background: transparent;
  color: var(--primary);
  font: inherit;
  font-size: .875rem;
  font-weight: 850;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, background .25s ease, transform .25s ease;
}

.guided-funnel__back.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.guided-funnel__back:hover {
  background: color-mix(in srgb, var(--primary) 8%, transparent);
  transform: translateY(-1px);
}

.guided-funnel__status {
  padding: clamp(1.25rem, 2.5vw, 1.7rem);
  background:
    radial-gradient(circle at 88% 0%, rgba(245,197,24,.18), transparent 16rem),
    #171719;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.22);
  transition: box-shadow .32s ease, background .32s ease;
}

.guided-funnel__status.is-urgent {
  background:
    radial-gradient(circle at 88% 0%, rgba(255,59,48,.24), transparent 16rem),
    #181315;
  box-shadow: 0 28px 90px rgba(255,59,48,.14), 0 28px 90px rgba(0,0,0,.22);
}

.guided-funnel__status-head {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: rgba(255,255,255,.62);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.guided-funnel__status-head span {
  width: .62rem;
  height: .62rem;
  border-radius: 50%;
  background: var(--primary-action);
  box-shadow: 0 0 0 .35rem rgba(245,197,24,.16);
}

.guided-funnel__steps {
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
}

.guided-funnel__steps li {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: .8rem;
  align-items: start;
  opacity: .54;
  transition: opacity .3s ease, transform .3s ease;
}

.guided-funnel__steps li.is-active,
.guided-funnel__steps li.is-complete {
  opacity: 1;
}

.guided-funnel__steps li > span {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  font-family: var(--font-display);
  font-size: .82rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.guided-funnel__steps li.is-active > span,
.guided-funnel__steps li.is-complete > span {
  background: var(--primary-action);
  color: var(--on-primary);
}

.guided-funnel__steps strong {
  display: block;
  color: rgba(255,255,255,.68);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.guided-funnel__steps p {
  margin: .3rem 0 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.15;
  letter-spacing: -.035em;
}

.guided-funnel__note {
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1.35rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  background: rgba(255,255,255,.045);
}

.guided-funnel__note span {
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(245,197,24,.18);
  color: #ffd84d;
  font-weight: 850;
}

.guided-funnel__note p {
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
}

.guided-funnel__cta {
  margin-top: 1rem;
  display: block;
}

.guided-funnel__cta[hidden] {
  display: none;
}

.guided-contact {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(13rem, .9fr);
  gap: .75rem;
}

.guided-contact__form,
.guided-contact__direct {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.045);
}

.guided-contact__eyebrow {
  display: inline-flex;
  color: #ffd84d;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.guided-contact__fields {
  margin-top: .85rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: .55rem;
}

.guided-contact label {
  min-width: 0;
  display: grid;
  gap: .35rem;
}

.guided-contact label span {
  color: rgba(255,255,255,.58);
  font-size: .72rem;
  font-weight: 800;
}

.guided-contact input {
  width: 100%;
  min-height: 2.55rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .85rem;
  padding: .7rem .78rem;
  background: rgba(255,255,255,.055);
  color: #fff;
  font: inherit;
  font-size: .86rem;
  outline: none;
  transition: border-color .24s ease, background .24s ease, box-shadow .24s ease;
}

.guided-contact input::placeholder {
  color: rgba(255,255,255,.34);
}

.guided-contact input:focus {
  border-color: rgba(255,216,77,.52);
  background: rgba(255,255,255,.075);
  box-shadow: 0 0 0 .22rem rgba(245,197,24,.14);
}

.guided-contact__submit {
  width: 100%;
  margin-top: .8rem;
}

.guided-contact__direct {
  display: flex;
  flex-direction: column;
}

.guided-contact__direct h4 {
  margin: .65rem 0 0;
  font-family: var(--font-display);
  font-size: 1.4rem;
  line-height: 1.05;
  letter-spacing: -.04em;
}

.guided-contact__direct p {
  margin: .65rem 0 0;
  color: rgba(255,255,255,.62);
  font-size: .9rem;
  line-height: 1.55;
}

.guided-contact__whatsapp {
  width: 100%;
  margin-top: auto;
  color: #16a34a;
  background: rgba(22,163,74,.1);
  border-color: rgba(22,163,74,.18);
}

html.dark .guided-funnel-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(245,197,24,.13), transparent 30rem),
    var(--background);
}

html.dark .guided-funnel__main,
html.dark .guided-option {
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 44%),
    rgba(255,255,255,.025);
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}

html.dark .guided-option:hover,
html.dark .guided-option.is-selected {
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 44%),
    rgba(245,197,24,.075);
  box-shadow: 0 24px 68px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.08);
}

html.dark .guided-option__icon {
  background: rgba(255,255,255,.055);
}

html.dark .guided-option--danger .guided-option__icon {
  background: rgba(255,59,48,.13);
  color: #ff8a80;
}

html.dark .guided-option--danger .guided-option__label,
html.dark .guided-option--danger .guided-option__arrow {
  color: #ff8a80;
}

html.dark .guided-option--danger:hover,
html.dark .guided-option--danger.is-selected {
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 44%),
    rgba(255,59,48,.08);
  box-shadow: 0 24px 68px rgba(0,0,0,.32), 0 0 46px rgba(255,59,48,.08), inset 0 1px rgba(255,255,255,.08);
}

@media (max-width: 980px) {
  .guided-funnel {
    grid-template-columns: 1fr;
  }

  .guided-funnel__status {
    order: -1;
  }
}

@media (max-width: 639px) {
  .guided-funnel-section {
    padding: 4rem 0;
  }

  .guided-funnel-heading h2 {
    font-size: clamp(2.6rem, 13vw, 4.4rem);
  }

  .guided-funnel__main,
  .guided-funnel__status {
    border-radius: 1.65rem;
  }

  .guided-funnel__status {
    order: 0;
    padding-bottom: 5rem;
  }

  .guided-funnel__options {
    grid-template-columns: 1fr;
  }

  .guided-option,
  .guided-option--wide {
    grid-column: auto;
    min-height: 12rem;
    border-radius: 1.45rem;
  }

  .guided-option:hover,
  .guided-option.is-selected {
    transform: none;
  }

  .guided-funnel__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .guided-funnel__cta {
    flex-direction: column;
  }

  .guided-contact,
  .guided-contact__fields {
    grid-template-columns: 1fr;
  }

  .guided-contact__whatsapp {
    margin-top: 1rem;
  }
}

/* Independent awards marquee */
.trust-marquee-section {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  border-block: 1px solid var(--border);
  background:
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--primary-action) 10%, transparent), transparent 28rem),
    color-mix(in srgb, var(--muted) 45%, var(--background));
}

.trust-marquee-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr);
  align-items: end;
  gap: clamp(3rem, 8vw, 7rem);
}

.trust-marquee-heading h2 {
  max-width: 13ch;
  margin: .8rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  line-height: .98;
  letter-spacing: 0;
  text-wrap: balance;
}

.trust-marquee-heading__copy {
  padding-bottom: .3rem;
}

.trust-marquee-heading__copy > span {
  color: var(--primary);
  font-size: .7rem;
  font-weight: 750;
  text-transform: uppercase;
}

.trust-marquee-heading__copy p {
  max-width: 34rem;
  margin: .75rem 0 0;
  color: var(--muted-foreground);
  font-size: .95rem;
  line-height: 1.7;
}

.trust-marquee {
  position: relative;
  width: 100%;
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.trust-marquee__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-y;
}

.trust-marquee__viewport::-webkit-scrollbar { display: none; }
.trust-marquee__viewport.is-dragging { cursor: grabbing; }

.trust-marquee__track {
  display: flex;
  width: max-content;
  gap: 1rem;
  padding: .4rem 1rem 1rem;
}

.trust-marquee__group {
  display: flex;
  gap: 1rem;
}

.trust-award {
  flex: 0 0 clamp(15.5rem, 20vw, 18rem);
  width: clamp(15.5rem, 20vw, 18rem);
  min-height: 15.5rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: .7rem;
  border: 1px solid var(--border);
  border-radius: .5rem;
  background: var(--background);
  color: var(--foreground);
  box-shadow: 0 18px 55px color-mix(in srgb, var(--foreground) 6%, transparent);
  text-align: left;
  cursor: pointer;
  transition: transform .32s cubic-bezier(.2,.75,.25,1), border-color .3s ease, box-shadow .3s ease;
}

.trust-award:hover,
.trust-award:focus-visible {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--primary) 32%, var(--border));
  box-shadow: 0 24px 70px color-mix(in srgb, var(--foreground) 10%, transparent);
  outline: none;
}

.trust-award img {
  width: 100%;
  height: 10rem;
  display: block;
  object-fit: contain;
  border-radius: .35rem;
  background: #fff;
}

.trust-award > span {
  display: block;
  padding: 0 .2rem .15rem;
}

.trust-award small {
  display: block;
  color: var(--primary);
  font-size: .65rem;
  font-weight: 750;
  text-transform: uppercase;
}

.trust-award strong {
  display: block;
  margin-top: .35rem;
  font-family: var(--font-display);
  font-size: .9rem;
  line-height: 1.3;
  letter-spacing: 0;
}

.trust-marquee__fade {
  position: absolute;
  z-index: 4;
  inset-block: 0;
  width: min(8vw, 7rem);
  pointer-events: none;
}

.trust-marquee__fade--left { left: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--muted) 45%, var(--background)), transparent); }
.trust-marquee__fade--right { right: 0; background: linear-gradient(270deg, color-mix(in srgb, var(--muted) 45%, var(--background)), transparent); }

.trust-marquee-disclosure {
  max-width: 58rem;
  margin: .85rem 0 0;
  color: var(--muted-foreground);
  font-size: .7rem;
  line-height: 1.6;
}

.trust-award-dialog {
  position: fixed;
  inset: 0;
  z-index: 240;
  display: grid;
  place-items: center;
  padding: 1rem;
  visibility: hidden;
  opacity: 0;
  background: rgba(8,9,12,.62);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: opacity .28s ease, visibility .28s ease;
}

.trust-award-dialog.is-open { visibility: visible; opacity: 1; }

.trust-award-dialog__panel {
  position: relative;
  width: min(55rem, 100%);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  display: grid;
  grid-template-columns: minmax(18rem, .85fr) minmax(0, 1.15fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--border);
  border-radius: .75rem;
  background: var(--background);
  color: var(--foreground);
  box-shadow: 0 40px 120px rgba(0,0,0,.38);
  transform: translateY(18px) scale(.98);
  transition: transform .34s cubic-bezier(.2,.75,.25,1);
}

.trust-award-dialog.is-open .trust-award-dialog__panel { transform: translateY(0) scale(1); }

.trust-award-dialog__media {
  min-height: 25rem;
  display: grid;
  place-items: center;
  padding: 1rem;
  border-radius: .5rem;
  background: #fff;
}

.trust-award-dialog__media img { width: 100%; max-height: 27rem; object-fit: contain; }
.trust-award-dialog__copy { align-self: center; padding: 2rem 1rem 2rem 0; }
.trust-award-dialog__source { color: var(--primary); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.trust-award-dialog__copy h3 { max-width: 100%; margin: .75rem 0 0; overflow-wrap: anywhere; hyphens: auto; font-family: var(--font-display); font-size: clamp(1.9rem, 3.3vw, 2.65rem); line-height: 1.04; letter-spacing: 0; }
.trust-award-dialog__detail { margin: 1.25rem 0 0; color: var(--muted-foreground); font-size: 1rem; line-height: 1.75; }
.trust-award-dialog__note { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--border); color: var(--muted-foreground); font-size: .72rem; line-height: 1.55; }
.trust-award-dialog__close { position: absolute; z-index: 3; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem; border: 1px solid var(--border); border-radius: 50%; background: var(--muted); color: var(--foreground); cursor: pointer; }
.trust-award-dialog__close::before,.trust-award-dialog__close::after { position: absolute; top: 50%; left: 50%; width: .9rem; height: 1.5px; border-radius: 99px; background: currentColor; content: ""; transform: translate(-50%,-50%) rotate(45deg); }
.trust-award-dialog__close::after { transform: translate(-50%,-50%) rotate(-45deg); }

@media (max-width: 900px) {
  .trust-marquee-heading { grid-template-columns: 1fr; align-items: start; gap: 1.75rem; }
  .trust-marquee-heading__copy { max-width: 42rem; }
}

@media (max-width: 700px) {
  .trust-marquee-section { padding-block: 4rem; }
  .trust-marquee__track,.trust-marquee__group { gap: .75rem; }
  .trust-award { flex-basis: min(15rem, 76vw); width: min(15rem, 76vw); }
  .trust-award-dialog { align-items: end; padding: .5rem; }
  .trust-award-dialog__panel { width: 100%; max-height: calc(100dvh - 1rem); grid-template-columns: 1fr; gap: 0; padding: .75rem; border-radius: .75rem .75rem .5rem .5rem; }
  .trust-award-dialog__media { min-height: 17rem; }
  .trust-award-dialog__media img { max-height: 18rem; }
  .trust-award-dialog__copy { padding: 1.25rem .5rem .75rem; }
  .trust-award-dialog__copy h3 { max-width: 100%; font-size: clamp(1.75rem, 8vw, 2.2rem); }
}

/* Magnified insurance section */
.insurance-section {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background:
    radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 30rem),
    var(--background);
}
.section-heading { max-width: 52rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.section-kicker {
  display: inline-flex; align-items: center; min-height: 2rem; padding: .4rem .75rem;
  border: 1px solid var(--border); border-radius: 999px; background: color-mix(in srgb, var(--muted) 82%, transparent);
  color: var(--primary); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.section-heading h2 {
  margin: 1rem 0 0; max-width: 48rem; font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 5rem); line-height: .98; letter-spacing: -.04em; text-wrap: balance;
}
.section-heading p { max-width: 40rem; margin: 1.25rem 0 0; color: var(--muted-foreground); font-size: 1rem; line-height: 1.75; }
.magnified-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.magnified-card {
  grid-column: span 2; min-width: 0; padding: .5rem; overflow: hidden;
  border: 1px solid var(--border); border-radius: 2rem; background: color-mix(in srgb, var(--muted) 88%, transparent);
  box-shadow: 0 18px 60px color-mix(in srgb, var(--foreground) 7%, transparent);
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease;
}
.magnified-card--wide { grid-column: span 3; }
.magnified-card:hover { transform: translateY(-4px) scale(1.005); border-color: color-mix(in srgb, var(--primary) 22%, var(--border)); box-shadow: 0 26px 80px color-mix(in srgb, var(--primary) 10%, transparent); }
.magnified-card__stage {
  --lens-x: 50%; --lens-y: 50%; position: relative; height: 15rem; overflow: hidden; touch-action: none;
  border: 1px solid color-mix(in srgb, var(--border) 74%, transparent); border-radius: 1.55rem;
  background:
    radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 48%),
    color-mix(in srgb, var(--background) 60%, var(--muted));
}
.magnified-track { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
.magnified-track--reveal {
  z-index: 2; pointer-events: none; opacity: 0;
  clip-path: circle(42px at var(--lens-x) var(--lens-y));
  transition: opacity .18s ease;
}
.magnified-card.is-lens-active .magnified-track--reveal { opacity: 1; }
.magnified-row {
  display: flex;
  width: max-content;
  gap: .75rem;
  animation: magnified-scroll 24s linear infinite;
  animation-play-state: paused;
}
.magnified-row:nth-child(even) { animation-name: magnified-scroll-reverse; }
.insurance-section.is-motion-active .magnified-track--base .magnified-row { animation-play-state: running; }
.magnified-track--reveal .magnified-row { animation-play-state: paused; }
.insurance-section.is-motion-active .magnified-card.is-lens-active .magnified-track--reveal .magnified-row { animation-play-state: running; }
html.is-page-scrolling .magnified-row { animation-play-state: paused !important; }
.magnified-chip {
  display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; padding: .55rem .8rem;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent); border-radius: 999px;
  background: color-mix(in srgb, var(--background) 62%, transparent); color: var(--muted-foreground);
  font-size: .76rem; font-weight: 600;
}
.magnified-chip svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.magnified-track--reveal .magnified-chip {
  transform: scale(1.12); margin-inline: .35rem; background: color-mix(in srgb, var(--background) 92%, transparent);
  border-color: color-mix(in srgb, var(--primary) 24%, var(--border)); color: var(--primary);
  box-shadow: 0 8px 30px color-mix(in srgb, var(--primary) 12%, transparent);
}
.magnified-fade { position: absolute; z-index: 4; inset-block: 0; width: 20%; pointer-events: none; }
.magnified-fade--left { left: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--background) 94%, transparent), transparent); }
.magnified-fade--right { right: 0; background: linear-gradient(270deg, color-mix(in srgb, var(--background) 94%, transparent), transparent); }
.magnified-lens {
  position: absolute; z-index: 6; left: 50%; top: 50%; width: 5.75rem; height: 5.75rem; padding: 0;
  transform: translate(-50%,-50%); border: 0; background: transparent; cursor: grab; touch-action: none;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.22));
}
.magnified-lens:active { cursor: grabbing; }
.magnified-lens__glass {
  position: absolute; left: 0; top: 0; width: 4.35rem; height: 4.35rem; border-radius: 50%;
  border: .38rem solid color-mix(in srgb, var(--foreground) 24%, #dfe9ef);
  background: color-mix(in srgb, var(--background) 18%, transparent);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--background) 80%, transparent), inset 0 0 18px color-mix(in srgb, var(--primary) 14%, transparent);
  backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px);
}
.magnified-lens__glass::after { content:""; position:absolute; inset:.55rem 1.15rem auto .65rem; height:.75rem; border-radius:50%; background:rgba(255,255,255,.42); transform:rotate(-28deg); }
.magnified-lens__handle {
  position: absolute; width: 3.4rem; height: 1.05rem; left: 3.7rem; top: 3.7rem; transform: rotate(45deg); transform-origin: left center;
  border-radius: 999px; background: linear-gradient(180deg, #5f6368, #25272a); box-shadow: inset 0 1px rgba(255,255,255,.28);
}
.magnified-card__body { padding: 1.35rem 1.15rem 1.25rem; min-width: 0; }
.magnified-card__eyebrow { color: var(--primary); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.magnified-card__body h3 { margin: .7rem 0 0; font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; overflow-wrap: anywhere; }
.magnified-card__body p { margin: .75rem 0 0; color: var(--muted-foreground); font-size: .9rem; line-height: 1.65; overflow-wrap: anywhere; }
.magnified-card__body a { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.1rem; color: var(--primary); font-size: .875rem; font-weight: 700; }
.magnified-card__body a span { transition: transform .3s ease; }
.magnified-card:hover .magnified-card__body a span { transform: translate(.16rem,-.16rem); }
@keyframes magnified-scroll { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
@keyframes magnified-scroll-reverse { from { transform: translateX(-33.333%); } to { transform: translateX(0); } }
html.dark .magnified-card { background: color-mix(in srgb, var(--muted) 90%, transparent); border-color: rgba(255,255,255,.06); box-shadow: 0 20px 70px rgba(0,0,0,.32); }
html.dark .magnified-card__stage { background: radial-gradient(circle at 50% 18%, rgba(245,197,24,.12), transparent 48%), #141417; }
html.dark .magnified-chip { background: rgba(255,255,255,.045); border-color: rgba(255,255,255,.07); }
html.dark .magnified-track--reveal .magnified-chip { background: rgba(28,28,32,.94); border-color: rgba(245,197,24,.28); }
@media (max-width: 900px) { .magnified-card, .magnified-card--wide { grid-column: span 3; } }
@media (max-width: 639px) {
  .insurance-section { padding: 4rem 0; }
  .magnified-grid { grid-template-columns: 1fr; }
  .magnified-card, .magnified-card--wide { grid-column: auto; border-radius: 1.55rem; }
  .magnified-card__stage { height: 13rem; border-radius: 1.2rem; }
  .magnified-lens { width: 5rem; height: 5rem; }
  .magnified-lens__glass { width: 3.75rem; height: 3.75rem; }
  .magnified-lens__handle { left: 3.15rem; top: 3.15rem; width: 3rem; }
}

/* GSAP radial contact menu */
.contact-radial {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 100;
  width: 4rem;
  height: 4rem;
  pointer-events: none;
}
.contact-radial__toggle,
.contact-radial__item {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 16px 46px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.22);
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  pointer-events: auto;
}
.contact-radial__toggle {
  width: 4rem;
  height: 4rem;
  padding: 0;
  cursor: pointer;
  background: linear-gradient(145deg, var(--primary-action), #c99500);
  overflow: visible;
}
.contact-radial__toggle svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-radial__close { position: absolute; opacity: 0; }
.contact-radial__pulse {
  position: absolute;
  inset: -.35rem;
  border-radius: inherit;
  border: 1px solid rgba(245,197,24,.45);
  animation: radial-pulse 2.4s ease-out infinite;
}
.contact-radial__item {
  width: 3.25rem;
  height: 3.25rem;
  opacity: 0;
  visibility: hidden;
  transform: translate(0,0) scale(.78);
  background: color-mix(in srgb, var(--card) 84%, transparent);
  color: var(--foreground);
  border-color: color-mix(in srgb, var(--border) 85%, transparent);
  box-shadow: 0 14px 42px color-mix(in srgb, var(--foreground) 14%, transparent);
}
.contact-radial__item svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-radial__item--whatsapp { color: #16a34a; }
.contact-radial__item--phone,
.contact-radial__item--mail,
.contact-radial__item--consult { color: var(--primary); }
.contact-radial__label {
  position: absolute;
  right: calc(100% + .6rem);
  top: 50%;
  transform: translateY(-50%);
  padding: .42rem .65rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--background) 88%, transparent);
  color: var(--foreground);
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.contact-radial__item:hover .contact-radial__label,
.contact-radial.is-open .contact-radial__label { opacity: 1; transform: translate(-.15rem,-50%); }
html.dark .contact-radial__item { background: rgba(26,26,30,.82); border-color: rgba(255,255,255,.08); box-shadow: 0 16px 48px rgba(0,0,0,.36); }
html.dark .contact-radial__label { background: rgba(18,18,20,.9); border-color: rgba(255,255,255,.08); }
@keyframes radial-pulse { 0% { transform: scale(.9); opacity: .8; } 75%,100% { transform: scale(1.35); opacity: 0; } }

/* Hover layers are promoted by GSAP only while they are moving. */
html.is-page-scrolling .contact-radial__pulse { animation-play-state: paused; }
@media (max-width: 639px) {
  .contact-radial { right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); }
  .contact-radial__toggle { width: 3.65rem; height: 3.65rem; }
  .contact-radial__item { width: 3rem; height: 3rem; }
  .contact-radial__label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-radial__pulse { display: none; }
}


/* GSAP ScrollSmoother shell */
html, body {
  min-height: 100%;
}

html.scroll-smoother-ready body { overscroll-behavior-y: none; }

#smooth-wrapper {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#smooth-content {
  overflow: visible;
  width: 100%;
}

html.scroll-smoother-ready #smooth-content {
  will-change: transform;
}

html:not(.scroll-smoother-ready) #smooth-wrapper {
  position: static;
  height: auto;
  overflow: visible;
}

html:not(.scroll-smoother-ready) #smooth-content {
  transform: none !important;
}

@media (max-width: 767px), (prefers-reduced-motion: reduce) {
  #smooth-wrapper {
    position: static;
    height: auto;
    overflow: visible;
  }

  #smooth-content {
    transform: none !important;
  }
}

/* Modern about / verification section */
.about-section {
  position: relative;
  isolation:isolate;
  padding: clamp(5.5rem, 10vw, 9rem) 0;
  overflow: clip;
  background:
    radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--primary) 13%, transparent), transparent 32rem),
    radial-gradient(circle at 68% 70%, rgba(137,180,255,.12), transparent 28rem),
    var(--background);
}
.about-section::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:28rem;
  height:28rem;
  right:4%;
  top:34%;
  border-radius:50%;
  background:color-mix(in srgb,var(--primary) 10%,transparent);
  filter:blur(80px);
  opacity:.75;
  pointer-events:none;
}

.about-heading {
  max-width: 52rem;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.about-heading h2 {
  margin: .8rem 0 1rem;
  max-width: 14ch;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5.5vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.about-heading p {
  max-width: 46rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  line-height: 1.7;
}

.about-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

.about-cinematic {
  position: relative;
  min-height: clamp(36rem, 62vw, 47rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
  border-radius: clamp(1.75rem, 4vw, 3rem);
  background: #111;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .13);
  isolation: isolate;
  transform: translateZ(0);
}

.about-cinematic__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
  transition: transform 900ms cubic-bezier(.2,.75,.2,1), filter 600ms ease;
}

.about-cinematic:hover .about-cinematic__video {
  transform: scale(1.025);
  filter: saturate(1.04) contrast(1.02);
}

.about-cinematic__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(8, 10, 14, .04) 25%, rgba(8, 10, 14, .76) 100%),
    linear-gradient(90deg, rgba(8, 10, 14, .38), transparent 65%);
}

.about-cinematic__copy {
  position: absolute;
  z-index: 2;
  left: clamp(1.4rem, 4vw, 3rem);
  right: clamp(1.4rem, 4vw, 3rem);
  bottom: clamp(1.5rem, 4vw, 3rem);
  max-width: 34rem;
  color: #fff;
}

.about-cinematic__eyebrow,
.verification-card__label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: color-mix(in srgb, var(--primary) 82%, white);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.about-cinematic__copy h3 {
  margin: .65rem 0 .8rem;
  font-family: var(--font-display);
  font-size: clamp(2.3rem, 5vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.about-cinematic__copy p {
  max-width: 32rem;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(.98rem, 1.4vw, 1.12rem);
  line-height: 1.65;
}

.about-cinematic__cta {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  margin-top: 1.4rem;
  padding: .85rem 1.05rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-weight: 700;
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.about-cinematic__cta:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.16);
}

.about-cinematic__status {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  right: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(15,17,22,.24);
  color: rgba(255,255,255,.86);
  font-size: .78rem;
  font-weight: 700;
  backdrop-filter: blur(14px);
}

.about-cinematic__status span {
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: #34c759;
  box-shadow: 0 0 0 .25rem rgba(52,199,89,.15);
}

.about-verification {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1rem;
}

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

.verification-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.25rem, 2.2vw, 1.7rem);
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 1.65rem;
  background:
    linear-gradient(145deg, rgba(255,255,255,.64), rgba(255,255,255,.28));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    0 18px 54px rgba(24,32,48,.08);
  backdrop-filter: blur(26px) saturate(145%);
  -webkit-backdrop-filter: blur(26px) saturate(145%);
  transition: transform .35s cubic-bezier(.2,.75,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
}

.dark .verification-card {
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  border-color: rgba(255,255,255,.09);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 22px 58px rgba(0,0,0,.28);
}

.verification-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 18%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 78%);
  opacity: 0;
  transform: translateX(-12%);
  transition: opacity .35s ease, transform .5s ease;
}

.verification-card:hover {
  transform: translateY(-5px) scale(1.008);
  border-color: color-mix(in srgb, var(--primary) 24%, transparent);
  box-shadow: 0 22px 52px color-mix(in srgb, var(--primary) 10%, transparent);
}

.verification-card:hover::after {
  opacity: 1;
  transform: translateX(8%);
}

.verification-card--lead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 15rem),
    linear-gradient(145deg, rgba(255,255,255,.68), rgba(255,255,255,.26));
}
.dark .verification-card--lead {
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--primary) 22%, transparent), transparent 15rem),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
}

.verification-card__icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--primary-action);
  color: var(--on-primary);
  font-size: 1.2rem;
  font-weight: 800;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 28%, transparent);
}

.verification-card h3,
.verification-card strong {
  display: block;
  margin: .45rem 0 .4rem;
  color: var(--foreground);
  font-family: var(--font-display);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.verification-card h3 { font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.08; }
.verification-card strong { font-size: 1.02rem; }

.verification-card p {
  margin: 0;
  color: var(--muted-foreground);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.verification-card--certificate {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.certificate-mark {
  display: grid;
  flex: 0 0 auto;
  width: 4rem;
  height: 4rem;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 9%, transparent);
  color: var(--primary);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.03em;
}

.about-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem .2rem 0;
}

.about-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--foreground);
  font-weight: 700;
  transition: color .25s ease, transform .25s ease;
}

.about-link:hover { color: var(--primary); transform: translateX(2px); }

@media (max-width: 980px) {
  .about-layout { grid-template-columns: 1fr; }
  .about-cinematic { min-height: 36rem; }
}

@media (max-width: 640px) {
  .about-section { padding: 4.5rem 0; }
  .about-heading h2 { font-size: clamp(2.3rem, 12vw, 3.7rem); }
  .about-cinematic { min-height: 31rem; border-radius: 1.75rem; }
  .about-cinematic__video { object-position: 60% center; }
  .verification-grid { grid-template-columns: 1fr; }
  .verification-card--lead { grid-template-columns: 1fr; }
  .about-actions { align-items: stretch; flex-direction: column; }
  .about-actions .button { width: 100%; }
  .about-link { justify-content: center; padding: .75rem; }
}

/* Modern editorial about section */
.about-section--editorial {
  position: relative;
  overflow: clip;
  padding: clamp(5.5rem, 9vw, 9rem) 0;
  background:
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--primary) 9%, transparent), transparent 24rem),
    var(--background);
}
.about-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 7rem);
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}
.about-heading--split h2 { margin: .65rem 0 0; max-width: 14ch; }
.about-heading--split h2 span {
  color: var(--primary);
  background: linear-gradient(110deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #ffd966));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.about-heading--split > p { margin: 0 0 .35rem; max-width: 42rem; }
.about-layout--modern { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(1.2rem, 3vw, 2rem); align-items: stretch; }
.about-cinematic--modern {
  min-height: 48rem;
  border-radius: 2.4rem;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 36px 100px rgba(0,0,0,.24);
}
.about-cinematic--modern::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}
.about-cinematic__topline {
  position:absolute;
  z-index:3;
  top:1.35rem;
  left:1.35rem;
  right:1.35rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.about-cinematic__topline .about-cinematic__status { position:static; }
.about-cinematic__topline .about-cinematic__status i { width:.48rem;height:.48rem;border-radius:50%;background:#34c759;box-shadow:0 0 0 .25rem rgba(52,199,89,.14); }
.about-cinematic--modern .about-cinematic__copy { max-width: 38rem; }
.about-cinematic--modern .about-cinematic__copy h3 { font-size: clamp(3.1rem, 7vw, 6.2rem); line-height: .98; letter-spacing: -.045em; }
.about-cinematic__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.about-cinematic__ghost { color:rgba(255,255,255,.78); font-size:.9rem; font-weight:700; padding:.85rem 1rem; transition:color .25s ease, transform .25s ease; }
.about-cinematic__ghost:hover { color:#fff; transform:translateY(-2px); }
.about-story { display:flex; flex-direction:column; gap:1rem; min-width:0; }
.about-story__intro,
.about-story__text {
  position:relative;
  overflow:hidden;
  padding:clamp(1.5rem, 3vw, 2.2rem);
  border:1px solid rgba(255,255,255,.54);
  border-radius:2rem;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.25));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 20px 60px rgba(24,32,48,.08);
  backdrop-filter:blur(28px) saturate(145%);
  -webkit-backdrop-filter:blur(28px) saturate(145%);
}
.about-story__intro::before,.about-story__text::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 34%,transparent 68%,rgba(245,197,24,.06));
}
.dark .about-story__intro,.dark .about-story__text {
  border-color:rgba(255,255,255,.085);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 64px rgba(0,0,0,.28);
}
.about-story__intro h3 { margin:.7rem 0 1rem; font-family:var(--font-display); font-size:clamp(1.7rem,3.3vw,2.7rem); line-height:1.02; letter-spacing: -.04em; text-wrap:balance; }
.about-story__intro p,.about-story__text p { margin:0; color:var(--muted-foreground); line-height:1.75; font-size:clamp(.98rem,1.2vw,1.06rem); }
.about-story__text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.about-story__text strong { color:var(--foreground); }
.verification-grid--modern { grid-template-columns:repeat(2,minmax(0,1fr)); }
.verification-grid--modern .verification-card--lead { grid-column:1/-1; }
.verification-card--arag {
  background:
    radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 12rem),
    linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,255,255,.24));
}
.dark .verification-card--arag {
  background:
    radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--primary) 24%,transparent),transparent 12rem),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.02));
}
.local-trust { display:flex; flex-wrap:wrap; gap:.6rem; padding:.35rem .1rem; }
.local-trust a,.local-trust span { display:inline-flex; align-items:center; min-height:2.35rem; padding:.58rem .85rem; border:1px solid rgba(255,255,255,.48); border-radius:999px; background:rgba(255,255,255,.46); color:var(--muted-foreground); font-size:.78rem; font-weight:700; box-shadow:inset 0 1px 0 rgba(255,255,255,.5); backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%); transition:transform .3s ease,border-color .3s ease,color .3s ease,background .3s ease; }
.dark .local-trust a,.dark .local-trust span { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.045); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.local-trust a:hover { transform:translateY(-2px); color:var(--primary); border-color:color-mix(in srgb,var(--primary) 28%,transparent); background:color-mix(in srgb,var(--primary) 7%,var(--card)); }
@media (max-width: 1020px) {
  .about-heading--split,.about-layout--modern { grid-template-columns:1fr; }
  .about-heading--split { align-items:start; gap:1.4rem; }
  .about-heading--split > p { max-width:52rem; }
  .about-cinematic--modern { min-height:42rem; }
}
@media (max-width: 700px) {
  .about-section--editorial { padding:4.5rem 0; }
  .about-heading--split h2 { max-width:100%; }
  .about-cinematic--modern { min-height:36rem; border-radius:1.7rem; }
  .about-cinematic__topline { top:1rem;left:1rem;right:1rem;align-items:flex-start; }
  .about-cinematic__topline .about-cinematic__eyebrow { max-width:11rem; }
  .about-cinematic__topline .about-cinematic__status { padding:.55rem .7rem; font-size:.68rem; }
  .about-cinematic__actions { align-items:stretch; flex-direction:column; }
  .about-cinematic__cta,.about-cinematic__ghost { justify-content:center; width:100%; }
  .about-story__text,.verification-grid--modern { grid-template-columns:1fr; }
  .verification-grid--modern .verification-card--lead { grid-column:auto; }
}

/* =========================================================
   TRUE GLASS OVERRIDE â€” About story & verification system
   ========================================================= */
.about-story {
  position: relative;
  isolation: isolate;
  padding: clamp(.35rem, 1vw, .75rem);
  border-radius: 2.6rem;
}

.about-story::before,
.about-story::after {
  content: "";
  position: absolute;
  z-index: -2;
  border-radius: 999px;
  filter: blur(48px);
  pointer-events: none;
}

.about-story::before {
  width: min(26rem, 72%);
  aspect-ratio: 1;
  top: 4%;
  right: -8%;
  background: rgba(245, 197, 24, .16);
}

.about-story::after {
  width: min(22rem, 64%);
  aspect-ratio: 1;
  left: -10%;
  bottom: 6%;
  background: rgba(127, 196, 255, .18);
}

.about-story__intro,
.about-story__text,
.verification-card {
  border: 1px solid rgba(255, 255, 255, .72);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .38), rgba(244, 248, 255, .14));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .86),
    inset 0 -1px 0 rgba(255, 255, 255, .22),
    0 22px 60px rgba(24, 45, 78, .10);
  backdrop-filter: blur(34px) saturate(165%);
  -webkit-backdrop-filter: blur(34px) saturate(165%);
}

.about-story__intro::before,
.about-story__text::before,
.verification-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(125deg, rgba(255,255,255,.34), transparent 32%, transparent 66%, rgba(245,197,24,.055));
  opacity: .9;
}

.about-story__intro:hover,
.about-story__text:hover,
.verification-card:hover {
  transform: translateY(-4px) scale(1.006);
  border-color: rgba(255, 255, 255, .94);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .48), rgba(241, 247, 255, .18));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 28px 70px rgba(22, 66, 120, .14);
}

.about-story__intro,
.about-story__text {
  transition:
    transform .38s cubic-bezier(.2,.75,.2,1),
    border-color .38s ease,
    background .38s ease,
    box-shadow .38s ease;
}

.verification-card--lead,
.verification-card--arag {
  background:
    radial-gradient(circle at 88% 8%, rgba(245, 197, 24, .16), transparent 12rem),
    linear-gradient(145deg, rgba(255,255,255,.40), rgba(240,247,255,.15));
}

.local-trust a,
.local-trust span {
  border-color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 10px 28px rgba(24,45,78,.07);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}

.dark .about-story::before {
  background: rgba(245, 197, 24, .22);
}

.dark .about-story::after {
  background: rgba(73, 150, 255, .13);
}

.dark .about-story__intro,
.dark .about-story__text,
.dark .verification-card {
  border-color: rgba(255,255,255,.11);
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(255,255,255,.025),
    0 26px 66px rgba(0,0,0,.34);
  backdrop-filter: blur(34px) saturate(145%);
  -webkit-backdrop-filter: blur(34px) saturate(145%);
}

.dark .about-story__intro:hover,
.dark .about-story__text:hover,
.dark .verification-card:hover {
  border-color: rgba(98, 167, 255, .28);
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 30px 74px rgba(0,0,0,.42),
    0 0 42px rgba(245,197,24,.08);
}

.dark .verification-card--lead,
.dark .verification-card--arag {
  background:
    radial-gradient(circle at 88% 8%, rgba(45, 135, 255, .18), transparent 12rem),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.027));
}

@media (max-width: 700px) {
  .about-story {
    padding: 0;
    border-radius: 1.9rem;
  }

  .about-story::before {
    width: 18rem;
    right: -28%;
  }

  .about-story::after {
    width: 15rem;
    left: -24%;
  }

  .about-story__intro,
  .about-story__text,
  .verification-card {
    backdrop-filter: blur(24px) saturate(150%);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
  }
}

/* Global navigation 2.0 — one editorial system for every 365 page. */
.site-header.global-nav-v2 {
  --nav2-surface: #101012;
  --nav2-surface-soft: #171719;
  --nav2-text: #f6f4ed;
  --nav2-muted: rgba(246,244,237,.56);
  --nav2-line: rgba(255,255,255,.11);
  --nav2-hover: rgba(245,197,24,.07);
  --nav2-accent: var(--primary-action, #f5c518);
}

html:not(.dark) .site-header.global-nav-v2 {
  --nav2-surface: #f1efe8;
  --nav2-surface-soft: #e8e5dc;
  --nav2-text: #1a1a18;
  --nav2-muted: rgba(26,26,24,.58);
  --nav2-line: rgba(26,26,24,.12);
  --nav2-hover: rgba(133,101,0,.07);
  --nav2-accent: #725800;
}

.site-header.global-nav-v2 .site-header__inner {
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
}

.site-header.global-nav-v2 .site-brand {
  font-size: .82rem;
  font-weight: 620;
  letter-spacing: -.01em;
}

.site-header.global-nav-v2 .site-header__actions {
  gap: .45rem;
}

.site-header.global-nav-v2 :is(.header-cta,.theme-toggle,.site-menu-toggle) {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition:
    color .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    transform .14s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v2 .header-cta {
  min-height: 2.15rem;
  padding: .35rem .4rem;
  border-radius: .4rem;
  font-size: .78rem;
}

.site-header.global-nav-v2 .header-cta::after {
  position: absolute;
  inset: auto .4rem .18rem;
  height: 1px;
  background: currentColor;
  opacity: .28;
  content: "";
  transform: scaleX(.45);
  transform-origin: 100% 50%;
  transition: opacity .18s ease, transform .18s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v2 .theme-toggle {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
}

.site-header.global-nav-v2 .theme-toggle svg {
  width: .9rem;
  height: .9rem;
  stroke-width: 1.65;
}

.site-header.global-nav-v2 .site-menu-toggle {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
}

.site-header.global-nav-v2 .site-menu-toggle span {
  width: .9rem;
  height: 1px;
  transition: transform .16s cubic-bezier(.23,1,.32,1), opacity .12s ease;
}

.site-header.global-nav-v2 .site-menu-toggle span:first-child { transform: translateY(-.16rem); }
.site-header.global-nav-v2 .site-menu-toggle span:last-child { transform: translateY(.16rem); }
.site-header.global-nav-v2 .site-menu-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.site-header.global-nav-v2 .site-menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v2 :is(.theme-toggle,.site-menu-toggle):hover {
    border-color: var(--header-control-border);
    background: var(--header-control-background);
    box-shadow: none;
    transform: none;
  }

  .site-header.global-nav-v2 .header-cta:hover {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  .site-header.global-nav-v2 .header-cta:hover::after {
    opacity: .7;
    transform: scaleX(1);
  }
}

.site-header.global-nav-v2 :is(.header-cta,.theme-toggle,.site-menu-toggle):active {
  transform: scale(.97);
}

.site-header.global-nav-v2 :is(a,button):focus-visible {
  outline: 2px solid var(--nav2-accent);
  outline-offset: 4px;
}

html.has-nav-open body {
  position: fixed;
  top: var(--nav-lock-top, 0);
  right: 0;
  left: 0;
  width: 100%;
}

html:not(.dark) .site-header.global-nav-v2.is-menu-open {
  --header-color: var(--nav2-text);
  --header-border: var(--nav2-line);
  --header-background: color-mix(in srgb, var(--nav2-surface) 94%, transparent);
  --header-shadow: none;
  --header-control-border: rgba(26,26,24,.14);
  --header-control-background: rgba(26,26,24,.05);
}

.site-header.global-nav-v2 .site-nav-panel {
  height: calc(100dvh - var(--site-header-height));
  overscroll-behavior: contain;
  border-bottom: 0;
  background:
    radial-gradient(circle at 50% -20%, color-mix(in srgb, var(--nav2-accent) 10%, transparent), transparent 29rem),
    linear-gradient(115deg, color-mix(in srgb, var(--nav2-text) 3%, transparent), transparent 38%),
    var(--nav2-surface);
  color: var(--nav2-text);
  box-shadow: 0 2rem 5rem rgba(0,0,0,.18);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: translateY(-.4rem);
  transition:
    opacity .2s cubic-bezier(.23,1,.32,1),
    visibility .2s cubic-bezier(.23,1,.32,1),
    transform .2s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v2 .site-nav-panel__inner {
  width: min(100% - 2rem, 80rem);
  padding: clamp(1.5rem,3.5vw,2.75rem) 0 max(1rem,env(safe-area-inset-bottom));
  gap: clamp(1.5rem,3vw,2.5rem);
}

.site-header.global-nav-v2 .site-nav-panel__main,
.site-header.global-nav-v2 .site-nav-panel.has-subnav-open .site-nav-panel__main {
  grid-template-columns: minmax(16rem,.72fr) minmax(28rem,1.28fr);
  gap: clamp(2.5rem,6vw,6.5rem);
  transition: none;
}

.site-header.global-nav-v2 .site-nav-panel__label {
  color: var(--nav2-accent);
  font-size: .61rem;
  font-weight: 720;
  letter-spacing: .13em;
}

.site-header.global-nav-v2 .site-nav-panel__links {
  gap: 0;
}

.site-header.global-nav-v2 .site-nav-panel__links :is(a,.site-nav-panel__group-trigger) {
  position: relative;
  grid-template-columns: 1.55rem minmax(0,1fr) auto;
  gap: .7rem;
  padding: .5rem 0;
  border-bottom-color: var(--nav2-line);
  color: var(--nav2-text);
  font-size: clamp(1.2rem,1.75vw,1.65rem);
  font-weight: 520;
  line-height: 1.12;
  transition: color .16s ease, opacity .16s ease, padding .16s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v2 .site-nav-panel__links :is(a,.site-nav-panel__group-trigger)::before {
  position: absolute;
  inset: 50% auto auto -.75rem;
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  background: var(--nav2-accent);
  content: "";
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity .16s ease;
}

.site-header.global-nav-v2 .site-nav-panel__links small {
  color: var(--nav2-muted);
  font-size: .59rem;
  font-variant-numeric: tabular-nums;
}

.site-header.global-nav-v2 .site-nav-panel__links :is(a,.site-nav-panel__group-trigger):is(:hover,.is-active,[aria-expanded="true"],[aria-current="page"]) {
  padding-left: .28rem;
  color: var(--nav2-accent);
}

.site-header.global-nav-v2 .site-nav-panel__links :is(a,.site-nav-panel__group-trigger):is(.is-active,[aria-expanded="true"],[aria-current="page"])::before {
  opacity: 1;
}

.site-header.global-nav-v2 .site-nav-panel.is-subnav-active .site-nav-panel__primary > :not(.is-active):not(:hover):not([aria-current="page"]):not([aria-expanded="true"]) {
  opacity: .52;
  filter: none;
}

.site-header.global-nav-v2 .site-nav-panel__group-trigger i {
  width: .42rem;
  height: .42rem;
  border-width: 1px;
  opacity: .4;
}

.site-header.global-nav-v2 .site-nav-panel__subnav,
.site-header.global-nav-v2 .site-nav-panel.has-subnav-open .site-nav-panel__subnav {
  display: block;
  min-height: 0;
  padding: .1rem 0 .1rem clamp(1.5rem,3vw,3.25rem);
  border: 0;
  border-left: 1px solid var(--nav2-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.site-header.global-nav-v2 .site-nav-panel__subgroup-title {
  max-width: 17ch;
  margin-top: .55rem;
  font-family: var(--font-display);
  font-size: clamp(1.8rem,3vw,2.9rem);
  font-weight: 620;
  line-height: .98;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.site-header.global-nav-v2 .site-nav-panel__subgroup p {
  max-width: 38rem;
  margin: .75rem 0 0;
  color: var(--nav2-muted);
  font-size: .82rem;
  line-height: 1.55;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 clamp(1.5rem,3vw,3rem);
  margin-top: 1rem;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid a {
  min-height: 0;
  padding: .62rem 1.1rem .62rem 0;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--nav2-line);
  border-radius: 0;
  background: transparent;
  color: var(--nav2-text);
  box-shadow: none;
  transition: color .16s ease, padding .16s cubic-bezier(.23,1,.32,1), border-color .16s ease;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid a::before {
  inset: 50% 0 auto auto;
  width: .28rem;
  height: .28rem;
  background: var(--nav2-accent);
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity .16s ease;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid a:is(:hover,[aria-current="page"]) {
  padding-left: .35rem;
  border-color: color-mix(in srgb,var(--nav2-accent) 38%,var(--nav2-line));
  background: transparent;
  color: var(--nav2-accent);
  box-shadow: none;
  transform: none;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid a[aria-current="page"]::before {
  opacity: 1;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid small,
.site-header.global-nav-v2 .site-nav-panel__subgrid span {
  color: var(--nav2-muted);
  font-size: .61rem;
}

.site-header.global-nav-v2 .site-nav-panel__subgrid strong {
  margin: .2rem 0 .12rem;
  font-size: clamp(.98rem,1.25vw,1.16rem);
  font-weight: 620;
  line-height: 1.05;
}

.site-header.global-nav-v2 .site-nav-panel__footer {
  grid-template-columns: minmax(17rem,1.15fr) minmax(12rem,.7fr) minmax(10rem,.42fr);
  align-items: start;
  gap: clamp(1.5rem,4vw,4rem);
  padding-top: 1rem;
  border-top-color: var(--nav2-line);
}

.site-header.global-nav-v2 .site-nav-panel__contact > strong {
  display: block;
  margin-top: .5rem;
  font-family: var(--font-display);
  font-size: 1.12rem;
  font-weight: 620;
}

.site-header.global-nav-v2 .site-nav-panel__contact > p,
.site-header.global-nav-v2 .site-nav-panel__availability p {
  margin: .2rem 0 0;
  color: var(--nav2-muted);
  font-size: .72rem;
  line-height: 1.55;
}

.site-header.global-nav-v2 .site-nav-panel__contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.1rem;
  margin-top: .65rem;
}

.site-header.global-nav-v2 .site-nav-panel__contact-links a {
  color: var(--nav2-text);
  font-size: .72rem;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb,var(--nav2-accent) 50%,transparent);
  text-underline-offset: .24rem;
}

.site-header.global-nav-v2 .site-nav-panel__socials > div {
  display: flex;
  gap: .55rem;
  margin-top: .65rem;
}

.site-header.global-nav-v2 .site-nav-panel__socials a {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 2rem;
  padding: .3rem .55rem;
  border: 1px solid var(--nav2-line);
  border-radius: .65rem;
  color: var(--nav2-text);
  font-size: .66rem;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease, transform .14s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v2 .site-nav-panel__socials svg {
  width: .85rem;
  height: .85rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v2 .site-nav-panel__socials a:hover {
    border-color: color-mix(in srgb,var(--nav2-accent) 45%,var(--nav2-line));
    background: var(--nav2-hover);
    color: var(--nav2-accent);
  }
}

.site-header.global-nav-v2 .site-nav-panel__socials a:active {
  transform: scale(.97);
}

@media (max-width: 700px) {
  .site-header.global-nav-v2 { --site-header-height: 3.9rem; }
  .site-header.global-nav-v2 .site-header__inner,
  .site-header.global-nav-v2 .site-nav-panel__inner { width: min(100% - 1.2rem,80rem); }
  .site-header.global-nav-v2 .site-header__inner { gap: .55rem; }
  .site-header.global-nav-v2 .site-brand { max-width: 8.6rem; font-size: .74rem; white-space: nowrap; }
  .site-header.global-nav-v2 .theme-toggle { width: 2.05rem; height: 2.05rem; }
  .site-header.global-nav-v2 .site-menu-toggle { width: 2.15rem; height: 2.15rem; }
  .site-header.global-nav-v2 .site-nav-panel__inner { padding-top: 1.15rem; }
  .site-header.global-nav-v2 .site-nav-panel__main,
  .site-header.global-nav-v2 .site-nav-panel.has-subnav-open .site-nav-panel__main {
    grid-template-columns: minmax(0,1fr);
    gap: 1.5rem;
  }
  .site-header.global-nav-v2 .site-nav-panel__links :is(a,.site-nav-panel__group-trigger) {
    grid-template-columns: 1.35rem minmax(0,1fr) auto;
    padding: .43rem 0;
    font-size: clamp(1.08rem,5.4vw,1.4rem);
  }
  .site-header.global-nav-v2 .site-nav-panel__subnav,
  .site-header.global-nav-v2 .site-nav-panel.has-subnav-open .site-nav-panel__subnav {
    padding: 1.15rem 0 0;
    border-left: 0;
    border-top: 1px solid var(--nav2-line);
  }
  .site-header.global-nav-v2 .site-nav-panel__subgroup-title {
    max-width: 14ch;
    font-size: clamp(1.55rem,8vw,2.2rem);
  }
  .site-header.global-nav-v2 .site-nav-panel__subgrid { grid-template-columns: minmax(0,1fr); }
  .site-header.global-nav-v2 .site-nav-panel__subgrid a { padding-block: .58rem; }
  .site-header.global-nav-v2 .site-nav-panel__footer {
    grid-template-columns: minmax(0,1fr);
    gap: 1.2rem;
    margin-top: .5rem;
    padding-bottom: max(.5rem,env(safe-area-inset-bottom));
  }
}

@media (max-height: 500px) and (orientation: landscape) {
  .site-header.global-nav-v2 { --site-header-height: 3.55rem; }
  .site-header.global-nav-v2 .site-nav-panel__inner { padding-top: .8rem; }
  .site-header.global-nav-v2 .site-nav-panel__main,
  .site-header.global-nav-v2 .site-nav-panel.has-subnav-open .site-nav-panel__main {
    grid-template-columns: minmax(14rem,.7fr) minmax(22rem,1.3fr);
    gap: 2rem;
  }
  .site-header.global-nav-v2 .site-nav-panel__links :is(a,.site-nav-panel__group-trigger) { padding-block: .35rem; font-size: 1.05rem; }
  .site-header.global-nav-v2 .site-nav-panel__subgroup-title { font-size: 1.65rem; }
  .site-header.global-nav-v2 .site-nav-panel__subgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-header.global-nav-v2 .site-nav-panel__footer { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .site-header.global-nav-v2 .site-nav-panel,
  .site-header.global-nav-v2 .site-menu-toggle span,
  .site-header.global-nav-v2 .site-nav-panel :is(a,button) {
    transition-duration: .01ms !important;
  }
}

/* =========================================================
   GLOBAL NAVIGATION V3
   One editorial navigation system for every project page
   ========================================================= */
.site-header.global-nav-v3 {
  --nav3-surface: #f4f2ed;
  --nav3-surface-soft: #ebe8e1;
  --nav3-text: #1a1a18;
  --nav3-muted: #696862;
  --nav3-line: rgba(26,26,24,.13);
  --nav3-accent: #c89f00;
  --nav3-hover: rgba(26,26,24,.045);
  --site-header-height: 4.25rem;
}

html.dark .site-header.global-nav-v3 {
  --nav3-surface: #111113;
  --nav3-surface-soft: #18181b;
  --nav3-text: #f2f0e9;
  --nav3-muted: #a8a69f;
  --nav3-line: rgba(255,255,255,.12);
  --nav3-accent: #f5c518;
  --nav3-hover: rgba(255,255,255,.055);
}

.site-header.global-nav-v3 .site-header__inner {
  width: min(100% - 2rem, 86rem);
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: clamp(1rem,2.2vw,2.4rem);
}

.site-header.global-nav-v3 .site-brand {
  justify-self: start;
  font-size: .86rem;
  font-weight: 720;
  letter-spacing: -.015em;
  white-space: nowrap;
}

.site-header.global-nav-v3 .global-nav__desktop {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: clamp(.15rem,.55vw,.55rem);
  min-width: 0;
}

.site-header.global-nav-v3 .global-nav__desktop > :is(a,button) {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: .45rem clamp(.48rem,.75vw,.7rem);
  border: 0;
  border-radius: .55rem;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: .76rem;
  font-weight: 590;
  letter-spacing: -.008em;
  white-space: nowrap;
  cursor: pointer;
  transition: color .15s ease, background-color .15s ease, transform .13s var(--ease-premium);
}

.site-header.global-nav-v3 .global-nav__desktop > :is(a,button)::after {
  position: absolute;
  right: .62rem;
  bottom: .18rem;
  left: .62rem;
  height: 1px;
  background: var(--primary-action);
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transform-origin: center;
  transition: opacity .15s ease, transform .15s var(--ease-premium);
}

.site-header.global-nav-v3 .global-nav__desktop > :is(a,button):is(.is-active,[aria-expanded="true"],[aria-current="page"])::after {
  opacity: 1;
  transform: scaleX(1);
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v3 .global-nav__desktop > :is(a,button):hover {
    background: rgba(255,255,255,.09);
  }

  .site-header.global-nav-v3:is(.is-scrolled,.is-menu-open) .global-nav__desktop > :is(a,button):hover {
    background: var(--nav3-hover);
  }
}

.site-header.global-nav-v3 .global-nav__desktop > :is(a,button):active {
  transform: scale(.97);
}

.site-header.global-nav-v3 .site-menu-toggle {
  display: none;
}

.site-header.global-nav-v3 .site-header__actions {
  gap: .42rem;
}

.site-header.global-nav-v3 .global-nav__channel,
.site-header.global-nav-v3 .theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  border: 1px solid var(--header-control-border);
  border-radius: .68rem;
  background: var(--header-control-background);
  color: inherit;
  transition: color .15s ease, background-color .15s ease, border-color .15s ease, transform .13s var(--ease-premium);
}

.site-header.global-nav-v3 .global-nav__channel svg,
.site-header.global-nav-v3 .theme-toggle svg {
  width: .9rem;
  height: .9rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v3 .global-nav__channel:hover,
  .site-header.global-nav-v3 .theme-toggle:hover {
    border-color: color-mix(in srgb,currentColor 24%,transparent);
    background: color-mix(in srgb,currentColor 9%,transparent);
    transform: translateY(-1px);
  }
}

.site-header.global-nav-v3 :is(.global-nav__channel,.theme-toggle,.site-menu-toggle):active {
  transform: scale(.97);
}

.site-header.global-nav-v3 :is(a,button):focus-visible {
  outline: 2px solid var(--primary-action);
  outline-offset: 3px;
}

.site-header.global-nav-v3.is-menu-open {
  --header-color: var(--nav3-text);
  --header-border: var(--nav3-line);
  --header-background: color-mix(in srgb,var(--nav3-surface) 96%,transparent);
  --header-control-border: var(--nav3-line);
  --header-control-background: var(--nav3-hover);
  --header-shadow: none;
  z-index: 420;
}

html:not(.dark) .site-header.global-nav-v3.is-scrolled {
  --header-color: var(--nav3-text);
  --header-border: var(--nav3-line);
  --header-background: color-mix(in srgb,var(--nav3-surface) 92%,transparent);
  --header-control-border: var(--nav3-line);
  --header-control-background: var(--nav3-hover);
  --header-shadow: 0 .7rem 2.5rem rgba(32,30,25,.07);
}

.site-header.global-nav-v3 .site-nav-panel {
  inset: 100% 0 auto;
  height: auto;
  max-height: calc(100dvh - var(--site-header-height) - .75rem);
  overflow: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--nav3-line);
  border-bottom: 1px solid var(--nav3-line);
  background:
    radial-gradient(circle at 12% -45%, color-mix(in srgb,var(--nav3-accent) 9%,transparent), transparent 25rem),
    var(--nav3-surface);
  color: var(--nav3-text);
  box-shadow: 0 1.5rem 4rem rgba(0,0,0,.13);
  pointer-events: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: translateY(-.45rem);
  transition: opacity .18s var(--ease-premium), visibility .18s var(--ease-premium), transform .18s var(--ease-premium);
}

.site-header.global-nav-v3 .site-nav-panel.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.site-header.global-nav-v3 .site-nav-panel.is-nav-immediate,
.site-header.global-nav-v3 .global-nav__mobile-level.is-nav-immediate {
  transition-duration: .01ms !important;
}

.site-header.global-nav-v3 .site-nav-panel__inner {
  width: min(100% - 2rem,86rem);
  min-height: 0;
  padding: 0;
}

.site-header.global-nav-v3 .global-nav__desktop-panels {
  display: block;
}

.site-header.global-nav-v3 .global-nav__mega {
  display: grid;
  grid-template-columns: minmax(14rem,.7fr) minmax(0,2fr);
  gap: clamp(2rem,5vw,5.5rem);
  padding: clamp(1.7rem,3vw,2.7rem) 0 clamp(2rem,3.4vw,3rem);
}

.site-header.global-nav-v3 .global-nav__mega[hidden] {
  display: none;
}

.site-header.global-nav-v3 .global-nav__mega-intro {
  min-width: 0;
  padding-right: clamp(1rem,2.5vw,2.5rem);
  border-right: 1px solid var(--nav3-line);
}

.site-header.global-nav-v3 .global-nav__mega-intro > span,
.site-header.global-nav-v3 .global-nav__mega h3,
.site-header.global-nav-v3 .global-nav__mobile-kicker {
  color: var(--nav3-accent);
  font-size: .61rem;
  font-weight: 720;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.site-header.global-nav-v3 .global-nav__mega-intro h2 {
  max-width: 14ch;
  margin: .55rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.75rem,2.55vw,2.65rem);
  font-weight: 630;
  line-height: 1;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.site-header.global-nav-v3 .global-nav__mega-intro p {
  max-width: 28rem;
  margin: .75rem 0 0;
  color: var(--nav3-muted);
  font-size: .76rem;
  line-height: 1.55;
}

.site-header.global-nav-v3 .global-nav__overview-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.15rem;
  color: var(--nav3-text);
  font-size: .72rem;
  font-weight: 670;
}

.site-header.global-nav-v3 .global-nav__overview-link i {
  color: var(--nav3-accent);
  font-style: normal;
  transition: transform .15s var(--ease-premium);
}

.site-header.global-nav-v3 .global-nav__mega-columns {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: start;
}

.site-header.global-nav-v3 .global-nav__mega-columns > section {
  min-width: 0;
  padding-inline: clamp(1rem,2vw,2rem);
  border-left: 1px solid var(--nav3-line);
}

.site-header.global-nav-v3 .global-nav__mega-columns > section:first-child {
  padding-left: 0;
  border-left: 0;
}

.site-header.global-nav-v3 .global-nav__mega h3 {
  margin: 0 0 .6rem;
}

.site-header.global-nav-v3 .global-nav__mega-columns section > a {
  position: relative;
  display: block;
  padding: .55rem .8rem .55rem 0;
  border-bottom: 1px solid var(--nav3-line);
  color: var(--nav3-text);
  transition: color .15s ease, padding .15s var(--ease-premium), border-color .15s ease;
}

.site-header.global-nav-v3 .global-nav__mega-columns strong,
.site-header.global-nav-v3 .global-nav__product-lines strong {
  display: block;
  font-size: .88rem;
  font-weight: 650;
  line-height: 1.25;
}

.site-header.global-nav-v3 .global-nav__mega-columns a span,
.site-header.global-nav-v3 .global-nav__product-lines a span {
  display: block;
  margin-top: .18rem;
  color: var(--nav3-muted);
  font-size: .65rem;
  line-height: 1.35;
}

.site-header.global-nav-v3 .global-nav__product-lines {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-content: start;
  gap: 0 clamp(2rem,4vw,4.5rem);
}

.site-header.global-nav-v3 .global-nav__product-lines a {
  position: relative;
  min-width: 0;
  padding: .8rem 2rem .8rem 0;
  border-bottom: 1px solid var(--nav3-line);
  color: var(--nav3-text);
  transition: color .15s ease, padding .15s var(--ease-premium), border-color .15s ease;
}

.site-header.global-nav-v3 .global-nav__product-lines a i {
  position: absolute;
  top: 50%;
  right: .1rem;
  color: var(--nav3-accent);
  font-style: normal;
  transform: translateY(-50%);
  transition: transform .15s var(--ease-premium);
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v3 .global-nav__overview-link:hover i,
  .site-header.global-nav-v3 .global-nav__product-lines a:hover i {
    transform: translate(.18rem,-50%);
  }

  .site-header.global-nav-v3 .global-nav__overview-link:hover i {
    transform: translate(.18rem,-.08rem);
  }

  .site-header.global-nav-v3 .global-nav__mega-columns section > a:hover,
  .site-header.global-nav-v3 .global-nav__product-lines a:hover {
    padding-left: .35rem;
    border-color: color-mix(in srgb,var(--nav3-accent) 42%,var(--nav3-line));
    color: var(--nav3-accent);
  }
}

.site-header.global-nav-v3 .global-nav__mega :is(a[aria-current="page"],a[aria-current="page"] strong) {
  color: var(--nav3-accent);
}

.site-header.global-nav-v3 .global-nav__mobile {
  display: none;
}

@media (max-width: 900px), (max-height: 500px) and (orientation: landscape) and (max-width: 1024px) {
  .site-header.global-nav-v3 {
    --site-header-height: 3.9rem;
  }

  .site-header.global-nav-v3 .site-header__inner {
    width: min(100% - 1.2rem,86rem);
    grid-template-columns: 1fr auto 1fr;
    gap: .55rem;
  }

  .site-header.global-nav-v3 .site-brand {
    max-width: 8.2rem;
    overflow: hidden;
    font-size: .74rem;
    text-overflow: ellipsis;
  }

  .site-header.global-nav-v3 .global-nav__desktop,
  .site-header.global-nav-v3 .global-nav__desktop-panels,
  .site-header.global-nav-v3 .global-nav__channel {
    display: none;
  }

  .site-header.global-nav-v3 .site-menu-toggle {
    display: inline-flex;
    justify-self: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: .68rem;
  }

  .site-header.global-nav-v3 .site-header__actions {
    justify-self: end;
  }

  .site-header.global-nav-v3 .theme-toggle {
    width: 2.2rem;
    height: 2.2rem;
  }

  .site-header.global-nav-v3 .site-nav-panel {
    height: calc(100dvh - var(--site-header-height));
    max-height: none;
    overflow: hidden;
    border-bottom: 0;
    box-shadow: none;
  }

  .site-header.global-nav-v3 .site-nav-panel__inner {
    width: min(100% - 1.2rem,86rem);
    height: 100%;
  }

  .site-header.global-nav-v3 .global-nav__mobile {
    position: relative;
    display: block;
    height: 100%;
    overflow: hidden;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level {
    position: absolute;
    inset: 0 0 5.8rem;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: clamp(1.2rem,5vw,2rem) 0 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    pointer-events: none;
    transform: translateX(1rem);
    transition: opacity .17s var(--ease-premium), transform .17s var(--ease-premium);
  }

  .site-header.global-nav-v3 .global-nav__mobile-level[data-enter-from="left"] {
    transform: translateX(-1rem);
  }

  .site-header.global-nav-v3 .global-nav__mobile-level.is-active {
    z-index: 2;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .site-header.global-nav-v3 .global-nav__mobile-level[hidden] {
    display: none;
  }

  .site-header.global-nav-v3 .global-nav__mobile-kicker {
    margin: 0 0 .65rem;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level > :is(a,button) {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 1rem;
    width: 100%;
    min-height: 3.4rem;
    padding: .68rem .12rem;
    border: 0;
    border-bottom: 1px solid var(--nav3-line);
    border-radius: 0;
    background: transparent;
    color: var(--nav3-text);
    font: inherit;
    font-family: var(--font-display);
    font-size: clamp(1.22rem,6.5vw,1.8rem);
    font-weight: 570;
    line-height: 1.05;
    text-align: left;
    letter-spacing: -.025em;
    cursor: pointer;
    transition: color .14s ease, padding .14s var(--ease-premium), background-color .14s ease;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level > :is(a,button) i {
    color: var(--nav3-accent);
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-style: normal;
    font-weight: 500;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level > :is(a,button)[aria-current="page"] {
    color: var(--nav3-accent);
  }

  .site-header.global-nav-v3 .global-nav__mobile-level > .global-nav__mobile-back {
    grid-template-columns: auto minmax(0,1fr);
    justify-items: start;
    min-height: 2.75rem;
    margin-bottom: .35rem;
    color: var(--nav3-muted);
    font-family: var(--font-body);
    font-size: .76rem;
    font-weight: 650;
    letter-spacing: 0;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level > .global-nav__mobile-overview {
    margin-top: .55rem;
    border-bottom-color: transparent;
    color: var(--nav3-accent);
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 680;
    letter-spacing: 0;
  }

  .site-header.global-nav-v3 .global-nav__mobile-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    min-height: 5.8rem;
    padding: .85rem 0 max(.75rem,env(safe-area-inset-bottom));
    border-top: 1px solid var(--nav3-line);
    background: var(--nav3-surface);
  }

  .site-header.global-nav-v3 .global-nav__mobile-footer > div {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .85rem;
  }

  .site-header.global-nav-v3 .global-nav__mobile-footer a {
    color: var(--nav3-text);
    font-size: .67rem;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb,var(--nav3-accent) 55%,transparent);
    text-underline-offset: .22rem;
  }

  .site-header.global-nav-v3 .global-nav__mobile-footer p {
    margin: 0;
    color: var(--nav3-text);
    font-size: .69rem;
    font-weight: 650;
    line-height: 1.35;
    text-align: right;
  }

  .site-header.global-nav-v3 .global-nav__mobile-footer p span {
    color: var(--nav3-muted);
    font-size: .61rem;
    font-weight: 520;
  }

  @media (hover: hover) and (pointer: fine) {
    .site-header.global-nav-v3 .global-nav__mobile-level > :is(a,button):hover {
      padding-left: .35rem;
      background: var(--nav3-hover);
      color: var(--nav3-accent);
    }
  }
}

@media (max-height: 500px) and (orientation: landscape) and (max-width: 1024px) {
  .site-header.global-nav-v3 {
    --site-header-height: 3.55rem;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level {
    bottom: 4.5rem;
    padding-top: .7rem;
  }

  .site-header.global-nav-v3 .global-nav__mobile-level > :is(a,button) {
    min-height: 2.75rem;
    padding-block: .45rem;
    font-size: clamp(1rem,3.1vw,1.3rem);
  }

  .site-header.global-nav-v3 .global-nav__mobile-footer {
    min-height: 4.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header.global-nav-v3 .site-nav-panel,
  .site-header.global-nav-v3 .site-menu-toggle span,
  .site-header.global-nav-v3 .global-nav__mobile-level,
  .site-header.global-nav-v3 :is(a,button) {
    transition-duration: .01ms !important;
  }
}

/* =========================================================
   GLOBAL NAVIGATION V4 - navigation canvas
   Shared visual sitemap for every project page
   ========================================================= */
.site-header.global-nav-v4 {
  --nav4-surface: color-mix(in srgb,var(--background) 97%,var(--foreground) 3%);
  --nav4-surface-soft: var(--muted);
  --nav4-text: var(--foreground);
  --nav4-muted: color-mix(in srgb,var(--muted-foreground) 88%,var(--foreground) 12%);
  --nav4-line: color-mix(in srgb,var(--border) 86%,var(--foreground) 14%);
  --nav4-accent: var(--primary);
  --nav4-hover: color-mix(in srgb,var(--foreground) 4%,transparent);
  --nav4-focus: color-mix(in srgb,var(--primary-action) 72%,white 28%);
  --nav4-motion-fast: 160ms;
  --nav4-island-radius: .76rem;
  --site-header-height: 4.25rem;
}

html.dark .site-header.global-nav-v4 {
  --nav4-accent: var(--primary-action);
  --nav4-line: color-mix(in srgb,var(--border) 72%,white 8%);
}

.site-header.global-nav-v4 .site-header__inner {
  width: min(100% - 2rem,86rem);
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: clamp(.75rem,2vw,2rem);
}

.site-header.global-nav-v4 .site-brand {
  grid-column: 1;
  justify-self: start;
  font-size: .86rem;
  font-weight: 720;
  letter-spacing: -.015em;
  white-space: nowrap;
}

.site-header.global-nav-v4 .site-menu-toggle {
  position: fixed;
  top: calc(var(--site-header-height) / 2);
  left: 50vw;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  appearance: none;
  transform: translate(-50%,-50%);
  transition: color var(--nav4-motion-fast) ease-out, transform 130ms cubic-bezier(.23,1,.32,1);
  cursor: pointer;
  isolation: isolate;
  touch-action: manipulation;
}

.site-header.global-nav-v4.is-scrolled .site-menu-toggle {
  top: 1.875rem;
}

.site-header.global-nav-v4 .site-menu-toggle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.1rem;
  height: 2.25rem;
  border: 1px solid var(--header-control-border);
  border-radius: var(--nav4-island-radius);
  background: var(--header-control-background);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb,currentColor 9%,transparent),
    0 .35rem 1.1rem color-mix(in srgb,var(--background) 18%,transparent);
  content: "";
  transform: translate(-50%,-50%);
  transition:
    background-color var(--nav4-motion-fast) ease-out,
    border-color var(--nav4-motion-fast) ease-out,
    box-shadow var(--nav4-motion-fast) ease-out,
    transform 130ms cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v4 .site-menu-toggle span {
  z-index: 1;
  width: 1.08rem;
  height: 1.25px;
  border-radius: 99px;
  background: currentColor;
  transition: transform var(--nav4-motion-fast) cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v4 .site-menu-toggle span:first-child { transform: translateY(-.17rem); }
.site-header.global-nav-v4 .site-menu-toggle span:last-child { transform: translateY(.17rem); }
.site-header.global-nav-v4 .site-menu-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.site-header.global-nav-v4 .site-menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }

.site-header.global-nav-v4 .site-menu-toggle[aria-expanded="true"]::before {
  border-color: color-mix(in srgb,var(--nav4-accent) 54%,var(--header-control-border));
  background: color-mix(in srgb,var(--nav4-accent) 10%,var(--header-control-background));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb,var(--nav4-accent) 22%,transparent),
    0 .4rem 1.25rem color-mix(in srgb,var(--nav4-accent) 9%,transparent);
}

.site-header.global-nav-v4 .site-menu-toggle:focus-visible {
  outline: none;
}

.site-header.global-nav-v4 .site-menu-toggle:focus-visible::before {
  border-color: var(--nav4-focus);
  box-shadow:
    0 0 0 3px color-mix(in srgb,var(--nav4-focus) 28%,transparent),
    inset 0 1px 0 color-mix(in srgb,currentColor 12%,transparent),
    0 .45rem 1.2rem color-mix(in srgb,var(--background) 20%,transparent);
}

.site-header.global-nav-v4 .site-header__actions {
  grid-column: 3;
  justify-self: end;
  gap: .38rem;
}

.site-header.global-nav-v4 .header-cta {
  min-height: 2.2rem;
  padding: .52rem .82rem;
  border: 1px solid var(--header-control-border);
  border-radius: .68rem;
  background: var(--header-control-background);
  color: inherit;
  font-size: .72rem;
  font-weight: 680;
  line-height: 1;
  white-space: nowrap;
  transition: color .15s ease, background-color .15s ease, border-color .15s ease, transform .13s var(--ease-premium);
}

.site-header.global-nav-v4 .global-nav__channel,
.site-header.global-nav-v4 .theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  border: 1px solid var(--header-control-border);
  border-radius: .68rem;
  background: var(--header-control-background);
  color: inherit;
  transition: color .15s ease, background-color .15s ease, border-color .15s ease, transform .13s var(--ease-premium);
}

.site-header.global-nav-v4 .global-nav__channel svg,
.site-header.global-nav-v4 .theme-toggle svg {
  width: .9rem;
  height: .9rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-header.global-nav-v4 :is(a,button):focus-visible {
  outline: 2px solid var(--primary-action);
  outline-offset: 3px;
}

.site-header.global-nav-v4 :is(.header-cta,.global-nav__channel,.theme-toggle):active,
.site-header.global-nav-v4 .nav-canvas__sitemap :is(a,button):active,
.site-header.global-nav-v4 .nav-canvas__workspace :is(a,button):active {
  transform: scale(.97);
}

.site-header.global-nav-v4 .site-menu-toggle:active {
  transform: translate(-50%,-50%) scale(.96);
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v4 :is(.header-cta,.global-nav__channel,.theme-toggle):hover {
    border-color: color-mix(in srgb,currentColor 24%,transparent);
    background: color-mix(in srgb,currentColor 8%,transparent);
  }

  .site-header.global-nav-v4 .site-menu-toggle:hover::before {
    border-color: color-mix(in srgb,var(--nav4-accent) 34%,var(--header-control-border));
    background: color-mix(in srgb,currentColor 7%,var(--header-control-background));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb,currentColor 13%,transparent),
      0 .5rem 1.35rem color-mix(in srgb,var(--background) 24%,transparent);
    transform: translate(-50%,-50%) scale(1.025);
  }
}

.site-header.global-nav-v4.is-menu-open {
  --header-color: var(--nav4-text);
  --header-border: var(--nav4-line);
  --header-background: var(--nav4-surface);
  --header-control-border: var(--nav4-line);
  --header-control-background: var(--nav4-hover);
  --header-shadow: none;
  z-index: 420;
}

html:not(.dark) .site-header.global-nav-v4.is-scrolled {
  --header-color: var(--nav4-text);
  --header-border: var(--nav4-line);
  --header-background: color-mix(in srgb,var(--nav4-surface) 94%,transparent);
  --header-control-border: var(--nav4-line);
  --header-control-background: var(--nav4-hover);
  --header-shadow: 0 .7rem 2.5rem rgba(32,30,25,.07);
}

.site-header.global-nav-v4 .site-nav-panel {
  inset: 100% 0 auto;
  height: auto;
  max-height: calc(100dvh - var(--site-header-height) - .75rem);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--nav4-line);
  border-bottom: 1px solid var(--nav4-line);
  background:
    radial-gradient(circle at 73% -25%,color-mix(in srgb,var(--nav4-accent) 7%,transparent),transparent 24rem),
    var(--nav4-surface);
  color: var(--nav4-text);
  box-shadow: none;
  pointer-events: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 0;
  transform: translateY(-.45rem);
  transition: opacity .18s var(--ease-premium), visibility .18s var(--ease-premium), transform .18s var(--ease-premium);
}

.site-header.global-nav-v4 .site-nav-panel.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.site-header.global-nav-v4 .site-nav-panel__inner {
  width: min(100% - 2rem,86rem);
  height: auto;
  min-height: 0;
  padding: 0;
}

.site-header.global-nav-v4 .global-nav__canvas {
  display: grid;
  grid-template-columns: minmax(10.5rem,12.5rem) minmax(0,1fr);
  gap: clamp(1.5rem,3vw,3.5rem);
  height: auto;
}

.site-header.global-nav-v4 .nav-canvas__sitemap {
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(1.4rem,2.2vw,2rem) clamp(1.25rem,2vw,2.2rem) clamp(1.35rem,2vw,1.8rem) 0;
  border-right: 1px solid var(--nav4-line);
}

.site-header.global-nav-v4 .nav-canvas__sitemap > span,
.site-header.global-nav-v4 .nav-canvas__kicker,
.site-header.global-nav-v4 .nav-canvas__topic-group h3,
.site-header.global-nav-v4 .nav-canvas__categories h3 {
  color: var(--nav4-accent);
  font-size: .61rem;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.site-header.global-nav-v4 .nav-canvas__sitemap ol {
  display: grid;
  gap: .1rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
}

.site-header.global-nav-v4 .nav-canvas__sitemap li { min-width: 0; }

.site-header.global-nav-v4 .nav-canvas__sitemap li > :is(a,button) {
  position: relative;
  display: grid;
  grid-template-columns: 1.35rem minmax(0,1fr);
  align-items: baseline;
  gap: .5rem;
  width: 100%;
  min-height: 2.65rem;
  padding: .65rem .4rem .65rem .55rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nav4-muted);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color .15s ease, background-color .15s ease, transform .13s var(--ease-premium);
}

.site-header.global-nav-v4 .nav-canvas__sitemap li > :is(a,button)::before {
  position: absolute;
  top: .52rem;
  bottom: .52rem;
  left: 0;
  width: 2px;
  background: var(--nav4-accent);
  content: "";
  opacity: 0;
  transform: scaleY(.35);
  transform-origin: center;
  transition: opacity .15s ease, transform .15s var(--ease-premium);
}

.site-header.global-nav-v4 .nav-canvas__sitemap small {
  color: var(--nav4-muted);
  font-size: .55rem;
  font-weight: 620;
  font-variant-numeric: tabular-nums;
}

.site-header.global-nav-v4 .nav-canvas__sitemap strong {
  font-size: .83rem;
  font-weight: 620;
}

.site-header.global-nav-v4 .nav-canvas__sitemap li > :is(a,button):is([aria-current="page"],.is-current-branch) {
  color: var(--nav4-text);
}

.site-header.global-nav-v4 .nav-canvas__sitemap li > :is(a,button).is-selected {
  background: var(--nav4-hover);
  color: var(--nav4-text);
}

.site-header.global-nav-v4 .nav-canvas__sitemap li > :is(a,button):is([aria-current="page"],.is-current-branch)::before {
  opacity: 1;
  transform: scaleY(1);
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v4 .nav-canvas__sitemap li > :is(a,button):hover {
    background: var(--nav4-hover);
    color: var(--nav4-text);
  }
}

.site-header.global-nav-v4 .nav-canvas__identity {
  display: grid;
  gap: .2rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--nav4-line);
}

.site-header.global-nav-v4 .nav-canvas__identity strong {
  font-size: .7rem;
  font-weight: 680;
}

.site-header.global-nav-v4 .nav-canvas__identity span {
  color: var(--nav4-muted);
  font-size: .59rem;
}

.site-header.global-nav-v4 .nav-canvas__workspace {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  overflow: clip;
}

.site-header.global-nav-v4 .nav-canvas__level {
  position: relative;
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(14rem,.72fr) minmax(0,2fr);
  align-items: start;
  gap: clamp(1.6rem,3.4vw,4.1rem);
  min-width: 0;
  padding: clamp(1.4rem,2.2vw,2rem) 0 clamp(1.35rem,2vw,1.8rem);
  overflow: visible;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.6rem);
  transition: opacity 170ms ease-out, transform 170ms cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v4 .nav-canvas__level.is-active {
  z-index: 2;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.site-header.global-nav-v4 .nav-canvas__level[hidden] { display: none; }

.site-header.global-nav-v4 .nav-canvas__guide {
  min-width: 0;
  padding-right: clamp(1rem,2.5vw,2.8rem);
  border-right: 1px solid var(--nav4-line);
}

.site-header.global-nav-v4 .nav-canvas__back,
.site-header.global-nav-v4 .nav-canvas__guide-spacer {
  min-height: 1.55rem;
  margin-bottom: clamp(.75rem,1.5vw,1.25rem);
}

.site-header.global-nav-v4 .nav-canvas__back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .2rem 0;
  border: 0;
  background: transparent;
  color: var(--nav4-muted);
  font: inherit;
  font-size: .66rem;
  font-weight: 620;
  cursor: pointer;
  transition: color .15s ease, transform .13s var(--ease-premium);
}

.site-header.global-nav-v4 .nav-canvas__back i { color: var(--nav4-accent); font-size: 1rem; font-style: normal; }
.site-header.global-nav-v4 .nav-canvas__guide-spacer { display: block; }

.site-header.global-nav-v4 .nav-canvas__guide h2 {
  max-width: 12ch;
  margin: .62rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.8rem,2.8vw,2.75rem);
  font-weight: 620;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.site-header.global-nav-v4 .nav-canvas__guide p {
  max-width: 28rem;
  margin: .9rem 0 0;
  color: var(--nav4-muted);
  font-size: .78rem;
  line-height: 1.55;
  text-wrap: pretty;
}

.site-header.global-nav-v4 .nav-canvas__overview-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.25rem;
  color: var(--nav4-text);
  font-size: .7rem;
  font-weight: 680;
}

.site-header.global-nav-v4 .nav-canvas__overview-link i {
  color: var(--nav4-accent);
  font-style: normal;
  transition: transform .15s var(--ease-premium);
}

.site-header.global-nav-v4 .nav-canvas__categories,
.site-header.global-nav-v4 .nav-canvas__topics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: start;
  min-width: 0;
  gap: 1.15rem 0;
  padding-top: 1.55rem;
}

.site-header.global-nav-v4 .nav-canvas__categories > section,
.site-header.global-nav-v4 .nav-canvas__topic-group {
  min-width: 0;
  padding-inline: clamp(.85rem,1.8vw,1.8rem);
  border-left: 1px solid var(--nav4-line);
}

.site-header.global-nav-v4 .nav-canvas__categories > section:first-child,
.site-header.global-nav-v4 .nav-canvas__topic-group:nth-child(3n + 1) {
  padding-left: 0;
  border-left: 0;
}

.site-header.global-nav-v4 .nav-canvas__categories h3,
.site-header.global-nav-v4 .nav-canvas__topic-group h3 {
  margin: 0 0 .72rem;
}

.site-header.global-nav-v4 .nav-canvas__category-lead {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: .75rem;
  width: 100%;
  min-height: 3rem;
  padding: .55rem 0;
  border: 0;
  border-bottom: 1px solid var(--nav4-line);
  border-radius: 0;
  background: transparent;
  color: var(--nav4-accent);
  font: inherit;
  font-size: .64rem;
  font-weight: 760;
  letter-spacing: .12em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

.site-header.global-nav-v4 .nav-canvas__category-lead i,
.site-header.global-nav-v4 .nav-canvas__branches i {
  display: grid;
  width: 1.55rem;
  height: 1.55rem;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--nav4-accent) 34%,var(--nav4-line));
  border-radius: 50%;
  font-size: 1rem;
  font-style: normal;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .15s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v4 .nav-canvas__categories > section > p {
  margin: .75rem 0 0;
  color: var(--nav4-muted);
  font-size: .72rem;
  line-height: 1.78;
}

.site-header.global-nav-v4 .nav-canvas__branches {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-content: start;
  gap: 0 clamp(1.5rem,3.2vw,3.4rem);
  padding-top: 1.35rem;
}

.site-header.global-nav-v4 .nav-canvas__branches > button {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: .18rem .75rem;
  width: 100%;
  min-height: 5rem;
  padding: .85rem 1.5rem .85rem 0;
  border: 0;
  border-bottom: 1px solid var(--nav4-line);
  border-radius: 0;
  background: transparent;
  color: var(--nav4-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .13s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v4 .nav-canvas__branches small {
  grid-column: 1;
  color: var(--nav4-accent);
  font-size: .58rem;
  font-weight: 740;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site-header.global-nav-v4 .nav-canvas__branches strong {
  grid-column: 1;
  font-size: .95rem;
  font-weight: 660;
}

.site-header.global-nav-v4 .nav-canvas__branches span {
  grid-column: 1;
  color: var(--nav4-muted);
  font-size: .65rem;
}

.site-header.global-nav-v4 .nav-canvas__branches i {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  color: var(--nav4-accent);
}

.site-header.global-nav-v4 .nav-canvas__topics--sparse {
  grid-template-columns: minmax(13rem,21rem);
}

.site-header.global-nav-v4 .nav-canvas__topic-group > div { display: grid; }

.site-header.global-nav-v4 .nav-canvas__topic {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: .16rem .65rem;
  min-width: 0;
  min-height: 3.35rem;
  padding: .68rem .75rem .68rem 0;
  border-bottom: 1px solid var(--nav4-line);
  color: var(--nav4-text);
  transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .13s cubic-bezier(.23,1,.32,1);
}

.site-header.global-nav-v4 .nav-canvas__topic small {
  grid-column: 1;
  color: var(--nav4-muted);
  font-size: .55rem;
  font-weight: 650;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.site-header.global-nav-v4 .nav-canvas__topic strong {
  grid-column: 1;
  min-width: 0;
  font-size: .78rem;
  font-weight: 640;
  line-height: 1.25;
  text-wrap: pretty;
}

.site-header.global-nav-v4 .nav-canvas__topic i {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--nav4-accent);
  font-size: .72rem;
  font-style: normal;
}

.site-header.global-nav-v4 .nav-canvas__topic[aria-current="page"],
.site-header.global-nav-v4 .nav-canvas__topic[aria-current="page"] small,
.site-header.global-nav-v4 .nav-canvas__branches > button.is-current-branch {
  color: var(--nav4-accent);
}

.site-header.global-nav-v4 .nav-canvas__topic[aria-current="page"],
.site-header.global-nav-v4 .nav-canvas__branches > button.is-current-branch,
.site-header.global-nav-v4 .nav-canvas__category-lead.is-current-branch {
  border-color: color-mix(in srgb,var(--nav4-accent) 46%,var(--nav4-line));
  background: linear-gradient(90deg,color-mix(in srgb,var(--nav4-accent) 8%,transparent),transparent 72%);
  font-weight: 680;
}

@media (hover: hover) and (pointer: fine) {
  .site-header.global-nav-v4 .nav-canvas__overview-link:hover i { transform: translate(.16rem,-.08rem); }
  .site-header.global-nav-v4 .nav-canvas__back:hover { color: var(--nav4-text); }
  .site-header.global-nav-v4 .nav-canvas__category-lead:hover,
  .site-header.global-nav-v4 .nav-canvas__branches > button:hover,
  .site-header.global-nav-v4 .nav-canvas__topic:hover {
    border-color: color-mix(in srgb,var(--nav4-accent) 42%,var(--nav4-line));
    background: linear-gradient(90deg,color-mix(in srgb,var(--nav4-accent) 6%,transparent),transparent 76%);
    color: var(--nav4-accent);
  }

  .site-header.global-nav-v4 :is(.nav-canvas__category-lead,.nav-canvas__branches > button):hover i {
    border-color: color-mix(in srgb,var(--nav4-accent) 72%,var(--nav4-line));
    background: color-mix(in srgb,var(--nav4-accent) 10%,transparent);
    transform: translateX(.12rem);
  }
}

.site-header.global-nav-v4 .global-nav__mobile { display: none; }

@media (max-width: 900px), (max-height: 500px) and (orientation: landscape) and (max-width: 1024px) {
  .site-header.global-nav-v4 { --site-header-height: 3.9rem; }

  .site-header.global-nav-v4 .site-nav-panel {
    height: calc(100dvh - var(--site-header-height));
    max-height: none;
    overflow: hidden;
  }

  .site-header.global-nav-v4 .site-header__inner {
    width: min(100% - 1.2rem,86rem);
    gap: .5rem;
  }

  .site-header.global-nav-v4 .site-brand {
    max-width: 8.4rem;
    overflow: hidden;
    font-size: .74rem;
    text-overflow: ellipsis;
  }

  .site-header.global-nav-v4 .header-cta,
  .site-header.global-nav-v4 .global-nav__channel,
  .site-header.global-nav-v4 .global-nav__canvas {
    display: none;
  }

  .site-header.global-nav-v4 .theme-toggle {
    width: 2.75rem;
    height: 2.75rem;
  }

  .site-header.global-nav-v4 .site-nav-panel__inner {
    width: min(100% - 1.2rem,86rem);
    height: 100%;
  }

  .site-header.global-nav-v4 .global-nav__mobile {
    position: relative;
    display: block;
    height: 100%;
    overflow: hidden;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level {
    position: absolute;
    inset: 0 0 5.8rem;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: clamp(1.15rem,5vw,2rem) 0 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 0;
    pointer-events: none;
    transform: translateX(1rem);
    transition: opacity 170ms ease-out, transform 170ms cubic-bezier(.23,1,.32,1);
  }

  .site-header.global-nav-v4 .global-nav__mobile-level[data-enter-from="left"] { transform: translateX(-1rem); }

  .site-header.global-nav-v4 .global-nav__mobile-level.is-active {
    z-index: 2;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .site-header.global-nav-v4 .global-nav__mobile-level[hidden] { display: none; }

  .site-header.global-nav-v4 .global-nav__mobile-kicker {
    margin: 0 0 .65rem;
    color: var(--nav4-accent);
    font-size: .61rem;
    font-weight: 760;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button) {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 1rem;
    width: 100%;
    min-height: 3.45rem;
    padding: .68rem .12rem;
    border: 0;
    border-bottom: 1px solid var(--nav4-line);
    border-radius: 0;
    background: transparent;
    color: var(--nav4-text);
    font: inherit;
    font-family: var(--font-display);
    font-size: clamp(1.2rem,6.2vw,1.72rem);
    font-weight: 570;
    line-height: 1.05;
    text-align: left;
    letter-spacing: -.025em;
    cursor: pointer;
    transition: color .14s ease, background-color .14s ease, transform .13s cubic-bezier(.23,1,.32,1);
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button) i {
    color: var(--nav4-accent);
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-style: normal;
    font-weight: 500;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button)[aria-current="page"] { color: var(--nav4-accent); }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button):active {
    transform: scale(.985);
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button)[aria-current="page"] {
    padding-left: .45rem;
    background: linear-gradient(90deg,color-mix(in srgb,var(--nav4-accent) 9%,transparent),transparent 76%);
    font-weight: 640;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button)[aria-current="page"]::before {
    position: absolute;
    top: .72rem;
    bottom: .72rem;
    left: 0;
    width: 2px;
    border-radius: 99px;
    background: var(--nav4-accent);
    content: "";
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > button[data-mobile-next] i {
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border: 1px solid color-mix(in srgb,var(--nav4-accent) 34%,var(--nav4-line));
    border-radius: 50%;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > .global-nav__mobile-back {
    grid-template-columns: auto minmax(0,1fr);
    justify-items: start;
    min-height: 2.75rem;
    margin-bottom: .35rem;
    color: var(--nav4-muted);
    font-family: var(--font-body);
    font-size: .76rem;
    font-weight: 650;
    letter-spacing: 0;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > .global-nav__mobile-overview {
    margin-top: .55rem;
    border-bottom-color: transparent;
    color: var(--nav4-accent);
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 680;
    letter-spacing: 0;
  }

  .site-header.global-nav-v4 .global-nav__mobile-topic > span {
    display: grid;
    gap: .18rem;
  }

  .site-header.global-nav-v4 .global-nav__mobile-topic small {
    color: var(--nav4-accent);
    font-family: var(--font-body);
    font-size: .56rem;
    font-weight: 760;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .site-header.global-nav-v4 .global-nav__mobile-topic strong {
    font-size: inherit;
    font-weight: 580;
  }

  .site-header.global-nav-v4 .global-nav__mobile-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    min-height: 5.8rem;
    padding: .85rem 0 max(.75rem,env(safe-area-inset-bottom));
    border-top: 1px solid var(--nav4-line);
    background: var(--nav4-surface);
  }

  .site-header.global-nav-v4 .global-nav__mobile-footer > div {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .85rem;
  }

  .site-header.global-nav-v4 .global-nav__mobile-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    color: var(--nav4-text);
    font-size: .67rem;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb,var(--nav4-accent) 55%,transparent);
    text-underline-offset: .22rem;
  }

  .site-header.global-nav-v4 .global-nav__mobile-footer p {
    margin: 0;
    color: var(--nav4-text);
    font-size: .69rem;
    font-weight: 650;
    line-height: 1.35;
    text-align: right;
  }

  .site-header.global-nav-v4 .global-nav__mobile-footer p span {
    color: var(--nav4-muted);
    font-size: .61rem;
    font-weight: 520;
  }

  @media (hover: hover) and (pointer: fine) {
    .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button):hover {
      background: var(--nav4-hover);
      color: var(--nav4-accent);
    }
  }
}

@media (min-width: 901px) and (max-width: 1100px) and (min-height: 501px) {
  .site-header.global-nav-v4 .global-nav__canvas {
    grid-template-columns: 10.5rem minmax(0,1fr);
    gap: 1.5rem;
  }

  .site-header.global-nav-v4 .nav-canvas__level {
    grid-template-columns: minmax(12.5rem,.66fr) minmax(0,2fr);
    gap: 1.5rem;
  }

  .site-header.global-nav-v4 .nav-canvas__guide h2 { font-size: clamp(1.65rem,2.5vw,2.2rem); }
  .site-header.global-nav-v4 .nav-canvas__categories > section,
  .site-header.global-nav-v4 .nav-canvas__topic-group { padding-inline: .75rem; }
  .site-header.global-nav-v4 .nav-canvas__topic strong { font-size: .72rem; }
}

@media (max-height: 500px) and (orientation: landscape) and (max-width: 1024px) {
  .site-header.global-nav-v4 { --site-header-height: 3.55rem; }

  .site-header.global-nav-v4 .global-nav__mobile-level {
    bottom: 4.5rem;
    padding-top: .65rem;
  }

  .site-header.global-nav-v4 .global-nav__mobile-level > :is(a,button) {
    min-height: 2.7rem;
    padding-block: .42rem;
    font-size: clamp(1rem,3vw,1.25rem);
  }

  .site-header.global-nav-v4 .global-nav__mobile-footer { min-height: 4.5rem; }
}

.site-header.global-nav-v4 .site-nav-panel.is-nav-immediate,
.site-header.global-nav-v4 .is-nav-immediate,
.site-header.global-nav-v4 .is-nav-immediate :is(a,button) {
  transition-duration: .01ms !important;
}

.site-header.global-nav-v4 .site-menu-toggle.is-nav-immediate::before,
.site-header.global-nav-v4 .site-menu-toggle.is-nav-immediate span {
  transition-duration: .01ms !important;
}

@media (prefers-reduced-motion: reduce) {
  .site-header.global-nav-v4 .site-nav-panel,
  .site-header.global-nav-v4 .site-menu-toggle,
  .site-header.global-nav-v4 .site-menu-toggle::before,
  .site-header.global-nav-v4 .site-menu-toggle span,
  .site-header.global-nav-v4 .nav-canvas__level,
  .site-header.global-nav-v4 .global-nav__mobile-level,
  .site-header.global-nav-v4 :is(a,button) {
    transition-duration: .01ms !important;
  }

  .site-header.global-nav-v4 .nav-canvas__level,
  .site-header.global-nav-v4 .global-nav__mobile-level { transform: none; }

  .site-header.global-nav-v4 .site-menu-toggle:active {
    transform: translate(-50%,-50%);
  }
}

/* =========================================================
   LIQUID GLASS MATERIAL â€” About cards
   Inspired by refractive / inset glass controls
   ========================================================= */
.liquid-glass-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.about-story {
  --liquid-edge: rgba(255, 255, 255, .78);
  --liquid-edge-soft: rgba(255, 255, 255, .32);
  --liquid-ink: rgba(22, 28, 38, .12);
  --liquid-gold: rgba(245, 197, 24, .16);
  perspective: 1200px;
}

.liquid-glass-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.58) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.26), rgba(255,255,255,.075) 48%, rgba(224,238,255,.12)) !important;
  box-shadow:
    0 1px 1px rgba(255,255,255,.62) inset,
    3px 3px 1px -3px rgba(10,18,31,.78) inset,
    -3px -3px 1px -3px rgba(255,255,255,.96) inset,
    1px 1px 1px rgba(255,255,255,.42) inset,
    -1px -1px 1px rgba(20,32,50,.12) inset,
    0 0 0 1px rgba(255,255,255,.15) inset,
    0 20px 50px rgba(30,51,82,.10),
    0 3px 12px rgba(16,24,40,.06) !important;
  backdrop-filter: blur(28px) saturate(185%) contrast(108%);
  -webkit-backdrop-filter: blur(28px) saturate(185%) contrast(108%);
  transform: translateZ(0);
  transition:
    transform .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s cubic-bezier(.16,1,.3,1),
    border-color .42s ease,
    background .42s ease !important;
}

.liquid-glass-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(95% 75% at 16% 0%, rgba(255,255,255,.68), transparent 44%),
    radial-gradient(60% 55% at 100% 100%, rgba(245,197,24,.12), transparent 58%),
    linear-gradient(118deg, rgba(255,255,255,.22), transparent 30% 70%, rgba(255,255,255,.08));
  opacity: .9;
  mix-blend-mode: screen;
}

.liquid-glass-card::after {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: -2;
  pointer-events: none;
  border-radius: inherit;
  background:
    conic-gradient(from 205deg at 50% 50%, transparent 0 24%, rgba(255,255,255,.18) 31%, transparent 40% 72%, rgba(245,197,24,.10) 82%, transparent 92%);
  filter: url(#liquid-glass-distortion) blur(1px);
  opacity: .72;
  transform: rotate(-5deg) scale(1.08);
  transition: transform .7s cubic-bezier(.16,1,.3,1), opacity .4s ease;
}

.liquid-glass-card:hover {
  transform: translateY(-5px) scale(1.008) rotateX(.35deg) !important;
  border-color: rgba(255,255,255,.92) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.095) 48%, rgba(218,235,255,.16)) !important;
  box-shadow:
    0 1px 1px rgba(255,255,255,.78) inset,
    3px 3px 1px -3px rgba(10,18,31,.70) inset,
    -3px -3px 1px -3px rgba(255,255,255,1) inset,
    0 0 0 1px rgba(255,255,255,.22) inset,
    0 28px 66px rgba(28,65,112,.16),
    0 8px 20px rgba(16,24,40,.08) !important;
}

.liquid-glass-card:hover::after {
  opacity: .98;
  transform: rotate(2deg) scale(1.13) translate3d(1.5%, -1%, 0);
}

.verification-card--lead.liquid-glass-card,
.verification-card--arag.liquid-glass-card {
  background:
    radial-gradient(circle at 88% 10%, rgba(245,197,24,.18), transparent 12rem),
    linear-gradient(145deg, rgba(255,255,255,.30), rgba(255,255,255,.08) 50%, rgba(220,237,255,.14)) !important;
}

.dark .about-story {
  --liquid-edge: rgba(255,255,255,.15);
  --liquid-edge-soft: rgba(255,255,255,.08);
  --liquid-ink: rgba(0,0,0,.42);
  --liquid-gold: rgba(245,197,24,.22);
}

.dark .liquid-glass-card {
  border-color: rgba(255,255,255,.105) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.022) 48%, rgba(120,90,0,.06)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.10) inset,
    3px 3px 1px -3px rgba(255,255,255,.18) inset,
    -3px -3px 1px -3px rgba(255,255,255,.42) inset,
    1px 1px 1px rgba(255,255,255,.075) inset,
    -1px -1px 1px rgba(0,0,0,.48) inset,
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 24px 62px rgba(0,0,0,.36),
    0 3px 14px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(30px) saturate(150%) contrast(112%);
  -webkit-backdrop-filter: blur(30px) saturate(150%) contrast(112%);
}

.dark .liquid-glass-card::before {
  background:
    radial-gradient(95% 75% at 16% 0%, rgba(255,255,255,.13), transparent 44%),
    radial-gradient(60% 55% at 100% 100%, rgba(245,197,24,.14), transparent 58%),
    linear-gradient(118deg, rgba(255,255,255,.07), transparent 30% 70%, rgba(255,255,255,.025));
}

.dark .liquid-glass-card:hover {
  border-color: rgba(89,160,255,.28) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.03) 48%, rgba(35,83,145,.08)) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.14) inset,
    3px 3px 1px -3px rgba(255,255,255,.20) inset,
    -3px -3px 1px -3px rgba(255,255,255,.48) inset,
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 32px 78px rgba(0,0,0,.48),
    0 0 44px rgba(245,197,24,.09) !important;
}

.dark .verification-card--lead.liquid-glass-card,
.dark .verification-card--arag.liquid-glass-card {
  background:
    radial-gradient(circle at 88% 10%, rgba(245,197,24,.20), transparent 12rem),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.025) 50%, rgba(30,72,125,.07)) !important;
}

@media (prefers-reduced-motion: reduce) {
  .liquid-glass-card,
  .liquid-glass-card::after {
    transition: none !important;
  }
  .liquid-glass-card:hover {
    transform: none !important;
  }
}

/* =========================================================
   FINAL NEUTRAL LIQUID GLASS PALETTE + MOBILE HARDENING
   Uses only neutral metal tones from the supplied reference
   plus the 365 warm gold accent.
   ========================================================= */
.about-story {
  --glass-black: #000000;
  --glass-charcoal: #3e3e3e;
  --glass-mid: #969696;
  --glass-silver: #a0a0a0;
  --glass-soft: #b9b9b9;
  --glass-light: #e5e5e5;
  --glass-white: #fafafa;
  --glass-gold: #f5c518;
}

/* Remove mixed-color ambient blobs; keep one restrained gold accent only. */
.about-story::before {
  background: rgba(245, 197, 24, .10) !important;
}
.about-story::after {
  background: rgba(160, 160, 160, .12) !important;
}

.liquid-glass-card,
.verification-card--lead.liquid-glass-card,
.verification-card--arag.liquid-glass-card {
  border-color: rgba(160, 160, 160, .28) !important;
  background:
    linear-gradient(145deg,
      rgba(250, 250, 250, .48) 0%,
      rgba(229, 229, 229, .24) 48%,
      rgba(185, 185, 185, .14) 100%) !important;
  box-shadow:
    0 1px 0 rgba(250,250,250,.92) inset,
    3px 3px .5px -3px rgba(62,62,62,.42) inset,
    -3px -3px .5px -3px rgba(250,250,250,.95) inset,
    1px 1px 1px -.5px rgba(160,160,160,.28) inset,
    -1px -1px 1px -.5px rgba(150,150,150,.18) inset,
    0 0 6px 6px rgba(185,185,185,.07) inset,
    0 18px 44px rgba(62,62,62,.09) !important;
}

.liquid-glass-card::before {
  background:
    radial-gradient(90% 70% at 14% 0%, rgba(250,250,250,.72), transparent 46%),
    linear-gradient(118deg, rgba(229,229,229,.18), transparent 34% 72%, rgba(160,160,160,.10)) !important;
}

.liquid-glass-card::after {
  background:
    conic-gradient(from 205deg at 50% 50%,
      transparent 0 26%,
      rgba(250,250,250,.18) 32%,
      transparent 42% 76%,
      rgba(245,197,24,.08) 84%,
      transparent 94%) !important;
}

.liquid-glass-card:hover {
  border-color: rgba(160,160,160,.44) !important;
  background:
    linear-gradient(145deg,
      rgba(250,250,250,.58) 0%,
      rgba(229,229,229,.30) 48%,
      rgba(185,185,185,.18) 100%) !important;
  box-shadow:
    0 1px 0 rgba(250,250,250,1) inset,
    3px 3px .5px -3px rgba(62,62,62,.35) inset,
    -3px -3px .5px -3px rgba(250,250,250,1) inset,
    0 0 0 1px rgba(229,229,229,.24) inset,
    0 24px 56px rgba(62,62,62,.13),
    0 0 28px rgba(245,197,24,.05) !important;
}

.dark .about-story::before {
  background: rgba(245,197,24,.16) !important;
}
.dark .about-story::after {
  background: rgba(62,62,62,.34) !important;
}

.dark .liquid-glass-card,
.dark .verification-card--lead.liquid-glass-card,
.dark .verification-card--arag.liquid-glass-card {
  border-color: rgba(160,160,160,.20) !important;
  background:
    linear-gradient(145deg,
      rgba(62,62,62,.46) 0%,
      rgba(0,0,0,.50) 52%,
      rgba(62,62,62,.30) 100%) !important;
  box-shadow:
    0 1px 0 rgba(250,250,250,.10) inset,
    3px 3px .5px -3px rgba(250,250,250,.09) inset,
    -3px -3px .5px -3px rgba(229,229,229,.34) inset,
    1px 1px 1px -.5px rgba(185,185,185,.16) inset,
    -1px -1px 1px -.5px rgba(0,0,0,.62) inset,
    0 0 6px 6px rgba(160,160,160,.06) inset,
    0 24px 62px rgba(0,0,0,.42) !important;
}

.dark .liquid-glass-card::before {
  background:
    radial-gradient(90% 70% at 14% 0%, rgba(250,250,250,.11), transparent 46%),
    linear-gradient(118deg, rgba(160,160,160,.08), transparent 34% 72%, rgba(0,0,0,.18)) !important;
}

.dark .liquid-glass-card::after {
  background:
    conic-gradient(from 205deg at 50% 50%,
      transparent 0 26%,
      rgba(229,229,229,.08) 32%,
      transparent 42% 76%,
      rgba(245,197,24,.12) 84%,
      transparent 94%) !important;
}

.dark .liquid-glass-card:hover {
  border-color: rgba(245,197,24,.46) !important;
  background:
    linear-gradient(145deg,
      rgba(62,62,62,.60) 0%,
      rgba(0,0,0,.58) 52%,
      rgba(62,62,62,.38) 100%) !important;
  box-shadow:
    0 1px 0 rgba(250,250,250,.14) inset,
    3px 3px .5px -3px rgba(250,250,250,.11) inset,
    -3px -3px .5px -3px rgba(229,229,229,.40) inset,
    0 0 0 1px rgba(160,160,160,.08) inset,
    0 30px 72px rgba(0,0,0,.52),
    0 0 32px rgba(245,197,24,.10) !important;
}

/* Keep gold as the semantic accent in cards. */
.verification-card__label,
.about-story .eyebrow,
.about-story a,
.about-story .certificate-mark {
  color: var(--primary);
}

@media (max-width: 900px) {
  .about-layout--modern,
  .about-heading--split {
    grid-template-columns: 1fr !important;
  }

  .about-story,
  .verification-grid--modern,
  .about-story__text {
    min-width: 0;
  }

  .about-story__text,
  .verification-grid--modern {
    grid-template-columns: 1fr !important;
  }

  .liquid-glass-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .about-section--editorial {
    overflow: clip;
    padding-inline: 0;
  }

  .about-section--editorial .container {
    width: min(100% - 1.25rem, 1180px);
  }

  .about-story {
    gap: .8rem;
    padding: 0;
    border-radius: 1.5rem;
  }

  .about-story::before {
    width: 13rem;
    top: 2%;
    right: -32%;
    filter: blur(42px);
  }

  .about-story::after {
    width: 12rem;
    left: -30%;
    bottom: 2%;
    filter: blur(42px);
  }

  .liquid-glass-card,
  .about-story__intro,
  .about-story__text,
  .verification-card {
    border-radius: 1.35rem !important;
    padding: 1.1rem !important;
    backdrop-filter: blur(22px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(130%) !important;
  }

  .about-story__intro h3,
  .verification-card--lead h3 {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .about-story__intro h3 {
    font-size: clamp(1.65rem, 8.5vw, 2.25rem);
    line-height: 1.02;
  }

  .about-story__intro p,
  .about-story__text p,
  .verification-card p {
    font-size: .95rem;
    line-height: 1.62;
  }

  .verification-card--lead {
    align-items: flex-start;
    grid-template-columns: auto minmax(0,1fr) !important;
  }

  .verification-card__icon,
  .certificate-mark {
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
  }

  .local-trust {
    gap: .45rem;
  }

  .local-trust a,
  .local-trust span {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .liquid-glass-card:hover {
    transform: none !important;
  }
}

@media (max-width: 420px) {
  .about-section--editorial .container {
    width: min(100% - .9rem, 1180px);
  }

  .liquid-glass-card,
  .about-story__intro,
  .about-story__text,
  .verification-card {
    border-radius: 1.15rem !important;
    padding: .95rem !important;
  }

  .verification-card--lead {
    display: block !important;
  }

  .verification-card__icon {
    margin-bottom: .85rem;
  }
}

/* =========================================================
   FINAL MATTE PREMIUM CARDS
   Target: calm dark surface, subtle edge, no liquid streaks
   ========================================================= */
.about-story {
  --surface-bg: #f5f5f7;
  --surface-bg-soft: #fafafa;
  --surface-border: rgba(29, 29, 31, .08);
  --surface-border-hover: rgba(245, 197, 24, .22);
  --surface-shadow: 0 18px 48px rgba(29, 29, 31, .08);
  --surface-shadow-hover: 0 24px 60px rgba(29, 29, 31, .12);
  --surface-highlight: rgba(255, 255, 255, .82);
}

.dark .about-story {
  --surface-bg: #171719;
  --surface-bg-soft: #1a1a1e;
  --surface-border: rgba(255, 255, 255, .085);
  --surface-border-hover: rgba(245, 197, 24, .34);
  --surface-shadow: 0 22px 54px rgba(0, 0, 0, .28);
  --surface-shadow-hover: 0 28px 68px rgba(0, 0, 0, .38);
  --surface-highlight: rgba(255, 255, 255, .055);
}

.about-story::before,
.about-story::after {
  display: none !important;
}

.premium-surface-card,
.about-story__intro.premium-surface-card,
.about-story__text.premium-surface-card,
.verification-card.premium-surface-card,
.verification-card--lead.premium-surface-card,
.verification-card--arag.premium-surface-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, var(--surface-highlight), transparent 38%),
    var(--surface-bg) !important;
  border: 1px solid var(--surface-border) !important;
  border-radius: 2rem;
  box-shadow: var(--surface-shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  isolation: isolate;
  transition:
    transform .32s cubic-bezier(.2,.75,.25,1),
    border-color .32s ease,
    box-shadow .32s ease,
    background-color .32s ease;
}

.premium-surface-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.045), transparent 42%);
  opacity: .7;
}

.premium-surface-card::after {
  display: none !important;
}

.premium-surface-card:hover {
  transform: translateY(-4px) scale(1.005) !important;
  border-color: var(--surface-border-hover) !important;
  box-shadow: var(--surface-shadow-hover) !important;
}

.dark .premium-surface-card,
.dark .verification-card--lead.premium-surface-card,
.dark .verification-card--arag.premium-surface-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 34%),
    #171719 !important;
}

.dark .premium-surface-card::before {
  background: linear-gradient(135deg, rgba(255,255,255,.035), transparent 45%);
}

.about-story__intro,
.about-story__text {
  padding: clamp(1.45rem, 3vw, 2.25rem);
}

.about-story__intro h3 {
  max-width: 18ch;
}

.about-story__text {
  gap: clamp(1.1rem, 2.5vw, 1.8rem);
}

.verification-card__label,
.about-story .section-kicker,
.about-story .eyebrow {
  color: var(--primary) !important;
}

.verification-card__icon,
.certificate-mark {
  background: var(--primary-action) !important;
  color: var(--on-primary) !important;
  border: 0 !important;
  box-shadow: 0 10px 26px rgba(245, 197, 24, .22) !important;
}

.verification-card--lead {
  align-items: flex-start;
}

.local-trust a,
.local-trust span {
  background: var(--surface-bg) !important;
  border-color: var(--surface-border) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.dark .local-trust a,
.dark .local-trust span {
  background: #171719 !important;
}

@media (max-width: 700px) {
  .premium-surface-card,
  .about-story__intro.premium-surface-card,
  .about-story__text.premium-surface-card,
  .verification-card.premium-surface-card {
    border-radius: 1.45rem;
  }

  .premium-surface-card:hover {
    transform: none !important;
  }

  .about-story__text {
    grid-template-columns: 1fr;
  }
}

/* About section refinement */
.about-cinematic__veil {
  background:
    linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.08) 30%, rgba(0,0,0,.78) 100%),
    linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.16) 48%, rgba(0,0,0,.34) 100%) !important;
}

.about-cinematic__topline {
  z-index: 4;
}

.about-cinematic__topline .about-cinematic__eyebrow,
.about-cinematic__topline .about-cinematic__status {
  border-color: rgba(255,255,255,.18);
  background: rgba(0,0,0,.28);
  color: rgba(255,255,255,.9);
  box-shadow: 0 10px 32px rgba(0,0,0,.18);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}

.about-cinematic__copy {
  z-index: 4;
  text-shadow: 0 12px 38px rgba(0,0,0,.34);
}

.about-cinematic__copy p {
  max-width: 34rem;
  color: rgba(255,255,255,.82);
}

.about-story__signals {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .75rem !important;
  padding: .85rem !important;
}

.about-signal {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--surface-border);
  border-radius: 1.35rem;
  background: color-mix(in srgb, var(--background) 64%, transparent);
}

.about-signal span {
  display: inline-flex;
  color: var(--primary);
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.about-signal strong {
  display: block;
  margin-top: .65rem;
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.about-signal p {
  margin: .55rem 0 0 !important;
  color: var(--muted-foreground);
  font-size: .88rem !important;
  line-height: 1.55 !important;
}

.dark .about-signal {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.07);
}

.about-actions--contact {
  display: grid !important;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 1rem;
  padding: clamp(1.1rem, 2vw, 1.45rem) !important;
}

.about-actions__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-actions__copy strong {
  display: block;
  margin-top: .45rem;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.about-actions__copy p {
  max-width: 38rem;
  margin: .55rem 0 0;
  color: var(--muted-foreground);
  line-height: 1.6;
}

.about-actions__buttons {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  align-content: center;
}

.about-actions__buttons .button--primary {
  width: 100%;
  min-height: 3rem;
  padding: .75rem 1rem;
  color: #fff;
  -webkit-text-fill-color: #fff;
  border-radius: 999px;
}

.about-contact-pill {
  min-height: 3rem;
  padding: .75rem 1.05rem;
  border: 1px solid var(--surface-border);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--background) 74%, var(--muted));
  color: var(--foreground);
  font-size: .875rem;
  font-weight: 800;
  white-space: nowrap;
  transition: transform .28s ease, border-color .28s ease, background .28s ease;
}

.about-contact-pill:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary) 28%, var(--surface-border));
}

.about-contact-pill--whatsapp {
  color: #15803d;
  background: color-mix(in srgb, #22c55e 10%, var(--background));
  border-color: color-mix(in srgb, #22c55e 22%, var(--surface-border));
}

.about-actions--contact .about-link {
  min-height: 3rem;
  padding: .75rem .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .about-actions--contact {
    grid-template-columns: 1fr;
  }

  .about-actions__copy p {
    max-width: 42rem;
  }
}

@media (max-width: 700px) {
  .about-story__signals {
    grid-template-columns: 1fr !important;
  }

  .about-actions__buttons {
    grid-template-columns: 1fr;
  }

  .about-actions__buttons .button,
  .about-contact-pill,
  .about-actions--contact .about-link {
    width: 100%;
    justify-content: center;
  }

  .about-cinematic__topline .about-cinematic__eyebrow {
    max-width: 13rem;
  }
}

/* Apple-style cinematic about experience */
.about-experience {
  display: grid;
  gap: clamp(1.6rem, 4vw, 3.5rem);
  min-width: 0;
}

.about-cinematic--wide {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 7;
  border: 0 !important;
  border-radius: clamp(1.35rem, 3.2vw, 2.45rem);
  box-shadow: none !important;
  background: #0b0c0f;
}

.about-cinematic--wide::after {
  display: none !important;
}

.about-cinematic--wide .about-cinematic__video {
  object-position: 50% 45%;
}

.about-cinematic--wide:hover .about-cinematic__video {
  transform: none;
  filter: none;
}

.about-cinematic--wide .about-cinematic__veil {
  background:
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.10) 45%, rgba(0,0,0,.66) 100%),
    linear-gradient(90deg, rgba(0,0,0,.54) 0%, rgba(0,0,0,.10) 48%, rgba(0,0,0,.28) 100%) !important;
}

.about-cinematic--wide .about-cinematic__topline {
  top: clamp(1rem, 2.2vw, 1.6rem);
  left: clamp(1rem, 2.2vw, 1.6rem);
  right: clamp(1rem, 2.2vw, 1.6rem);
}

.about-cinematic--wide .about-cinematic__copy {
  left: clamp(1.2rem, 4vw, 3rem);
  right: clamp(1.2rem, 4vw, 3rem);
  bottom: clamp(1.2rem, 4vw, 3rem);
  max-width: min(38rem, calc(100% - 8rem));
}

.about-cinematic--wide .about-cinematic__copy h3 {
  font-size: clamp(3rem, 8vw, 6.8rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.about-cinematic__controls {
  position: absolute;
  z-index: 5;
  right: clamp(1rem, 2.2vw, 1.55rem);
  bottom: clamp(1rem, 2.2vw, 1.55rem);
  display: inline-flex;
  gap: .45rem;
  padding: .38rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(22,22,24,.58);
  box-shadow: 0 14px 36px rgba(0,0,0,.24);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

.about-video-control {
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: #111;
  cursor: pointer;
  transition: transform .22s ease, background .22s ease;
}

.about-video-control:hover {
  transform: scale(1.04);
  background: #fff;
}

.about-video-control svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-video-control__play,
[data-about-video].is-paused .about-video-control__pause,
.about-video-control__sound,
[data-about-video].is-muted .about-video-control__sound {
  display: none;
}

[data-about-video].is-paused .about-video-control__play,
[data-about-video]:not(.is-muted) .about-video-control__sound {
  display: block;
}

[data-about-video]:not(.is-muted) .about-video-control__muted {
  display: none;
}

.about-story-slider {
  min-width: 0;
}

.about-story-slider__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1rem, 2.4vw, 1.45rem);
}

.about-story-slider__head h3 {
  margin: .45rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 5vw, 4rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.about-story-slider__nav {
  display: inline-flex;
  gap: .55rem;
}

.about-story-slider__nav button {
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--surface-border);
  border-radius: 50%;
  background: var(--surface-bg);
  color: var(--foreground);
  box-shadow: 0 10px 28px rgba(29,29,31,.08);
  cursor: pointer;
  transition: transform .24s ease, border-color .24s ease, color .24s ease;
}

.about-story-slider__nav button:hover {
  transform: translateY(-2px);
  color: var(--primary);
  border-color: color-mix(in srgb, var(--primary) 28%, var(--surface-border));
}

.about-story-slider__nav button:disabled {
  opacity: .38;
  cursor: default;
  transform: none;
}

.about-story-slider__nav svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-story-track {
  display: flex;
  gap: clamp(.85rem, 1.7vw, 1.15rem);
  min-width: 0;
  margin-inline: calc(var(--shell-pad, 0px) * -1);
  padding: .2rem var(--shell-pad, 0px) 1rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--shell-pad, 0px);
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.about-story-track.is-dragging,
.about-story-track.is-wheel-scrolling {
  cursor: grabbing;
  scroll-snap-type: none;
}

.about-story-track.is-dragging * {
  pointer-events: none;
}

.about-story-track::-webkit-scrollbar {
  display: none;
}

.about-story-card {
  flex: 0 0 clamp(18.5rem, 29vw, 24.5rem);
  min-height: clamp(18rem, 30vw, 24rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1rem;
  scroll-snap-align: start;
  padding: clamp(1.25rem, 2.4vw, 1.8rem) !important;
  border-radius: 1.55rem !important;
}

.about-story-card--lead {
  flex-basis: clamp(22rem, 41vw, 35rem);
}

.about-story-card span {
  color: var(--primary);
  font-family: var(--font-display);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.about-story-card h4 {
  margin: clamp(2.2rem, 5.8vw, 4.8rem) 0 0;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.about-story-card p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: .98rem;
  line-height: 1.62;
}

.about-story-slider__progress {
  width: min(14rem, 44vw);
  height: .2rem;
  margin-top: .35rem;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--foreground) 10%, transparent);
}

.about-story-slider__progress span {
  display: block;
  width: 18%;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
  transform-origin: left center;
}

.about-experience > .local-trust,
.about-experience > .about-actions--contact {
  width: min(100%, 54rem);
}

@media (max-width: 900px) {
  .about-cinematic--wide {
    aspect-ratio: 16 / 10;
  }

  .about-cinematic--wide .about-cinematic__copy {
    max-width: min(32rem, calc(100% - 2.4rem));
    padding-bottom: 3.8rem;
  }
}

@media (max-width: 700px) {
  .about-cinematic--wide {
    aspect-ratio: 4 / 5;
    border-radius: 1.45rem;
  }

  .about-cinematic--wide .about-cinematic__copy h3 {
    font-size: clamp(3rem, 16vw, 4.8rem);
  }

  .about-cinematic__controls {
    left: 1rem;
    right: auto;
  }

  .about-story-slider__head {
    align-items: start;
    flex-direction: column;
  }

  .about-story-slider__nav {
    align-self: flex-end;
  }

  .about-story-track {
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
  }

  .about-story-card,
  .about-story-card--lead {
    flex-basis: min(20.5rem, 86vw);
    min-height: 21rem;
  }
}

/* Final about visual polish: Apple-like matte surfaces */
.about-section--editorial {
  background:
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--primary) 7%, transparent), transparent 24rem),
    #f5f5f7 !important;
}

.dark .about-section--editorial {
  background:
    radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 24rem),
    #101014 !important;
}

/* Editorial about introduction */
.about-section--editorial .about-heading--split {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 1.05fr) minmax(26rem, .95fr);
  align-items: center;
  gap: clamp(5rem, 9vw, 9rem);
}

.about-section--editorial .about-heading--split h2 {
  max-width: 10ch;
  margin-top: 1.25rem;
  font-size: clamp(3.5rem, 4.65vw, 5.3rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.about-heading__copy {
  max-width: 36rem;
  padding-top: 2.5rem;
}

.about-heading__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .42rem .68rem;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
  border-radius: .45rem;
  background: color-mix(in srgb, var(--primary) 8%, var(--background));
  color: var(--primary);
  font-size: .68rem;
  font-weight: 750;
  text-transform: uppercase;
}

.about-heading__copy h3 {
  max-width: 22rem;
  margin: 1.15rem 0 0;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  line-height: 1.15;
  letter-spacing: 0;
}

.about-heading__copy p {
  max-width: 36rem;
  margin: 1.15rem 0 0;
  color: var(--muted-foreground);
  font-size: clamp(.95rem, 1.2vw, 1.05rem);
  line-height: 1.75;
}

.about-heading__copy p + p {
  margin-top: .8rem;
}

@media (max-width: 1020px) {
  .about-section--editorial .about-heading--split {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about-heading__copy {
    max-width: 44rem;
    padding-top: 0;
  }
}

@media (max-width: 700px) {
  .about-section--editorial .about-heading--split h2 {
    max-width: 100%;
    font-size: clamp(2.7rem, 12vw, 4rem);
  }

  .about-heading__copy {
    padding-top: .25rem;
  }
}

.about-story-card.premium-surface-card {
  background: #fff !important;
  border-color: rgba(29, 29, 31, .08) !important;
  box-shadow: none !important;
}

.about-story-card.premium-surface-card::before {
  background: linear-gradient(180deg, rgba(255,255,255,.5), transparent 45%);
}

.dark .about-story-card.premium-surface-card {
  background: #18181c !important;
  border-color: rgba(255,255,255,.08) !important;
}

.about-story-slider__nav button {
  background: #fff;
}

.dark .about-story-slider__nav button {
  background: #18181c;
}

/* Expandable story cards inspired by the supplied 21st.dev component */
.about-story-card[data-expand-card] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  cursor: pointer;
  padding: .75rem .75rem 1.35rem !important;
  background: #fff !important;
  transition:
    transform .34s cubic-bezier(.2,.75,.25,1),
    border-color .3s ease,
    box-shadow .34s ease;
}

.about-story-card[data-expand-card]:hover {
  transform: translateY(-6px) !important;
  border-color: color-mix(in srgb, var(--primary) 22%, rgba(29,29,31,.08)) !important;
  box-shadow: 0 24px 60px rgba(29,29,31,.11) !important;
}

.about-story-card[data-expand-card]::before {
  display: none;
}

.about-story-card__media {
  position: relative;
  width: 100%;
  height: clamp(10.5rem, 17vw, 13.5rem);
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 1rem;
  background: #d8dce2;
}

.about-story-card__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 56%, rgba(10,12,16,.2));
  content: "";
  pointer-events: none;
}

.about-story-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: var(--image-position, center);
  transform: scale(1.01);
  transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .45s ease;
}

.about-story-card[data-expand-card]:hover .about-story-card__media img {
  transform: scale(1.055);
  filter: saturate(1.08) contrast(1.03);
}

.about-story-card[data-expand-card] > span,
.about-story-card[data-expand-card] > h4,
.about-story-card[data-expand-card] > p {
  margin-inline: .55rem;
}

.about-story-card[data-expand-card] > span {
  margin-top: .3rem;
}

.about-story-card[data-expand-card] > h4 {
  margin-top: .2rem;
}

.about-story-card__open {
  position: absolute;
  right: 1.15rem;
  bottom: 1.15rem;
  width: 2.4rem;
  height: 2.4rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(29,29,31,.11);
  border-radius: 50%;
  background: rgba(255,255,255,.84);
  color: var(--foreground);
  box-shadow: 0 10px 26px rgba(29,29,31,.1);
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .3s ease, background .25s ease, color .25s ease;
}

.about-story-card__open span,
.about-story-card__open span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: .85rem;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
}

.about-story-card__open span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.about-story-card[data-expand-card]:hover .about-story-card__open {
  transform: rotate(90deg);
  background: var(--primary-action);
  color: var(--on-primary);
}

.about-story-card[data-expand-card] p {
  padding-right: 2.8rem;
}

.dark .about-story-card[data-expand-card] {
  background: #17171b !important;
  border-color: rgba(255,255,255,.075) !important;
}

.dark .about-story-card[data-expand-card]::before {
  display: none;
}

.dark .about-story-card__open {
  border-color: rgba(255,255,255,.12);
  background: rgba(20,20,24,.78);
  color: rgba(255,255,255,.86);
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

.expand-card-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  background: rgba(245,245,247,.58);
  opacity: 0;
  visibility: hidden;
  backdrop-filter: blur(20px) saturate(115%);
  -webkit-backdrop-filter: blur(20px) saturate(115%);
  transition: opacity .3s ease, visibility .3s ease;
}

.dark .expand-card-backdrop {
  background: rgba(0,0,0,.62);
}

.expand-card-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.expand-card-modal {
  position: relative;
  width: min(53rem, 100%);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  padding: 0 0 clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(29,29,31,.09);
  border-radius: clamp(1.5rem, 3vw, 2.25rem);
  background: #fff;
  box-shadow: 0 36px 100px rgba(29,29,31,.22);
  transform: translateY(22px) scale(.965);
  opacity: 0;
  transition: transform .38s cubic-bezier(.2,.75,.25,1), opacity .3s ease;
}

.is-open .expand-card-modal {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.dark .expand-card-modal {
  border-color: rgba(255,255,255,.09);
  background: #141418;
  box-shadow: 0 40px 110px rgba(0,0,0,.62);
}

.expand-card-modal__media {
  position: relative;
  width: 100%;
  height: clamp(15rem, 38vw, 21rem);
  overflow: hidden;
  border-radius: inherit;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background: #d8dce2;
}

.expand-card-modal__media::after {
  position: absolute;
  inset: auto 0 -1px;
  height: 6rem;
  background: linear-gradient(to top, #fff, transparent);
  content: "";
  pointer-events: none;
}

.dark .expand-card-modal__media::after {
  background: linear-gradient(to top, #141418, transparent);
}

.expand-card-modal__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: var(--image-position, center);
}

.expand-card-modal__body {
  padding: 0 clamp(1.5rem, 4vw, 3rem);
}

.expand-card-modal__kicker {
  display: block;
  padding-right: 4rem;
  color: var(--primary);
  font-family: var(--font-display);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.expand-card-modal h3 {
  max-width: 15ch;
  margin: clamp(1.2rem, 4vw, 2.4rem) 0 1.2rem;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  line-height: 1;
  letter-spacing: -.042em;
  text-wrap: balance;
}

.expand-card-modal__summary,
.expand-card-modal__detail {
  max-width: 42rem;
  color: var(--muted-foreground);
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.7;
}

.expand-card-modal__detail {
  margin-top: 1rem;
  color: var(--foreground);
}

.expand-card-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(29,29,31,.1);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  color: var(--foreground);
  cursor: pointer;
  transition: transform .3s ease, background .25s ease;
}

.dark .expand-card-modal__close {
  border-color: rgba(255,255,255,.1);
  background: rgba(25,25,29,.82);
}

.expand-card-modal__close:hover {
  transform: rotate(90deg);
  background: color-mix(in srgb, var(--primary) 10%, var(--background));
}

.expand-card-modal__close::before,
.expand-card-modal__close::after {
  position: absolute;
  width: 1rem;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: rotate(45deg);
}

.expand-card-modal__close::after {
  transform: rotate(-45deg);
}

/* Stronger closing CTA */
.about-experience > .about-actions--contact {
  width: 100%;
}

.about-actions--contact {
  grid-template-columns: minmax(0, .82fr) minmax(24rem, 1.18fr);
  gap: clamp(1.2rem, 3vw, 2.5rem);
  padding: clamp(1.35rem, 3vw, 2rem) !important;
  border-radius: 1.8rem !important;
  background:
    radial-gradient(circle at 94% 10%, rgba(245,197,24,.11), transparent 18rem),
    #fff !important;
}

.dark .about-actions--contact {
  background:
    radial-gradient(circle at 94% 10%, rgba(45,132,255,.18), transparent 18rem),
    #17171b !important;
}

.about-actions__copy strong {
  font-size: clamp(1.75rem, 3.2vw, 2.65rem);
}

.about-actions__buttons {
  gap: .75rem;
}

.about-actions__buttons .button,
.about-contact-pill,
.about-actions--contact .about-link {
  min-height: 4rem;
  border-radius: 1rem;
}

.about-contact-pill {
  background: #f5f5f7;
}

.dark .about-contact-pill {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.08);
}

.about-actions--contact .about-link {
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--background) 82%, var(--muted));
}

.dark .about-actions--contact .about-link {
  background: rgba(255,255,255,.035);
}

@media (max-width: 900px) {
  .about-actions--contact {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .expand-card-backdrop {
    padding: .5rem;
    align-items: end;
  }

  .expand-card-modal {
    width: 100%;
    max-height: calc(100vh - 1rem);
    border-radius: 1.65rem 1.65rem .9rem .9rem;
  }

.about-story-card[data-expand-card]:hover {
    transform: none !important;
  }
}

/* Privatrechtsschutz bento and process-cost tool */
.protection-bento-section {
  padding: 7rem 0;
  background: #f2f2f4;
  color: #18181b;
}

.dark .protection-bento-section {
  background: #111113;
  color: #f6f6f4;
}

.protection-bento-section__inner {
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
}

.protection-bento-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 29rem);
  align-items: end;
  gap: 3rem;
  margin-bottom: 2.5rem;
}

.protection-bento-heading h2 {
  max-width: 16ch;
  margin: .8rem 0 0;
  font-family: var(--font-display);
  font-size: 3.6rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.04em;
}

.protection-bento-heading h2 span { color: #8a6500; }
.dark .protection-bento-heading h2 span { color: var(--primary-action); }
.protection-bento-heading > p { margin: 0; color: #71717a; font-size: 1rem; line-height: 1.7; }

.protection-bento-grid {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.protection-bento-video,
.process-cost-card,
.protection-bento-pdf,
.protection-bento-local,
.protection-bento-clarity,
.protection-bento-contact {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(24,24,27,.08);
  border-radius: 1.75rem;
  background: #fff;
  transition: border-color .3s ease, box-shadow .35s ease;
}

@media (hover: hover) {
  .protection-bento-video:hover,
  .process-cost-card:hover,
  .protection-bento-pdf:hover,
  .protection-bento-local:hover,
  .protection-bento-clarity:hover,
  .protection-bento-contact:hover {
    border-color: rgba(138,101,0,.28);
    box-shadow: 0 1.1rem 2.8rem rgba(24,24,27,.09);
  }

  .dark .protection-bento-video:hover,
  .dark .process-cost-card:hover,
  .dark .protection-bento-pdf:hover,
  .dark .protection-bento-local:hover,
  .dark .protection-bento-clarity:hover,
  .dark .protection-bento-contact:hover {
    border-color: rgba(245,197,24,.25);
    box-shadow: 0 1.1rem 2.8rem rgba(0,0,0,.32);
  }
}

.dark .protection-bento-video,
.dark .process-cost-card,
.dark .protection-bento-pdf,
.dark .protection-bento-local,
.dark .protection-bento-clarity,
.dark .protection-bento-contact {
  border-color: rgba(255,255,255,.09);
  background: #19191c;
}

.protection-bento-video {
  grid-column: span 8;
  min-height: 39rem;
  color: #fff;
  background: #121214;
}

.protection-bento-video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.protection-bento-video__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,6,8,.9) 0%, rgba(6,6,8,.2) 52%, rgba(6,6,8,.05) 100%);
}

.protection-bento-video__copy {
  position: absolute;
  z-index: 2;
  right: 2.25rem;
  bottom: 2.25rem;
  left: 2.25rem;
  max-width: 38rem;
}

.protection-bento-video__copy > span,
.process-cost-card__head > span,
.protection-bento-card-label {
  font-family: var(--font-display);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.protection-bento-video__copy > span { color: #f5c518; }
.protection-bento-video__copy h3 { margin: .8rem 0 .65rem; font-family: var(--font-display); font-size: 2.65rem; line-height: 1.04; letter-spacing: -.045em; }
.protection-bento-video__copy p { max-width: 34rem; margin: 0; color: rgba(255,255,255,.7); line-height: 1.6; }

.protection-bento-video__controls {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 3;
  display: flex;
  gap: .5rem;
}

.protection-bento-video__controls button {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  background: rgba(12,12,14,.5);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(14px);
  transition: background .25s ease, transform .25s ease;
}

.protection-bento-video__controls button:hover { background: rgba(245,197,24,.9); color: #16140b; transform: scale(1.05); }
.protection-bento-video__controls svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.protection-bento-video__controls .is-play,
.protection-bento-video__controls .is-sound { display: none; }
.protection-bento-video.is-paused .is-pause,
.protection-bento-video.is-muted .is-sound { display: none; }
.protection-bento-video.is-paused .is-play,
.protection-bento-video:not(.is-muted) .is-sound { display: block; }
.protection-bento-video:not(.is-muted) .is-muted { display: none; }

.process-cost-card {
  grid-column: span 4;
  min-height: 39rem;
  display: flex;
  flex-direction: column;
  padding: 1.65rem;
}

.process-cost-card__head > span { color: #8a6500; }
.dark .process-cost-card__head > span { color: var(--primary-action); }
.process-cost-card__head h3 { margin: .65rem 0 .45rem; font-family: var(--font-display); font-size: 1.75rem; line-height: 1.08; letter-spacing: -.035em; }
.process-cost-card__head p { margin: 0; color: #777780; font-size: .78rem; line-height: 1.5; }

.process-cost-card__presets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .45rem;
  margin-top: 1.2rem;
}

.process-cost-card__presets button,
.process-cost-card__instances button {
  min-height: 2.55rem;
  border: 1px solid rgba(24,24,27,.09);
  border-radius: .4rem;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: .75rem;
  font-weight: 750;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.dark .process-cost-card__presets button,
.dark .process-cost-card__instances button { border-color: rgba(255,255,255,.1); }
.process-cost-card__presets button.is-active,
.process-cost-card__instances button.is-active { border-color: #a77b00; background: rgba(245,197,24,.14); color: #765700; }
.dark .process-cost-card__presets button.is-active,
.dark .process-cost-card__instances button.is-active { color: var(--primary-action); }

.process-cost-card__slider { display: block; margin-top: 1.1rem; }
.process-cost-card__slider > span { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.process-cost-card__slider small { color: #777780; font-size: .65rem; font-weight: 750; }
.process-cost-card__slider strong { font-family: var(--font-display); font-size: 1rem; }
.process-cost-card__slider input { width: 100%; margin: .75rem 0 0; accent-color: #b78a00; cursor: pointer; }

.process-cost-card__instances { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: .75rem; }

.process-cost-card__result {
  margin: 1.1rem -1.65rem 0;
  padding: 1.3rem 1.65rem;
  border-block: 1px solid rgba(255,255,255,.08);
  background: #19191c;
  color: #fff;
}

.process-cost-card__result span { display: block; color: #f5c518; font-size: .62rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.process-cost-card__result strong { display: block; margin-top: .35rem; font-family: var(--font-display); font-size: 2rem; letter-spacing: -.04em; }
.process-cost-card__result small { display: block; margin-top: .15rem; color: rgba(255,255,255,.48); font-size: .61rem; }

.process-cost-card__breakdown { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-bottom: 1px solid rgba(24,24,27,.09); }
.dark .process-cost-card__breakdown { border-color: rgba(255,255,255,.09); }
.process-cost-card__breakdown div { min-width: 0; padding: .9rem .55rem .9rem 0; }
.process-cost-card__breakdown div + div { padding-left: .55rem; border-left: 1px solid rgba(24,24,27,.09); }
.dark .process-cost-card__breakdown div + div { border-color: rgba(255,255,255,.09); }
.process-cost-card__breakdown dt { color: #777780; font-size: .56rem; font-weight: 750; text-transform: uppercase; }
.process-cost-card__breakdown dd { margin: .3rem 0 0; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.process-cost-card__notice { margin: .85rem 0 0; color: #777780; font-size: .59rem; line-height: 1.45; }
.process-cost-card__sources { display: flex; gap: 1rem; margin-top: auto; padding-top: .75rem; }
.process-cost-card__sources a { color: #777780; font-size: .59rem; font-weight: 700; text-decoration: none; }
.process-cost-card__sources a:hover { color: #8a6500; }

.protection-bento-pdf {
  grid-column: span 8;
  min-height: 22rem;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
  color: #fff;
  background: #1b1b1e;
}

.dark .protection-bento-pdf { background: #1b1b1e; }

.protection-bento-pdf__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2.1rem;
}

.protection-bento-pdf__copy .protection-bento-card-label { color: #f5c518; }
.protection-bento-pdf__copy h3 {
  max-width: 19ch;
  margin: 1rem 0 .8rem;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.protection-bento-pdf__copy p {
  max-width: 36rem;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: .83rem;
  line-height: 1.62;
}

.protection-bento-pdf__copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 1.15rem 0 0;
  padding: 0;
  list-style: none;
}

.protection-bento-pdf__copy li {
  padding: .42rem .55rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: .4rem;
  color: rgba(255,255,255,.72);
  font-size: .62rem;
  font-weight: 700;
}

.protection-bento-pdf__copy button {
  min-height: 3.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
  padding: 0 1rem;
  border: 0;
  border-radius: .55rem;
  background: #f5c518;
  color: #17140a;
  font: inherit;
  font-size: .78rem;
  font-weight: 850;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}

.protection-bento-pdf__copy button:hover { background: #ffda3e; transform: translateY(-2px); }
.protection-bento-pdf__copy button svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.protection-bento-pdf__cover {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #ffed00;
}

.protection-bento-pdf__cover img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; }
.protection-bento-pdf__cover figcaption {
  position: absolute;
  right: .85rem;
  bottom: .85rem;
  padding: .45rem .55rem;
  border-radius: .35rem;
  background: rgba(15,15,17,.78);
  color: #fff;
  font-size: .58rem;
  font-weight: 750;
  backdrop-filter: blur(10px);
}

.protection-bento-pdf--folder {
  position: relative;
  isolation: isolate;
  overflow: visible;
  grid-template-columns: minmax(0, .78fr) minmax(26rem, .86fr);
  align-items: stretch;
  gap: 1.55rem;
  min-height: 31rem;
  padding: 2.15rem;
  border-color: rgba(255,255,255,.1);
  background: transparent;
  box-shadow: none;
}

.protection-bento-pdf--folder::before,
.protection-bento-pdf--folder::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.protection-bento-pdf--folder::before {
  inset: 2.65rem 0 0;
  z-index: -2;
  border-radius: .72rem 1.85rem 1.85rem 1.85rem;
  background:
    radial-gradient(circle at 18% 8%, rgba(245,197,24,.12), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    #17171a;
  border: 1px solid rgba(255,255,255,.09);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 1.4rem 4.5rem rgba(0,0,0,.24);
}

.protection-bento-pdf--folder::after {
  inset: 2.72rem .15rem .15rem;
  z-index: -1;
  border-radius: .55rem 1.7rem 1.7rem 1.7rem;
  background:
    linear-gradient(120deg, rgba(255,255,255,.09), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 54%);
  mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.85) 52%, rgba(0,0,0,.35));
}

.dark .protection-bento-pdf--folder { background: transparent; }

.protection-bento-pdf__folder {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.protection-bento-pdf__tab {
  position: absolute;
  top: 0;
  left: 0;
  width: min(24%, 16rem);
  height: 3.55rem;
  border: 1px solid rgba(255,255,255,.09);
  border-bottom: 0;
  border-radius: 1.85rem 1.35rem 0 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035)),
    #17171a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.protection-bento-pdf__tab::after {
  display: none;
  content: none;
}

.protection-bento-pdf__dock {
  position: absolute;
  top: 5.15rem;
  left: 2.15rem;
  display: flex;
  gap: .75rem;
}

.protection-bento-pdf__dock span {
  min-width: 4.2rem;
  height: 4.2rem;
  display: grid;
  place-items: center;
  padding: 0 .65rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    rgba(10,10,12,.72);
  color: rgba(255,255,255,.76);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 .8rem 1.8rem rgba(0,0,0,.18);
}

.protection-bento-pdf__dock span:first-child {
  color: #17140a;
  background:
    linear-gradient(145deg, #f8d65b, #d9a90a);
  border-color: rgba(245,197,24,.45);
}

.protection-bento-pdf--folder .protection-bento-pdf__copy {
  min-height: 24rem;
  padding: 9.25rem 0 0;
  min-width: 0;
}

.protection-bento-pdf--folder .protection-bento-pdf__copy h3 {
  max-width: min(100%, 15ch);
  margin-top: 1.1rem;
  overflow-wrap: normal;
  hyphens: manual;
  font-size: clamp(2rem, 2.6vw, 2.82rem);
  line-height: 1;
}

.protection-bento-pdf--folder .protection-bento-pdf__copy p {
  max-width: 39rem;
  color: rgba(255,255,255,.66);
}

.protection-bento-pdf--folder .protection-bento-pdf__copy ul {
  margin-top: 1rem;
}

.protection-bento-pdf--folder .protection-bento-pdf__copy li {
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
}

.protection-bento-pdf--folder .protection-bento-pdf__copy button {
  margin-top: 1.25rem;
  border-radius: 999px;
}

.protection-bento-pdf--folder .protection-bento-pdf__cover {
  align-self: stretch;
  min-height: 24rem;
  max-height: none;
  margin: 2.65rem -2.15rem -2.15rem 0;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .5rem 1.85rem 1.85rem .95rem;
  background: rgba(255,255,255,.045);
  box-shadow: 0 1rem 2.6rem rgba(0,0,0,.2);
}

.protection-bento-pdf--folder .protection-bento-pdf__cover img {
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .45s ease;
}

.protection-bento-pdf--folder:hover .protection-bento-pdf__cover img {
  transform: scale(1.065);
}

.protection-bento-pdf--folder .protection-bento-pdf__cover figcaption {
  right: .7rem;
  bottom: .7rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(10,10,12,.68);
}

.protection-bento-local {
  grid-column: span 4;
  min-height: 22rem;
  padding: 1.75rem;
}

.protection-bento-clarity,
.protection-bento-contact {
  grid-column: span 6;
  min-height: 18rem;
  padding: 1.75rem;
}

.protection-bento-card-label { color: #8a6500; }
.dark .protection-bento-card-label { color: var(--primary-action); }
.protection-bento-local h3,
.protection-bento-contact h3 { margin: 1.2rem 0 .8rem; font-family: var(--font-display); font-size: 1.75rem; line-height: 1.08; letter-spacing: -.035em; }
.protection-bento-local p,
.protection-bento-contact p,
.protection-bento-clarity p { margin: 0; color: #777780; font-size: .88rem; line-height: 1.6; }

.protection-bento-local > div:not(.protection-bento-link-stack) { position: absolute; right: 1.75rem; bottom: 1.6rem; left: 1.75rem; display: flex; align-items: center; justify-content: space-between; }
.protection-bento-local > div:not(.protection-bento-link-stack) span { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid rgba(24,24,27,.12); border-radius: 50%; font-family: var(--font-display); font-weight: 850; }
.dark .protection-bento-local > div:not(.protection-bento-link-stack) span { border-color: rgba(255,255,255,.13); }
.protection-bento-local > div:not(.protection-bento-link-stack) i { height: 1px; flex: 1; background: rgba(24,24,27,.1); }
.dark .protection-bento-local > div:not(.protection-bento-link-stack) i { background: rgba(255,255,255,.1); }

.protection-bento-clarity { background: #202024; color: #fff; }
.dark .protection-bento-clarity { background: #f0eee8; color: #18181b; }
.protection-bento-clarity strong { display: block; margin-top: 1.2rem; font-family: var(--font-display); font-size: 2.45rem; line-height: .98; letter-spacing: -.045em; }
.protection-bento-clarity p { position: absolute; right: 1.75rem; bottom: 1.6rem; left: 1.75rem; max-width: 24rem; }

.protection-bento-contact { display: flex; flex-direction: column; }
.protection-bento-contact a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding: 1rem 0; border-bottom: 1px solid rgba(24,24,27,.1); color: inherit; font-family: var(--font-display); font-size: 1.2rem; font-weight: 750; text-decoration: none; }
.dark .protection-bento-contact a { border-color: rgba(255,255,255,.1); }
.protection-bento-contact a svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.protection-bento-contact small { margin-top: .65rem; color: #777780; font-size: .67rem; }

.protection-bento-local--hub,
.protection-bento-clarity--hub {
  display: flex;
  flex-direction: column;
}

.protection-bento-local--hub h3 { max-width: 18ch; }
.protection-bento-clarity--hub strong { max-width: 12ch; }
.protection-bento-clarity--hub p { position: static; margin-top: 1rem; max-width: 28rem; }

.protection-bento-link-stack,
.protection-bento-mini-hub {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: auto;
  padding-top: 1.35rem;
}

.protection-bento-link-stack a,
.protection-bento-mini-hub a,
.protection-bento-contact .protection-bento-mini-hub a {
  min-height: 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin: 0;
  padding: 0 .82rem;
  border: 1px solid rgba(24,24,27,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  color: inherit;
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.dark .protection-bento-link-stack a,
.dark .protection-bento-mini-hub a,
.dark .protection-bento-contact .protection-bento-mini-hub a {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

.protection-bento-clarity--hub .protection-bento-link-stack a {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
}

.dark .protection-bento-clarity--hub .protection-bento-link-stack a {
  border-color: rgba(24,24,27,.12);
  background: rgba(24,24,27,.04);
}

@media (hover: hover) {
  .protection-bento-link-stack a:hover,
  .protection-bento-mini-hub a:hover,
  .protection-bento-contact .protection-bento-mini-hub a:hover {
    border-color: rgba(245,197,24,.5);
    background: rgba(245,197,24,.14);
    transform: translateY(-2px);
  }
}

.protection-bento-link-stack {
  gap: .72rem;
  align-items: center;
}

.protection-bento-link-stack a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 3.05rem;
  min-width: min(11.75rem, 100%);
  justify-content: space-between;
  gap: .9rem;
  padding: .28rem .32rem .28rem 1.08rem;
  border-color: rgba(24,24,27,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.42)),
    rgba(255,255,255,.44);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    0 .8rem 2.2rem rgba(24,24,27,.06);
  transform-origin: center;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}

.dark .protection-bento-link-stack a,
.protection-bento-clarity--hub .protection-bento-link-stack a {
  border-color: rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.028)),
    rgba(255,255,255,.035);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 .9rem 2.4rem rgba(0,0,0,.18);
}

.protection-bento-link-stack a::before {
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(circle at 88% 50%, rgba(245,197,24,.2), transparent 28%),
    linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  opacity: 0;
  transform: translateX(-18%);
  transition: opacity .3s ease, transform .42s cubic-bezier(.2,.8,.2,1);
  content: "";
}

.protection-bento-link-stack a span {
  position: relative;
  z-index: 1;
  width: 2.18rem;
  height: 2.18rem;
  flex: 0 0 2.18rem;
  display: grid;
  place-items: center;
  margin-right: -.08rem;
  border: 1px solid rgba(24,24,27,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.42);
  color: inherit;
  font-size: .82rem;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    background .28s ease;
}

.dark .protection-bento-link-stack a span,
.protection-bento-clarity--hub .protection-bento-link-stack a span {
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

@media (hover: hover) {
  .protection-bento-link-stack a:hover {
    border-color: rgba(245,197,24,.42);
    background:
      linear-gradient(135deg, rgba(245,197,24,.15), rgba(255,255,255,.06)),
      rgba(255,255,255,.08);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      0 1.05rem 2.8rem rgba(0,0,0,.24);
  }

  .protection-bento-link-stack a:hover::before {
    opacity: 1;
    transform: translateX(0);
  }

  .protection-bento-link-stack a:hover span {
    border-color: rgba(245,197,24,.5);
    background: rgba(245,197,24,.14);
  }
}

.protection-bento-link-stack a:active {
  transform: translateY(0) scale(.985);
}

.protection-bento-link-stack a:focus-visible {
  outline: 2px solid rgba(245,197,24,.85);
  outline-offset: .22rem;
}

@media (max-width: 1050px) {
  .protection-bento-video { grid-column: span 7; }
  .process-cost-card { grid-column: span 5; }
  .protection-bento-pdf { grid-column: span 7; }
  .protection-bento-local { grid-column: span 5; }
  .protection-bento-heading h2 { font-size: 3rem; }
}

@media (max-width: 820px) {
  .protection-bento-section { padding: 5rem 0; }
  .protection-bento-heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .protection-bento-video,
  .process-cost-card,
  .protection-bento-pdf { grid-column: 1 / -1; }
  .protection-bento-pdf { grid-template-columns: minmax(0, 1fr) minmax(16rem, .72fr); }
  .protection-bento-local { grid-column: span 7; }
  .protection-bento-clarity { grid-column: span 5; }
  .protection-bento-contact { grid-column: 1 / -1; min-height: 15rem; }
}

@media (max-width: 620px) {
  .protection-bento-section__inner { width: min(100% - 2rem, 90rem); }
  .protection-bento-heading h2 { font-size: 2.35rem; }
  .protection-bento-video { min-height: 34rem; }
  .protection-bento-video,
  .process-cost-card,
  .protection-bento-pdf,
  .protection-bento-local,
  .protection-bento-clarity,
  .protection-bento-contact { border-radius: 1.35rem; }
  .protection-bento-video__copy { right: 1.25rem; bottom: 1.35rem; left: 1.25rem; }
  .protection-bento-video__copy h3 { font-size: 2rem; }
  .process-cost-card { min-height: auto; }
  .protection-bento-pdf { grid-template-columns: 1fr; min-height: 40rem; }
  .protection-bento-pdf__copy { min-height: 22rem; padding: 1.4rem; }
  .protection-bento-pdf__cover { min-height: 18rem; }
  .protection-bento-local,
  .protection-bento-clarity,
  .protection-bento-contact { grid-column: 1 / -1; min-height: 17rem; }
}

@media (max-width: 820px) {
  .protection-bento-pdf--folder {
    grid-template-columns: 1fr;
    gap: 1.1rem;
    min-height: auto;
    padding: 1.5rem;
  }

  .protection-bento-pdf--folder::before {
    top: 2.75rem;
  }

  .protection-bento-pdf__tab {
    width: min(55%, 17rem);
    height: 4.15rem;
  }

  .protection-bento-pdf__dock {
    top: 5.45rem;
    left: 1.5rem;
    gap: .5rem;
  }

  .protection-bento-pdf__dock span {
    min-width: 3.65rem;
    height: 3.65rem;
    border-radius: .85rem;
    font-size: .55rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy {
    min-height: auto;
    padding: 8.75rem 0 0;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__cover {
    min-height: 16rem;
    max-height: 19rem;
    margin: 1rem 0 0;
    border-radius: 1.15rem;
  }
}

@media (max-width: 620px) {
  .protection-bento-pdf--folder {
    padding: 1.15rem;
    border-radius: 1.35rem;
  }

  .protection-bento-pdf--folder::before {
    inset: 2.45rem 0 0;
    border-radius: 0 1.35rem 1.35rem 1.35rem;
  }

  .protection-bento-pdf--folder::after {
    inset: 2.5rem .12rem .12rem;
    border-radius: 0 1.2rem 1.2rem 1.2rem;
  }

  .protection-bento-pdf__tab {
    width: 68%;
    height: 3.65rem;
    border-radius: 1.35rem 1.35rem 0 0;
  }

  .protection-bento-pdf__tab::after {
    right: -3.5rem;
    width: 3.65rem;
    height: 1.9rem;
  }

  .protection-bento-pdf__dock {
    top: 4.7rem;
    left: 1.15rem;
  }

  .protection-bento-pdf__dock span {
    min-width: 3.15rem;
    height: 3.15rem;
    padding: 0 .45rem;
    font-size: .49rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy {
    min-height: auto;
    padding: 7.55rem 0 0;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy h3 {
    max-width: 100%;
    overflow-wrap: anywhere;
    hyphens: auto;
    font-size: clamp(1.8rem, 9.2vw, 2.35rem);
    line-height: 1.02;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy ul {
    display: none;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy button {
    width: 100%;
    margin-top: 1.1rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__cover {
    min-height: 13.5rem;
    max-height: 15rem;
    margin: 1rem 0 0;
    border-radius: 1rem;
  }
}

/* Long-form Privatrechtsschutz explainer and cost comparison */
.protection-explainer-section {
  padding: 8rem 0;
  background: var(--background);
  color: var(--foreground);
}

.protection-explainer-section__inner {
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
}

.protection-explainer-heading {
  max-width: 78rem;
  padding-bottom: 5rem;
  border-bottom: 1px solid var(--border);
}

.protection-explainer-heading h2 {
  max-width: 19ch;
  margin: 1.15rem 0 2.2rem;
  font-family: var(--font-display);
  font-size: 4.5rem;
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.protection-explainer-heading h2 span { color: var(--primary); }
.protection-explainer-heading > p {
  max-width: 61rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: 1.28rem;
  line-height: 1.75;
}

.protection-explainer-copy {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(20rem, .75fr);
  align-items: start;
  gap: 6rem;
  padding: 5rem 0 7rem;
}

.protection-explainer-copy > article { max-width: 49rem; }
.protection-explainer-copy > article h3 {
  margin: 3.2rem 0 1rem;
  font-family: var(--font-display);
  font-size: 1.75rem;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.protection-explainer-copy > article h3:first-child { margin-top: 0; }
.protection-explainer-copy > article p {
  margin: 0 0 1.25rem;
  color: color-mix(in srgb, var(--foreground) 72%, var(--background));
  font-size: 1rem;
  line-height: 1.85;
}

.protection-case-study {
  position: sticky;
  top: 6.5rem;
  padding: 2rem 0;
  border-block: 1px solid var(--border);
}

.protection-case-study > span {
  color: var(--primary);
  font-family: var(--font-display);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.protection-case-study h3 { margin: .9rem 0 1rem; font-family: var(--font-display); font-size: 2rem; line-height: 1.1; letter-spacing: -.035em; }
.protection-case-study > p { margin: 0 0 1rem; color: var(--muted-foreground); font-size: .88rem; line-height: 1.7; }
.protection-case-study > p strong { color: var(--foreground); }
.protection-case-study dl { margin: 1.5rem 0; border-top: 1px solid var(--border); }
.protection-case-study dl div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--border); }
.protection-case-study dt { color: var(--muted-foreground); font-size: .72rem; }
.protection-case-study dd { margin: 0; font-size: .78rem; font-weight: 850; text-align: right; }
.protection-case-study dl div:last-child dd { color: #b42318; font-size: 1rem; }
.dark .protection-case-study dl div:last-child dd { color: #ff8d82; }
.protection-case-study > small { display: block; color: var(--muted-foreground); font-size: .62rem; line-height: 1.5; }

.risk-comparison {
  padding: 5rem 0 0;
  border-top: 1px solid var(--border);
}

.risk-comparison__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 28rem);
  align-items: end;
  gap: 3rem;
  margin-bottom: 2.5rem;
}

.risk-comparison__heading h3 { margin: .8rem 0 0; font-family: var(--font-display); font-size: 3rem; line-height: 1.05; letter-spacing: -.045em; }
.risk-comparison__heading > p { margin: 0; color: var(--muted-foreground); font-size: .86rem; line-height: 1.65; }

.risk-comparison__alert {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 1.3rem;
  border-radius: .5rem .5rem 0 0;
  background: #a42b25;
  color: #fff;
}

.risk-comparison__alert svg { width: 1.45rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.risk-comparison__alert span { font-size: .88rem; line-height: 1.45; }

.risk-comparison__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-top: 0;
  scrollbar-width: thin;
}

.risk-comparison table {
  width: 100%;
  min-width: 52rem;
  border-collapse: collapse;
  background: var(--background);
}

.risk-comparison caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.risk-comparison th,
.risk-comparison td { padding: 1.25rem 1.15rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.risk-comparison thead th { color: var(--muted-foreground); font-size: .66rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.risk-comparison thead th span { display: block; margin-bottom: .3rem; font-size: .56rem; }
.risk-comparison thead th.is-danger { background: #8f211d; color: #fff; }
.risk-comparison thead th.is-covered { background: #242426; color: #fff; }
.dark .risk-comparison thead th.is-covered { background: #f0eee8; color: #18181b; }
.risk-comparison tbody th { font-size: .82rem; }
.risk-comparison tbody td { color: var(--muted-foreground); font-size: .78rem; }
.risk-comparison tbody td:nth-child(2) { color: var(--foreground); font-weight: 800; white-space: nowrap; }
.risk-comparison tbody td.is-danger { border-bottom-color: rgba(180,35,24,.14); background: rgba(180,35,24,.07); color: #9e2922; font-weight: 750; }
.dark .risk-comparison tbody td.is-danger { background: rgba(255,91,80,.09); color: #ff9a91; }
.risk-comparison tbody td.is-covered { background: color-mix(in srgb, var(--primary-action) 7%, var(--background)); color: var(--foreground); }
.risk-comparison tbody tr.is-total th,
.risk-comparison tbody tr.is-total td { border-bottom: 0; font-size: .86rem; }

.risk-comparison__notes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--border);
  border-top: 0;
}

.risk-comparison__notes > div { padding: 1.6rem; }
.risk-comparison__notes > div + div { border-left: 1px solid var(--border); }
.risk-comparison__notes span { color: #a42b25; font-family: var(--font-display); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.risk-comparison__notes > div + div span { color: var(--primary); }
.risk-comparison__notes p { margin: .65rem 0 0; color: var(--muted-foreground); font-size: .78rem; line-height: 1.65; }

.risk-comparison__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1rem 0;
  color: var(--muted-foreground);
  font-size: .63rem;
}

.risk-comparison__footer p { max-width: 48rem; margin: 0; }
.risk-comparison__footer > div { display: flex; gap: 1rem; }
.risk-comparison__footer a { color: inherit; font-weight: 750; text-decoration: none; }
.risk-comparison__footer a:hover { color: var(--foreground); }

.protection-explainer-conclusion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(25rem, .9fr);
  gap: 5rem;
  margin-top: 7rem;
  padding-top: 5rem;
  border-top: 1px solid var(--border);
}

.protection-explainer-conclusion h3 { max-width: 17ch; margin: 0; font-family: var(--font-display); font-size: 3rem; line-height: 1.05; letter-spacing: -.045em; }
.protection-explainer-conclusion p { margin: 0 0 1.1rem; color: var(--muted-foreground); font-size: .9rem; line-height: 1.75; }
.protection-explainer-conclusion a { min-height: 3.6rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding: 0 1.15rem; border-radius: .5rem; background: var(--primary-action); color: #17140a; font-weight: 800; text-decoration: none; transition: transform .25s ease, background .25s ease; }
.protection-explainer-conclusion a:hover { background: var(--primary-action-hover); transform: translateY(-2px); }

@media (max-width: 960px) {
  .protection-explainer-heading h2 { font-size: 3.7rem; }
  .protection-explainer-copy { grid-template-columns: 1fr; gap: 3rem; }
  .protection-explainer-copy > article { max-width: 55rem; }
  .protection-case-study { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
  .protection-case-study > span,
  .protection-case-study h3,
  .protection-case-study dl,
  .protection-case-study > small { grid-column: 1 / -1; }
  .protection-explainer-conclusion { gap: 3rem; }
}

@media (max-width: 720px) {
  .protection-explainer-section { padding: 5rem 0; }
  .protection-explainer-section__inner { width: min(100% - 2rem, 90rem); }
  .protection-explainer-heading { padding-bottom: 3.5rem; }
  .protection-explainer-heading h2 { font-size: 2.65rem; }
  .protection-explainer-heading > p { font-size: 1.05rem; }
  .protection-explainer-copy { padding: 3.5rem 0 5rem; }
  .protection-case-study { display: block; }
  .risk-comparison { padding-top: 3.5rem; }
  .risk-comparison__heading { grid-template-columns: 1fr; gap: 1rem; }
  .risk-comparison__heading h3 { font-size: 2.25rem; }
  .risk-comparison__alert { align-items: flex-start; }
  .risk-comparison__table-wrap { overflow: visible; }
  .risk-comparison table { min-width: 0; display: block; }
  .risk-comparison thead { display: none; }
  .risk-comparison tbody { display: block; }
  .risk-comparison tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    border-bottom: 1px solid var(--border);
  }
  .risk-comparison tbody th,
  .risk-comparison tbody td { border-bottom: 0; }
  .risk-comparison tbody th { grid-column: 1; grid-row: 1; }
  .risk-comparison tbody td:nth-child(2) { grid-column: 2; grid-row: 1; text-align: right; }
  .risk-comparison tbody td.is-danger,
  .risk-comparison tbody td.is-covered { grid-column: 1 / -1; }
  .risk-comparison tbody td.is-danger::before,
  .risk-comparison tbody td.is-covered::before {
    display: block;
    margin-bottom: .35rem;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .risk-comparison tbody td.is-danger::before { content: "Ohne Schutz"; }
  .risk-comparison tbody td.is-covered::before { content: "Mit passendem Schutz"; color: var(--primary); }
  .risk-comparison tbody tr.is-total th,
  .risk-comparison tbody tr.is-total td { font-size: .8rem; }
  .risk-comparison__notes { grid-template-columns: 1fr; }
  .risk-comparison__notes > div + div { border-top: 1px solid var(--border); border-left: 0; }
  .risk-comparison__footer { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .protection-explainer-conclusion { grid-template-columns: 1fr; gap: 2rem; margin-top: 5rem; padding-top: 3.5rem; }
  .protection-explainer-conclusion h3 { font-size: 2.3rem; }
}

/* Privatrechtsschutz topic silo */
.protection-topic-hub {
  position: relative;
  padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 5rem);
  overflow: clip;
  background: color-mix(in srgb, var(--muted) 56%, var(--background));
  border-top: 1px solid var(--border);
}

.protection-topic-hub__inner {
  width: min(100%, 92rem);
  display: grid;
  grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(3.5rem, 8vw, 8rem);
  margin-inline: auto;
}

.protection-topic-hub__intro { align-self: start; position: sticky; top: 7rem; }
.protection-topic-hub__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: #8a6500;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.protection-topic-hub__eyebrow::before { width: 1.8rem; height: 1px; background: #c59600; content: ""; }
.dark .protection-topic-hub__eyebrow { color: #f5c518; }
.protection-topic-hub__intro h2 {
  max-width: 10ch;
  margin: 1.3rem 0 1.6rem;
  font-family: var(--font-display);
  font-size: clamp(3.1rem, 5.7vw, 6.2rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.protection-topic-hub__intro h2 span { color: #b18400; }
.dark .protection-topic-hub__intro h2 span { color: #f5c518; }
.protection-topic-hub__intro > p { max-width: 35rem; margin: 0; color: var(--muted-foreground); font-size: clamp(.94rem, 1.2vw, 1.08rem); line-height: 1.75; }
.protection-topic-hub__path { display: flex; align-items: center; gap: .55rem; margin-top: 2.2rem; color: var(--muted-foreground); font-size: .67rem; }
.protection-topic-hub__path svg { width: .8rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.protection-topic-hub__path strong { color: var(--foreground); }

.protection-topic-hub__links { border-top: 1px solid var(--border); }
.protection-topic-link {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 3.25rem;
  align-items: start;
  gap: 1.15rem;
  padding: 1.65rem .25rem 1.7rem;
  border-bottom: 1px solid var(--border);
  color: var(--foreground);
  text-decoration: none;
  transition: padding .35s cubic-bezier(.22,1,.36,1), background .35s ease;
}

.protection-topic-link::before {
  position: absolute;
  inset: 0 -1rem;
  z-index: -1;
  border-radius: 1rem;
  background: var(--background);
  box-shadow: 0 1rem 3rem rgba(24,24,27,.06);
  content: "";
  opacity: 0;
  transform: scale(.985);
  transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1);
}

.dark .protection-topic-link::before { box-shadow: 0 1rem 3rem rgba(0,0,0,.2); }
.protection-topic-link__number { padding-top: .25rem; color: #9a7200; font-family: var(--font-display); font-size: .7rem; font-weight: 850; }
.dark .protection-topic-link__number { color: #f5c518; }
.protection-topic-link__copy { display: block; min-width: 0; }
.protection-topic-link__copy small { display: block; margin-bottom: .55rem; color: var(--muted-foreground); font-size: .59rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.protection-topic-link__copy strong { display: block; font-family: var(--font-display); font-size: clamp(1.3rem, 2.1vw, 2rem); line-height: 1.08; letter-spacing: -.035em; }
.protection-topic-link__copy > span { display: block; max-width: 42rem; margin-top: .7rem; color: var(--muted-foreground); font-size: .78rem; line-height: 1.6; }
.protection-topic-link__arrow {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  font-size: .95rem;
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .25s ease, background .25s ease, color .25s ease;
}

.protection-topic-link--warning .protection-topic-link__number,
.dark .protection-topic-link--warning .protection-topic-link__number { color: #c7433c; }
.protection-topic-link--warning .protection-topic-link__arrow { border-color: rgba(199,67,60,.32); color: #b93630; }

@media (hover: hover) {
  .protection-topic-link:hover { padding-left: .75rem; padding-right: .75rem; }
  .protection-topic-link:hover::before { opacity: 1; transform: scale(1); }
  .protection-topic-link:hover .protection-topic-link__arrow { border-color: #d0a100; background: #f5c518; color: #18140a; transform: translate(.2rem, -.2rem); }
  .protection-topic-link--warning:hover .protection-topic-link__arrow { border-color: #b93630; background: #b93630; color: #fff; }
}

@media (max-width: 860px) {
  .protection-topic-hub__inner { grid-template-columns: 1fr; gap: 3.5rem; }
  .protection-topic-hub__intro { position: static; }
  .protection-topic-hub__intro h2 { max-width: 12ch; }
}

@media (max-width: 560px) {
  .protection-topic-hub { padding: 4.5rem 1.15rem; }
  .protection-topic-hub__inner { gap: 2.8rem; }
  .protection-topic-hub__intro h2 { font-size: 3.3rem; }
  .protection-topic-link { grid-template-columns: 2rem minmax(0, 1fr) 2.6rem; gap: .7rem; padding: 1.4rem 0; }
  .protection-topic-link__copy strong { font-size: 1.35rem; }
  .protection-topic-link__copy > span { font-size: .74rem; }
  .protection-topic-link__arrow { width: 2.4rem; height: 2.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .protection-topic-link,
  .protection-topic-link::before,
  .protection-topic-link__arrow { transition: none; }
}

/* Vermieterrechtsschutz Leistungen: interactive service navigator */
.landlord-service-navigator {
  position: relative;
  overflow: clip;
  scroll-margin-top: 7rem;
  padding: clamp(4rem, 6vw, 6rem) clamp(1.15rem, 5vw, 5rem);
  background: color-mix(in srgb, var(--background) 94%, var(--muted));
}

.landlord-service-navigator__inner {
  width: min(100%, 88rem);
  margin-inline: auto;
}

.landlord-service-navigator__header {
  display: grid;
  grid-template-columns: minmax(17rem, .72fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4.25rem);
  align-items: end;
  margin-bottom: clamp(2rem, 3.5vw, 3.25rem);
}

.landlord-service-navigator__header h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 4vw, 4.5rem);
  font-weight: 820;
  line-height: .92;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.landlord-service-navigator__header h2 span {
  color: #9a7200;
}

.dark .landlord-service-navigator__header h2 span {
  color: var(--primary-action);
}

.landlord-service-navigator__header p {
  max-width: 39rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: clamp(1rem, 1.18vw, 1.16rem);
  line-height: 1.72;
}

.landlord-service-shell {
  position: relative;
  display: block;
  overflow: visible;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.dark .landlord-service-shell {
  background: transparent;
  box-shadow: none;
}

.landlord-service-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
}

.landlord-service-tab {
  width: 100%;
  min-height: 4.2rem;
  display: grid;
  grid-template-columns: 1.85rem minmax(0, 1fr);
  gap: .65rem;
  align-items: center;
  border: 0;
  border-radius: 0;
  padding: .85rem .8rem 1rem;
  color: var(--muted-foreground);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: transform .28s ease, border-color .28s ease, background .28s ease, color .28s ease;
}

.landlord-service-tab small {
  grid-row: 1 / span 2;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--foreground) 7%, transparent);
  color: color-mix(in srgb, var(--primary-action) 72%, var(--foreground));
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: -.02em;
}

.landlord-service-tab span,
.landlord-service-panel__copy > span {
  display: block;
  color: color-mix(in srgb, var(--primary-action) 76%, var(--foreground));
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.landlord-service-tab span,
.landlord-service-tab b {
  grid-column: 2;
}

.landlord-service-tab b {
  display: block;
  margin-top: .32rem;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(.92rem, .9vw, 1rem);
  font-weight: 760;
  line-height: 1.15;
}

.landlord-service-tab:hover,
.landlord-service-tab:focus-visible {
  transform: none;
  border-color: transparent;
  background: color-mix(in srgb, var(--foreground) 3%, transparent);
  outline: none;
}

.landlord-service-tab.is-active {
  border-color: transparent;
  background: color-mix(in srgb, var(--primary-action) 5%, transparent);
  color: var(--foreground);
  box-shadow: inset 0 -2px var(--primary-action);
}

.landlord-service-stage {
  min-width: 0;
  padding-top: 0;
}

.landlord-service-panel {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(15rem, .6fr);
  gap: clamp(2rem, 4vw, 3.75rem);
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  padding: clamp(2.35rem, 3.8vw, 3.6rem) 0;
  background: transparent;
}

.landlord-service-panel[hidden] {
  display: none;
}

.landlord-service-panel__copy,
.landlord-service-panel__check {
  position: relative;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.landlord-service-panel__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
}

.landlord-service-panel__copy::before {
  display: none;
  content: none;
}

.landlord-service-panel__copy h3 {
  position: relative;
  max-width: 19ch;
  margin: .9rem 0 1.1rem;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 3.15vw, 3.6rem);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.landlord-service-panel__copy p {
  position: relative;
  max-width: 42rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: clamp(.96rem, 1.05vw, 1.08rem);
  line-height: 1.72;
}

.landlord-service-panel__flow {
  position: relative;
  width: min(100%, 38rem);
  display: grid;
  grid-template-columns: max-content 1fr max-content 1fr max-content;
  gap: .65rem;
  align-items: center;
  margin-top: clamp(1.25rem, 2vw, 1.7rem);
  color: color-mix(in srgb, var(--foreground) 78%, var(--muted-foreground));
  font-size: .78rem;
  font-weight: 800;
}

.landlord-service-panel__flow i {
  height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--primary-action) 76%, transparent), transparent);
}

.landlord-service-panel__links {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: clamp(1.4rem, 2.4vw, 2rem);
}

.landlord-service-panel__links a,
.landlord-service-note a {
  min-height: 2.85rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: .75rem 1rem;
  color: var(--foreground);
  background: color-mix(in srgb, var(--card) 72%, transparent);
  font-size: .82rem;
  font-weight: 760;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.landlord-service-panel__links a:hover,
.landlord-service-note a:hover {
  transform: translateY(-2px);
  border-color: #c59600;
  background: color-mix(in srgb, var(--primary-action) 18%, var(--card));
}

.landlord-service-panel__check {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid var(--border);
  padding: .2rem 0 .2rem clamp(1.5rem, 2.5vw, 2.5rem);
  background: transparent;
}

.landlord-service-panel__signal-label {
  display: inline-flex;
  width: max-content;
  margin-bottom: .75rem;
  border: 1px solid color-mix(in srgb, var(--primary-action) 28%, var(--border));
  border-radius: 999px;
  padding: .42rem .64rem;
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
  background: color-mix(in srgb, var(--primary-action) 9%, transparent);
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.landlord-service-panel__check strong {
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 1.6vw, 1.75rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.landlord-service-panel__check ul {
  display: grid;
  gap: .7rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}

.landlord-service-panel__check li {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: .65rem;
  color: var(--muted-foreground);
  font-size: .86rem;
  line-height: 1.48;
}

.landlord-service-panel__check li::before {
  width: .44rem;
  height: .44rem;
  margin-top: .45rem;
  border-radius: 999px;
  background: var(--primary-action);
  content: "";
}

.landlord-service-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 1rem;
  border: 0;
  border-top: 1px solid var(--border);
  border-radius: 0;
  padding: 1rem 0 0;
  background: transparent;
}

.landlord-service-note p {
  max-width: 70rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: .86rem;
  line-height: 1.55;
}

.landlord-service-note strong {
  color: var(--foreground);
}

@media (hover: hover) {
  .landlord-service-shell:hover {
    border-color: color-mix(in srgb, var(--primary-action) 30%, var(--border));
  }
}

@media (max-width: 980px) {
  .landlord-service-navigator__header,
  .landlord-service-shell,
  .landlord-service-panel {
    grid-template-columns: 1fr;
  }

  .landlord-service-tabs {
    grid-template-columns: repeat(5, minmax(10rem, 1fr));
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--border);
    scrollbar-width: none;
  }

  .landlord-service-tabs::-webkit-scrollbar {
    display: none;
  }

  .landlord-service-tab:hover,
  .landlord-service-tab:focus-visible {
    transform: translateY(-2px);
  }

  .landlord-service-tab.is-active {
    box-shadow: inset 0 -3px var(--primary-action);
  }

  .landlord-service-panel {
    min-height: auto;
    gap: 2rem;
  }

  .landlord-service-panel__check {
    border-left: 0;
    border-top: 1px solid var(--border);
    padding: 1.5rem 0 0;
  }
}

@media (max-width: 620px) {
  .landlord-service-navigator {
    padding-inline: 1rem;
  }

  .landlord-service-navigator__header h2 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 12vw, 4.15rem);
  }

  .landlord-service-tabs { margin-inline: -1rem; padding-inline: 1rem; }

  .landlord-service-panel__copy h3 {
    font-size: clamp(2.15rem, 10.5vw, 3.2rem);
  }

  .landlord-service-note {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Compact topic silo for Privatrechtsschutz subpages */
.local-topic-silo {
  padding: clamp(4rem, 7vw, 6.5rem) clamp(1rem, 5vw, 5rem);
  overflow: hidden;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--background);
}

.local-topic-silo__inner { width: min(100%, 88rem); margin-inline: auto; }
.local-topic-silo__header {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(18rem, .7fr);
  align-items: end;
  gap: clamp(2rem, 8vw, 8rem);
  margin-bottom: 2rem;
}

.local-topic-silo__header span {
  color: #8a6500;
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.dark .local-topic-silo__header span { color: #f5c518; }
.local-topic-silo__header h2 {
  margin: .75rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.local-topic-silo__header p { max-width: 31rem; margin: 0; color: var(--muted-foreground); font-size: .84rem; line-height: 1.7; }
.local-topic-silo__rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(13.5rem, 1fr);
  gap: .65rem;
  padding: .25rem .05rem .65rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

.local-topic-silo__rail::-webkit-scrollbar { display: none; }

.local-topic-silo__link {
  position: relative;
  min-height: 9.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  align-content: space-between;
  gap: .45rem;
  padding: 1.15rem;
  scroll-snap-align: start;
  border: 1px solid var(--border);
  border-radius: .5rem;
  background: color-mix(in srgb, var(--muted) 45%, var(--background));
  color: var(--foreground);
  text-decoration: none;
  transition: border-color .28s ease, background .28s ease, transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease;
}

.local-topic-silo__link small { color: var(--muted-foreground); font-size: .59rem; font-weight: 850; }
.local-topic-silo__link strong { grid-column: 1 / -1; align-self: end; font-family: var(--font-display); font-size: 1.35rem; line-height: 1; }
.local-topic-silo__link span { color: var(--muted-foreground); font-size: .68rem; line-height: 1.35; }
.local-topic-silo__link i { grid-column: 2; grid-row: 1; font-size: .8rem; font-style: normal; }
.local-topic-silo__link.is-current {
  border-color: #d0a100;
  background: #f5c518;
  color: #18140a;
  box-shadow: 0 1rem 2.5rem rgba(197,150,0,.16);
}

.local-topic-silo__link.is-current small,
.local-topic-silo__link.is-current span { color: rgba(24,20,10,.7); }
.local-topic-silo__link.is-current i { font-size: 1.15rem; line-height: .5; }
.local-topic-silo__link--warning i { color: #c7433c; }

@media (min-width: 1180px) {
  .local-topic-silo__rail {
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: visible;
  }
  .local-topic-silo__link { min-width: 0; }
}

@media (hover: hover) {
  .local-topic-silo__link:not(.is-current):hover {
    border-color: color-mix(in srgb, #c59600 65%, var(--border));
    background: var(--background);
    box-shadow: 0 .9rem 2rem rgba(24,24,27,.07);
    transform: translateY(-3px);
  }
}

@media (max-width: 680px) {
  .local-topic-silo { padding: 4rem 1rem 3.6rem; }
  .local-topic-silo__header { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.6rem; }
  .local-topic-silo__header h2 { font-size: 2.65rem; }
  .local-topic-silo__rail { grid-auto-columns: minmax(12rem, 72vw); margin-right: -1rem; padding-right: 1rem; }
  .local-topic-silo__link { min-height: 8.8rem; }
}

/* Privatrechtsschutz subpage hero */
.protection-subpage .protection-switch-hero { min-height: 100svh; }
.protection-subpage .protection-phone-wrap {
  height: 20.5rem;
  min-height: 20.5rem;
  align-self: center;
  place-items: start center;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 91%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 91%, transparent 100%);
}

.protection-subpage .protection-phone-orbit { top: 2.5rem; }
.protection-subpage .protection-phone__visual--location {
  height: 11.25rem;
  display: block;
  overflow: hidden;
  border-color: rgba(20,20,24,.15);
  background: #111318;
}

.protection-subpage .protection-phone__visual--location::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,9,12,.92) 0%, rgba(8,9,12,.32) 48%, rgba(8,9,12,.08) 100%);
  content: "";
}

.protection-subpage .protection-phone__visual--location img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 52% center;
  filter: saturate(.72) contrast(1.12) brightness(.78);
}

.protection-costs-page .protection-phone__visual--costs img {
  object-position: 50% 50%;
}

.protection-subpage .protection-phone__visual--illustration::after {
  background: linear-gradient(to top, rgba(245,197,24,.96) 0%, rgba(245,197,24,.5) 43%, transparent 76%);
}

.protection-subpage .protection-phone__visual--illustration img {
  object-position: center;
  filter: saturate(.96) contrast(1.02) brightness(1);
}

.protection-subpage .protection-phone__visual--illustration .protection-phone__location-label { color: #18140a; }
.protection-subpage .protection-phone__visual--illustration .protection-phone__location-label small { color: #624a00; }

.protection-local-page .local-bento-card--feature { color: #18140a; }
.protection-local-page .local-bento-card--feature > img {
  object-position: center;
  filter: saturate(.96) contrast(1.02) brightness(1);
}

.protection-local-page .local-bento-card__shade {
  background: linear-gradient(180deg, rgba(245,197,24,0) 26%, rgba(245,197,24,.62) 62%, #f5c518 100%);
}

.protection-local-page .local-bento-card__feature-copy > span,
.protection-local-page .local-bento-card__feature-copy p { color: rgba(24,20,10,.72); }
.protection-local-page .local-bento-card__feature-copy > span i { background: #18140a; box-shadow: 0 0 0 .28rem rgba(24,20,10,.12); }
.protection-local-page .local-bento-card__feature-copy a { background: #18140a; color: #fff; }

@media (hover: hover) {
  .protection-local-page .local-bento-card--feature:hover > img { filter: saturate(1) contrast(1.02) brightness(1); }
  .protection-local-page .local-bento-card__feature-copy a:hover { background: #34302a; }
}

.protection-subpage .protection-phone__location-label {
  position: absolute;
  right: 1rem;
  bottom: .9rem;
  left: 1rem;
  z-index: 2;
  color: #fff;
  font-family: var(--font-display);
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.15;
}

.protection-subpage .protection-phone__location-label small {
  display: block;
  margin-bottom: .35rem;
  color: #f5c518;
  font-family: var(--font-body);
  font-size: .52rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.protection-subpage .protection-topic-rail a.is-active {
  position: relative;
  border-color: #d6a600;
  background: #f5c518;
  color: #18140a;
  box-shadow: 0 .8rem 2rem rgba(181,136,0,.18), inset 3px 0 #18140a;
  transform: translateX(.35rem);
}

.protection-subpage .protection-topic-rail a.is-active span { color: #18140a; }
.protection-subpage .protection-topic-rail a.is-active::after {
  position: absolute;
  top: .55rem;
  right: .55rem;
  width: .42rem;
  height: .42rem;
  border: 2px solid rgba(24,20,10,.24);
  border-radius: 50%;
  background: #18140a;
  content: "";
}

.protection-subpage .protection-switch-hero__badge { color: #765900; }
.dark .protection-subpage .protection-switch-hero__badge { color: #f5c518; }

@media (max-width: 920px) {
  .protection-subpage .protection-phone-wrap { height: 19rem; min-height: 19rem; }
}

@media (max-width: 700px) {
  .protection-subpage .protection-switch-hero__inner { gap: 1.75rem; }
  .protection-subpage .protection-phone-wrap { height: 18rem; min-height: 18rem; margin-bottom: -1rem; }
  .protection-subpage .protection-topic-rail a.is-active { transform: none; }
}

/* KÃ¶ln subpage bento */
.local-bento-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem);
  background: color-mix(in srgb, var(--muted) 48%, var(--background));
  border-top: 1px solid var(--border);
}

.local-bento-section__inner { width: min(100%, 90rem); margin-inline: auto; }
.local-bento-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
  align-items: end;
  gap: clamp(2rem, 8vw, 8rem);
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.local-bento-heading h2 {
  max-width: 15ch;
  margin: .9rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.038em;
}

.local-bento-heading h2 span { color: #a87d00; }
.dark .local-bento-heading h2 span { color: #f5c518; }
.local-bento-heading > p { max-width: 34rem; margin: 0; color: var(--muted-foreground); font-size: .94rem; line-height: 1.7; }
.local-bento-grid {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr);
  grid-template-rows: repeat(2, minmax(16rem, 1fr));
  gap: 1rem;
}

.local-bento-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background: var(--background);
  box-shadow: 0 1rem 3rem rgba(24,24,27,.045);
  transition: border-color .3s ease, box-shadow .35s ease, transform .4s cubic-bezier(.22,1,.36,1);
}

.dark .local-bento-card { box-shadow: 0 1rem 3rem rgba(0,0,0,.18); }
.local-bento-card--feature { grid-row: 1 / 3; min-height: 36rem; color: #fff; }
.local-bento-card--feature > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 53% center;
  filter: saturate(.76) contrast(1.08) brightness(.76);
  transition: transform .8s cubic-bezier(.22,1,.36,1), filter .5s ease;
}

.local-bento-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,8,11,.06) 20%, rgba(7,8,11,.34) 52%, rgba(7,8,11,.94) 100%); }
.local-bento-card__feature-copy { position: absolute; right: clamp(1.5rem, 4vw, 3.5rem); bottom: clamp(1.5rem, 4vw, 3.5rem); left: clamp(1.5rem, 4vw, 3.5rem); z-index: 2; }
.local-bento-card__feature-copy > span { display: inline-flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.72); font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.local-bento-card__feature-copy > span i { width: .42rem; height: .42rem; border-radius: 50%; background: #f5c518; box-shadow: 0 0 0 .28rem rgba(245,197,24,.14); }
.local-bento-card__feature-copy h3 { max-width: 14ch; margin: .85rem 0 .8rem; font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .98; letter-spacing: -.045em; }
.local-bento-card__feature-copy p { max-width: 39rem; margin: 0; color: rgba(255,255,255,.68); font-size: .86rem; line-height: 1.65; }
.local-bento-card__feature-copy a { min-height: 3rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.4rem; padding: 0 1rem; border-radius: .55rem; background: #f5c518; color: #18140a; font-size: .72rem; font-weight: 850; text-decoration: none; }
.local-bento-card--office,
.local-bento-card--tariffs { display: flex; flex-direction: column; justify-content: space-between; padding: 1.55rem; }
.local-bento-card--office header,
.local-bento-card--tariffs header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.local-bento-card__index { color: #8c6800; font-size: .6rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.dark .local-bento-card__index { color: #f5c518; }
.local-bento-card--office header svg,
.local-bento-card--tariffs header svg { width: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.local-bento-card--office h3,
.local-bento-card--tariffs h3 { max-width: 15ch; margin: 1.6rem 0 .75rem; font-family: var(--font-display); font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.05; letter-spacing: -.035em; }
.local-bento-card--office p,
.local-bento-card--tariffs p { margin: 0; color: var(--muted-foreground); font-size: .76rem; line-height: 1.6; }
.local-bento-card--office .local-bento-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: 1.4rem; }
.local-bento-card--office .local-bento-card__footer a { color: var(--foreground); font-size: .7rem; font-weight: 800; text-decoration: none; }
.local-bento-card--office .local-bento-card__footer > span { color: #d39f00; font-size: .56rem; white-space: nowrap; }
.local-bento-card--office .local-bento-card__footer strong { color: var(--foreground); font-size: .72rem; }
.local-bento-card__tariff-line { display: flex; align-items: center; gap: .55rem; margin-top: 1.4rem; color: var(--foreground); font-size: .62rem; font-weight: 800; }
.local-bento-card__tariff-line i { width: .22rem; height: .22rem; border-radius: 50%; background: #d2a000; }

@media (hover: hover) {
  .local-bento-card:hover { border-color: color-mix(in srgb, #d0a100 38%, var(--border)); box-shadow: 0 1.5rem 4rem rgba(24,24,27,.09); transform: translateY(-5px); }
  .dark .local-bento-card:hover { box-shadow: 0 1.5rem 4rem rgba(0,0,0,.28); }
  .local-bento-card--feature:hover > img { filter: saturate(.86) contrast(1.1) brightness(.82); transform: scale(1.025); }
  .local-bento-card__feature-copy a:hover { background: #ffe064; }
}

@media (max-width: 900px) {
  .local-bento-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .local-bento-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .local-bento-card--feature { grid-column: 1 / -1; grid-row: auto; min-height: 32rem; }
}

@media (max-width: 620px) {
  .local-bento-section { padding: 4.5rem 1rem; }
  .local-bento-heading { margin-bottom: 2rem; }
  .local-bento-heading h2 { font-size: 2.7rem; }
  .local-bento-grid { grid-template-columns: 1fr; }
  .local-bento-card { border-radius: 1rem; }
  .local-bento-card--feature { grid-column: auto; min-height: 29rem; }
  .local-bento-card__feature-copy h3 { font-size: 2.35rem; }
  .local-bento-card--office,
  .local-bento-card--tariffs { min-height: 16rem; }
}

@media (prefers-reduced-motion: reduce) {
  .local-bento-card,
  .local-bento-card--feature > img { transition: none; }
}

/* Cost subpage bento */
.cost-bento-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1rem, 5vw, 5rem);
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--muted) 48%, var(--background));
}

.cost-bento-section__inner { width: min(100%, 90rem); margin-inline: auto; }
.cost-bento-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .72fr);
  align-items: end;
  gap: clamp(2rem, 8vw, 8rem);
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.cost-bento-heading .section-kicker { margin-bottom: 1.25rem; }
.cost-bento-heading h2 {
  max-width: 14ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 5vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.038em;
}

.cost-bento-heading h2 span { color: #a87d00; }
.dark .cost-bento-heading h2 span { color: #f5c518; }
.cost-bento-heading > p { max-width: 34rem; margin: 0; color: var(--muted-foreground); font-size: .94rem; line-height: 1.72; }
.cost-bento-grid {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: minmax(0, 1.08fr) minmax(24rem, .92fr);
  grid-template-rows: minmax(21rem, auto) minmax(19rem, auto);
  gap: .85rem;
}

.cost-bento-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: var(--card);
  box-shadow: 0 1rem 3rem rgba(24,24,27,.045);
  transition: border-color .3s ease, box-shadow .35s ease, transform .4s cubic-bezier(.22,1,.36,1);
}

.dark .cost-bento-card { box-shadow: 0 1rem 3rem rgba(0,0,0,.18); }
.cost-bento-card--feature {
  grid-row: 1 / 3;
  min-height: 41rem;
  isolation: isolate;
  background: #f5c518;
  color: #18140a;
}

.cost-bento-card--feature::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #f5c518 0%, rgba(245,197,24,.97) 42%, rgba(245,197,24,.25) 76%, transparent 100%);
  content: "";
}

.cost-bento-card--feature > img {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -2;
  width: 78%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}

.cost-bento-card__feature-copy {
  width: min(72%, 34rem);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.5rem, 4vw, 3.5rem);
}

.cost-bento-card__feature-copy > span,
.cost-bento-card--risk header > span,
.cost-bento-card--factors > span,
.cost-bento-card--tariffs > span {
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cost-bento-card__feature-copy > span { display: flex; align-items: center; gap: .55rem; color: rgba(24,20,10,.68); }
.cost-bento-card__feature-copy > span i { width: .42rem; height: .42rem; border-radius: 50%; background: #18140a; box-shadow: 0 0 0 .28rem rgba(24,20,10,.12); }
.cost-bento-card__feature-copy h3 { max-width: 12ch; margin: 1rem 0 .9rem; font-family: var(--font-display); font-size: clamp(2.5rem, 4.5vw, 4.7rem); line-height: .98; letter-spacing: -.038em; }
.cost-bento-card__feature-copy p { max-width: 32rem; margin: 0; color: rgba(24,20,10,.7); font-size: .86rem; line-height: 1.68; }
.cost-bento-card__feature-copy ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.cost-bento-card__feature-copy li { padding: .45rem .7rem; border: 1px solid rgba(24,20,10,.22); border-radius: 999px; font-size: .65rem; font-weight: 750; }

.cost-bento-card--risk { padding: clamp(1.4rem, 3vw, 2.25rem); background: #18181b; color: #fff; }
.cost-bento-card--risk header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.cost-bento-card--risk header > span { max-width: 10rem; color: rgba(255,255,255,.5); line-height: 1.45; }
.cost-bento-card--risk h3 { max-width: 10ch; margin: 0; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1; letter-spacing: -.04em; text-align: right; }
.cost-risk-compare { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.cost-risk-compare > div { min-width: 0; padding: 1.35rem 1rem 1.35rem 0; }
.cost-risk-compare > div + div { padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.13); }
.cost-risk-compare small { display: block; color: rgba(255,255,255,.52); font-size: .58rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.cost-risk-compare strong { display: block; margin-top: .6rem; font-family: var(--font-display); font-size: clamp(2.6rem, 4vw, 4.2rem); line-height: .95; letter-spacing: -.038em; }
.cost-risk-compare__protected strong { color: #f5c518; }
.cost-risk-compare__unprotected strong { color: #ff746d; }
.cost-risk-compare > div > span { display: block; margin-top: .5rem; font-size: .72rem; font-weight: 800; }
.cost-risk-compare p { margin: .8rem 0 0; color: rgba(255,255,255,.55); font-size: .68rem; line-height: 1.5; }
.cost-bento-card__disclaimer { margin: 1rem 0 0; color: rgba(255,255,255,.42); font-size: .58rem; line-height: 1.5; }

.cost-bento-grid__small { display: grid; grid-auto-flow: dense; grid-template-columns: 1fr 1fr; gap: .85rem; }
.cost-bento-card--factors,
.cost-bento-card--tariffs { min-height: 19rem; display: flex; flex-direction: column; padding: 1.4rem; }
.cost-bento-card--factors > span,
.cost-bento-card--tariffs > span { color: #8a6500; }
.dark .cost-bento-card--factors > span,
.dark .cost-bento-card--tariffs > span { color: #f5c518; }
.cost-bento-card--factors h3,
.cost-bento-card--tariffs h3 { margin: .8rem 0 1.1rem; font-family: var(--font-display); font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.05; letter-spacing: -.035em; }
.cost-bento-card--factors dl { display: grid; gap: .7rem; margin: 0; }
.cost-bento-card--factors dl div { display: grid; grid-template-columns: 6.2rem 1fr; align-items: center; gap: .7rem; }
.cost-bento-card--factors dt { color: var(--muted-foreground); font-size: .61rem; }
.cost-bento-card--factors dd { height: .28rem; margin: 0; overflow: hidden; border-radius: 999px; background: var(--muted); }
.cost-bento-card--factors dd i { width: var(--level); height: 100%; display: block; border-radius: inherit; background: #d0a100; }
.cost-bento-card--factors p,
.cost-bento-card--tariffs p { margin: auto 0 0; color: var(--muted-foreground); font-size: .68rem; line-height: 1.55; }
.cost-tariff-scale { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 1rem; border: 1px solid var(--border); border-radius: .5rem; overflow: hidden; }
.cost-tariff-scale span { padding: .6rem .3rem; font-size: .56rem; font-weight: 800; text-align: center; }
.cost-tariff-scale span + span { border-left: 1px solid var(--border); }
.cost-tariff-scale span:nth-child(2) { background: color-mix(in srgb, #f5c518 18%, var(--background)); }
.cost-bento-card--tariffs a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: 1rem; color: var(--foreground); font-size: .66rem; font-weight: 850; text-decoration: none; }

@media (hover: hover) {
  .cost-bento-card:hover { border-color: color-mix(in srgb, #d0a100 42%, var(--border)); box-shadow: 0 1.5rem 4rem rgba(24,24,27,.09); transform: translateY(-5px); }
  .dark .cost-bento-card:hover { box-shadow: 0 1.5rem 4rem rgba(0,0,0,.28); }
  .cost-bento-card--feature:hover > img { transform: scale(1.025); }
  .cost-bento-card--tariffs a:hover { color: #9a7200; }
  .dark .cost-bento-card--tariffs a:hover { color: #f5c518; }
}

@media (max-width: 1000px) {
  .cost-bento-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .cost-bento-card--feature { grid-row: auto; min-height: 36rem; }
  .cost-bento-card--risk { min-height: 24rem; }
}

@media (max-width: 760px) {
  .cost-bento-heading { grid-template-columns: 1fr; gap: 1.4rem; }
  .cost-bento-heading h2 { font-size: 3rem; }
  .cost-bento-grid__small { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .cost-bento-section { padding: 4.5rem 1rem; }
  .cost-bento-heading h2 { font-size: 2.65rem; }
  .cost-bento-card { border-radius: 1rem; }
  .cost-bento-card--feature { min-height: 38rem; }
  .cost-bento-card--feature::after { background: linear-gradient(180deg, rgba(245,197,24,.05) 0%, rgba(245,197,24,.84) 48%, #f5c518 72%); }
  .cost-bento-card--feature > img { inset: 0 0 auto; width: 100%; height: 55%; object-position: center; }
  .cost-bento-card__feature-copy { width: 100%; min-height: 38rem; padding: 1.35rem; }
  .cost-bento-card__feature-copy h3 { font-size: 2.55rem; }
  .cost-bento-card--risk { padding: 1.25rem; }
  .cost-bento-card--risk header { align-items: start; flex-direction: column; }
  .cost-bento-card--risk h3 { text-align: left; }
  .cost-risk-compare { grid-template-columns: 1fr; }
  .cost-risk-compare > div { padding: 1.15rem 0; }
  .cost-risk-compare > div + div { padding-left: 0; border-top: 1px solid rgba(255,255,255,.13); border-left: 0; }
  .cost-bento-grid__small { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cost-bento-card,
  .cost-bento-card--feature > img { transition: none; }
}

/* Detailed cost guide */
.cost-detail-section {
  padding: clamp(5rem, 10vw, 9rem) clamp(1rem, 5vw, 5rem);
  background: var(--background);
}

.cost-detail-section__inner { width: min(100%, 88rem); margin-inline: auto; }
.cost-detail-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .72fr);
  align-items: end;
  gap: clamp(2rem, 8vw, 8rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.cost-detail-heading .section-kicker { grid-column: 1 / -1; }
.cost-detail-heading h2 { max-width: 12ch; margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 5.5vw, 5.8rem); line-height: .98; letter-spacing: -.04em; }
.cost-detail-heading h2 span { color: #a87d00; }
.dark .cost-detail-heading h2 span { color: #f5c518; }
.cost-detail-heading > p { max-width: 36rem; margin: 0; color: var(--muted-foreground); font-size: 1rem; line-height: 1.75; }

.cost-detail-principle {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(1.5rem, 5vw, 5rem);
  padding: 2.25rem 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.cost-detail-principle > div { display: grid; gap: .55rem; }
.cost-detail-principle small { color: #8a6500; font-size: .61rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.dark .cost-detail-principle small { color: #f5c518; }
.cost-detail-principle strong { font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1; letter-spacing: -.04em; }
.cost-detail-principle p { max-width: 34rem; margin: 0; color: var(--muted-foreground); font-size: .79rem; line-height: 1.65; }
.cost-detail-principle > span { color: #d0a100; font-family: var(--font-display); font-size: 2.5rem; font-weight: 700; }

.cost-detail-copy { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(20rem, .68fr); align-items: start; gap: clamp(3rem, 8vw, 8rem); padding: clamp(5rem, 9vw, 8rem) 0; }
.cost-detail-copy article > span,
.cost-deductible-note > span,
.cost-compare-bento__heading > span,
.cost-single-case__copy > span { color: #8a6500; font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .cost-detail-copy article > span,
.dark .cost-compare-bento__heading > span,
.dark .cost-single-case__copy > span { color: #f5c518; }
.cost-detail-copy article h3 { max-width: 17ch; margin: 1.15rem 0 1.7rem; font-family: var(--font-display); font-size: clamp(2.25rem, 4vw, 4rem); line-height: .98; letter-spacing: -.045em; }
.cost-detail-copy article > p { max-width: 48rem; margin: 0; color: var(--muted-foreground); font-size: .91rem; line-height: 1.82; }
.cost-detail-copy article > p + p { margin-top: 1.15rem; }

.cost-factor-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; margin-top: 2.5rem; border-top: 1px solid var(--border); }
.cost-factor-list > div { display: grid; grid-template-columns: 1rem 1fr; gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.cost-factor-list b {
  width: .52rem;
  height: .52rem;
  margin-top: .18rem;
  border-radius: 50%;
  background: #d0a100;
  box-shadow: 0 0 0 .3rem rgba(208,161,0,.12);
}
.dark .cost-factor-list b { background: #f5c518; box-shadow: 0 0 0 .3rem rgba(245,197,24,.12); }
.cost-factor-list span { min-width: 0; }
.cost-factor-list strong { display: block; font-size: .75rem; }
.cost-factor-list small { display: block; margin-top: .25rem; color: var(--muted-foreground); font-size: .64rem; line-height: 1.45; }

.cost-deductible-note { position: sticky; top: 6.5rem; padding: 2rem; border-radius: 1rem; background: #18181b; color: #fff; }
.cost-deductible-note > span { color: #f5c518; }
.cost-deductible-note h3 { margin: 1rem 0 1.2rem; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1; letter-spacing: -.04em; }
.cost-deductible-note > p { margin: 0; color: rgba(255,255,255,.58); font-size: .77rem; line-height: 1.7; }
.cost-deductible-note > p + p { margin-top: 1.2rem; }
.cost-deductible-balance { display: grid; margin: 1.5rem 0; border-top: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.cost-deductible-balance > div { display: grid; grid-template-columns: 1fr 1.8rem 1fr; align-items: center; gap: .65rem; padding: 1rem 0; }
.cost-deductible-balance > div + div { border-top: 1px solid rgba(255,255,255,.13); }
.cost-deductible-balance small { color: rgba(255,255,255,.48); font-size: .58rem; line-height: 1.4; }
.cost-deductible-balance strong { font-size: .65rem; line-height: 1.35; text-align: right; }
.cost-deductible-balance i { position: relative; height: 1px; background: rgba(255,255,255,.24); }
.cost-deductible-balance i::after { position: absolute; top: 50%; right: 0; width: .4rem; height: .4rem; border-top: 1px solid #f5c518; border-right: 1px solid #f5c518; content: ""; transform: translateY(-50%) rotate(45deg); }

.cost-compare-bento { --coverage-accent: #43d69a; --coverage-soft: rgba(67,214,154,.12); --coverage-line: rgba(67,214,154,.24); margin-top: clamp(1rem, 2vw, 2rem); }
.cost-compare-bento.is-uncovered { --coverage-accent: #ff746d; --coverage-soft: rgba(255,116,109,.13); --coverage-line: rgba(255,116,109,.27); }
.cost-compare-bento__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .58fr); align-items: end; gap: 1rem clamp(2rem, 8vw, 8rem); margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.cost-compare-bento__heading > span { grid-column: 1 / -1; }
.cost-compare-bento__heading h3 { max-width: 17ch; margin: 0; font-family: var(--font-display); font-size: clamp(2.5rem, 4.7vw, 4.8rem); line-height: .98; letter-spacing: -.038em; }
.cost-compare-bento__heading p { max-width: 34rem; margin: 0; color: var(--muted-foreground); font-size: 1rem; line-height: 1.72; }
.cost-compare-bento__grid { display: grid; grid-auto-flow: dense; grid-template-columns: minmax(0, 1.42fr) minmax(20rem, .58fr); gap: .75rem; }
.cost-journey-card,
.cost-risk-cockpit { min-width: 0; min-height: 42rem; overflow: hidden; border-radius: 1.35rem; transition: background .45s ease, border-color .45s ease, transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease; }
.cost-journey-card { position: relative; isolation: isolate; padding: clamp(1.6rem, 4vw, 3.5rem); background: linear-gradient(145deg, rgba(255,255,255,.025), transparent 38%), linear-gradient(115deg, #19191c, #141416); color: #fff; }
.cost-journey-card::before { position: absolute; inset: -35% -20% auto auto; z-index: -1; width: 38rem; height: 38rem; border: 1px solid var(--coverage-line); border-radius: 50%; box-shadow: 0 0 0 6rem color-mix(in srgb, var(--coverage-accent) 3%, transparent), 0 0 0 12rem color-mix(in srgb, var(--coverage-accent) 2%, transparent); content: ""; transition: border-color .45s ease, box-shadow .45s ease; }
.cost-journey-card::after { position: absolute; right: -1rem; bottom: -1.2rem; z-index: -1; color: transparent; content: "GESCHÃœTZT"; font-family: var(--font-display); font-size: clamp(5rem, 10vw, 10rem); font-weight: 800; letter-spacing: -.045em; line-height: .8; opacity: .055; -webkit-text-stroke: 1px var(--coverage-accent); transition: opacity .45s ease, color .45s ease; white-space: nowrap; }
.cost-compare-bento.is-uncovered .cost-journey-card::after { content: "EIGENRISIKO"; opacity: .07; }
.cost-journey-card > header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .65fr); align-items: end; gap: 1.5rem 3rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.cost-journey-card > header > span { grid-column: 1 / -1; color: var(--coverage-accent); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cost-journey-card > header h4 { max-width: 16ch; margin: 0; font-family: var(--font-display); font-size: clamp(2rem, 3.5vw, 3.65rem); line-height: .98; letter-spacing: -.045em; }
.cost-journey-card > header p { margin: 0; color: rgba(255,255,255,.55); font-size: .88rem; line-height: 1.65; }
.cost-journey { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.5rem; padding-top: 1rem; }
.cost-journey::before { position: absolute; top: 1rem; bottom: 0; left: calc(50% - .5px); width: 1px; background: linear-gradient(transparent, var(--coverage-accent) 12%, var(--coverage-line) 88%, transparent); box-shadow: 0 0 1.4rem var(--coverage-soft); content: ""; }
.cost-journey > article { position: relative; display: grid; grid-template-columns: 1.45rem 1fr; gap: 1rem; padding: 1.05rem .8rem; border-radius: .85rem; transition: background .3s ease, transform .4s cubic-bezier(.22,1,.36,1); }
.cost-journey > article:nth-child(even) { transform: translateY(2.25rem); }
.cost-journey > article > span {
  position: relative;
  width: .78rem;
  height: .78rem;
  margin-top: .35rem;
  border: 1px solid var(--coverage-line);
  border-radius: 50%;
  background: var(--coverage-accent);
  color: transparent;
  font-size: 0;
  box-shadow: 0 0 0 .35rem rgba(24,24,27,.9), 0 0 1.4rem var(--coverage-soft);
}
.cost-journey small { color: rgba(255,255,255,.42); font-size: .53rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cost-journey h5 { margin: .35rem 0 .45rem; font-family: var(--font-display); font-size: clamp(.95rem, 1.35vw, 1.2rem); line-height: 1.18; }
.cost-journey p { margin: 0; color: rgba(255,255,255,.48); font-size: .73rem; line-height: 1.5; }
.cost-journey strong { display: inline-flex; align-items: center; gap: .45rem; margin-top: .7rem; color: var(--coverage-accent); font-size: .65rem; line-height: 1.4; }
.cost-journey strong::before { width: .4rem; height: .4rem; flex: 0 0 auto; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .22rem var(--coverage-soft); content: ""; }
.cost-risk-cockpit { position: relative; display: flex; flex-direction: column; padding: clamp(1.25rem, 3vw, 2.3rem); border: 1px solid var(--coverage-line); background: linear-gradient(160deg, var(--coverage-soft), transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--background) 88%, var(--muted)), var(--background)); color: var(--foreground); }
.cost-risk-cockpit::before { position: absolute; top: 0; right: 16%; left: 16%; height: 2px; border-radius: 0 0 1rem 1rem; background: var(--coverage-accent); box-shadow: 0 0 1.5rem var(--coverage-accent); content: ""; transition: background .45s ease, box-shadow .45s ease; }
.cost-risk-cockpit__toggle { display: grid; grid-template-columns: 1fr 1fr; padding: .3rem; border: 1px solid var(--border); border-radius: .75rem; background: color-mix(in srgb, var(--background) 82%, transparent); }
.cost-risk-cockpit__toggle button { min-width: 0; min-height: 2.8rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .55rem; border: 0; border-radius: .5rem; background: transparent; color: var(--muted-foreground); font: inherit; font-size: .66rem; font-weight: 850; cursor: pointer; transition: background .3s ease, color .3s ease, box-shadow .3s ease; }
.cost-risk-cockpit__toggle button i { width: .43rem; height: .43rem; border-radius: 50%; background: currentColor; }
.cost-risk-cockpit__toggle button.is-active { background: var(--coverage-accent); color: #102219; box-shadow: 0 .7rem 1.5rem color-mix(in srgb, var(--coverage-accent) 24%, transparent); }
.cost-compare-bento.is-uncovered .cost-risk-cockpit__toggle button.is-active { color: #fff; }
.cost-risk-cockpit__meter { position: relative; width: min(14rem, 70%); aspect-ratio: 1; display: grid; place-items: center; margin: clamp(2rem, 5vw, 4rem) auto 1.5rem; border-radius: 50%; background: conic-gradient(from -90deg, var(--coverage-accent) 0 18deg, var(--coverage-soft) 18deg 360deg); box-shadow: 0 0 0 1px var(--coverage-line), 0 1.6rem 4rem var(--coverage-soft); transition: background .45s ease, box-shadow .45s ease; }
.cost-compare-bento.is-uncovered .cost-risk-cockpit__meter { background: var(--coverage-accent); }
.cost-risk-cockpit__meter::before { position: absolute; inset: .72rem; border-radius: inherit; background: var(--background); content: ""; }
.cost-risk-cockpit__meter i { position: absolute; inset: 1.35rem; border: 1px solid var(--coverage-line); border-radius: inherit; box-shadow: inset 0 0 2.5rem var(--coverage-soft); }
.cost-risk-cockpit__meter span { position: relative; font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 700; letter-spacing: -.04em; white-space: nowrap; }
.cost-risk-cockpit__label { color: var(--coverage-accent); font-size: .61rem; font-weight: 850; letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.cost-risk-cockpit > h4 { max-width: 12ch; margin: 1rem auto .8rem; font-family: var(--font-display); font-size: clamp(1.7rem, 2.6vw, 2.5rem); line-height: 1; letter-spacing: -.04em; text-align: center; }
.cost-risk-cockpit > p { margin: 0; color: var(--muted-foreground); font-size: .82rem; line-height: 1.65; text-align: center; }
.cost-risk-cockpit dl { margin: auto 0 0; padding-top: 1.5rem; }
.cost-risk-cockpit dl > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--coverage-line); }
.cost-risk-cockpit dt { color: var(--muted-foreground); font-size: .66rem; }
.cost-risk-cockpit dd { margin: 0; color: var(--coverage-accent); font-size: .67rem; font-weight: 850; text-align: right; }
.cost-risk-cockpit__note { margin: 0; padding-top: 1rem; color: var(--muted-foreground); font-size: .54rem; line-height: 1.5; }

@media (hover: hover) {
  .cost-journey-card:hover,
  .cost-risk-cockpit:hover { box-shadow: 0 1.7rem 4.5rem rgba(24,24,27,.12); transform: translateY(-4px); }
  .dark .cost-journey-card:hover,
  .dark .cost-risk-cockpit:hover { box-shadow: 0 1.7rem 4.5rem rgba(0,0,0,.3); }
  .cost-journey > article:nth-child(odd):hover { background: rgba(255,255,255,.035); transform: translateX(.45rem); }
  .cost-journey > article:nth-child(even):hover { background: rgba(255,255,255,.035); transform: translate(.45rem, 2.25rem); }
}

.cost-single-case { display: grid; grid-template-columns: minmax(0, 1fr) minmax(22rem, .72fr); gap: clamp(2.5rem, 7vw, 7rem); margin-top: clamp(5rem, 9vw, 8rem); padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid rgba(24,20,10,.18); border-radius: 1rem; background: #f5c518; color: #18140a; }
.cost-single-case__copy h3 { max-width: 15ch; margin: 1rem 0 1.6rem; font-family: var(--font-display); font-size: clamp(2.4rem, 4.5vw, 4.6rem); line-height: .98; letter-spacing: -.038em; }
.cost-single-case__copy > span { color: #624a00; }
.cost-single-case__copy p { max-width: 48rem; margin: 0; color: rgba(24,20,10,.7); font-size: .82rem; line-height: 1.75; }
.cost-single-case__copy p + p { margin-top: 1rem; }
.cost-single-case__flow { margin: 0; padding: 0; border-top: 1px solid rgba(24,20,10,.2); list-style: none; }
.cost-single-case__flow li { display: grid; grid-template-columns: 1.25rem 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(24,20,10,.2); }
.cost-single-case__flow li > span {
  width: .65rem;
  height: .65rem;
  margin-top: .45rem;
  border: 1px solid rgba(24,20,10,.24);
  border-radius: 50%;
  background: rgba(24,20,10,.18);
  font-size: 0;
}
.cost-single-case__flow small { display: block; color: rgba(24,20,10,.58); font-size: .54rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.cost-single-case__flow strong { display: block; margin-top: .3rem; font-size: .8rem; }
.cost-single-case__flow p { margin: .35rem 0 0; color: rgba(24,20,10,.64); font-size: .65rem; line-height: 1.5; }
.cost-single-case__flow .is-warning > span { border-color: #b93630; background: #b93630; color: transparent; box-shadow: 0 0 0 .32rem rgba(185,54,48,.12); }

.cost-detail-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; margin-top: clamp(4rem, 7vw, 6rem); padding: 2rem; border-radius: 1rem; background: #18181b; color: #fff; }
.cost-detail-footer strong { display: block; font-family: var(--font-display); font-size: clamp(1.35rem, 2.5vw, 2.2rem); }
.cost-detail-footer p { max-width: 42rem; margin: .45rem 0 0; color: rgba(255,255,255,.58); font-size: .72rem; line-height: 1.55; }
.cost-detail-footer > a { min-height: 3rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .65rem 1rem; border-radius: .55rem; background: #f5c518; color: #18140a; font-size: .7rem; font-weight: 850; text-decoration: none; }
.cost-detail-footer > small { grid-column: 1 / -1; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.38); font-size: .57rem; line-height: 1.5; }
.cost-detail-footer > small a { color: rgba(255,255,255,.64); }

@media (hover: hover) {
  .cost-detail-footer > a:hover { background: #ffe064; transform: translateY(-2px); }
}

@media (max-width: 980px) {
  .cost-detail-copy { grid-template-columns: 1fr; }
  .cost-deductible-note { position: static; }
  .cost-compare-bento__grid { grid-template-columns: 1fr; }
  .cost-journey-card,
  .cost-risk-cockpit { min-height: 0; }
  .cost-risk-cockpit { order: -1; display: grid; grid-template-columns: minmax(14rem, .65fr) minmax(0, 1fr); align-items: center; gap: 0 2rem; }
  .cost-risk-cockpit__toggle,
  .cost-risk-cockpit dl,
  .cost-risk-cockpit__note { grid-column: 1 / -1; }
  .cost-risk-cockpit__meter { grid-column: 1; grid-row: 2 / 6; }
  .cost-risk-cockpit__label,
  .cost-risk-cockpit > h4,
  .cost-risk-cockpit > p { grid-column: 2; margin-inline: 0; text-align: left; }
  .cost-single-case { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .cost-detail-heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .cost-detail-heading .section-kicker { grid-column: auto; }
  .cost-detail-principle { grid-template-columns: 1fr; gap: 1.5rem; }
  .cost-compare-bento__heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .cost-compare-bento__heading > span { grid-column: auto; }
  .cost-journey-card > header { grid-template-columns: 1fr; gap: 1rem; }
  .cost-journey { grid-template-columns: 1fr; }
  .cost-journey::before { left: 1.17rem; }
  .cost-journey > article:nth-child(even) { transform: none; }
  .cost-detail-footer { grid-template-columns: 1fr; }
  .cost-detail-footer > a { width: 100%; }
}

@media (max-width: 560px) {
  .cost-detail-section { padding: 4.5rem 1rem; }
  .cost-detail-heading h2 { font-size: 3rem; }
  .cost-factor-list { grid-template-columns: 1fr; }
  .cost-deductible-note,
  .cost-journey-card,
  .cost-risk-cockpit,
  .cost-single-case,
  .cost-detail-footer { border-radius: 1rem; }
  .cost-deductible-note { padding: 1.5rem; }
  .cost-compare-bento__heading h3 { font-size: 2.75rem; }
  .cost-journey-card { padding: 1.35rem; }
  .cost-journey-card > header h4 { font-size: 2.35rem; }
  .cost-risk-cockpit { display: flex; padding: 1.15rem; }
  .cost-risk-cockpit__meter { width: 11rem; margin-top: 2.25rem; }
  .cost-single-case { padding: 1.5rem 1.25rem; }
  .cost-single-case__copy h3 { font-size: 2.65rem; }
  .cost-detail-footer { padding: 1.5rem 1.25rem; }
}

/* Waiting-time subpage */
.protection-phone__visual--waiting img { object-position: center; transform: scale(1.08); }
.protection-phone__visual--exclusions img { object-position: 58% center; transform: scale(1.08); }
.waiting-bento-section {
  padding: clamp(5rem, 8vw, 7.5rem) clamp(1.25rem, 5vw, 5rem);
  background: color-mix(in srgb, var(--muted) 48%, var(--background));
}
.waiting-bento-section__inner { width: min(100%, 90rem); margin-inline: auto; }
.waiting-bento-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .62fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.waiting-bento-heading h2 { max-width: 13ch; margin: 1rem 0 0; font-family: var(--font-display); font-size: clamp(2.7rem, 5vw, 5.1rem); line-height: .98; letter-spacing: -.038em; }
.waiting-bento-heading h2 span { color: #a87d00; }
.dark .waiting-bento-heading h2 span { color: #f5c518; }
.waiting-bento-heading p { margin: 0; color: var(--muted-foreground); font-size: .92rem; line-height: 1.72; }
.waiting-bento-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(20rem, .74fr);
  gap: 1rem;
}
.waiting-bento-card {
  position: relative;
  overflow: hidden;
  min-height: 18rem;
  border: 1px solid var(--border);
  border-radius: 2rem;
  background: color-mix(in srgb, var(--muted) 70%, var(--background));
  box-shadow: 0 2rem 5rem rgba(24,24,27,.08);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.dark .waiting-bento-card { box-shadow: 0 2rem 5rem rgba(0,0,0,.24); }
.waiting-bento-card--feature {
  min-height: 39rem;
  display: grid;
  align-items: end;
  isolation: isolate;
  background: #f5c518;
  color: #17140a;
}
.waiting-bento-card--feature img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.waiting-bento-card--feature::after {
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 58%;
  background: linear-gradient(to top, rgba(245,197,24,.94), rgba(245,197,24,.58), transparent);
  content: "";
}
.waiting-bento-card__feature-copy { max-width: 43rem; padding: clamp(1.4rem, 4vw, 3rem); }
.waiting-bento-card__feature-copy > span,
.waiting-bento-card--instant > span,
.waiting-options header > span,
.waiting-detail-copy article > span,
.waiting-check-card > span,
.waiting-case__copy > span,
.waiting-detail-footer small {
  color: #765900;
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.waiting-bento-card__feature-copy i {
  width: .55rem;
  height: .55rem;
  display: inline-block;
  margin-right: .45rem;
  border-radius: 50%;
  background: #17140a;
  box-shadow: 0 0 0 .35rem rgba(23,20,10,.1);
}
.waiting-bento-card__feature-copy h3 { max-width: 12ch; margin: .85rem 0 1rem; font-family: var(--font-display); font-size: clamp(2.4rem, 4.4vw, 4.65rem); line-height: .98; letter-spacing: -.038em; }
.waiting-bento-card__feature-copy p { max-width: 43rem; margin: 0; color: rgba(23,20,10,.76); font-size: .95rem; line-height: 1.72; }
.waiting-bento-card--instant { padding: clamp(1.5rem, 3vw, 2.4rem); background: #18181b; color: #fff; }
.waiting-bento-card--instant::after { position: absolute; right: -3rem; bottom: -3.3rem; width: 13rem; height: 13rem; border: 1.2rem solid rgba(245,197,24,.15); border-radius: 50%; content: ""; }
.waiting-bento-card--instant > span { color: #f5c518; }
.waiting-bento-card--instant h3 { max-width: 11ch; margin: 1rem 0; font-family: var(--font-display); font-size: clamp(2rem, 3.2vw, 3.15rem); line-height: .98; letter-spacing: -.045em; }
.waiting-bento-card--instant p { margin: 0; color: rgba(255,255,255,.66); font-size: .88rem; line-height: 1.7; }
.waiting-bento-card--instant a { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.5rem; color: #f5c518; font-size: .82rem; font-weight: 850; text-decoration: none; }
.waiting-bento-grid__small { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-column: 1 / -1; gap: 1rem; }
.waiting-bento-grid__small .waiting-bento-card { min-height: 17rem; padding: clamp(1.25rem, 3vw, 2rem); display: grid; align-content: space-between; }
.waiting-bento-grid__small small { color: var(--muted-foreground); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.waiting-bento-grid__small strong { display: block; margin-top: 1rem; font-family: var(--font-display); font-size: clamp(2.35rem, 4vw, 4.2rem); line-height: .95; letter-spacing: -.04em; }
.waiting-bento-grid__small p { margin: 1rem 0 0; color: var(--muted-foreground); font-size: .86rem; line-height: 1.65; }
.waiting-bento-card--warning { background: color-mix(in srgb, #c7433c 11%, var(--background)); border-color: color-mix(in srgb, #c7433c 34%, var(--border)); }
.waiting-bento-card--warning strong { color: #b73933; }
.dark .waiting-bento-card--warning strong { color: #ff938b; }
@media (hover: hover) {
  .waiting-bento-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--primary-action) 40%, var(--border)); box-shadow: 0 2.4rem 6rem rgba(24,24,27,.11); }
  .dark .waiting-bento-card:hover { box-shadow: 0 2.4rem 6rem rgba(0,0,0,.34); }
}

.waiting-detail-section { padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem); background: var(--background); }
.waiting-detail-section__inner { width: min(100%, 88rem); margin-inline: auto; }
.waiting-detail-heading { max-width: 56rem; margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.waiting-detail-heading h2 { max-width: 14ch; margin: .9rem 0 1.2rem; font-family: var(--font-display); font-size: clamp(2.8rem, 5.4vw, 5.6rem); line-height: .98; letter-spacing: -.04em; }
.waiting-detail-heading h2 span { color: #a87d00; }
.dark .waiting-detail-heading h2 span { color: #f5c518; }
.waiting-detail-heading p { max-width: 45rem; margin: 0; color: var(--muted-foreground); font-size: .95rem; line-height: 1.75; }
.waiting-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--border);
  border-radius: 1.6rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--muted) 64%, var(--background));
}
.waiting-timeline article { min-height: 15rem; padding: 1.6rem; border-right: 1px solid var(--border); }
.waiting-timeline article:last-child { border-right: 0; }
.waiting-timeline small { color: #9a7300; font-size: .75rem; font-weight: 850; }
.dark .waiting-timeline small { color: #f5c518; }
.waiting-timeline h3 { max-width: 10ch; margin: 3.3rem 0 .8rem; font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 2.1rem); line-height: 1.03; letter-spacing: -.035em; }
.waiting-timeline p { margin: 0; color: var(--muted-foreground); font-size: .82rem; line-height: 1.62; }
.waiting-detail-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .62fr); gap: 1rem; margin-top: 1rem; }
.waiting-detail-copy > article,
.waiting-check-card,
.waiting-options,
.waiting-case,
.waiting-detail-footer {
  border: 1px solid var(--border);
  border-radius: 1.8rem;
  background: color-mix(in srgb, var(--muted) 48%, var(--background));
}
.waiting-detail-copy > article { padding: clamp(1.5rem, 4vw, 3rem); }
.waiting-detail-copy article h3,
.waiting-check-card h3,
.waiting-options header h3,
.waiting-case__copy h3 { margin: 1rem 0 1.2rem; font-family: var(--font-display); font-size: clamp(1.9rem, 3.2vw, 3.25rem); line-height: 1; letter-spacing: -.045em; }
.waiting-detail-copy article p { max-width: 58rem; margin: 0 0 1rem; color: var(--muted-foreground); font-size: .94rem; line-height: 1.75; }
.waiting-detail-copy article p:last-child { margin-bottom: 0; }
.waiting-check-card { padding: clamp(1.4rem, 3vw, 2rem); }
.waiting-check-card ol { display: grid; gap: .8rem; margin: 1.3rem 0; padding: 0; list-style: none; }
.waiting-check-card li { padding: .95rem; border: 1px solid var(--border); border-radius: 1rem; background: color-mix(in srgb, var(--background) 74%, transparent); }
.waiting-check-card strong { display: block; font-family: var(--font-display); font-size: 1.05rem; letter-spacing: -.02em; }
.waiting-check-card small { display: block; margin-top: .35rem; color: var(--muted-foreground); font-size: .76rem; line-height: 1.45; }
.waiting-check-card p { margin: 0; color: var(--muted-foreground); font-size: .84rem; line-height: 1.65; }
.waiting-options { margin-top: 1rem; padding: clamp(1.5rem, 4vw, 3rem); }
.waiting-options header { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.waiting-options__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.waiting-options__grid article { min-height: 15rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: 1.25rem; background: color-mix(in srgb, var(--background) 74%, transparent); }
.waiting-options__grid small { color: #9a7300; font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.dark .waiting-options__grid small { color: #f5c518; }
.waiting-options__grid h4 { margin: 2rem 0 .85rem; font-family: var(--font-display); font-size: 1.55rem; line-height: 1.05; letter-spacing: -.035em; }
.waiting-options__grid p { margin: 0; color: var(--muted-foreground); font-size: .84rem; line-height: 1.65; }
.waiting-case { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .5fr); gap: 1rem; align-items: stretch; margin-top: 1rem; padding: clamp(1.5rem, 4vw, 3rem); }
.waiting-case__copy p { max-width: 57rem; margin: 0 0 1rem; color: var(--muted-foreground); font-size: .94rem; line-height: 1.75; }
.waiting-case__signal { display: grid; align-content: end; padding: 1.3rem; border-radius: 1.25rem; background: color-mix(in srgb, #c7433c 13%, var(--background)); border: 1px solid color-mix(in srgb, #c7433c 36%, var(--border)); }
.waiting-case__signal span { color: #b73933; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .waiting-case__signal span { color: #ff938b; }
.waiting-case__signal strong { display: block; margin: 1rem 0; font-family: var(--font-display); font-size: clamp(1.45rem, 2.5vw, 2.4rem); line-height: 1; letter-spacing: -.04em; }
.waiting-case__signal p { margin: 0; color: var(--muted-foreground); font-size: .84rem; line-height: 1.62; }
.waiting-detail-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; margin-top: 1rem; padding: clamp(1.4rem, 3vw, 2rem); }
.waiting-detail-footer strong { display: block; font-family: var(--font-display); font-size: clamp(1.35rem, 2.3vw, 2.2rem); letter-spacing: -.035em; }
.waiting-detail-footer p { max-width: 49rem; margin: .45rem 0 0; color: var(--muted-foreground); font-size: .88rem; line-height: 1.62; }
.waiting-detail-footer > a { min-height: 3.25rem; display: inline-flex; align-items: center; gap: .8rem; padding: 0 1rem; border-radius: .7rem; background: #17140a; color: #fff; font-size: .8rem; font-weight: 850; text-decoration: none; }
.dark .waiting-detail-footer > a { background: #f5c518; color: #17140a; }
.waiting-detail-footer small { grid-column: 1 / -1; color: var(--muted-foreground); font-size: .72rem; line-height: 1.55; text-transform: none; letter-spacing: 0; }
.waiting-detail-footer small a { color: inherit; }

/* Exclusions coverage matrix */
.coverage-matrix-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem);
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, #f5c518 8%, transparent), transparent 28rem),
    var(--background);
}
.coverage-matrix-section__inner {
  width: min(100%, 90rem);
  margin-inline: auto;
}
.coverage-matrix-heading {
  max-width: 62rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.coverage-matrix-heading h2 {
  max-width: 13ch;
  margin: .95rem 0 1.1rem;
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 5.4vw, 5.65rem);
  line-height: .98;
  letter-spacing: -.04em;
}
.coverage-matrix-heading h2 span { color: #a87d00; }
.dark .coverage-matrix-heading h2 span { color: #f5c518; }
.coverage-matrix-heading p {
  max-width: 54rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: .95rem;
  line-height: 1.75;
}
.coverage-matrix-layout {
  display: grid;
  grid-template-columns: minmax(18rem, .46fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.coverage-mode-panel,
.coverage-matrix,
.coverage-case-card {
  border: 1px solid var(--border);
  border-radius: 2rem;
  box-shadow: 0 2rem 5rem rgba(24,24,27,.08);
}
.dark .coverage-mode-panel,
.dark .coverage-matrix,
.dark .coverage-case-card { box-shadow: 0 2rem 5rem rgba(0,0,0,.24); }
.coverage-mode-panel {
  position: relative;
  overflow: hidden;
  min-height: 31rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.25rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 50% 2%, rgba(245,197,24,.18), transparent 16rem),
    #171717;
  color: #fff;
}
.coverage-mode-panel::after {
  position: absolute;
  right: -4.6rem;
  bottom: -5.4rem;
  width: 16rem;
  height: 16rem;
  border: 1.35rem solid rgba(245,197,24,.12);
  border-radius: 50%;
  content: "";
}
.coverage-mode-toggle {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
  padding: .35rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: .9rem;
  background: rgba(0,0,0,.32);
}
.coverage-mode-toggle button {
  min-height: 2.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 0;
  border-radius: .65rem;
  background: transparent;
  color: rgba(255,255,255,.6);
  font: inherit;
  font-size: .68rem;
  font-weight: 850;
  cursor: pointer;
  transition: background .28s ease, color .28s ease, box-shadow .28s ease;
}
.coverage-mode-toggle button i {
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: currentColor;
}
.coverage-mode-toggle button.is-active {
  background: #f5c518;
  color: #17140a;
  box-shadow: 0 .9rem 1.9rem rgba(245,197,24,.2);
}
.coverage-matrix-section[data-coverage-mode="critical"] .coverage-mode-toggle button.is-active {
  background: #ff746d;
  color: #fff;
  box-shadow: 0 .9rem 1.9rem rgba(255,116,109,.18);
}
.coverage-mode-card {
  position: relative;
  z-index: 1;
  margin-top: clamp(3rem, 8vw, 6rem);
}
.coverage-mode-card span,
.coverage-mode-proof span,
.coverage-case-card span {
  color: #f5c518;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.coverage-mode-card h3 {
  max-width: 10ch;
  margin: 1rem 0;
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4vw, 4rem);
  line-height: .98;
  letter-spacing: -.04em;
}
.coverage-mode-card p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: .9rem;
  line-height: 1.68;
}
.coverage-mode-proof {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .45rem;
  margin-top: 2rem;
}
.coverage-mode-proof span {
  min-height: 3rem;
  display: grid;
  place-items: center;
  padding: .5rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .75rem;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.72);
  font-size: .62rem;
  text-align: center;
}
.coverage-matrix {
  display: grid;
  gap: .75rem;
  padding: .75rem;
  background: color-mix(in srgb, var(--muted) 58%, var(--background));
}
.coverage-matrix-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 8.7rem;
  padding: clamp(1.1rem, 2.4vw, 1.55rem);
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: 1.35rem;
  background: color-mix(in srgb, var(--background) 76%, transparent);
  transition: transform .34s ease, border-color .34s ease, background .34s ease, box-shadow .34s ease;
}
.coverage-matrix-row::before {
  position: absolute;
  inset: 1.15rem auto 1.15rem 0;
  width: .24rem;
  border-radius: 0 999px 999px 0;
  background: var(--row-accent, #f5c518);
  opacity: .8;
  content: "";
}
.coverage-matrix-row--critical { --row-accent: #ff746d; }
.coverage-matrix-row--risk { --row-accent: #f5c518; }
.coverage-matrix-row--check { --row-accent: #75d99a; }
.coverage-matrix-row__head {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
}
.coverage-matrix-row__head span {
  width: 2.15rem;
  height: 2.15rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--row-accent) 16%, transparent);
  color: var(--row-accent);
  font-size: .68rem;
  font-weight: 900;
}
.coverage-matrix-row__head strong {
  display: block;
  max-width: 26rem;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.65rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.coverage-matrix-row p {
  grid-column: 1;
  max-width: 48rem;
  margin: -.35rem 0 0 3.05rem;
  color: var(--muted-foreground);
  font-size: .86rem;
  line-height: 1.62;
}
.coverage-status {
  justify-self: end;
  align-self: start;
  padding: .55rem .7rem;
  border: 1px solid color-mix(in srgb, var(--status-color) 34%, var(--border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--status-color) 10%, transparent);
  color: var(--status-color);
  font-size: .64rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.coverage-status--critical { --status-color: #ff746d; }
.coverage-status--neutral { --status-color: #a87d00; }
.dark .coverage-status--neutral { --status-color: #f5c518; }
.coverage-status--risk { --status-color: #d99a35; }
.coverage-case-card {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  margin-top: 1rem;
  padding: clamp(1.35rem, 3vw, 2rem);
  background:
    linear-gradient(110deg, color-mix(in srgb, #c7433c 9%, var(--background)), color-mix(in srgb, var(--muted) 52%, var(--background)));
}
.coverage-case-card span { color: #b73933; }
.dark .coverage-case-card span { color: #ff938b; }
.coverage-case-card h3 {
  max-width: 13ch;
  margin: .75rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 3.05rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.coverage-case-card p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: .9rem;
  line-height: 1.7;
}
.coverage-case-card a {
  min-height: 3.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: 0 1rem;
  border-radius: .8rem;
  background: #17140a;
  color: #fff;
  font-size: .78rem;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}
.dark .coverage-case-card a { background: #f5c518; color: #17140a; }
.coverage-case-card small {
  grid-column: 1 / -1;
  color: var(--muted-foreground);
  font-size: .72rem;
  line-height: 1.55;
}

/* Exclusions compass refresh */
.coverage-question-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.6rem;
  background: color-mix(in srgb, var(--muted) 52%, var(--background));
  box-shadow: 0 2rem 5rem rgba(24,24,27,.06);
}
.dark .coverage-question-rail { box-shadow: 0 2rem 5rem rgba(0,0,0,.24); }
.coverage-question-rail article {
  position: relative;
  min-height: 11.2rem;
  padding: clamp(1.2rem, 2.5vw, 1.8rem);
  border-right: 1px solid var(--border);
}
.coverage-question-rail article:last-child { border-right: 0; }
.coverage-question-rail span {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f5c518;
  color: #17140a;
  font-size: .68rem;
  font-weight: 900;
}
.coverage-question-rail strong {
  display: block;
  max-width: 12ch;
  margin-top: clamp(1.3rem, 3vw, 2.4rem);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2vw, 2.05rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.coverage-question-rail p {
  max-width: 24rem;
  margin: .85rem 0 0;
  color: var(--muted-foreground);
  font-size: .86rem;
  line-height: 1.6;
}
.coverage-decision-board {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: 1rem;
}
.coverage-decision-card {
  position: relative;
  overflow: hidden;
  min-height: 22rem;
  display: grid;
  align-content: start;
  gap: clamp(1.6rem, 3vw, 2.4rem);
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border: 1px solid var(--border);
  border-radius: 2rem;
  background: color-mix(in srgb, var(--muted) 58%, var(--background));
  box-shadow: 0 2rem 5rem rgba(24,24,27,.08);
}
.dark .coverage-decision-card { box-shadow: 0 2rem 5rem rgba(0,0,0,.24); }
.coverage-decision-card::before {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 85% 8%, color-mix(in srgb, var(--decision-accent) 18%, transparent), transparent 18rem),
    linear-gradient(180deg, color-mix(in srgb, var(--decision-accent) 7%, transparent), transparent 50%);
  opacity: .9;
  content: "";
  pointer-events: none;
}
.coverage-decision-card--danger { --decision-accent: #ff746d; }
.coverage-decision-card--check { --decision-accent: #f5c518; }
.coverage-decision-card__top,
.coverage-decision-list {
  position: relative;
  z-index: 1;
}
.coverage-decision-card__top span {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  padding: 0 .75rem;
  border: 1px solid color-mix(in srgb, var(--decision-accent) 30%, var(--border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--decision-accent) 12%, transparent);
  color: var(--decision-accent);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.coverage-decision-card__top strong {
  display: block;
  max-width: 14ch;
  margin-top: 1rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.55rem);
  line-height: .98;
  letter-spacing: -.038em;
}
.coverage-decision-list {
  display: grid;
  gap: .65rem;
}
.coverage-decision-list section {
  display: grid;
  grid-template-columns: minmax(10rem, .38fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 4.6rem;
  padding: .9rem 0;
  border-top: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
}
.coverage-decision-list small {
  color: var(--decision-accent);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.coverage-decision-list p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: .9rem;
  line-height: 1.55;
}
.coverage-case-card {
  grid-template-columns: minmax(0, .7fr) minmax(0, .9fr) auto;
  border-radius: 1.6rem;
}
@media (hover: hover) {
  .coverage-matrix-row:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--row-accent) 42%, var(--border));
    background: color-mix(in srgb, var(--background) 88%, var(--row-accent) 3%);
    box-shadow: 0 1.2rem 3rem color-mix(in srgb, var(--row-accent) 9%, transparent);
  }
  .coverage-question-rail article:hover,
  .coverage-decision-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, #f5c518 38%, var(--border));
    transition: transform .34s ease, border-color .34s ease, box-shadow .34s ease;
  }
  .coverage-decision-card:hover { box-shadow: 0 2.4rem 6rem rgba(24,24,27,.1); }
  .dark .coverage-decision-card:hover { box-shadow: 0 2.4rem 6rem rgba(0,0,0,.34); }
  .coverage-case-card a:hover { transform: translateY(-1px); }
}

@media (max-width: 980px) {
  .waiting-bento-heading,
  .waiting-bento-grid,
  .waiting-detail-copy,
  .waiting-options header,
  .waiting-case,
  .waiting-detail-footer { grid-template-columns: 1fr; }
  .waiting-bento-card--feature { min-height: 32rem; }
  .waiting-bento-grid__small,
  .waiting-timeline,
  .waiting-options__grid { grid-template-columns: 1fr; }
  .waiting-timeline article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--border); }
  .waiting-timeline article:last-child { border-bottom: 0; }
  .waiting-timeline h3 { margin-top: 1.6rem; }
  .waiting-detail-footer > a { width: 100%; justify-content: center; }
  .coverage-matrix-layout,
  .coverage-case-card,
  .coverage-question-rail,
  .coverage-decision-board { grid-template-columns: 1fr; }
  .coverage-question-rail article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
  .coverage-question-rail article:last-child { border-bottom: 0; }
  .coverage-question-rail strong { margin-top: 1.4rem; }
  .coverage-mode-panel { min-height: 27rem; }
  .coverage-case-card a { width: 100%; }
}

@media (max-width: 560px) {
  .waiting-bento-section,
  .waiting-detail-section,
  .coverage-matrix-section { padding-inline: 1rem; }
  .waiting-bento-card,
  .waiting-detail-copy > article,
  .waiting-check-card,
  .waiting-options,
  .waiting-case,
  .waiting-detail-footer,
  .coverage-mode-panel,
  .coverage-matrix,
  .coverage-case-card { border-radius: 1rem; }
  .waiting-bento-heading h2,
  .waiting-detail-heading h2,
  .coverage-matrix-heading h2 { font-size: 3rem; }
  .waiting-bento-card--feature { min-height: 30rem; }
  .waiting-bento-card__feature-copy { padding: 1.35rem; }
  .waiting-bento-card__feature-copy h3 { font-size: 2.75rem; }
  .coverage-matrix-row {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 1.05rem;
  }
  .coverage-matrix-row p { margin-left: 0; }
  .coverage-status { justify-self: start; }
  .coverage-mode-proof { grid-template-columns: 1fr; }
  .coverage-question-rail,
  .coverage-decision-card { border-radius: 1rem; }
  .coverage-decision-card {
    min-height: auto;
    padding: 1.1rem;
  }
  .coverage-decision-card__top strong { font-size: 2.75rem; }
  .coverage-decision-list section {
    grid-template-columns: 1fr;
    gap: .4rem;
  }
}

/* Interactive life-area selector */
.life-area-section { padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem); background: var(--background); }
.life-area-section__inner { width: min(100%, 82rem); margin-inline: auto; }
.life-area-heading { max-width: 54rem; margin: 0 auto clamp(2.5rem, 5vw, 4rem); text-align: center; }
.life-area-heading h2 { margin: 1rem 0 1.2rem; font-family: var(--font-display); font-size: clamp(2.7rem, 5vw, 5rem); line-height: .98; letter-spacing: -.038em; }
.life-area-heading h2 span { color: #a87d00; }
.dark .life-area-heading h2 span { color: #f5c518; }
.life-area-heading p { max-width: 48rem; margin: 0 auto; color: var(--muted-foreground); font-size: .9rem; line-height: 1.7; }
.life-area-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .35rem;
  padding: .38rem;
  border: 1px solid var(--border);
  border-radius: .8rem;
  background: color-mix(in srgb, var(--muted) 68%, var(--background));
}

.life-area-tab {
  min-height: 3.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: 0 1rem;
  border: 0;
  border-radius: .55rem;
  background: transparent;
  color: var(--muted-foreground);
  font: inherit;
  font-size: .76rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .28s ease, color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.life-area-tab svg { width: 1.15rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.life-area-tab.is-active { background: #f5c518; color: #18140a; box-shadow: 0 .65rem 1.5rem rgba(176,132,0,.16); }
.life-area-tab:focus-visible { outline: 2px solid #d0a100; outline-offset: 2px; }
.life-area-panels { margin-top: 1rem; }
.life-area-panel {
  min-height: 31rem;
  display: grid;
  grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background: color-mix(in srgb, var(--muted) 46%, var(--background));
}

.life-area-panel[hidden] { display: none; }
.life-area-panel__visual {
  position: relative;
  min-height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #151518;
  color: #fff;
}

.life-area-panel__visual::before,
.life-area-panel__visual::after { position: absolute; border: 1px solid rgba(245,197,24,.18); border-radius: 50%; content: ""; }
.life-area-panel__visual::before { width: 22rem; height: 22rem; }
.life-area-panel__visual::after { width: 14rem; height: 14rem; }
.life-area-panel__visual > span {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  padding: .45rem .65rem;
  border: 1px solid rgba(24,20,10,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.42);
  color: #18140a;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.life-area-panel__visual > svg { position: relative; z-index: 2; width: 6rem; fill: none; stroke: #f5c518; stroke-width: .85; stroke-linecap: round; stroke-linejoin: round; }
.life-area-panel__visual > small { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; color: rgba(255,255,255,.48); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.life-area-panel__visual--illustrated { background: #fae759; }
.life-area-panel__visual--illustrated::before,
.life-area-panel__visual--illustrated::after { display: none; }
.life-area-panel__visual--illustrated > img { width: 100%; height: 100%; display: block; object-fit: contain; }
.life-area-panel__visual--illustrated > span {
  z-index: 2;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #171719;
  color: #f5c518;
  box-shadow: 0 .4rem 1rem rgba(0,0,0,.16);
}

.life-area-panel__visual--illustrated > small {
  right: auto;
  z-index: 2;
  width: max-content;
  padding: .5rem .65rem;
  border-radius: .4rem;
  background: rgba(255,255,255,.8);
  color: #171719;
  letter-spacing: .08em;
  backdrop-filter: blur(8px);
}
.life-area-panel__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem); }
.life-area-panel__eyebrow { color: #8a6500; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .life-area-panel__eyebrow { color: #f5c518; }
.life-area-panel__content h3 { max-width: 18ch; margin: .9rem 0 1rem; font-family: var(--font-display); font-size: clamp(1.9rem, 3.2vw, 3.2rem); line-height: 1.02; letter-spacing: -.04em; }
.life-area-panel__content > p { max-width: 46rem; margin: 0; color: var(--muted-foreground); font-size: .86rem; line-height: 1.7; }
.life-area-panel__content ul { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.life-area-panel__content li { padding: .48rem .68rem; border: 1px solid var(--border); border-radius: 999px; background: var(--background); color: var(--foreground); font-size: .62rem; font-weight: 750; }
.life-area-panel__footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--border); }
.life-area-panel__footer small { max-width: 24rem; color: var(--muted-foreground); font-size: .58rem; line-height: 1.5; }
.life-area-panel__footer a { min-height: 2.9rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex: 0 0 auto; padding: 0 .9rem; border-radius: .55rem; background: #f5c518; color: #18140a; font-size: .68rem; font-weight: 850; text-decoration: none; }

@media (hover: hover) {
  .life-area-tab:not(.is-active):hover { background: var(--background); color: var(--foreground); transform: translateY(-1px); }
  .life-area-panel__footer a:hover { background: #ffe064; }
}

@media (max-width: 760px) {
  .life-area-tabs { display: flex; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .life-area-tabs::-webkit-scrollbar { display: none; }
  .life-area-tab { min-width: 9.5rem; scroll-snap-align: start; }
  .life-area-panel { grid-template-columns: 1fr; }
  .life-area-panel__visual { min-height: 14rem; }
  .life-area-panel__visual::before { width: 18rem; height: 18rem; }
  .life-area-panel__visual::after { width: 10rem; height: 10rem; }
  .life-area-panel__visual > svg { width: 4.7rem; }
}

@media (max-width: 560px) {
  .life-area-section { padding: 4.5rem 1rem; }
  .life-area-heading { text-align: left; }
  .life-area-heading h2 { font-size: 2.7rem; }
  .life-area-heading p { font-size: .82rem; }
  .life-area-tabs { margin-inline: -1rem; padding-inline: 1rem; border-right: 0; border-left: 0; border-radius: 0; }
  .life-area-panel { min-height: 0; border-radius: 1rem; }
  .life-area-panel__content { padding: 1.5rem; }
  .life-area-panel__content h3 { font-size: 2rem; }
  .life-area-panel__footer { align-items: stretch; flex-direction: column; }
  .life-area-panel__footer a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .life-area-tab { transition: none; }
}

/* Local expertise and SEO editorial */
.local-expertise-section {
  padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 5rem);
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--muted) 52%, var(--background));
}

.local-expertise-section__inner {
  width: min(100%, 90rem);
  display: grid;
  grid-template-columns: minmax(19rem, .78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: clamp(3.5rem, 8vw, 8rem);
  margin-inline: auto;
}

.local-expertise-profile { position: sticky; top: 6.5rem; min-width: 0; }
.local-expertise-profile__heading h2 { max-width: 11ch; margin: 1rem 0 1.25rem; font-family: var(--font-display); font-size: clamp(2.8rem, 4.8vw, 5rem); line-height: .98; letter-spacing: -.038em; }
.local-expertise-profile__heading h2 span { color: #a87d00; }
.dark .local-expertise-profile__heading h2 span { color: #f5c518; }
.local-expertise-profile__heading p { max-width: 29rem; margin: 0; color: var(--muted-foreground); font-size: .86rem; line-height: 1.7; }
.local-expertise-profile__portrait {
  position: relative;
  height: clamp(22rem, 36vw, 33rem);
  overflow: hidden;
  margin: 2rem 0 0;
  border: 1px solid rgba(181,136,0,.28);
  border-radius: 1.25rem 1.25rem .5rem .5rem;
  background: #f5c518;
}

.local-expertise-profile__portrait::before { position: absolute; inset: auto 0 0; height: 25%; background: #171719; content: ""; }
.local-expertise-profile__portrait img { position: absolute; top: 0; bottom: 0; left: 50%; z-index: 1; width: 138%; max-width: none; height: 100%; object-fit: contain; object-position: center bottom; transform: translateX(-50%); }
.local-expertise-profile__portrait figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; z-index: 2; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .5rem; background: rgba(16,16,18,.78); color: #fff; backdrop-filter: blur(12px); }
.local-expertise-profile__portrait figcaption span { display: block; font-family: var(--font-display); font-size: .92rem; font-weight: 750; }
.local-expertise-profile__portrait figcaption small { display: block; margin-top: .2rem; color: rgba(255,255,255,.56); font-size: .58rem; }
.local-expertise-profile__contact { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem .25rem 0; }
.local-expertise-profile__contact > span { color: #ba8b00; font-size: .58rem; white-space: nowrap; }
.dark .local-expertise-profile__contact > span { color: #f5c518; }
.local-expertise-profile__contact strong { color: var(--foreground); font-size: .74rem; }
.local-expertise-profile__contact a { color: var(--foreground); font-size: .7rem; font-weight: 800; text-decoration: none; }
.local-expertise-intro { padding-bottom: 3rem; border-bottom: 1px solid var(--border); }
.local-expertise-intro > span,
.local-expertise-conclusion > span { color: #8a6500; font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .local-expertise-intro > span,
.dark .local-expertise-conclusion > span { color: #f5c518; }
.local-expertise-intro h3 { max-width: 18ch; margin: .9rem 0 1.5rem; font-family: var(--font-display); font-size: clamp(2.2rem, 3.6vw, 3.7rem); line-height: 1; letter-spacing: -.045em; }
.local-expertise-intro p,
.local-case-study p,
.local-expertise-conclusion p { margin: 0; color: var(--muted-foreground); font-size: .86rem; line-height: 1.78; }
.local-expertise-intro p + p,
.local-case-study p + p,
.local-expertise-conclusion p + p { margin-top: 1rem; }
.local-case-study { padding: 3rem 0; border-bottom: 1px solid var(--border); }
.local-case-study header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.local-case-study header span { color: #a17900; font-size: .62rem; font-weight: 850; }
.dark .local-case-study header span { color: #f5c518; }
.local-case-study header small { color: var(--muted-foreground); font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.local-case-study h3 { max-width: 18ch; margin: 0 0 1.25rem; font-family: var(--font-display); font-size: clamp(1.75rem, 2.8vw, 2.8rem); line-height: 1.05; letter-spacing: -.038em; }
.local-case-study dl { margin: 1.6rem 0 0; border-top: 1px solid var(--border); }
.local-case-study dl div { display: grid; grid-template-columns: minmax(9rem, .4fr) minmax(0, 1fr); gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--border); }
.local-case-study dt { color: var(--muted-foreground); font-size: .62rem; }
.local-case-study dd { margin: 0; color: var(--foreground); font-size: .64rem; font-weight: 750; }
.local-expertise-conclusion { padding-top: 3.5rem; }
.local-expertise-conclusion h3 { margin: .9rem 0 1.25rem; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3.1rem); line-height: 1.02; letter-spacing: -.04em; }
.local-expertise-conclusion > div { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.local-expertise-conclusion > div > a { min-height: 3.1rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; flex: 0 0 auto; padding: 0 1rem; border-radius: .55rem; background: #f5c518; color: #18140a; font-size: .7rem; font-weight: 850; text-decoration: none; }
.protection-page .local-expertise-conclusion p a {
  display: inline;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: color-mix(in srgb, var(--primary-action) 72%, var(--foreground));
  font: inherit;
  font-weight: 780;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--primary-action) 60%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.protection-page .local-expertise-conclusion p a:hover {
  color: var(--primary-action);
  text-decoration-color: var(--primary-action);
}
.local-expertise-conclusion small { max-width: 20rem; color: var(--muted-foreground); font-size: .57rem; line-height: 1.5; text-align: right; }

@media (max-width: 940px) {
  .local-expertise-section__inner { grid-template-columns: 1fr; gap: 4rem; }
  .local-expertise-profile { position: static; display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.75fr); align-items: end; gap: 2rem; }
  .local-expertise-profile__portrait { height: 29rem; margin: 0; }
  .local-expertise-profile__contact { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .local-expertise-section { padding: 4.5rem 1rem; }
  .local-expertise-section__inner { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .local-expertise-profile { display: block; }
  .local-expertise-profile__heading h2 { max-width: 100%; font-size: 2.65rem; overflow-wrap: anywhere; }
  .local-expertise-profile__portrait { height: 28rem; margin-top: 1.75rem; border-radius: 1rem 1rem .5rem .5rem; }
  .local-expertise-editorial { min-width: 0; }
  .local-expertise-intro h3 { font-size: 2.4rem; overflow-wrap: anywhere; }
  .local-case-study { padding: 2.5rem 0; }
  .local-case-study h3 { font-size: 2rem; overflow-wrap: anywhere; }
  .local-case-study dl div { grid-template-columns: 1fr; gap: .35rem; }
  .local-expertise-conclusion > div { align-items: stretch; flex-direction: column; }
  .local-expertise-conclusion > div > a { width: 100%; }
  .local-expertise-conclusion small { max-width: none; text-align: left; }
}

/* Compact consultation process and callback planner */
.consultation-process { padding: clamp(5rem, 10vw, 8rem) clamp(1.25rem, 5vw, 5rem); background: var(--background); }
.consultation-process__inner { width: min(100%, 90rem); margin-inline: auto; }
.consultation-process__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .72fr); align-items: end; gap: clamp(2rem, 8vw, 8rem); margin-bottom: clamp(3rem, 6vw, 5rem); }
.consultation-process__heading .section-kicker { grid-column: 1 / -1; }
.consultation-process__heading h2 { max-width: 13ch; margin: 0; font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 5.1rem); line-height: .98; letter-spacing: -.038em; }
.consultation-process__heading h2 span { color: #a87d00; }
.dark .consultation-process__heading h2 span { color: #f5c518; }
.consultation-process__heading p { max-width: 34rem; margin: 0; color: var(--muted-foreground); font-size: .9rem; line-height: 1.72; }
.consultation-process__layout { display: grid; grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(2.5rem, 6vw, 6rem); }
.consultation-steps ol { margin: 0; padding: 0; list-style: none; }
.consultation-steps li { position: relative; display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: 1rem; padding: 0 0 2.2rem; }
.consultation-steps li:not(:last-child)::after { position: absolute; top: 2.4rem; bottom: .25rem; left: 1.15rem; width: 1px; background: var(--border); content: ""; }
.consultation-steps li > span { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--background); color: transparent; font-size: 0; font-weight: 850; }
.consultation-steps li > span::before { width: .55rem; height: .55rem; border-radius: 50%; background: #a87d00; box-shadow: 0 0 0 .34rem rgba(168,125,0,.1); content: ""; }
.dark .consultation-steps li > span::before { background: #f5c518; box-shadow: 0 0 0 .34rem rgba(245,197,24,.12); }
.consultation-steps li.is-active > span { border-color: #d0a100; background: color-mix(in srgb, #f5c518 16%, var(--background)); box-shadow: 0 0 0 .38rem rgba(245,197,24,.1); }
.consultation-steps li.is-active > span::before { background: #f5c518; box-shadow: 0 0 0 .4rem rgba(245,197,24,.18); }
.consultation-steps li small { color: #8a6500; font-size: .58rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.dark .consultation-steps li small { color: #f5c518; }
.consultation-steps li h3 { margin: .4rem 0 .55rem; font-family: var(--font-display); font-size: 1.35rem; line-height: 1.15; letter-spacing: -.025em; }
.consultation-steps li p { margin: 0; color: var(--muted-foreground); font-size: .75rem; line-height: 1.65; }
.consultation-availability { margin-top: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.consultation-availability > span { display: flex; align-items: center; gap: .55rem; color: var(--foreground); font-size: .66rem; font-weight: 800; }
.consultation-availability > span i { width: .4rem; height: .4rem; border-radius: 50%; background: #54bf7a; box-shadow: 0 0 0 .28rem rgba(84,191,122,.1); }
.consultation-availability dl { margin: 1rem 0; }
.consultation-availability dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--border); font-size: .67rem; }
.consultation-availability dt { color: var(--muted-foreground); }
.consultation-availability dd { margin: 0; color: var(--foreground); font-weight: 750; }
.consultation-availability > a { color: var(--foreground); font-size: .7rem; font-weight: 800; text-decoration: none; }
.local-callback-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; padding: clamp(1.5rem, 3.5vw, 2.5rem); border: 1px solid var(--border); border-radius: 1.25rem; background: color-mix(in srgb, var(--muted) 55%, var(--background)); box-shadow: 0 1.5rem 4rem rgba(24,24,27,.06); }
.dark .local-callback-form { box-shadow: 0 1.5rem 4rem rgba(0,0,0,.2); }
.local-callback-form > header { grid-column: 1 / -1; padding-bottom: .75rem; }
.local-callback-form > header > span { color: #8a6500; font-size: .61rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .local-callback-form > header > span { color: #f5c518; }
.local-callback-form > header h3 { margin: .65rem 0 .55rem; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.05; letter-spacing: -.04em; }
.local-callback-form > header p { max-width: 40rem; margin: 0; color: var(--muted-foreground); font-size: .7rem; line-height: 1.6; }
.local-callback-form__grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.local-callback-form__field { display: grid; gap: .45rem; min-width: 0; }
.local-callback-form__field--wide { grid-column: 1 / -1; }
.local-callback-form__field > span,
.local-callback-form__urgency legend { color: var(--muted-foreground); font-size: .61rem; font-weight: 750; }
.local-callback-form input,
.local-callback-form select { width: 100%; height: 3.15rem; padding: 0 .85rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--background); color: var(--foreground); color-scheme: light; font: inherit; font-size: .72rem; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.dark .local-callback-form input,
.dark .local-callback-form select { color-scheme: dark; }
.local-callback-form select option { background: #fff; color: #18181b; }
.dark .local-callback-form select option { background: #1b1b1f; color: #f5f5f7; }
.local-callback-form input:focus,
.local-callback-form select:focus { border-color: #d0a100; box-shadow: 0 0 0 .2rem rgba(208,161,0,.12); }
.local-callback-form__urgency { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin: 0; padding: 0; border: 0; }
.local-callback-form__urgency legend { margin-bottom: .55rem; }
.local-callback-form__urgency label { position: relative; min-width: 0; }
.local-callback-form__urgency input { position: absolute; opacity: 0; pointer-events: none; }
.local-callback-form__urgency label > span { min-height: 2.7rem; display: grid; place-items: center; padding: .4rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--background); color: var(--muted-foreground); font-size: .62rem; font-weight: 750; cursor: pointer; text-align: center; }
.local-callback-form__urgency input:checked + span { border-color: #d0a100; background: rgba(245,197,24,.13); color: var(--foreground); box-shadow: inset 0 0 0 1px rgba(208,161,0,.15); }
.local-callback-form__urgency .is-urgent input:checked + span { border-color: #c94a42; background: rgba(201,74,66,.12); color: #b53b35; }
.dark .local-callback-form__urgency .is-urgent input:checked + span { color: #ff948c; }
.local-callback-form__actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: .35rem; }
.local-callback-form__actions button,
.local-callback-form__actions a { min-height: 3.15rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 .9rem; border: 1px solid #d0a100; border-radius: .55rem; background: #f5c518; color: #18140a; font: inherit; font-size: .68rem; font-weight: 850; text-decoration: none; cursor: pointer; }
.local-callback-form__actions a { border-color: rgba(84,191,122,.35); background: rgba(84,191,122,.09); color: var(--foreground); }
.local-callback-form__privacy { grid-column: 1 / -1; display: grid; grid-template-columns: 1.1rem minmax(0,1fr); align-items: start; gap: .65rem; color: var(--muted-foreground); font-size: .59rem; line-height: 1.55; }
.local-callback-form__privacy input { width: 1rem; height: 1rem; margin: .08rem 0 0; padding: 0; accent-color: #d0a100; }
.local-callback-form__privacy a { color: var(--foreground); text-underline-offset: .15rem; }
.local-callback-form__honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.local-callback-form__status { grid-column: 1 / -1; min-height: 0; margin: 0; color: var(--muted-foreground); font-size: .62rem; line-height: 1.5; }
.local-callback-form__status:empty { display: none; }
.local-callback-form__status.is-error { display: block; padding: .7rem .8rem; border: 1px solid rgba(201,74,66,.28); border-radius: .45rem; background: rgba(201,74,66,.08); color: #b53b35; }
.dark .local-callback-form__status.is-error { color: #ff948c; }
.local-callback-form.is-submitting { pointer-events: none; opacity: .72; }
.local-callback-form.is-submitting .local-callback-form__actions button { cursor: wait; }
.local-callback-form__note { grid-column: 1 / -1; color: var(--muted-foreground); font-size: .56rem; line-height: 1.5; }

@media (hover: hover) {
  .consultation-availability > a:hover { color: #a87d00; }
  .dark .consultation-availability > a:hover { color: #f5c518; }
  .local-callback-form__actions button:hover { background: #ffe064; }
  .local-callback-form__actions a:hover { border-color: rgba(84,191,122,.65); background: rgba(84,191,122,.16); }
}

@media (max-width: 900px) {
  .consultation-process__heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .consultation-process__heading .section-kicker { grid-column: auto; }
  .consultation-process__layout { grid-template-columns: 1fr; }
  .consultation-steps { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,.7fr); gap: 2rem; }
  .consultation-availability { margin-top: 0; padding-top: 0; border-top: 0; }
}

@media (max-width: 620px) {
  .consultation-process { padding: 4.5rem 1rem; }
  .consultation-process__heading h2 { font-size: 2.75rem; }
  .consultation-steps { grid-template-columns: 1fr; }
  .consultation-availability { padding-top: 1.5rem; border-top: 1px solid var(--border); }
  .local-callback-form { grid-template-columns: 1fr; padding: 1.2rem; border-radius: 1rem; }
  .local-callback-form__grid { grid-template-columns: 1fr; }
  .local-callback-form__field--wide { grid-column: auto; }
  .local-callback-form__urgency { grid-template-columns: 1fr; }
  .local-callback-form__actions { grid-template-columns: 1fr; }
}

/* Confirmation page */
.thank-page { overflow-x: clip; background: var(--background); color: var(--foreground); }
.thank-page .site-header { background: color-mix(in srgb, var(--background) 84%, transparent); color: var(--foreground); backdrop-filter: blur(18px); }
.thank-page .site-brand { color: var(--foreground) !important; }
.thank-page .site-header__actions { grid-column: 3; }
.thank-header-back { position: absolute; left: 50%; z-index: 1; color: var(--muted-foreground); font-size: .75rem; font-weight: 780; text-decoration: none; transform: translateX(-50%); }
.thank-confirmation { min-height: 100svh; display: flex; align-items: center; padding: 8rem clamp(1.25rem, 5vw, 5rem) 5rem; }
.thank-confirmation__inner { width: min(100%, 86rem); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(23rem, .95fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); margin-inline: auto; }
.thank-confirmation__icon { width: 3.7rem; height: 3.7rem; display: grid; place-items: center; margin-bottom: 1.5rem; border-radius: 50%; background: #f5c518; color: #18140a; box-shadow: 0 0 0 .55rem rgba(245,197,24,.11); }
.thank-confirmation__icon svg { width: 1.55rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.thank-confirmation__eyebrow { color: #8a6500; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .thank-confirmation__eyebrow { color: #f5c518; }
.thank-confirmation__copy h1 { max-width: 12ch; margin: .85rem 0 1.4rem; font-family: var(--font-display); font-size: clamp(3.2rem, 6vw, 6.4rem); font-weight: 650; line-height: .98; letter-spacing: -.04em; }
.thank-confirmation__copy h1 strong { color: #a87d00; font-weight: inherit; }
.dark .thank-confirmation__copy h1 strong { color: #f5c518; }
.thank-confirmation__copy > p { max-width: 37rem; margin: 0; color: var(--muted-foreground); font-size: .94rem; line-height: 1.72; }
.thank-confirmation__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2rem; }
.thank-confirmation__actions a { min-height: 3.2rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 0 1rem; border: 1px solid var(--border); border-radius: .55rem; color: var(--foreground); font-size: .8rem; font-weight: 850; text-decoration: none; }
.thank-confirmation__actions a.is-primary { border-color: #d0a100; background: #f5c518; color: #18140a; }
.thank-confirmation__copy > small { display: block; max-width: 35rem; margin-top: 1.25rem; color: var(--muted-foreground); font-size: .68rem; line-height: 1.55; }
.thank-summary { overflow: hidden; border: 1px solid var(--border); border-radius: 1.25rem; background: color-mix(in srgb, var(--muted) 56%, var(--background)); box-shadow: 0 1.6rem 4rem rgba(24,24,27,.07); }
.dark .thank-summary { box-shadow: 0 1.6rem 4rem rgba(0,0,0,.22); }
.thank-summary header { padding: 1.5rem; border-bottom: 1px solid var(--border); }
.thank-summary header span { color: #8a6500; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .thank-summary header span { color: #f5c518; }
.thank-summary h2 { margin: .45rem 0 0; font-family: var(--font-display); font-size: 1.55rem; letter-spacing: -.03em; }
.thank-summary dl { margin: 0; }
.thank-summary dl div { display: grid; grid-template-columns: minmax(8rem, .4fr) minmax(0, 1fr); gap: 1rem; padding: .9rem 1.5rem; border-bottom: 1px solid var(--border); }
.thank-summary dt { color: var(--muted-foreground); font-size: .7rem; }
.thank-summary dd { min-width: 0; margin: 0; color: var(--foreground); font-size: .76rem; font-weight: 750; overflow-wrap: anywhere; }
.thank-summary dd.is-urgent { color: #bd4039; }
.dark .thank-summary dd.is-urgent { color: #ff948c; }
.thank-summary > p { margin: 0; padding: 1rem 1.5rem; color: var(--muted-foreground); font-size: .78rem; line-height: 1.58; }
.thank-next { padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5rem); border-block: 1px solid var(--border); background: color-mix(in srgb, var(--muted) 52%, var(--background)); }
.thank-next__inner { width: min(100%, 86rem); margin-inline: auto; }
.thank-next header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.thank-next header span { color: #8a6500; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .thank-next header span { color: #f5c518; }
.thank-next header h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.4rem, 4vw, 4.2rem); letter-spacing: -.045em; }
.thank-next ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--border); list-style: none; }
.thank-next li { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: 1rem; padding: 2rem; }
.thank-next li + li { border-left: 1px solid var(--border); }
.thank-next li > span { color: #9a7300; font-size: .72rem; font-weight: 850; }
.dark .thank-next li > span { color: #f5c518; }
.thank-next h3 { margin: 0 0 .65rem; font-family: var(--font-display); font-size: 1.15rem; line-height: 1.2; letter-spacing: -.02em; }
.thank-next li p { margin: 0; color: var(--muted-foreground); font-size: .8rem; line-height: 1.65; }
.thank-trust { padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 5rem); }
.thank-trust__inner { width: min(100%, 78rem); display: grid; grid-template-columns: minmax(20rem, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); margin-inline: auto; }
.thank-trust figure { position: relative; height: 33rem; overflow: hidden; margin: 0; border-radius: 1.25rem; background: #f5c518; }
.thank-trust figure::after { position: absolute; right: 0; bottom: 0; left: 0; height: 24%; background: #171719; content: ""; }
.thank-trust figure img { position: absolute; top: 0; bottom: 0; left: 50%; z-index: 1; width: 138%; max-width: none; height: 100%; object-fit: contain; object-position: center bottom; transform: translateX(-50%); }
.thank-trust__copy > span { color: #8a6500; font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .thank-trust__copy > span { color: #f5c518; }
.thank-trust h2 { margin: .8rem 0 1.2rem; font-family: var(--font-display); font-size: clamp(2.5rem, 4.5vw, 4.7rem); line-height: .98; letter-spacing: -.038em; }
.thank-trust__copy > p { margin: 0; color: var(--muted-foreground); font-size: .87rem; line-height: 1.75; }
.thank-trust dl { margin: 2rem 0 0; border-top: 1px solid var(--border); }
.thank-trust dl div { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--border); }
.thank-trust dt { color: var(--muted-foreground); font-size: .7rem; }
.thank-trust dd { margin: 0; color: var(--foreground); font-size: .76rem; font-weight: 750; }
.thank-trust a { color: inherit; text-decoration: none; }
.thank-ymyl-note { padding: 0 clamp(1.25rem, 5vw, 5rem) clamp(5rem, 9vw, 8rem); }
.thank-ymyl-note > div { width: min(100%, 78rem); margin-inline: auto; padding: 2rem 2rem 2rem 2.4rem; border-left: .28rem solid #c94a42; background: rgba(201,74,66,.07); }
.thank-ymyl-note span { color: #b53b35; font-size: .6rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .thank-ymyl-note span { color: #ff948c; }
.thank-ymyl-note h2 { margin: .55rem 0 .7rem; font-family: var(--font-display); font-size: 1.45rem; letter-spacing: -.025em; }
.thank-ymyl-note p { max-width: 65rem; margin: 0; color: var(--muted-foreground); font-size: .72rem; line-height: 1.7; }
.thank-footer { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.25rem max(1.25rem, calc((100% - 86rem) / 2)); border-top: 1px solid var(--border); color: var(--muted-foreground); font-size: .72rem; }
.thank-footer p { margin: 0; }
.thank-footer nav { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.thank-footer a { color: inherit; text-decoration: none; }

@media (hover: hover) {
  .thank-header-back:hover,
  .thank-footer a:hover,
  .thank-trust a:hover { color: var(--foreground); }
  .thank-confirmation__actions a:hover { transform: translateY(-2px); }
}

@media (max-width: 820px) {
  .thank-confirmation__inner { grid-template-columns: 1fr; }
  .thank-confirmation { min-height: auto; }
  .thank-next header { align-items: flex-start; flex-direction: column; }
  .thank-next ol { grid-template-columns: 1fr; }
  .thank-next li + li { border-top: 1px solid var(--border); border-left: 0; }
  .thank-trust__inner { grid-template-columns: 1fr; }
  .thank-trust figure { width: min(100%, 30rem); margin-inline: auto; }
}

@media (max-width: 620px) {
  .thank-page .site-header__actions .header-cta { display: none; }
  .thank-header-back { font-size: .75rem; }
  .thank-confirmation { padding: 7rem 1rem 4rem; }
  .thank-confirmation__copy h1 { font-size: 3.35rem; }
  .thank-confirmation__actions { display: grid; }
  .thank-summary { border-radius: 1rem; }
  .thank-summary dl div { grid-template-columns: 1fr; gap: .3rem; }
  .thank-next { padding: 4.5rem 1rem; }
  .thank-next li { padding: 1.5rem .25rem; }
  .thank-trust { padding: 4.5rem 1rem; }
  .thank-trust figure { height: 28rem; border-radius: 1rem; }
  .thank-trust h2 { font-size: 3rem; }
  .thank-trust dl div { grid-template-columns: 1fr; gap: .3rem; }
  .thank-ymyl-note { padding: 0 1rem 4.5rem; }
  .thank-ymyl-note > div { padding: 1.5rem 1.25rem 1.5rem 1.5rem; }
  .thank-footer { align-items: flex-start; flex-direction: column; padding: 1.5rem 1rem; }
}

/* In-page PDF reader */
.protection-conditions-callout {
  grid-column: 1 / -1;
  min-height: 8.75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.15rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(24,24,27,.09);
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at 0 0, rgba(245,197,24,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,247,242,.78));
  box-shadow: 0 1rem 2.8rem rgba(24,24,27,.055);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.dark .protection-conditions-callout {
  border-color: rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 0 0, rgba(245,197,24,.12), transparent 36%),
    linear-gradient(135deg, rgba(31,31,34,.96), rgba(20,20,22,.92));
  box-shadow: 0 1rem 2.8rem rgba(0,0,0,.28);
}

.protection-conditions-callout__mark {
  width: 3.4rem;
  height: 3.4rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  border: 1px solid rgba(138,101,0,.16);
  background: rgba(245,197,24,.14);
  color: #8a6500;
}

.dark .protection-conditions-callout__mark {
  border-color: rgba(245,197,24,.18);
  background: rgba(245,197,24,.1);
  color: #f5c518;
}

.protection-conditions-callout__mark svg {
  width: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.protection-conditions-callout__copy span {
  display: block;
  color: #8a6500;
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
}

.dark .protection-conditions-callout__copy span { color: #f5c518; }

.protection-conditions-callout__copy h3 {
  margin: .42rem 0 .32rem;
  font-family: var(--font-display);
  font-size: clamp(1.22rem, 1.65vw, 1.8rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.protection-conditions-callout__copy p {
  max-width: 65rem;
  margin: 0;
  color: #686870;
  font-size: .88rem;
  line-height: 1.6;
}

.dark .protection-conditions-callout__copy p { color: #a3a3aa; }

.protection-conditions-callout button {
  min-height: 3.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: 0 1.1rem;
  border: 1px solid rgba(24,24,27,.12);
  border-radius: 999px;
  background: #17140a;
  color: #fff;
  font: inherit;
  font-size: .78rem;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 .8rem 1.8rem rgba(24,24,27,.12);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.dark .protection-conditions-callout button {
  border-color: rgba(245,197,24,.24);
  background: #f5c518;
  color: #17140a;
  box-shadow: 0 .9rem 2rem rgba(245,197,24,.08);
}

.protection-conditions-callout button svg {
  width: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (hover:hover) {
  .protection-conditions-callout:hover {
    border-color: rgba(138,101,0,.24);
    box-shadow: 0 1.25rem 3.2rem rgba(24,24,27,.08);
    transform: translateY(-2px);
  }

  .dark .protection-conditions-callout:hover {
    border-color: rgba(245,197,24,.26);
    box-shadow: 0 1.25rem 3.2rem rgba(0,0,0,.34);
  }

  .protection-conditions-callout button:hover {
    background: #2a2412;
    transform: translateY(-1px);
    box-shadow: 0 1rem 2.1rem rgba(24,24,27,.16);
  }

  .dark .protection-conditions-callout button:hover { background: #ffda3e; }
}

.protection-conditions-callout button:active { transform: translateY(1px) scale(.99); }

.protection-conditions-callout button:focus-visible {
  outline: 2px solid #f5c518;
  outline-offset: 3px;
}

.pdf-reader-dialog--conditions .pdf-reader-dialog__panel { width: min(94rem, 100%); }

.pdf-reader-dialog__viewer--iframe {
  overflow: hidden;
  padding: .8rem;
  background:
    radial-gradient(circle at 50% 0, rgba(255,255,255,.12), transparent 32%),
    #303034;
}

.pdf-reader-dialog__iframe {
  width: 100%;
  height: 100%;
  min-height: 42rem;
  display: block;
  border: 0;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 .9rem 2.4rem rgba(0,0,0,.22);
}

@media (max-width: 820px) {
  .protection-conditions-callout {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    padding: 1rem;
  }

  .protection-conditions-callout button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .protection-conditions-callout {
    grid-template-columns: 1fr;
    border-radius: 1rem;
  }

  .protection-conditions-callout__mark {
    width: 3rem;
    height: 3rem;
  }

  .protection-conditions-callout__copy p { font-size: .84rem; }
}

.pdf-reader-dialog {
  position: fixed;
  inset: 0;
  z-index: 360;
  display: grid;
  place-items: center;
  padding: 1rem;
  visibility: hidden;
  opacity: 0;
  transition: opacity .28s ease, visibility .28s ease;
}

.pdf-reader-dialog.is-open { visibility: visible; opacity: 1; }
.pdf-reader-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,8,10,.72);
  backdrop-filter: blur(18px);
}

.pdf-reader-dialog__panel {
  position: relative;
  width: min(88rem, 100%);
  height: min(54rem, calc(100dvh - 2rem));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(24,24,27,.1);
  border-radius: 1.5rem;
  background: #f7f7f8;
  color: #18181b;
  box-shadow: 0 2.5rem 7rem rgba(0,0,0,.34);
  transform: translateY(18px) scale(.985);
  transition: transform .34s cubic-bezier(.2,.75,.25,1);
}

.pdf-reader-dialog.is-open .pdf-reader-dialog__panel { transform: translateY(0) scale(1); }
.dark .pdf-reader-dialog__panel { border-color: rgba(255,255,255,.1); background: #151517; color: #f5f5f5; }

.pdf-reader-dialog__header {
  min-height: 5.3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: .9rem 1rem .9rem 1.4rem;
  border-bottom: 1px solid rgba(24,24,27,.1);
}

.dark .pdf-reader-dialog__header { border-color: rgba(255,255,255,.1); }
.pdf-reader-dialog__header > div:first-child > span { color: #8a6500; font-size: .6rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dark .pdf-reader-dialog__header > div:first-child > span { color: #f5c518; }
.pdf-reader-dialog__header h2 { margin: .25rem 0 0; font-family: var(--font-display); font-size: 1.1rem; letter-spacing: -.02em; }

.pdf-reader-dialog__actions { display: flex; align-items: center; gap: .55rem; }
.pdf-reader-dialog__actions a,
.pdf-reader-dialog__actions button {
  min-height: 2.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: 0 .9rem;
  border: 1px solid rgba(24,24,27,.12);
  border-radius: .65rem;
  background: #fff;
  color: inherit;
  font: inherit;
  font-size: .7rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.dark .pdf-reader-dialog__actions a,
.dark .pdf-reader-dialog__actions button { border-color: rgba(255,255,255,.12); background: #212124; }
.pdf-reader-dialog__actions a:hover,
.pdf-reader-dialog__actions button:hover { border-color: #b98b00; background: #fff6c6; transform: translateY(-1px); }
.dark .pdf-reader-dialog__actions a:hover,
.dark .pdf-reader-dialog__actions button:hover { border-color: #f5c518; background: rgba(245,197,24,.1); }
.pdf-reader-dialog__actions svg { width: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pdf-reader-dialog__actions button { width: 2.85rem; padding: 0; border-radius: 50%; }

.pdf-reader-dialog__body {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(18rem, 23rem) minmax(0, 1fr);
}

.pdf-reader-dialog__seo {
  min-height: 0;
  overflow-y: auto;
  padding: 1.7rem;
  border-right: 1px solid rgba(24,24,27,.1);
  scrollbar-width: thin;
}

.dark .pdf-reader-dialog__seo { border-color: rgba(255,255,255,.1); }
.pdf-reader-dialog__seo h3 { margin: .8rem 0 1rem; font-family: var(--font-display); font-size: 1.7rem; line-height: 1.08; letter-spacing: -.035em; }
.pdf-reader-dialog__seo p { margin: 0 0 1rem; color: #6f6f77; font-size: .78rem; line-height: 1.65; }
.dark .pdf-reader-dialog__seo p { color: #9a9aa2; }
.pdf-reader-dialog__seo dl { margin: 1.35rem 0; border-top: 1px solid rgba(24,24,27,.1); }
.dark .pdf-reader-dialog__seo dl { border-color: rgba(255,255,255,.1); }
.pdf-reader-dialog__seo dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid rgba(24,24,27,.1); }
.dark .pdf-reader-dialog__seo dl div { border-color: rgba(255,255,255,.1); }
.pdf-reader-dialog__seo dt { color: #85858c; font-size: .64rem; }
.pdf-reader-dialog__seo dd { margin: 0; font-size: .66rem; font-weight: 850; }
.pdf-reader-dialog__consult { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 .9rem; border-radius: .55rem; background: #f5c518; color: #17140a; font-size: .7rem; font-weight: 850; text-decoration: none; }

.pdf-reader-dialog__viewer { position: relative; min-width: 0; min-height: 0; overflow-y: auto; padding: 1.35rem; background: #303034; scrollbar-width: thin; }
.pdf-reader-dialog__pages { width: min(100%, 52rem); display: grid; gap: 1.25rem; margin-inline: auto; }
.pdf-reader-dialog__pages figure { margin: 0; }
.pdf-reader-dialog__pages img { width: 100%; height: auto; display: block; background: #fff; box-shadow: 0 .8rem 2.4rem rgba(0,0,0,.22); }
.pdf-reader-dialog__pages figcaption { padding: .5rem .15rem 0; color: rgba(255,255,255,.58); font-size: .6rem; text-align: right; }

@media (max-width: 780px) {
  .pdf-reader-dialog { padding: 0; }
  .pdf-reader-dialog__panel { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .pdf-reader-dialog__header { min-height: 4.5rem; padding-left: 1rem; }
  .pdf-reader-dialog__header > div:first-child > span { display: none; }
  .pdf-reader-dialog__header h2 { max-width: 13rem; font-size: .85rem; }
  .pdf-reader-dialog__actions a { width: 2.85rem; padding: 0; }
  .pdf-reader-dialog__actions a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pdf-reader-dialog__body { display: block; overflow-y: auto; }
  .pdf-reader-dialog__seo { overflow: visible; padding: 1.25rem; border-right: 0; border-bottom: 1px solid rgba(24,24,27,.1); }
  .dark .pdf-reader-dialog__seo { border-color: rgba(255,255,255,.1); }
  .pdf-reader-dialog__seo h3 { font-size: 1.45rem; }
  .pdf-reader-dialog__viewer { height: 72dvh; min-height: 34rem; padding: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pdf-reader-dialog__panel { transform: none; transition: none; }
}

/* Modern process-risk comparison */
body.protection-page,
body.protection-page #smooth-wrapper,
body.protection-page #smooth-content {
  max-width: 100%;
  overflow-x: clip;
}

.risk-comparison__snapshot {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.5rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--border);
  border-bottom: 0;
  border-radius: 1.5rem 1.5rem 0 0;
  background: var(--background);
}

.risk-comparison__scenario {
  min-height: 10.5rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: center;
  gap: 1.2rem;
  padding: 1.5rem;
}

.risk-comparison__scenario.is-danger { background: #a62d27; color: #fff; }
.risk-comparison__scenario.is-covered { background: #202024; color: #fff; }
.dark .risk-comparison__scenario.is-covered { background: #eceae4; color: #18181b; }

.risk-comparison__scenario-icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.dark .risk-comparison__scenario.is-covered .risk-comparison__scenario-icon,
.risk-comparison__scenario.is-covered .risk-comparison__scenario-icon { border-color: rgba(245,197,24,.42); background: rgba(245,197,24,.12); color: #e1ad00; }
.risk-comparison__scenario-icon svg { width: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.risk-comparison__scenario small { display: block; color: inherit; font-size: .62rem; font-weight: 850; letter-spacing: .1em; opacity: .7; text-transform: uppercase; }
.risk-comparison__scenario strong { display: block; margin-top: .45rem; font-family: var(--font-display); font-size: 2.2rem; line-height: 1; letter-spacing: -.045em; }
.risk-comparison__scenario p { margin: .55rem 0 0; color: inherit; font-size: .72rem; line-height: 1.45; opacity: .68; }

.risk-comparison__versus {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  background: var(--background);
  color: var(--muted-foreground);
  font-family: var(--font-display);
  font-size: .7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.risk-comparison__versus::before,
.risk-comparison__versus::after { position: absolute; left: 50%; width: 1px; height: calc(50% - 1.5rem); background: var(--border); content: ""; }
.risk-comparison__versus::before { top: 0; }
.risk-comparison__versus::after { bottom: 0; }

.risk-comparison__table-wrap {
  border-radius: 0;
  background: var(--background);
  box-shadow: 0 1.3rem 3.5rem rgba(24,24,27,.055);
}

.dark .risk-comparison__table-wrap { box-shadow: 0 1.3rem 3.5rem rgba(0,0,0,.22); }
.risk-comparison table { border-collapse: separate; border-spacing: 0; }
.risk-comparison th,
.risk-comparison td { padding: 1.35rem 1.25rem; }
.risk-comparison thead th { background: color-mix(in srgb, var(--muted) 72%, var(--background)); color: var(--muted-foreground); }
.risk-comparison thead th.is-danger { background: rgba(166,45,39,.12); color: #972b26; }
.risk-comparison thead th.is-covered { background: rgba(245,197,24,.12); color: #765900; }
.dark .risk-comparison thead th.is-danger { background: rgba(255,105,94,.12); color: #ff9c94; }
.dark .risk-comparison thead th.is-covered { background: rgba(245,197,24,.12); color: #f5c518; }

.risk-comparison thead th.is-danger span::before,
.risk-comparison thead th.is-covered span::before { width: .42rem; height: .42rem; display: inline-block; margin-right: .4rem; border-radius: 50%; content: ""; vertical-align: .05rem; }
.risk-comparison thead th.is-danger span::before { background: #d34c44; box-shadow: 0 0 0 .22rem rgba(211,76,68,.12); }
.risk-comparison thead th.is-covered span::before { background: #d8a700; box-shadow: 0 0 0 .22rem rgba(216,167,0,.13); }

.risk-comparison tbody tr { transition: background .25s ease; }
.risk-comparison tbody tr:hover > th,
.risk-comparison tbody tr:hover > td { background-color: color-mix(in srgb, var(--muted) 70%, var(--background)); }
.risk-comparison tbody tr:hover > td.is-danger { background-color: rgba(180,35,24,.1); }
.risk-comparison tbody tr:hover > td.is-covered { background-color: rgba(245,197,24,.11); }
.risk-comparison tbody th { font-family: var(--font-display); font-size: .84rem; }
.risk-comparison tbody td:nth-child(2) { font-family: var(--font-display); font-size: .86rem; }
.risk-comparison tbody td.is-danger { position: relative; padding-left: 1.55rem; }
.risk-comparison tbody td.is-covered { position: relative; padding-left: 1.55rem; }
.risk-comparison tbody td.is-danger::after,
.risk-comparison tbody td.is-covered::after { position: absolute; top: 50%; left: .75rem; width: .28rem; height: 1.5rem; border-radius: .2rem; content: ""; transform: translateY(-50%); }
.risk-comparison tbody td.is-danger::after { background: #d34c44; }
.risk-comparison tbody td.is-covered::after { background: #d8a700; }

.risk-comparison tbody tr.is-total > th,
.risk-comparison tbody tr.is-total > td { padding-top: 1.6rem; padding-bottom: 1.6rem; background: color-mix(in srgb, var(--muted) 82%, var(--background)); }
.risk-comparison tbody tr.is-total > td:nth-child(2) { font-size: 1.05rem; }
.risk-comparison tbody tr.is-total > td.is-danger { background: rgba(166,45,39,.13); }
.risk-comparison tbody tr.is-total > td.is-covered { background: rgba(245,197,24,.13); }

.risk-comparison__notes {
  overflow: hidden;
  border-radius: 0 0 1.5rem 1.5rem;
  background: color-mix(in srgb, var(--muted) 44%, var(--background));
}

.risk-comparison__notes > div { position: relative; padding: 1.75rem 1.75rem 1.75rem 2.15rem; }
.risk-comparison__notes > div::before { position: absolute; top: 1.8rem; bottom: 1.8rem; left: 1.15rem; width: .24rem; border-radius: .2rem; background: #d34c44; content: ""; }
.risk-comparison__notes > div + div::before { background: #d8a700; }

@media (max-width: 720px) {
  .risk-comparison__snapshot { grid-template-columns: 1fr; border-radius: 1.15rem 1.15rem 0 0; }
  .risk-comparison__scenario { min-height: 9rem; grid-template-columns: 2.7rem minmax(0,1fr); padding: 1.25rem; }
  .risk-comparison__scenario-icon { width: 2.7rem; height: 2.7rem; }
  .risk-comparison__scenario strong { font-size: 1.75rem; }
  .risk-comparison__versus { width: 2.5rem; height: 2.5rem; margin: -1.25rem auto; border: 1px solid var(--border); border-radius: 50%; }
  .risk-comparison__versus::before,
  .risk-comparison__versus::after { display: none; }
  .risk-comparison tbody td.is-danger,
  .risk-comparison tbody td.is-covered { padding-left: 1.55rem; }
  .risk-comparison tbody td.is-danger::after,
  .risk-comparison tbody td.is-covered::after { left: .65rem; }
  .risk-comparison__notes { border-radius: 0 0 1.15rem 1.15rem; }
}

/* Taste retrofit: compact risk lens */
.risk-comparison__lens {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
  border-radius: 1.65rem;
  background:
    radial-gradient(circle at 12% 8%, rgba(166,45,39,.15), transparent 25rem),
    radial-gradient(circle at 92% 4%, rgba(245,197,24,.13), transparent 24rem),
    color-mix(in srgb, var(--muted) 34%, var(--background));
  box-shadow: 0 1.8rem 5rem rgba(24,24,27,.08);
}

.dark .risk-comparison__lens {
  background:
    radial-gradient(circle at 10% 0%, rgba(255,91,80,.16), transparent 25rem),
    radial-gradient(circle at 92% 2%, rgba(245,197,24,.13), transparent 24rem),
    #101013;
  box-shadow: 0 1.8rem 5rem rgba(0,0,0,.34);
}

.risk-comparison__lens .risk-comparison__snapshot {
  grid-template-columns: minmax(0, 1fr) 4.5rem minmax(0, 1fr);
  border: 0;
  border-radius: 0;
  background: transparent;
}

.risk-comparison__lens .risk-comparison__scenario {
  min-height: 11.25rem;
  align-items: center;
  padding: clamp(1.35rem, 3vw, 2.2rem);
  background: transparent;
}

.risk-comparison__lens .risk-comparison__scenario.is-danger {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 38%),
    #9f3029;
}

.risk-comparison__lens .risk-comparison__scenario.is-covered {
  color: var(--foreground);
  background:
    linear-gradient(135deg, rgba(255,255,255,.74), rgba(255,255,255,.36)),
    color-mix(in srgb, var(--background) 88%, #f5c518);
}

.dark .risk-comparison__lens .risk-comparison__scenario.is-covered {
  color: #18140a;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.56)),
    #ece8db;
}

.risk-comparison__lens .risk-comparison__scenario-icon {
  border-color: currentColor;
  background: color-mix(in srgb, currentColor 9%, transparent);
  opacity: .78;
}

.risk-comparison__lens .risk-comparison__scenario small {
  font-size: .62rem;
  letter-spacing: .09em;
}

.risk-comparison__lens .risk-comparison__scenario strong {
  font-size: clamp(2rem, 4.6vw, 4rem);
  letter-spacing: -.04em;
}

.risk-comparison__lens .risk-comparison__scenario.is-covered strong {
  max-width: 14ch;
  font-size: clamp(2rem, 3.35vw, 3.35rem);
  white-space: normal;
  overflow-wrap: anywhere;
}

.risk-comparison__lens .risk-comparison__scenario p {
  max-width: 22rem;
  font-size: .78rem;
}

.risk-comparison__lens .risk-comparison__versus {
  background: color-mix(in srgb, var(--background) 72%, transparent);
  color: var(--muted-foreground);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.risk-comparison__lens .risk-comparison__versus::before,
.risk-comparison__lens .risk-comparison__versus::after {
  background: color-mix(in srgb, var(--border) 72%, transparent);
}

.risk-comparison__cost-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: color-mix(in srgb, var(--border) 70%, transparent);
}

.risk-comparison__cost-cards article {
  min-width: 0;
  padding: 1.35rem;
  background: color-mix(in srgb, var(--background) 88%, var(--muted));
  transition: transform .35s cubic-bezier(.22,1,.36,1), background .25s ease;
}

.dark .risk-comparison__cost-cards article {
  background: rgba(255,255,255,.035);
}

.risk-comparison__cost-cards article > div {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: .85rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.risk-comparison__cost-cards span {
  color: var(--muted-foreground);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.risk-comparison__cost-cards strong {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.7vw, 1.55rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-align: right;
  white-space: nowrap;
}

.risk-comparison__cost-cards p {
  position: relative;
  margin: .85rem 0 0;
  padding-left: .85rem;
  color: var(--muted-foreground);
  font-size: .76rem;
  line-height: 1.5;
}

.risk-comparison__cost-cards p::before {
  position: absolute;
  top: .38rem;
  left: 0;
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: #d34c44;
  content: "";
}

.risk-comparison__cost-cards p + p::before { background: #d8a700; }
.risk-comparison__cost-cards b { color: var(--foreground); font-weight: 850; }
.risk-comparison__cost-cards article.is-total { background: #171719; color: #fff; }
.risk-comparison__cost-cards article.is-total span,
.risk-comparison__cost-cards article.is-total p { color: rgba(255,255,255,.62); }
.risk-comparison__cost-cards article.is-total b { color: #fff; }

.risk-comparison__lens .risk-comparison__notes {
  grid-template-columns: 1fr 1fr;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.risk-comparison__lens .risk-comparison__notes > div {
  padding: 1.45rem 1.7rem 1.55rem 2.25rem;
}

.risk-comparison__lens .risk-comparison__notes span {
  font-size: .7rem;
}

.risk-comparison__lens .risk-comparison__notes p {
  max-width: 45rem;
  font-size: .82rem;
}

@media (hover: hover) {
  .risk-comparison__cost-cards article:hover {
    background: color-mix(in srgb, var(--muted) 72%, var(--background));
    transform: translateY(-3px);
  }
  .dark .risk-comparison__cost-cards article:hover { background: rgba(255,255,255,.06); }
}

@media (max-width: 980px) {
  .risk-comparison__cost-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .risk-comparison__lens .risk-comparison__snapshot { grid-template-columns: 1fr; }
  .risk-comparison__lens .risk-comparison__versus { width: 3rem; height: 3rem; margin: -1.5rem auto; border-radius: 50%; }
  .risk-comparison__lens .risk-comparison__versus::before,
  .risk-comparison__lens .risk-comparison__versus::after { display: none; }
  .risk-comparison__cost-cards,
  .risk-comparison__lens .risk-comparison__notes { grid-template-columns: 1fr; }
  .risk-comparison__lens .risk-comparison__notes > div + div { border-top: 1px solid var(--border); border-left: 0; }
}

/* Taste retrofit: compact interactive cost module */
.cost-compare-bento {
  --coverage-accent: #75d99a;
  --coverage-soft: rgba(117,217,154,.13);
  --coverage-line: rgba(117,217,154,.26);
  margin-top: clamp(1.5rem, 3vw, 3rem);
}

.cost-compare-bento.is-uncovered {
  --coverage-accent: #ff6b61;
  --coverage-soft: rgba(255,107,97,.14);
  --coverage-line: rgba(255,107,97,.28);
}

.cost-compare-bento__heading {
  grid-template-columns: minmax(0, .9fr) minmax(18rem, .56fr);
  margin-bottom: clamp(1.55rem, 3vw, 2.4rem);
}

.cost-compare-bento__heading h3 {
  max-width: 18ch;
  font-size: clamp(2.35rem, 4.2vw, 4.25rem);
}

.cost-compare-bento__heading p {
  max-width: 31rem;
  font-size: .92rem;
}

.cost-compare-bento__grid {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .42fr);
  gap: 1rem;
  align-items: stretch;
}

.cost-journey-card,
.cost-risk-cockpit {
  min-height: 0;
  border-radius: 1.65rem;
}

.cost-journey-card {
  padding: clamp(1.45rem, 3vw, 2.45rem);
  border: 1px solid rgba(255,255,255,.075);
  background:
    radial-gradient(circle at 82% -12%, color-mix(in srgb, var(--coverage-accent) 15%, transparent), transparent 24rem),
    linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.012) 42%),
    #141416;
}

.cost-journey-card::before {
  inset: auto -8rem -12rem auto;
  width: 28rem;
  height: 28rem;
  opacity: .72;
}

.cost-journey-card::after {
  right: 1.2rem;
  bottom: .9rem;
  font-size: clamp(3.4rem, 6vw, 6.2rem);
  opacity: .032;
}

.cost-compare-bento.is-uncovered .cost-journey-card::after { opacity: .045; }

.cost-journey-card > header {
  grid-template-columns: minmax(0, .9fr) minmax(16rem, .6fr);
  gap: 1rem 2rem;
  padding-bottom: 1.4rem;
}

.cost-journey-card > header h4 {
  max-width: 15ch;
  font-size: clamp(2rem, 3.1vw, 3.1rem);
}

.cost-journey-card > header p {
  max-width: 26rem;
  font-size: .8rem;
}

.cost-journey {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .7rem;
  padding-top: 1.2rem;
}

.cost-journey::before { display: none; }

.cost-journey > article,
.cost-journey > article:nth-child(even) {
  display: block;
  min-height: 12.5rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 1rem;
  background: rgba(255,255,255,.035);
  transform: none;
}

.cost-journey > article > span {
  display: block;
  width: .58rem;
  height: .58rem;
  margin: 0 0 1.2rem;
  box-shadow: 0 0 0 .35rem rgba(255,255,255,.035), 0 0 1.4rem var(--coverage-soft);
}

.cost-journey small {
  font-size: .62rem;
  letter-spacing: .075em;
}

.cost-journey h5 {
  min-height: 2.55rem;
  margin-top: .5rem;
  font-size: clamp(.92rem, 1.1vw, 1.05rem);
}

.cost-journey p {
  font-size: .76rem;
  line-height: 1.5;
}

.cost-journey strong {
  margin-top: .85rem;
  font-size: .72rem;
}

.cost-risk-cockpit {
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  padding: 1.15rem;
  border-color: color-mix(in srgb, var(--coverage-accent) 32%, rgba(255,255,255,.08));
  background:
    radial-gradient(circle at 50% 18%, var(--coverage-soft), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.012)),
    #101113;
  color: #fff;
}

.cost-risk-cockpit::before {
  right: 1.35rem;
  left: 1.35rem;
  height: 3px;
}

.cost-risk-cockpit__toggle {
  position: relative;
  z-index: 2;
  border-color: rgba(255,255,255,.08);
  border-radius: 1rem;
  background: rgba(0,0,0,.42);
}

.cost-risk-cockpit__toggle button {
  min-height: 2.7rem;
  border-radius: .75rem;
  color: rgba(255,255,255,.52);
  font-size: .62rem;
}

.cost-risk-cockpit__toggle button.is-active {
  color: #102219;
}

.cost-compare-bento.is-uncovered .cost-risk-cockpit__toggle button.is-active {
  color: #fff;
}

.cost-risk-cockpit__meter {
  width: min(12.6rem, 74%);
  margin: clamp(1.65rem, 3vw, 2.6rem) auto 1.05rem;
  background:
    conic-gradient(from -90deg, var(--coverage-accent) 0 32deg, rgba(255,255,255,.08) 32deg 360deg);
  box-shadow:
    0 0 0 1px var(--coverage-line),
    inset 0 0 0 .8rem rgba(255,255,255,.03),
    0 1.5rem 4rem var(--coverage-soft);
}

.cost-compare-bento.is-uncovered .cost-risk-cockpit__meter {
  background: conic-gradient(from -90deg, var(--coverage-accent) 0 360deg);
}

.cost-risk-cockpit__meter::before {
  inset: .88rem;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.1), transparent 50%),
    #0b0b0d;
  box-shadow: inset 0 0 2.4rem rgba(255,255,255,.035);
}

.cost-risk-cockpit__meter i {
  inset: 1.55rem;
  border-color: rgba(255,255,255,.08);
}

.cost-risk-cockpit__meter span {
  color: #fff;
  font-size: clamp(3rem, 4.2vw, 4.45rem);
  text-shadow: 0 .9rem 2rem rgba(0,0,0,.35);
}

.cost-risk-cockpit__label {
  color: var(--coverage-accent);
  font-size: .68rem;
}

.cost-risk-cockpit > h4 {
  max-width: 11ch;
  font-size: clamp(1.65rem, 2.2vw, 2.2rem);
}

.cost-risk-cockpit > p {
  max-width: 20rem;
  margin-inline: auto;
  color: rgba(255,255,255,.56);
  font-size: .86rem;
}

.cost-risk-cockpit dl {
  margin-top: 1.4rem;
  padding-top: .85rem;
}

.cost-risk-cockpit dl > div {
  padding: .65rem .25rem;
  border-top-color: rgba(255,255,255,.09);
}

.cost-risk-cockpit dt {
  color: rgba(255,255,255,.48);
  font-size: .72rem;
}

.cost-risk-cockpit dd {
  color: var(--coverage-accent);
  font-size: .74rem;
}

.cost-risk-cockpit__note {
  color: rgba(255,255,255,.34);
  font-size: .64rem;
  line-height: 1.5;
}

@media (hover: hover) {
  .cost-journey-card:hover,
  .cost-risk-cockpit:hover {
    box-shadow: 0 1.7rem 4.5rem rgba(0,0,0,.22);
    transform: translateY(-4px);
  }
  .cost-journey > article:nth-child(odd):hover,
  .cost-journey > article:nth-child(even):hover {
    background: rgba(255,255,255,.06);
    transform: translateY(-4px);
  }
}

@media (max-width: 1180px) {
  .cost-journey { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cost-journey > article { min-height: 11rem; }
}

@media (max-width: 980px) {
  .cost-compare-bento__grid { grid-template-columns: 1fr; }
  .cost-risk-cockpit {
    order: -1;
    display: grid;
    grid-template-columns: minmax(12rem, .45fr) minmax(0, 1fr);
    gap: 0 1.75rem;
  }
  .cost-risk-cockpit__toggle,
  .cost-risk-cockpit dl,
  .cost-risk-cockpit__note { grid-column: 1 / -1; }
  .cost-risk-cockpit__meter { grid-column: 1; grid-row: 2 / 6; }
  .cost-risk-cockpit__label,
  .cost-risk-cockpit > h4,
  .cost-risk-cockpit > p { grid-column: 2; margin-inline: 0; text-align: left; }
}

@media (max-width: 760px) {
  .cost-compare-bento__heading { grid-template-columns: 1fr; }
  .cost-journey-card > header { grid-template-columns: 1fr; }
  .cost-journey { grid-template-columns: 1fr; }
  .cost-journey > article { min-height: 0; }
}

@media (max-width: 560px) {
  .cost-journey-card,
  .cost-risk-cockpit { border-radius: 1.1rem; }
  .cost-risk-cockpit { display: flex; }
  .cost-risk-cockpit__meter { width: 10.5rem; }
}

/* Shared reading scale for Privatrechtsschutz pages */
.protection-page {
  --reading-copy: 1rem;
  --reading-copy-compact: .92rem;
  --reading-leading: 1.75;
}

.protection-page .protection-bento-heading > p,
.protection-page .protection-explainer-copy > article p,
.protection-page .protection-explainer-conclusion p,
.protection-page .local-bento-heading > p,
.protection-page .cost-bento-heading > p,
.protection-page .cost-detail-heading > p,
.protection-page .cost-detail-copy article > p,
.protection-page .life-area-heading p,
.protection-page .local-expertise-profile__heading p,
.protection-page .local-expertise-intro p,
.protection-page .local-case-study p,
.protection-page .local-expertise-conclusion p {
  font-size: var(--reading-copy);
  line-height: var(--reading-leading);
}

.protection-page .protection-switch-hero__copy > p:not(.protection-switch-hero__proof) {
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.7;
}

.protection-page .protection-case-study > p,
.protection-page .risk-comparison__heading > p,
.protection-page .risk-comparison__notes p,
.protection-page .protection-topic-link__copy > span,
.protection-page .protection-faq__intro p,
.protection-page .protection-faq__answer p,
.protection-page .local-bento-card__feature-copy p,
.protection-page .local-bento-card--tariffs p,
.protection-page .cost-bento-card__feature-copy p,
.protection-page .cost-bento-card--factors p,
.protection-page .cost-bento-card--tariffs p,
.protection-page .cost-detail-principle p,
.protection-page .cost-deductible-note > p,
.protection-page .cost-single-case__copy p,
.protection-page .life-area-panel__content > p {
  font-size: var(--reading-copy-compact);
  line-height: 1.72;
}

.protection-page .cost-journey p,
.protection-page .cost-journey strong,
.protection-page .cost-risk-cockpit > p,
.protection-page .cost-single-case__flow p,
.protection-page .cost-detail-footer p {
  font-size: .78rem;
  line-height: 1.62;
}

.protection-page .cost-risk-cockpit > p { font-size: .88rem; }

.protection-page .risk-comparison tbody th,
.protection-page .risk-comparison tbody td,
.protection-page .local-case-study dt,
.protection-page .local-case-study dd {
  font-size: .84rem;
  line-height: 1.5;
}

@media (max-width: 560px) {
  .protection-page {
    --reading-copy: .98rem;
    --reading-copy-compact: .9rem;
  }

  .protection-page .protection-topic-link__copy > span,
  .protection-page .protection-faq__answer p { font-size: .9rem; }
}

/* Readability pass: keep legal/support text readable instead of microscopic. */
.protection-page small,
.protection-page .process-cost-card__notice,
.protection-page .process-cost-card__sources a,
.protection-page .process-cost-card__breakdown dt,
.protection-page .process-cost-card__breakdown dd,
.protection-page .cost-bento-card__disclaimer,
.protection-page .cost-single-case__flow small,
.protection-page .cost-detail-footer > small,
.protection-page .cost-detail-footer > small a,
.protection-page .local-callback-form__note,
.protection-page .local-callback-form__privacy,
.protection-page .local-callback-form__privacy a,
.protection-page .local-expertise-conclusion small,
.protection-page .consultation-steps li small,
.protection-page .risk-comparison__footer,
.protection-page .risk-comparison__footer a {
  font-size: .75rem;
  line-height: 1.45;
}

.protection-page .section-kicker,
.protection-page .protection-topic-rail__label,
.protection-page .protection-topic-rail a span,
.protection-page .protection-phone__status span,
.protection-page .protection-phone__copy > span,
.protection-page .protection-phone__case span,
.protection-page .protection-subpage .protection-phone__location-label small,
.protection-page .protection-brochure-card > span,
.protection-page .local-topic-silo__link small,
.protection-page .local-topic-silo__link span,
.protection-page .local-bento-card__index,
.protection-page .life-area-panel__visual > small,
.protection-page .consultation-availability > span,
.protection-page .consultation-availability dl div,
.protection-page .consultation-availability > a,
.protection-page .local-callback-form > header > span,
.protection-page .local-callback-form > header p,
.protection-page .local-callback-form__field > span,
.protection-page .local-callback-form__urgency legend,
.protection-page .local-callback-form__urgency label > span,
.protection-page .local-callback-form__actions button,
.protection-page .local-callback-form__actions a,
.protection-page .local-callback-form__status,
.protection-page .cost-tariff-scale span,
.protection-page .cost-factor-list strong,
.protection-page .cost-factor-list small,
.protection-page .cost-journey-card > header > span,
.protection-page .cost-journey small,
.protection-page .cost-journey strong,
.protection-page .cost-risk-cockpit__toggle button,
.protection-page .cost-risk-cockpit__label,
.protection-page .cost-risk-cockpit dt,
.protection-page .cost-risk-cockpit dd,
.protection-page .cost-risk-cockpit__note {
  font-size: max(.75rem, 12px);
  line-height: 1.4;
}

.protection-page .protection-phone__copy p,
.protection-page .protection-switch-hero__proof,
.protection-page .protection-brochure-card li,
.protection-page .process-cost-card dt,
.protection-page .process-cost-card small,
.protection-page .protection-faq__intro a,
.protection-page .site-footer__bottom p,
.protection-page .site-footer__bottom a,
.protection-page.protection-subpage .protection-phone__location-label small,
.protection-page .local-bento-card li,
.protection-page .local-bento-card__footer small,
.protection-page .local-bento-card__footer a,
.protection-page .local-expertise-profile figcaption small,
.protection-page .local-expertise-profile__contact a,
.protection-page .local-case-study header small,
.protection-page .consultation-process a,
.protection-page .local-callback-form input,
.protection-page .local-callback-form select,
.protection-page .local-callback-form__urgency input,
.protection-page .cost-bento-card li,
.protection-page .cost-bento-card dt,
.protection-page .cost-bento-card a,
.protection-page .cost-risk-compare p,
.protection-page .cost-detail-footer > a {
  font-size: clamp(.76rem, .72rem + .12vw, .86rem);
  line-height: 1.48;
}

.protection-page .site-nav-panel__footer dt,
.protection-page .site-nav-panel__footer dd,
.protection-page .protection-bento-pdf__copy li,
.protection-page .protection-case-study dt,
.protection-page .risk-comparison__scenario small,
.protection-page .pdf-reader-dialog__actions a,
.protection-page .pdf-reader-dialog__seo dt,
.protection-page .pdf-reader-dialog__seo dd,
.protection-page .pdf-reader-dialog__consult,
.protection-page .life-area-panel__content li,
.protection-page .life-area-panel__footer small,
.protection-page .life-area-panel__footer a,
.protection-page .local-bento-card__feature-copy a,
.protection-page .local-expertise-conclusion > div > a {
  font-size: clamp(.76rem, .72rem + .12vw, .86rem);
  line-height: 1.45;
}

/* Privatrechtsschutz Leistungen */
.protection-services-page .protection-switch-hero__badge i,
.protection-services-page .protection-switch-hero__proof i {
  background: #f5c518;
}

.protection-services-page .protection-phone__visual .protection-phone__location-label {
  display: none;
}

.services-bento-section,
.services-accordion-section,
.services-explainer-section {
  padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 5rem);
  background: var(--background);
}

.services-bento-section__inner,
.services-accordion-section__inner,
.services-explainer-section__inner {
  width: min(100%, 90rem);
  margin-inline: auto;
}

.services-bento-heading,
.services-accordion-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, .72fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 7rem);
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.services-bento-heading h2,
.services-accordion-heading h2,
.services-explainer-section h2 {
  max-width: 15ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5.6vw, 5.6rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.services-bento-heading p,
.services-accordion-heading p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: var(--reading-copy);
  line-height: 1.65;
}

.services-bento-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, .8fr);
  grid-auto-rows: minmax(16rem, auto);
  grid-auto-flow: dense;
  gap: 1rem;
}

.services-bento-card {
  position: relative;
  min-height: 20rem;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.6rem;
  background: color-mix(in srgb, var(--muted) 48%, var(--background));
  color: var(--foreground);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}

.services-bento-card--feature {
  grid-row: span 2;
  min-height: 33rem;
  display: grid;
  align-content: end;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  color: #18140a;
  background: #f5c518;
}

.services-bento-card--feature img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 82% 58%;
  opacity: .72;
  transform: scale(1.02);
  transition: transform .7s cubic-bezier(.22,1,.36,1);
}

.services-bento-card--feature::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(245,197,24,.98) 0%, rgba(245,197,24,.76) 42%, rgba(245,197,24,.18) 100%);
  content: "";
}

.services-bento-card--feature > div {
  position: relative;
  z-index: 2;
  max-width: 31rem;
}

.services-bento-card > span,
.services-bento-card--feature span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #8a6500;
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.dark .services-bento-card > span { color: #f5c518; }
.services-bento-card--feature span i {
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: #18140a;
}

.services-bento-card h3 {
  max-width: 13ch;
  margin: 1rem 0 .8rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.services-bento-card p {
  max-width: 38rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 62%, transparent);
  font-size: var(--reading-copy-compact);
  line-height: 1.65;
}

.services-bento-card--feature p { color: rgba(24,20,10,.68); }

.services-bento-card--tariff,
.services-bento-card--service,
.services-bento-card--warning {
  min-height: 16rem;
  padding: clamp(1.4rem, 3vw, 2.4rem);
}

.services-bento-card--tariff {
  grid-column: span 2;
  background:
    radial-gradient(circle at 80% 0%, rgba(245,197,24,.18), transparent 42%),
    color-mix(in srgb, var(--muted) 50%, var(--background));
}

.services-bento-card--service {
  background:
    linear-gradient(145deg, rgba(84,191,122,.14), transparent 45%),
    color-mix(in srgb, var(--muted) 45%, var(--background));
}

.services-bento-card--warning {
  background:
    linear-gradient(145deg, rgba(201,74,66,.14), transparent 45%),
    color-mix(in srgb, var(--muted) 45%, var(--background));
}

.services-bento-card--warning a {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.6rem;
  padding: 0 1rem;
  border-radius: .65rem;
  background: #18140a;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.services-tariff-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.4rem;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: .8rem;
}

.services-tariff-strip span {
  padding: .8rem .55rem;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}

.services-tariff-strip span:nth-child(2) {
  background: color-mix(in srgb, #f5c518 20%, var(--background));
}

.services-tariff-strip span + span { border-left: 1px solid var(--border); }

@media (hover: hover) {
  .services-bento-card:hover {
    border-color: color-mix(in srgb, #c59600 55%, var(--border));
    box-shadow: 0 1.5rem 4rem rgba(24,24,27,.09);
    transform: translateY(-4px);
  }

  .dark .services-bento-card:hover { box-shadow: 0 1.5rem 4rem rgba(0,0,0,.28); }
  .services-bento-card--feature:hover img { transform: scale(1.07); }
}

.services-matrix {
  display: grid;
  gap: .75rem;
}

.services-matrix__item {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background: color-mix(in srgb, var(--muted) 42%, var(--background));
  transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}

.services-matrix__item[open] {
  border-color: color-mix(in srgb, #c59600 55%, var(--border));
  background:
    radial-gradient(circle at 95% 0%, rgba(245,197,24,.16), transparent 36%),
    color-mix(in srgb, var(--muted) 42%, var(--background));
  box-shadow: 0 1.2rem 3.2rem rgba(24,24,27,.06);
}

.dark .services-matrix__item[open] { box-shadow: 0 1.2rem 3.2rem rgba(0,0,0,.22); }

.services-matrix__item summary {
  min-height: 6.5rem;
  display: grid;
  grid-template-columns: 3rem minmax(0,1fr) 2.5rem;
  align-items: center;
  gap: 1.1rem;
  padding: clamp(1rem, 2.4vw, 1.7rem);
  cursor: pointer;
  list-style: none;
}

.services-matrix__item summary::-webkit-details-marker { display: none; }

.services-matrix__icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, #c59600 42%, var(--border));
  border-radius: .9rem;
  background: color-mix(in srgb, #f5c518 18%, var(--background));
  color: #8a6500;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 800;
}

.dark .services-matrix__icon { color: #f5c518; }

.services-matrix__item summary small {
  display: block;
  color: #8a6500;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.dark .services-matrix__item summary small { color: #f5c518; }

.services-matrix__item summary strong {
  display: block;
  margin-top: .3rem;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.4vw, 2.35rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.services-matrix__item summary i {
  width: 2.45rem;
  height: 2.45rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--background);
  border: 1px solid var(--border);
}

.services-matrix__item summary i::before,
.services-matrix__item summary i::after {
  grid-area: 1 / 1;
  width: .8rem;
  height: 2px;
  border-radius: 1rem;
  background: currentColor;
  content: "";
}

.services-matrix__item summary i::after {
  transform: rotate(90deg);
  transition: transform .25s ease;
}

.services-matrix__item[open] summary i {
  background: #f5c518;
  color: #18140a;
}

.services-matrix__item[open] summary i::after { transform: rotate(0deg); }

.services-matrix__panel {
  padding: 0 clamp(1rem, 2.4vw, 1.7rem) clamp(1.1rem, 2.4vw, 1.8rem) clamp(5.1rem, 7vw, 6rem);
}

.services-matrix__panel > p {
  max-width: 58rem;
  margin: 0 0 1.1rem;
  color: color-mix(in srgb, var(--foreground) 64%, transparent);
  font-size: var(--reading-copy-compact);
  line-height: 1.68;
}

.services-matrix__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr .85fr;
  gap: .75rem;
}

.services-matrix__grid article {
  min-height: 12rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: .95rem;
  background: color-mix(in srgb, var(--background) 78%, transparent);
}

.services-matrix__grid small {
  display: block;
  color: #8a6500;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dark .services-matrix__grid small { color: #f5c518; }

.services-matrix__grid ul {
  display: grid;
  gap: .55rem;
  margin: .85rem 0 0;
  padding: 0;
  list-style: none;
}

.services-matrix__grid li {
  position: relative;
  padding-left: 1rem;
  color: color-mix(in srgb, var(--foreground) 82%, transparent);
  font-size: .86rem;
  line-height: 1.45;
}

.services-matrix__grid li::before {
  position: absolute;
  top: .55em;
  left: 0;
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  background: #f5c518;
  content: "";
}

.services-matrix__grid p {
  margin: .85rem 0 0;
  color: color-mix(in srgb, var(--foreground) 68%, transparent);
  font-size: .86rem;
  line-height: 1.55;
}

.services-accordion-footer {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 2rem;
  margin-top: 1rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border-radius: 1.25rem;
  background: #18140a;
  color: #fff;
}

.services-accordion-footer strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.5vw, 2.4rem);
  line-height: 1;
}

.services-accordion-footer p {
  max-width: 42rem;
  margin: .55rem 0 0;
  color: rgba(255,255,255,.62);
  font-size: .86rem;
  line-height: 1.55;
}

.services-accordion-footer a {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0 1rem;
  border-radius: .7rem;
  background: #f5c518;
  color: #18140a;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.services-explainer-section {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--muted) 42%, var(--background)), var(--background));
}

.services-explainer-section__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(20rem, .62fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: start;
}

.services-explainer-section article > span,
.services-explainer-section aside > span {
  color: #8a6500;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.dark .services-explainer-section article > span,
.dark .services-explainer-section aside > span { color: #f5c518; }

.services-explainer-section article p {
  max-width: 60rem;
  margin: 1.1rem 0 0;
  color: var(--muted-foreground);
  font-size: var(--reading-copy);
  line-height: 1.75;
}

.services-explainer-section aside {
  position: sticky;
  top: 7rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--border);
  border-radius: 1.35rem;
  background: var(--background);
  box-shadow: 0 1.2rem 3rem rgba(24,24,27,.06);
}

.dark .services-explainer-section aside { box-shadow: 0 1.2rem 3rem rgba(0,0,0,.18); }

.services-explainer-section ol {
  display: grid;
  gap: .65rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
}

.services-explainer-section li {
  padding: .85rem;
  border: 1px solid var(--border);
  border-radius: .85rem;
  background: color-mix(in srgb, var(--muted) 42%, var(--background));
}

.services-explainer-section li strong {
  display: block;
  font-size: .9rem;
}

.services-explainer-section li small {
  display: block;
  margin-top: .25rem;
  color: var(--muted-foreground);
  font-size: 12px;
  line-height: 1.45;
}

.site-footer__source {
  display: block;
  margin-top: 1.4rem;
  color: color-mix(in srgb, var(--muted-foreground) 78%, transparent);
  font-size: 12px;
  line-height: 1.5;
}

.site-footer__source a {
  color: inherit;
  text-underline-offset: .18rem;
}

.protection-page .site-nav-panel__footer p {
  font-size: clamp(.76rem, .72rem + .16vw, .86rem);
  line-height: 1.45;
}

@media (max-width: 980px) {
  .services-bento-heading,
  .services-accordion-heading,
  .services-explainer-section__inner {
    grid-template-columns: 1fr;
  }

  .services-bento-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .services-bento-card--feature,
  .services-bento-card--tariff {
    grid-column: auto;
    grid-row: auto;
  }

  .services-bento-card--feature {
    min-height: 28rem;
  }

  .services-matrix__grid {
    grid-template-columns: 1fr;
  }

  .services-matrix__panel {
    padding-left: clamp(1rem, 2.4vw, 1.7rem);
  }

  .services-explainer-section aside {
    position: static;
  }
}

@media (max-width: 620px) {
  .services-bento-section,
  .services-accordion-section,
  .services-explainer-section {
    padding-inline: 1rem;
  }

  .services-bento-heading h2,
  .services-accordion-heading h2,
  .services-explainer-section h2 {
    font-size: 2.65rem;
  }

  .services-bento-card,
  .services-bento-card--feature,
  .services-matrix__item,
  .services-accordion-footer,
  .services-explainer-section aside {
    border-radius: 1.1rem;
  }

  .services-bento-card--feature {
    min-height: 25rem;
  }

  .services-bento-card--feature::after {
    background: linear-gradient(180deg, rgba(245,197,24,.28), rgba(245,197,24,.98) 58%);
  }

  .services-bento-card--feature img {
    object-position: 50% 0;
    opacity: .58;
  }

  .services-matrix__item summary {
    grid-template-columns: 2.6rem minmax(0,1fr) 2.25rem;
    gap: .8rem;
  }

  .services-matrix__icon {
    width: 2.55rem;
    height: 2.55rem;
  }

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

/* Leistungen refinement: ARAG-style tariff matrix without copying the visual system. */
.services-accordion-heading {
  display: block;
  max-width: 68rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.services-accordion-heading .section-kicker {
  margin-bottom: 1rem;
}

.services-accordion-heading h2 {
  max-width: 12ch;
  margin-top: 1rem;
}

.services-accordion-heading p {
  max-width: 48rem;
  margin-top: 1.2rem;
}

.services-bento-card--tariff,
.services-bento-card--service,
.services-bento-card--warning {
  background: color-mix(in srgb, var(--muted) 45%, var(--background));
}

.services-bento-card--feature::after {
  background: rgba(245,197,24,.72);
}

.tariff-compare {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.65rem;
  background: var(--background);
  box-shadow: 0 1.5rem 4rem rgba(24,24,27,.06);
}

.dark .tariff-compare {
  box-shadow: 0 1.5rem 4rem rgba(0,0,0,.22);
}

.tariff-compare__plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-left: min(28rem, 32%);
  border-left: 1px solid var(--border);
}

.tariff-compare__plans article {
  min-height: 22rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 2.1rem 1.2rem 2rem;
  border-right: 1px solid var(--border);
  background: color-mix(in srgb, var(--muted) 35%, var(--background));
  text-align: center;
}

.tariff-compare__plans article:nth-child(2) {
  background: color-mix(in srgb, #f5c518 12%, var(--background));
}

.tariff-compare__plans article:nth-child(3) {
  background: color-mix(in srgb, #f5c518 22%, var(--background));
}

.tariff-compare__symbol {
  position: relative;
  width: 8rem;
  height: 7rem;
  margin-bottom: 1.6rem;
}

.tariff-compare__symbol i,
.tariff-compare__symbol b,
.tariff-compare__symbol em,
.tariff-compare__symbol span {
  position: absolute;
  display: block;
  border: 1px solid rgba(24,20,10,.45);
  background: #f5c518;
  font-style: normal;
}

.tariff-compare__symbol i {
  left: 1rem;
  bottom: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--background) 82%, #f5c518);
}

.tariff-compare__symbol b {
  right: 1.35rem;
  bottom: 1rem;
  width: 2.5rem;
  height: 2.5rem;
}

.tariff-compare__symbol em {
  right: 1.35rem;
  bottom: 3.4rem;
  width: 5rem;
  height: 2.2rem;
  border-radius: 2rem;
  background: color-mix(in srgb, var(--background) 88%, #f5c518);
}

.tariff-compare__symbol span {
  right: .85rem;
  bottom: 5.85rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  box-shadow:
    -1.7rem 0 0 #f5c518,
    -3.4rem 0 0 #f5c518,
    -1.7rem -1.7rem 0 #f5c518,
    -3.4rem -1.7rem 0 #f5c518;
}

.tariff-compare__plans h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.tariff-compare__plans p {
  min-height: 2.4rem;
  margin: .7rem 0 1.1rem;
  color: color-mix(in srgb, var(--foreground) 62%, transparent);
  font-size: .82rem;
  line-height: 1.45;
}

.tariff-compare__plans a {
  min-height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  border: 1px solid rgba(24,20,10,.24);
  border-radius: 999px;
  background: #f5c518;
  color: #18140a;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.tariff-compare__rows {
  border-top: 1px solid var(--border);
}

.tariff-compare__row {
  border-bottom: 1px solid var(--border);
  transition: height .34s cubic-bezier(.22,1,.36,1), background .25s ease, box-shadow .25s ease;
}

.tariff-compare__row:last-child {
  border-bottom: 0;
}

.tariff-compare__row.is-opening,
.tariff-compare__row.is-closing {
  overflow: hidden;
}

.tariff-compare__row[open] {
  background:
    linear-gradient(90deg, color-mix(in srgb, #f5c518 8%, transparent), transparent 34%),
    color-mix(in srgb, var(--muted) 18%, transparent);
}

.tariff-compare__row summary {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) repeat(3, minmax(7rem, .45fr)) 2.5rem;
  align-items: center;
  min-height: 5.8rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.tariff-compare__row summary::-webkit-details-marker {
  display: none;
}

.tariff-compare__row summary > span {
  min-width: 0;
  padding: 1rem 1.6rem;
}

.tariff-compare__row summary strong {
  display: block;
  font-size: .95rem;
  line-height: 1.3;
}

.tariff-compare__row summary small {
  display: block;
  margin-top: .2rem;
  color: color-mix(in srgb, var(--foreground) 58%, transparent);
  font-size: 12px;
  line-height: 1.4;
}

.tariff-compare__row summary b {
  min-height: 5.8rem;
  display: grid;
  place-items: center;
  border-left: 1px solid var(--border);
  color: var(--foreground);
  font-size: 1.35rem;
  font-weight: 700;
  text-align: center;
}

.tariff-compare__row summary b:nth-of-type(2) {
  background: color-mix(in srgb, #f5c518 8%, transparent);
}

.tariff-compare__row summary b:nth-of-type(3) {
  background: color-mix(in srgb, #f5c518 14%, transparent);
}

.tariff-compare__row summary b small {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.tariff-compare__row summary i {
  width: 2.15rem;
  height: 2.15rem;
  display: grid;
  place-items: center;
  margin-inline: auto;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: var(--background);
}

.tariff-compare__row summary i::before,
.tariff-compare__row summary i::after {
  grid-area: 1 / 1;
  width: .72rem;
  height: 2px;
  border-radius: 1rem;
  background: currentColor;
  content: "";
}

.tariff-compare__row summary i::after {
  transform: rotate(90deg);
  transition: transform .25s ease;
}

.tariff-compare__row[open] summary i {
  background: #f5c518;
  color: #18140a;
  transform: translateY(1px);
}

.tariff-compare__row[open] summary i::after {
  transform: rotate(0deg);
}

.tariff-compare__detail {
  padding: 0 1.6rem 1.25rem;
}

.tariff-compare__detail p {
  max-width: 58rem;
  margin: 0;
  padding: 1rem 1.1rem;
  border-left: 3px solid #f5c518;
  border-radius: .75rem;
  background: color-mix(in srgb, var(--muted) 42%, var(--background));
  color: color-mix(in srgb, var(--foreground) 66%, transparent);
  font-size: .88rem;
  line-height: 1.6;
}

@media (hover: hover) {
  .tariff-compare__plans a:hover {
    background: #ffe064;
    transform: translateY(-2px);
  }

  .tariff-compare__row summary:hover {
    background: color-mix(in srgb, var(--muted) 34%, transparent);
  }
}

@media (max-width: 980px) {
  .tariff-compare {
    overflow-x: auto;
  }

  .tariff-compare__plans,
  .tariff-compare__rows {
    min-width: 54rem;
  }

  .tariff-compare__plans {
    margin-left: 18rem;
  }

  .tariff-compare__row summary {
    grid-template-columns: 18rem repeat(3, 8rem) 2.5rem;
  }
}

@media (max-width: 620px) {
  .services-accordion-heading h2 {
    max-width: 10ch;
  }

  .tariff-compare {
    border-radius: 1.1rem;
    margin-inline: -1rem;
    border-left: 0;
    border-right: 0;
  }
}

/* Subpage bento consistency pass */
.protection-page .local-bento-card,
.protection-page .cost-bento-card,
.protection-page .services-bento-card,
.protection-page .waiting-bento-card,
.protection-page .waiting-options__grid a {
  border-radius: clamp(1.25rem, 2.2vw, 1.9rem);
  transition:
    transform .42s cubic-bezier(.2,.8,.2,1),
    border-color .42s ease,
    box-shadow .42s ease,
    background .42s ease;
}

.protection-page .waiting-bento-card--link,
.protection-page .waiting-options__grid a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.protection-page .local-bento-card__feature-copy h3,
.protection-page .cost-bento-card__feature-copy h3,
.protection-page .services-bento-card--feature h3,
.protection-page .waiting-bento-card__feature-copy h3 {
  font-size: clamp(2rem, 3.15vw, 3.35rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.protection-page .local-bento-card--office h3,
.protection-page .local-bento-card--tariffs h3,
.protection-page .cost-bento-card--risk h3,
.protection-page .cost-bento-card--factors h3,
.protection-page .cost-bento-card--tariffs h3,
.protection-page .services-bento-card:not(.services-bento-card--feature) h3,
.protection-page .waiting-bento-card--instant h3,
.protection-page .waiting-options__grid h4 {
  font-size: clamp(1.45rem, 2vw, 2.05rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.protection-page .waiting-bento-grid__small strong {
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.protection-page .waiting-bento-card--feature {
  min-height: clamp(28rem, 44vw, 42rem);
  align-content: end;
}

.protection-page .waiting-bento-card--feature::after {
  background:
    linear-gradient(90deg, rgba(255,250,232,.7) 0%, rgba(255,250,232,.36) 38%, rgba(255,250,232,0) 72%),
    linear-gradient(180deg, rgba(255,250,232,.08) 0%, rgba(255,250,232,.18) 100%);
}

.protection-page .waiting-bento-card--feature img {
  object-position: center;
  filter: saturate(.95) contrast(1.02);
}

.protection-page .waiting-bento-card__feature-copy {
  width: min(34rem, calc(100% - clamp(2rem, 6vw, 5rem)));
  margin: clamp(1rem, 3vw, 2rem);
  padding: clamp(1.1rem, 2.4vw, 1.65rem);
  border: 1px solid rgba(24,20,10,.14);
  border-radius: clamp(1rem, 2vw, 1.45rem);
  background: rgba(255,250,232,.58);
  box-shadow: 0 1.5rem 4rem rgba(24,20,10,.12);
  backdrop-filter: blur(14px);
}

.protection-page .waiting-bento-card__feature-copy h3 {
  max-width: 11ch;
  margin-block: .7rem .65rem;
}

.protection-page .waiting-bento-card__feature-copy p {
  max-width: 30rem;
  font-size: .86rem;
  line-height: 1.58;
}

.protection-page .waiting-bento-card__thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 1.1rem;
  border-radius: 1rem;
  object-fit: cover;
  border: 1px solid color-mix(in srgb, var(--primary-action) 28%, var(--border));
  background: #f5c518;
}

.protection-page .waiting-bento-card--instant {
  overflow: hidden;
}

.protection-page .waiting-bento-card--instant .waiting-bento-card__thumb {
  aspect-ratio: 16 / 8.7;
  opacity: .88;
  filter: saturate(.85) contrast(1.04);
}

.protection-page .waiting-bento-card__cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.25rem;
  color: #f5c518;
  font-size: .82rem;
  font-weight: 850;
}

.protection-page .waiting-bento-card__cta span,
.protection-page .waiting-options__grid a > span {
  transition: transform .3s ease;
}

.protection-page .waiting-bento-grid__small .waiting-bento-card {
  min-height: 23rem;
  align-content: start;
}

.protection-page .waiting-bento-grid__small p {
  font-size: .82rem;
  line-height: 1.58;
}

.protection-page .waiting-options__grid a {
  position: relative;
  min-height: 22rem;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--background) 78%, var(--muted));
}

.protection-page .waiting-options__grid img {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 1rem;
  border-radius: 1rem;
  object-fit: cover;
  background: #f5c518;
}

.protection-page .waiting-options__grid h4 {
  margin: .7rem 0 .7rem;
}

.protection-page .waiting-options__grid p {
  font-size: .82rem;
  line-height: 1.58;
}

.protection-page .waiting-options__grid a > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #18140a;
  color: #fff;
  font-size: .9rem;
}

@media (hover: hover) {
  .protection-page .local-bento-card:hover,
  .protection-page .cost-bento-card:hover,
  .protection-page .services-bento-card:hover,
  .protection-page .waiting-bento-card:hover,
  .protection-page .waiting-options__grid a:hover {
    border-color: color-mix(in srgb, var(--primary-action) 46%, var(--border));
    box-shadow: 0 1.55rem 4.2rem rgba(24,24,27,.1);
    transform: translateY(-4px);
  }

  .dark .protection-page .local-bento-card:hover,
  .dark .protection-page .cost-bento-card:hover,
  .dark .protection-page .services-bento-card:hover,
  .dark .protection-page .waiting-bento-card:hover,
  .dark .protection-page .waiting-options__grid a:hover {
    box-shadow: 0 1.7rem 4.6rem rgba(0,0,0,.34);
  }

  .protection-page .waiting-bento-card--feature:hover img,
  .protection-page .waiting-bento-card:hover .waiting-bento-card__thumb,
  .protection-page .waiting-options__grid a:hover img {
    transform: scale(1.025);
  }

  .protection-page .waiting-bento-card--link:hover .waiting-bento-card__cta span,
  .protection-page .waiting-options__grid a:hover > span {
    transform: translate(.12rem, -.12rem);
  }
}

.protection-page .waiting-bento-card__thumb,
.protection-page .waiting-options__grid img {
  transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .42s ease;
}

@media (max-width: 980px) {
  .protection-page .waiting-bento-card__feature-copy {
    width: min(31rem, calc(100% - 2rem));
  }

  .protection-page .waiting-bento-grid__small .waiting-bento-card,
  .protection-page .waiting-options__grid a {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .protection-page .local-bento-card__feature-copy h3,
  .protection-page .cost-bento-card__feature-copy h3,
  .protection-page .services-bento-card--feature h3,
  .protection-page .waiting-bento-card__feature-copy h3 {
    font-size: clamp(2rem, 11vw, 2.75rem);
  }

  .protection-page .waiting-bento-card__feature-copy {
    background: rgba(255,250,232,.68);
  }

  .protection-exclusions-page .waiting-bento-card--feature img {
    object-position: 70% center;
  }

  .protection-exclusions-page .waiting-bento-card__feature-copy h3 {
    font-size: clamp(2rem, 9vw, 2.35rem);
  }

  .protection-exclusions-page .waiting-bento-card__feature-copy p {
    font-size: .78rem;
    line-height: 1.5;
  }
}

/* Dark mini illustrations for secondary bento cards */
.protection-page .bento-mini-media {
  width: 100%;
  height: clamp(7rem, 9vw, 9.25rem);
  display: block;
  flex: 0 0 auto;
  margin: .95rem 0 1.05rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: clamp(.9rem, 1.5vw, 1.15rem);
  background: #111113;
  object-fit: cover;
  object-position: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  filter: saturate(.96) contrast(1.02);
  transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .42s ease, border-color .42s ease;
}

.protection-page .local-bento-card--office,
.protection-page .local-bento-card--tariffs,
.protection-page .cost-bento-card--factors,
.protection-page .cost-bento-card--tariffs,
.protection-page .services-bento-card--tariff,
.protection-page .services-bento-card--service,
.protection-page .services-bento-card--warning {
  justify-content: flex-start;
}

.protection-page .local-bento-card--office .bento-mini-media,
.protection-page .local-bento-card--tariffs .bento-mini-media {
  margin-top: 1.1rem;
  margin-bottom: .85rem;
}

.protection-page .cost-bento-card--risk .bento-mini-media {
  height: clamp(8rem, 10.5vw, 11rem);
  margin: .95rem 0 1.05rem;
}

.protection-page .cost-bento-card--risk header {
  margin-bottom: .65rem;
}

.protection-page .cost-bento-card--factors .bento-mini-media,
.protection-page .cost-bento-card--tariffs .bento-mini-media,
.protection-page .services-bento-card .bento-mini-media {
  margin-top: .75rem;
}

.protection-page .services-bento-card--tariff .bento-mini-media {
  height: clamp(7.5rem, 10vw, 10.5rem);
}

.protection-page .services-bento-card--tariff,
.protection-page .services-bento-card--service,
.protection-page .services-bento-card--warning {
  display: flex;
  flex-direction: column;
}

.protection-page .services-bento-card--tariff {
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 38%),
    color-mix(in srgb, var(--muted) 48%, var(--background));
}

.protection-page .services-bento-card--service {
  background:
    linear-gradient(180deg, rgba(84,191,122,.08), transparent 42%),
    color-mix(in srgb, var(--muted) 46%, var(--background));
}

.protection-page .services-bento-card--warning {
  background:
    linear-gradient(180deg, rgba(201,74,66,.08), transparent 42%),
    color-mix(in srgb, var(--muted) 46%, var(--background));
}

.protection-page .waiting-bento-card__thumb,
.protection-page .waiting-options__grid img {
  border-color: rgba(255,255,255,.1);
  background: #111113;
  filter: saturate(.96) contrast(1.02);
}

.protection-page .waiting-bento-card--instant .waiting-bento-card__thumb {
  opacity: 1;
  filter: saturate(.96) contrast(1.02);
}

@media (hover: hover) {
  .protection-page .local-bento-card:hover .bento-mini-media,
  .protection-page .cost-bento-card:hover .bento-mini-media,
  .protection-page .services-bento-card:hover .bento-mini-media,
  .protection-page .waiting-bento-card:hover .waiting-bento-card__thumb,
  .protection-page .waiting-options__grid a:hover img {
    border-color: rgba(255,255,255,.18);
    filter: saturate(1.04) contrast(1.04);
    transform: scale(1.025);
  }
}

/* Cost page: keep the first bento strong, but stop it from stretching too tall. */
.protection-page.protection-costs-page .cost-bento-grid {
  grid-template-columns: minmax(0, .98fr) minmax(24rem, 1.02fr);
  grid-template-rows: auto auto;
  align-items: start;
}

.protection-page.protection-costs-page .cost-bento-card--feature {
  grid-row: auto;
  min-height: clamp(32rem, 42vw, 39rem);
}

.protection-page.protection-costs-page .cost-bento-card__feature-copy {
  width: min(66%, 31rem);
  padding: clamp(1.5rem, 3vw, 2.65rem);
}

.protection-page.protection-costs-page .cost-bento-card--feature > img {
  width: 68%;
  object-position: 68% center;
}

.protection-page.protection-costs-page .cost-bento-card--risk {
  min-height: clamp(32rem, 42vw, 39rem);
  padding: clamp(1.2rem, 2.2vw, 1.75rem);
}

.protection-page.protection-costs-page .cost-risk-compare > div {
  padding-block: 1rem;
}

.protection-page.protection-costs-page .cost-risk-compare strong {
  font-size: clamp(2.25rem, 3.2vw, 3.3rem);
}

.protection-page.protection-costs-page .cost-bento-grid__small {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.protection-page.protection-costs-page .cost-bento-card--factors,
.protection-page.protection-costs-page .cost-bento-card--tariffs {
  min-height: 21rem;
}

@media (max-width: 620px) {
  .protection-page .bento-mini-media,
  .protection-page .waiting-bento-card__thumb,
  .protection-page .waiting-options__grid img {
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: .95rem;
  }
}

/* Privatrechtsschutz subpage bento stability pass.
   Keep generated images visible while preserving a compact, readable copy plate. */
.protection-page .cost-bento-card--feature,
.protection-page .services-bento-card--feature,
.protection-page .waiting-bento-card--feature,
.protection-local-page .local-bento-card--feature {
  overflow: hidden;
  isolation: isolate;
}

.protection-page .cost-bento-card--feature::before,
.protection-page .cost-bento-card--feature::after,
.protection-page .services-bento-card--feature::before,
.protection-page .services-bento-card--feature::after,
.protection-page .waiting-bento-card--feature::before,
.protection-page .waiting-bento-card--feature::after {
  display: none;
  content: none;
}

.protection-local-page .local-bento-card__shade {
  background: linear-gradient(90deg, rgba(247,237,200,.84) 0%, rgba(247,237,200,.58) 42%, rgba(247,237,200,.08) 70%);
}

.protection-page .cost-bento-card--feature,
.protection-page .services-bento-card--feature,
.protection-page .waiting-bento-card--feature,
.protection-local-page .local-bento-card--feature {
  background: #f7efd2;
  border-color: rgba(24,20,10,.12);
  color: #18140a;
}

.protection-page .cost-bento-card--feature > img,
.protection-page .services-bento-card--feature img,
.protection-page .waiting-bento-card--feature img,
.protection-local-page .local-bento-card--feature > img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
  transform-origin: center;
}

.protection-page .cost-bento-card--feature > img,
.protection-page .services-bento-card--feature img,
.protection-local-page .local-bento-card--feature > img {
  object-fit: cover;
  object-position: center right;
}

.protection-page .services-bento-card--feature img {
  object-position: center;
}

.protection-page .waiting-bento-card--feature img {
  object-fit: contain;
  object-position: center right;
  background: #f7efd2;
}

.protection-page .cost-bento-card--feature:not(.landlord-cost-bento-card--feature):not(.landlord-waiting-bento-card--feature) .cost-bento-card__feature-copy,
.protection-page .services-bento-card--feature > div,
.protection-page .waiting-bento-card__feature-copy,
.protection-local-page .local-bento-card__feature-copy {
  z-index: 2;
  border: 1px solid rgba(24,20,10,.12);
  border-radius: clamp(1.15rem, 1.8vw, 1.55rem);
  background: linear-gradient(135deg, rgba(255,250,232,.82), rgba(255,250,232,.54));
  box-shadow: 0 1.5rem 4rem rgba(24,20,10,.1);
  color: #18140a;
  text-shadow: none;
}

.protection-page .cost-bento-card--feature:not(.landlord-cost-bento-card--feature):not(.landlord-waiting-bento-card--feature) .cost-bento-card__feature-copy {
  width: min(42%, 31rem);
  min-height: auto;
  align-self: end;
  margin: clamp(1.3rem, 3vw, 2.4rem);
  padding: clamp(1.1rem, 2.4vw, 1.65rem);
}

.protection-page .services-bento-card--feature > div {
  max-width: min(35rem, 62%);
  padding: clamp(1.1rem, 2.4vw, 1.65rem);
}

.protection-page .waiting-bento-card__feature-copy {
  max-width: min(36rem, calc(100% - 2.4rem));
  margin: clamp(1.25rem, 3vw, 2.25rem);
  padding: clamp(1.15rem, 2.6vw, 1.75rem);
}

.protection-page .waiting-bento-card__feature-copy > span,
.protection-page .waiting-bento-card__feature-copy p,
.protection-local-page .local-bento-card__feature-copy > span,
.protection-local-page .local-bento-card__feature-copy p {
  color: rgba(24,20,10,.72);
}

.protection-page .waiting-bento-card__feature-copy > span i,
.protection-local-page .local-bento-card__feature-copy > span i {
  background: #18140a;
  box-shadow: 0 0 0 .28rem rgba(24,20,10,.12);
}

@media (max-width: 760px) {
  .protection-page .cost-bento-card--feature:not(.landlord-cost-bento-card--feature):not(.landlord-waiting-bento-card--feature) .cost-bento-card__feature-copy,
  .protection-page .services-bento-card--feature > div,
  .protection-page .waiting-bento-card__feature-copy,
  .protection-local-page .local-bento-card__feature-copy {
    width: auto;
    max-width: calc(100% - 2rem);
    margin: 1rem;
    padding: 1rem;
  }

  .protection-page .waiting-bento-card--feature img {
    object-position: center bottom;
  }
}

/* Final PDF folder bento: single-container folder with right-side bleed cover. */
.protection-bento-pdf--folder {
  position: relative;
  isolation: isolate;
  --folder-tab-height: 3.25rem;
  --folder-radius: 1.85rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  min-height: clamp(32rem, 43vw, 38rem);
  padding: var(--folder-tab-height) 0 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.protection-bento-pdf--folder::before,
.protection-bento-pdf--folder::after,
.protection-bento-pdf--folder .protection-bento-pdf__folder {
  display: none;
  content: none;
}

.protection-bento-pdf--folder .protection-bento-pdf__tab {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: 5;
  width: min(18rem, 30%);
  height: var(--folder-tab-height);
  border: 1px solid rgba(255,255,255,.1);
  border-bottom: 0;
  border-radius: var(--folder-radius) 1.15rem 0 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.095), rgba(255,255,255,.035)),
    #202024;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 .8rem 2.2rem rgba(0,0,0,.18);
  pointer-events: none;
}

.protection-bento-pdf--folder .protection-bento-pdf__copy {
  position: relative;
  z-index: 4;
  grid-column: 1;
  min-width: 0;
  min-height: auto;
  overflow: hidden;
  padding: clamp(5.6rem, 6.2vw, 6.85rem) clamp(2rem, 3vw, 3rem) clamp(2rem, 3vw, 3rem);
  border: 1px solid rgba(255,255,255,.1);
  border-right: 0;
  border-radius: 0 0 0 var(--folder-radius);
  background:
    radial-gradient(circle at 18% 18%, rgba(245,197,24,.12), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    #17171a;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 1.4rem 4.5rem rgba(0,0,0,.24);
}

.protection-bento-pdf--folder .protection-bento-pdf__dock {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 0 0 1.75rem;
}

.protection-bento-pdf--folder .protection-bento-pdf__dock span {
  min-width: 4.15rem;
  height: 4.15rem;
  border-radius: .95rem;
}

.protection-bento-pdf--folder .protection-bento-card-label {
  display: block;
  margin: 0 0 1.05rem;
}

.protection-bento-pdf--folder .protection-bento-pdf__copy h3 {
  max-width: min(100%, 15.5ch);
  margin: 0 0 .95rem;
  font-size: clamp(2.1rem, 3.05vw, 3.25rem);
  line-height: .98;
}

.protection-bento-pdf--folder .protection-bento-pdf__copy p {
  max-width: 37rem;
}

.protection-bento-pdf--folder .protection-bento-pdf__cover {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  z-index: 2;
  align-self: stretch;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-height: 100%;
  max-height: none;
  margin: 0;
  padding-top: 0;
  border: 1px solid rgba(255,255,255,.1);
  border-left: 0;
  border-radius: 0 var(--folder-radius) var(--folder-radius) 0;
  background: #ffed00;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 1.4rem 4.5rem rgba(0,0,0,.24);
}

.protection-bento-pdf--folder .protection-bento-pdf__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transform: scale(1.001);
}

.protection-bento-pdf--folder:hover .protection-bento-pdf__cover img {
  transform: scale(1.035);
}

@media (max-width: 820px) {
  .protection-bento-pdf--folder {
    --folder-tab-height: 3rem;
    --folder-radius: 1.5rem;
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__tab {
    width: min(18rem, 58%);
    height: 3rem;
    border-radius: 1.5rem 1.15rem 0 0;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy {
    padding: 5.4rem 1.35rem 1.55rem;
    border-right: 1px solid rgba(255,255,255,.1);
    border-bottom: 0;
    border-radius: 0 var(--folder-radius) 0 0;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__cover {
    grid-column: 1;
    grid-row: auto;
    min-height: clamp(18rem, 48vw, 24rem);
    margin: 0;
    padding-top: 0;
    border-left: 1px solid rgba(255,255,255,.1);
    border-top: 0;
    border-radius: 0 0 var(--folder-radius) var(--folder-radius);
  }
}

@media (max-width: 620px) {
  .protection-bento-pdf--folder {
    --folder-tab-height: 2.8rem;
    --folder-radius: 1.25rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__tab {
    width: 64%;
    height: 2.8rem;
    border-radius: 1.25rem 1rem 0 0;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy {
    padding: 5.05rem 1.1rem 1.35rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__dock {
    gap: .45rem;
    margin-bottom: 1.25rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__dock span {
    min-width: 3.2rem;
    height: 3.2rem;
    padding-inline: .45rem;
    font-size: .5rem;
  }

  .protection-bento-pdf--folder .protection-bento-pdf__copy h3 {
    max-width: 100%;
    font-size: clamp(1.85rem, 9.4vw, 2.4rem);
  }

.protection-bento-pdf--folder .protection-bento-pdf__cover {
    min-height: 15rem;
    border-radius: 0 0 1.25rem 1.25rem;
  }
}

/* Vermieterrechtsschutz Kosten: detail explainer before the tabbed case navigator */
.landlord-cost-detail-section {
  position: relative;
  scroll-margin-top: 6.5rem;
  padding: clamp(5rem, 8vw, 8rem) 0 clamp(2.8rem, 5vw, 4.5rem);
  background: var(--background);
  color: var(--foreground);
}

.landlord-cost-detail-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 8%, color-mix(in srgb, var(--primary-action) 14%, transparent), transparent 28rem),
    radial-gradient(circle at 82% 36%, rgba(255,255,255,.055), transparent 30rem);
  opacity: .78;
}

.landlord-cost-detail-section__inner {
  position: relative;
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
}

.landlord-cost-detail-heading {
  max-width: 72rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.landlord-cost-detail-heading h2 {
  max-width: 13ch;
  margin: 1rem 0 1.4rem;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5.7rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.landlord-cost-detail-heading h2 span {
  color: color-mix(in srgb, var(--primary-action) 84%, var(--foreground));
}

.landlord-cost-detail-heading p {
  max-width: 46rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 64%, var(--background));
  font-size: clamp(.98rem, 1.15vw, 1.08rem);
  line-height: 1.72;
}

.landlord-cost-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(22rem, .78fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
}

.landlord-cost-detail-copy,
.landlord-cost-levels,
.landlord-cost-detail-cta {
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    color-mix(in srgb, var(--foreground) 5%, var(--background));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 1.5rem 4.25rem rgba(0,0,0,.2);
}

.landlord-cost-detail-copy {
  padding: clamp(1.4rem, 3vw, 2.6rem);
  border-radius: 2rem;
}

.landlord-cost-detail-copy > span,
.landlord-cost-levels > span {
  display: block;
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
  font-size: .68rem;
  font-weight: 860;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.landlord-cost-detail-copy h3,
.landlord-cost-levels h3 {
  max-width: 16ch;
  margin: 1rem 0 1.2rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.35vw, 3.45rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.landlord-cost-detail-copy p {
  max-width: 52rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 63%, var(--background));
  font-size: clamp(.95rem, 1.08vw, 1.04rem);
  line-height: 1.76;
}

.landlord-cost-detail-copy p + p {
  margin-top: 1rem;
}

.landlord-cost-detail-copy a {
  color: color-mix(in srgb, var(--primary-action) 86%, var(--foreground));
  font-weight: 760;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--primary-action) 34%, transparent);
}

.landlord-cost-detail-copy a:hover {
  border-bottom-color: color-mix(in srgb, var(--primary-action) 82%, transparent);
}

.landlord-cost-factor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: clamp(1.3rem, 2.6vw, 2rem);
}

.landlord-cost-factor-grid div {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: 1.1rem;
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.landlord-cost-factor-grid b {
  width: .65rem;
  height: .65rem;
  flex: 0 0 auto;
  margin-top: .28rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary-action) 86%, var(--foreground));
  box-shadow: 0 0 1.4rem color-mix(in srgb, var(--primary-action) 38%, transparent);
}

.landlord-cost-factor-grid strong {
  display: block;
  color: var(--foreground);
  font-size: .92rem;
  line-height: 1.2;
}

.landlord-cost-factor-grid small {
  display: block;
  margin-top: .35rem;
  color: color-mix(in srgb, var(--foreground) 50%, var(--background));
  font-size: .75rem;
  line-height: 1.35;
}

.landlord-cost-levels {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border-radius: 2rem;
}

.landlord-cost-levels::after {
  content: "";
  position: absolute;
  inset: auto -7rem -9rem auto;
  width: 18rem;
  aspect-ratio: 1;
  border: 1.35rem solid color-mix(in srgb, var(--primary-action) 17%, transparent);
  border-radius: 999px;
  pointer-events: none;
}

.landlord-cost-levels ol {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .75rem;
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.landlord-cost-levels li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: 1.15rem;
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.landlord-cost-levels li.is-warning {
  border-color: rgba(255,122,112,.2);
  background: linear-gradient(135deg, rgba(255,82,70,.1), color-mix(in srgb, var(--foreground) 4%, transparent));
}

.landlord-cost-levels small {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary-action) 14%, transparent);
  color: color-mix(in srgb, var(--primary-action) 84%, var(--foreground));
  font-size: .7rem;
  font-weight: 850;
}

.landlord-cost-levels strong {
  display: block;
  color: var(--foreground);
  font-size: 1rem;
  line-height: 1.2;
}

.landlord-cost-levels p {
  margin: .45rem 0 0;
  color: color-mix(in srgb, var(--foreground) 55%, var(--background));
  font-size: .82rem;
  line-height: 1.55;
}

.landlord-cost-detail-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: clamp(1rem, 2.4vw, 1.6rem);
  padding: clamp(1rem, 2.2vw, 1.35rem);
  border-radius: 1.45rem;
}

.landlord-cost-detail-cta strong {
  display: block;
  color: var(--foreground);
  font-size: 1rem;
}

.landlord-cost-detail-cta p {
  max-width: 52rem;
  margin: .35rem 0 0;
  color: color-mix(in srgb, var(--foreground) 56%, var(--background));
  font-size: .86rem;
  line-height: 1.55;
}

.landlord-cost-detail-cta a {
  min-height: 3rem;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: 0 1.15rem;
  border-radius: 999px;
  background: var(--primary-action);
  color: #15120a;
  font-weight: 850;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
}

.landlord-cost-detail-cta a:hover {
  transform: translateY(-2px);
  box-shadow: 0 1rem 2rem color-mix(in srgb, var(--primary-action) 18%, transparent);
}

@media (max-width: 980px) {
  .landlord-cost-detail-layout {
    grid-template-columns: 1fr;
  }

  .landlord-cost-detail-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .landlord-cost-detail-section {
    padding: 4.5rem 0 2.5rem;
  }

  .landlord-cost-detail-section__inner {
    width: min(100% - 2rem, 90rem);
  }

  .landlord-cost-detail-heading h2 {
    font-size: 2.65rem;
  }

  .landlord-cost-detail-copy,
  .landlord-cost-levels {
    border-radius: 1.35rem;
    padding: 1.15rem;
  }

  .landlord-cost-detail-copy h3,
  .landlord-cost-levels h3 {
    font-size: 2.15rem;
  }

  .landlord-cost-factor-grid {
    grid-template-columns: 1fr;
  }
}

/* Vermieterrechtsschutz: tabbed case navigator, post-bento risk story and comparison matrix */
.landlord-scenario-tabs {
  position: relative;
  scroll-margin-top: 6.5rem;
  padding: clamp(3.2rem, 6vw, 5.5rem) 0 clamp(3.5rem, 6vw, 6rem);
  background: var(--background);
  color: var(--foreground);
}

.landlord-scenario-tabs::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 4%, color-mix(in srgb, var(--primary-action) 15%, transparent), transparent 28rem),
    radial-gradient(circle at 80% 58%, rgba(255,255,255,.05), transparent 30rem);
  opacity: .82;
}

.landlord-scenario-tabs__inner {
  position: relative;
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
}

.landlord-scenario-tabs__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1rem, 2.2vw, 1.65rem);
  margin-bottom: clamp(1.7rem, 3.8vw, 3.2rem);
}

.landlord-scenario-tabs__header h2 {
  max-width: 16ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(3rem, 5.2vw, 6rem);
  font-weight: 650;
  line-height: .96;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.landlord-scenario-tabs__header h2 span {
  color: color-mix(in srgb, var(--primary-action) 85%, var(--foreground));
}

.landlord-scenario-tabs__header p {
  max-width: 46rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 63%, var(--background));
  font-size: clamp(.98rem, 1.12vw, 1.08rem);
  line-height: 1.72;
}

.landlord-scenario-tabs__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
  padding: .35rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 13%, transparent);
  border-radius: 999px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--foreground) 6%, transparent), color-mix(in srgb, var(--foreground) 2%, transparent)),
    color-mix(in srgb, var(--background) 92%, var(--foreground));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.landlord-scenario-tabs__nav button {
  min-width: 0;
  min-height: 3.2rem;
  padding: 0 .8rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: color-mix(in srgb, var(--foreground) 75%, var(--background));
  font: inherit;
  font-size: .9rem;
  font-weight: 820;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: transform .24s ease, color .24s ease, background .24s ease, box-shadow .24s ease;
}

.landlord-scenario-tabs__nav button:hover,
.landlord-scenario-tabs__nav button:focus-visible {
  color: var(--foreground);
  background: color-mix(in srgb, var(--foreground) 7%, transparent);
}

.landlord-scenario-tabs__nav button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--primary-action) 78%, var(--foreground));
  outline-offset: 3px;
}

.landlord-scenario-tabs__nav button.is-active {
  color: #14120a;
  background: linear-gradient(135deg, var(--primary-action), color-mix(in srgb, var(--primary-action) 74%, #fff));
  box-shadow:
    0 .85rem 2rem color-mix(in srgb, var(--primary-action) 18%, transparent),
    inset 0 1px 0 rgba(255,255,255,.45);
}

.landlord-scenario-tabs__stage {
  margin-top: clamp(1rem, 2.4vw, 1.8rem);
}

.landlord-scenario-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(1rem, 2.8vw, 2rem);
  align-items: stretch;
  min-height: 34rem;
  padding: clamp(.85rem, 1.4vw, 1.15rem);
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  border-radius: 2.2rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    color-mix(in srgb, var(--foreground) 5%, var(--background));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 1.6rem 4.5rem rgba(0,0,0,.22);
}

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

.landlord-scenario-panel__visual {
  position: relative;
  overflow: hidden;
  min-height: 28rem;
  margin: 0;
  border-radius: 1.55rem;
  background: #111;
}

.landlord-scenario-panel__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.04), transparent 45%),
    radial-gradient(circle at 14% 12%, color-mix(in srgb, var(--primary-action) 14%, transparent), transparent 18rem);
}

.landlord-scenario-panel__visual img {
  width: 100%;
  height: 100%;
  min-height: 28rem;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(.96) contrast(1.02);
  transform: scale(1.01);
}

.landlord-scenario-panel__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.2rem, 3vw, 3rem);
}

.landlord-scenario-panel__copy > span {
  color: color-mix(in srgb, var(--primary-action) 84%, var(--foreground));
  font-size: .72rem;
  font-weight: 880;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.landlord-scenario-panel__copy h3 {
  max-width: 12ch;
  margin: 1rem 0 1.15rem;
  font-family: var(--font-display);
  font-size: clamp(2.55rem, 4.5vw, 5rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.landlord-scenario-panel__copy p {
  max-width: 43rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 64%, var(--background));
  font-size: clamp(.98rem, 1.12vw, 1.1rem);
  line-height: 1.72;
}

.landlord-scenario-panel__copy dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: clamp(1.3rem, 2.6vw, 2rem) 0 0;
}

.landlord-scenario-panel__copy dl div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: 1.1rem;
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.landlord-scenario-panel__copy dt {
  color: color-mix(in srgb, var(--foreground) 48%, var(--background));
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.landlord-scenario-panel__copy dd {
  margin: .55rem 0 0;
  color: var(--foreground);
  font-size: .88rem;
  font-weight: 760;
  line-height: 1.35;
}

.landlord-scenario-panel__copy dd a {
  color: color-mix(in srgb, var(--primary-action) 88%, var(--foreground));
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--primary-action) 36%, transparent);
}

.landlord-scenario-panel__copy dd a:hover {
  border-bottom-color: color-mix(in srgb, var(--primary-action) 86%, transparent);
}

@media (max-width: 980px) {
  .landlord-scenario-tabs__header,
  .landlord-scenario-panel {
    grid-template-columns: 1fr;
  }

  .landlord-scenario-tabs__header {
    align-items: start;
  }

  .landlord-scenario-panel {
    min-height: auto;
  }

  .landlord-scenario-panel__visual,
  .landlord-scenario-panel__visual img {
    min-height: 22rem;
  }
}

@media (max-width: 720px) {
  .landlord-scenario-tabs {
    padding: 4.5rem 0 3.5rem;
  }

  .landlord-scenario-tabs__inner {
    width: min(100% - 2rem, 90rem);
  }

  .landlord-scenario-tabs__header h2 {
    font-size: 2.65rem;
  }

  .landlord-scenario-tabs__nav {
    display: flex;
    overflow-x: auto;
    border-radius: 1.25rem;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .landlord-scenario-tabs__nav::-webkit-scrollbar {
    display: none;
  }

  .landlord-scenario-tabs__nav button {
    min-width: 11rem;
    scroll-snap-align: start;
  }

  .landlord-scenario-panel {
    border-radius: 1.45rem;
    padding: .65rem;
  }

  .landlord-scenario-panel__visual {
    border-radius: 1.05rem;
  }

  .landlord-scenario-panel__visual,
  .landlord-scenario-panel__visual img {
    min-height: 17rem;
  }

  .landlord-scenario-panel__copy {
    padding: 1rem .65rem 1.2rem;
  }

  .landlord-scenario-panel__copy h3 {
    font-size: 2.45rem;
  }

  .landlord-scenario-panel__copy dl {
    grid-template-columns: 1fr;
  }
}

.landlord-risk-story,
.landlord-cost-matrix {
  position: relative;
  scroll-margin-top: 6.5rem;
  padding: clamp(5rem, 8vw, 8.5rem) 0;
  background: var(--background);
  color: var(--foreground);
}

.landlord-risk-story::before,
.landlord-cost-matrix::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--primary-action) 18%, transparent), transparent 28rem),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.055), transparent 26rem);
  opacity: .8;
}

.landlord-risk-story__inner,
.landlord-cost-matrix__inner {
  position: relative;
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
}

.landlord-risk-story__inner {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  align-items: stretch;
  gap: clamp(1.5rem, 4vw, 4rem);
}

.landlord-risk-story__heading {
  min-width: 0;
  min-height: 34rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 1rem;
}

.landlord-risk-story__heading h2,
.landlord-cost-matrix__header h2 {
  max-width: min(100%, 12ch);
  margin: 1rem 0 1.4rem;
  font-family: var(--font-display);
  font-size: clamp(3rem, 4.8vw, 5.35rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}

.landlord-cost-matrix__header h2 {
  max-width: 15ch;
  font-size: clamp(2.8rem, 4.6vw, 5.1rem);
}

.landlord-risk-story__heading p,
.landlord-cost-matrix__header p {
  max-width: 39rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 64%, var(--background));
  font-size: clamp(.94rem, 1.15vw, 1.08rem);
  line-height: 1.75;
}

.landlord-risk-story__links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 2rem;
}

.landlord-risk-story__links a {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: 0 1rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 12%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--foreground) 5%, transparent);
  color: var(--foreground);
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.landlord-risk-story__links a:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary-action) 48%, transparent);
  background: color-mix(in srgb, var(--primary-action) 12%, transparent);
}

.landlord-risk-card {
  position: relative;
  overflow: hidden;
  min-height: 34rem;
  padding: clamp(1.4rem, 2.4vw, 2.3rem);
  border: 1px solid color-mix(in srgb, var(--foreground) 11%, transparent);
  border-radius: 2rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    color-mix(in srgb, var(--foreground) 6%, var(--background));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 1.4rem 4rem rgba(0,0,0,.24);
}

.landlord-risk-card::before {
  content: "";
  position: absolute;
  inset: auto -8rem -12rem auto;
  width: 24rem;
  aspect-ratio: 1;
  border: 1.8rem solid color-mix(in srgb, var(--primary-action) 20%, transparent);
  border-radius: 999px;
  opacity: .55;
}

.landlord-risk-card__topline,
.landlord-risk-card__result,
.landlord-risk-card__grid {
  position: relative;
  z-index: 1;
}

.landlord-risk-card__topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
}

.landlord-risk-card__topline span,
.landlord-risk-card__grid span,
.landlord-risk-card__result span {
  display: block;
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.landlord-risk-card__topline strong {
  display: block;
  margin-top: .45rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  line-height: .98;
  letter-spacing: -.04em;
}

.landlord-risk-card__topline small {
  padding: .55rem .75rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--foreground) 62%, var(--background));
  font-size: .68rem;
  font-weight: 800;
}

.landlord-risk-card__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin-top: 1.5rem;
}

.landlord-risk-card__grid div {
  min-height: 8.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: 1.15rem;
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.landlord-risk-card__grid strong {
  display: block;
  margin-top: 1.4rem;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1;
  letter-spacing: -.035em;
}

.landlord-risk-card__result {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-top: .75rem;
}

.landlord-risk-card__result > div {
  min-height: 11rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.2rem;
  border-radius: 1.25rem;
}

.landlord-risk-card__result .is-risk {
  border: 1px solid rgba(255,122,112,.22);
  background: linear-gradient(180deg, rgba(255,76,64,.16), rgba(255,76,64,.05));
}

.landlord-risk-card__result .is-risk span,
.landlord-risk-card__result .is-risk small { color: #ff9a91; }

.landlord-risk-card__result .is-covered {
  border: 1px solid color-mix(in srgb, var(--primary-action) 30%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--primary-action) 18%, transparent), color-mix(in srgb, var(--primary-action) 6%, transparent));
  box-shadow: 0 0 3rem color-mix(in srgb, var(--primary-action) 10%, transparent);
}

.landlord-risk-card__result strong {
  display: block;
  margin: .45rem 0 .35rem;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: .95;
  letter-spacing: -.045em;
}

.landlord-risk-card__result small,
.landlord-risk-card > p {
  color: color-mix(in srgb, var(--foreground) 56%, var(--background));
  font-size: .75rem;
  line-height: 1.55;
}

.landlord-risk-card > p {
  position: relative;
  z-index: 1;
  max-width: 44rem;
  margin: 1.15rem 0 0;
}

.landlord-cost-matrix {
  padding-top: 2rem;
}

.landlord-cost-matrix__header {
  max-width: 68rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.landlord-cost-matrix__layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(30rem, 1.08fr);
  align-items: start;
  gap: clamp(1.4rem, 3.5vw, 3rem);
}

.landlord-cost-copy {
  min-width: 0;
  padding: clamp(1.4rem, 2.4vw, 2.2rem);
  border: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: 2rem;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--foreground) 5%, transparent), transparent),
    color-mix(in srgb, var(--foreground) 3%, var(--background));
}

.landlord-cost-copy h3 {
  max-width: 14ch;
  margin: 0 0 1.2rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.45rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.038em;
}

.landlord-cost-copy p {
  max-width: 46rem;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 62%, var(--background));
  font-size: clamp(.92rem, 1.05vw, 1.02rem);
  line-height: 1.75;
}

.landlord-cost-copy p + p {
  margin-top: 1rem;
}

.landlord-cost-copy a {
  color: color-mix(in srgb, var(--primary-action) 86%, var(--foreground));
  font-weight: 760;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--primary-action) 34%, transparent);
}

.landlord-cost-copy a:hover {
  border-bottom-color: color-mix(in srgb, var(--primary-action) 80%, transparent);
}

.landlord-seo-cases {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin: 1.35rem 0;
}

.landlord-seo-cases article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: 1.25rem;
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.landlord-seo-cases span {
  display: block;
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.landlord-seo-cases strong {
  display: block;
  margin-top: .65rem;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: 1.05rem;
  line-height: 1.05;
  letter-spacing: -.025em;
}

.landlord-seo-cases p {
  margin-top: .65rem;
  font-size: .78rem;
  line-height: 1.55;
}

.landlord-cost-table {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  border-radius: 2rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02)),
    color-mix(in srgb, var(--foreground) 5%, var(--background));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 1.6rem 4.5rem rgba(0,0,0,.22);
}

.landlord-cost-table__row {
  display: grid;
  grid-template-columns: minmax(12rem, 1.05fr) minmax(9.5rem, .78fr) minmax(10.5rem, .88fr);
  min-width: 0;
}

.landlord-cost-table__row + .landlord-cost-table__row {
  border-top: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
}

.landlord-cost-table__row > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: 1.05rem 1.05rem;
  color: color-mix(in srgb, var(--foreground) 68%, var(--background));
  font-size: .8rem;
  line-height: 1.45;
}

.landlord-cost-table__row > div + div {
  border-left: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
}

.landlord-cost-table__row--head > div {
  min-height: 4rem;
  color: color-mix(in srgb, var(--foreground) 54%, var(--background));
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.landlord-cost-table__row strong {
  display: block;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: .92rem;
  line-height: 1.15;
  letter-spacing: -.015em;
}

.landlord-cost-table__row div:first-child {
  display: block;
}

.landlord-cost-table__row div:first-child span {
  display: block;
  margin-top: .35rem;
  color: color-mix(in srgb, var(--foreground) 48%, var(--background));
  font-size: .72rem;
}

.landlord-cost-table__row .is-arag {
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--primary-action) 18%, transparent), transparent 14rem),
    color-mix(in srgb, var(--primary-action) 6%, transparent);
}

.matrix-icon {
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.matrix-icon--check {
  color: color-mix(in srgb, var(--primary-action) 78%, #fff);
}

.matrix-icon--muted {
  color: color-mix(in srgb, var(--foreground) 34%, var(--background));
}

.landlord-cost-matrix__note {
  max-width: 56rem;
  margin: 1.25rem 0 0;
  color: color-mix(in srgb, var(--foreground) 54%, var(--background));
  font-size: .82rem;
  line-height: 1.65;
}

.landlord-tariff-layout {
  display: grid;
  grid-template-columns: minmax(15rem, .42fr) minmax(0, 1.58fr);
  align-items: start;
  gap: clamp(1.2rem, 3vw, 2.4rem);
}

.landlord-tariff-copy {
  position: sticky;
  top: 7rem;
  min-width: 0;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--primary-action) 14%, transparent), transparent 16rem),
    color-mix(in srgb, var(--foreground) 4%, var(--background));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.landlord-tariff-copy h3 {
  max-width: 12ch;
  margin: 0 0 1rem;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 2.65vw, 3rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.04em;
}

.landlord-tariff-copy p {
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 62%, var(--background));
  font-size: clamp(.92rem, 1.05vw, 1.02rem);
  line-height: 1.72;
}

.landlord-tariff-copy p + p { margin-top: 1rem; }

.landlord-tariff-copy p a,
.tariff-compare__detail a,
.protection-faq--landlord a {
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
  font-weight: 760;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: color .25s ease, background-size .25s ease;
}

.landlord-tariff-copy__links {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.4rem;
}

.landlord-tariff-copy__links a {
  min-height: 2.55rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: 0 .95rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 12%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--foreground) 5%, transparent);
  color: var(--foreground);
  font-size: .75rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.tariff-compare--landlord {
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.018)),
    color-mix(in srgb, var(--foreground) 4%, var(--background));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 1.6rem 4.5rem rgba(0,0,0,.22);
}

.tariff-compare--landlord .tariff-compare__plans {
  grid-template-columns: minmax(12.5rem, 1.25fr) repeat(3, minmax(8.5rem, 1fr)) 2.75rem;
  margin: 0;
  padding-right: 0;
  border-left: 0;
}

.tariff-compare--landlord .tariff-compare__plans::before {
  display: none;
  content: none;
}

.tariff-compare--landlord .tariff-compare__plans::after {
  display: block;
  content: "";
  border-left: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
}

.tariff-compare--landlord .tariff-compare__plans article {
  min-height: 12.5rem;
  justify-content: flex-end;
  padding: clamp(1rem, 1.6vw, 1.45rem);
  background: color-mix(in srgb, var(--foreground) 4%, var(--background));
}

.tariff-compare--landlord .tariff-compare__plan-intro {
  min-width: 0;
  padding: clamp(1rem, 1.7vw, 1.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: .35rem;
  border-right: 1px solid color-mix(in srgb, var(--foreground) 9%, transparent);
  background: color-mix(in srgb, var(--foreground) 3%, var(--background));
}

.tariff-compare--landlord .tariff-compare__plan-intro span {
  color: var(--primary-action);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.tariff-compare--landlord .tariff-compare__plan-intro strong {
  max-width: 12ch;
  color: var(--foreground);
  font-size: clamp(1.35rem, 1.75vw, 1.85rem);
  line-height: 1;
}

.tariff-compare--landlord .tariff-compare__plan-intro small {
  color: var(--muted-foreground);
  font-size: .82rem;
  line-height: 1.45;
}

.tariff-compare--landlord .tariff-compare__plans article h3 {
  font-size: clamp(1.45rem, 1.8vw, 1.9rem);
  line-height: 1;
}

.tariff-compare--landlord .tariff-compare__plans a {
  transition: transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s ease, background .28s ease;
}

.tariff-compare--landlord .tariff-compare__plans article:nth-child(3) {
  background: color-mix(in srgb, var(--primary-action) 10%, var(--background));
}

.tariff-compare--landlord .tariff-compare__plans article:nth-child(4) {
  position: relative;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--primary-action) 18%, transparent), transparent 15rem),
    color-mix(in srgb, var(--primary-action) 16%, var(--background));
}

.tariff-compare--landlord .tariff-compare__plans article:nth-child(4)::before {
  display: none;
  content: none;
}

.tariff-compare--landlord .tariff-compare__symbol {
  display: none;
}

.tariff-compare--landlord .tariff-compare__row summary {
  grid-template-columns: minmax(12.5rem, 1.25fr) repeat(3, minmax(8.5rem, 1fr)) 2.75rem;
}

.tariff-compare--landlord .tariff-compare__row summary b.is-muted {
  color: color-mix(in srgb, var(--foreground) 30%, var(--background));
  font-size: 1.35rem;
}

.tariff-compare--landlord .tariff-compare__row summary b.is-optional {
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
}

.tariff-compare--landlord .tariff-compare__row summary b.is-optional small {
  color: inherit;
}

@media (hover: hover) {
  .landlord-tariff-copy p a:hover,
  .tariff-compare__detail a:hover,
  .protection-faq--landlord a:hover {
    color: var(--primary-action);
    background-size: 100% 2px;
  }

  .landlord-tariff-copy__links a:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--primary-action) 48%, transparent);
    background: color-mix(in srgb, var(--primary-action) 12%, transparent);
  }

  .tariff-compare--landlord .tariff-compare__plans a:hover {
    transform: translateY(-2px) scale(1.015);
    box-shadow: 0 .8rem 1.8rem color-mix(in srgb, var(--primary-action) 14%, transparent);
  }
}

@media (max-width: 980px) {
  .landlord-risk-story__inner {
    grid-template-columns: 1fr;
  }

  .landlord-cost-matrix__layout,
  .landlord-tariff-layout {
    grid-template-columns: 1fr;
  }

  .landlord-tariff-copy {
    position: static;
  }

  .landlord-risk-story__heading {
    min-height: auto;
  }

  .landlord-cost-table {
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .tariff-compare--landlord {
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .tariff-compare--landlord .tariff-compare__plans,
  .tariff-compare--landlord .tariff-compare__rows {
    min-width: 58rem;
  }

  .tariff-compare--landlord .tariff-compare__plans {
    grid-template-columns: 15rem repeat(3, 8rem) 2.5rem;
    margin: 0;
    padding-right: 0;
  }

  .tariff-compare--landlord .tariff-compare__row summary {
    grid-template-columns: 15rem repeat(3, 8rem) 2.5rem;
  }
}

@media (max-width: 720px) {
  .landlord-risk-story,
  .landlord-cost-matrix {
    padding: 4.5rem 0;
  }

  .landlord-risk-story__inner,
  .landlord-cost-matrix__inner {
    width: min(100% - 2rem, 90rem);
  }

  .landlord-cost-copy {
    padding: 1.15rem;
    border-radius: 1.35rem;
  }

  .landlord-cost-copy h3 {
    font-size: 2.15rem;
  }

  .landlord-tariff-copy {
    padding: 1.15rem;
    border-radius: 1.35rem;
  }

  .landlord-tariff-copy h3 {
    font-size: 2.15rem;
  }

  .landlord-seo-cases {
    grid-template-columns: 1fr;
  }

  .landlord-risk-card {
    min-height: auto;
    border-radius: 1.35rem;
  }

  .landlord-risk-card__grid,
  .landlord-risk-card__result {
    grid-template-columns: 1fr;
  }

  .landlord-risk-card__grid div,
  .landlord-risk-card__result > div {
    min-height: auto;
  }

  .landlord-cost-table {
    border-radius: 1.35rem;
  }

  .landlord-cost-table__row {
    min-width: 42rem;
    grid-template-columns: minmax(12rem, 1fr) minmax(9rem, .82fr) minmax(10rem, .9fr);
  }
}

/* Exclusions page polish: avoid nested-link artifacts and keep mini bento media visible. */
.protection-exclusions-page .waiting-bento-grid__small .waiting-bento-card {
  grid-template-rows: auto auto auto 1fr !important;
  align-content: start !important;
  gap: .95rem !important;
}

.protection-exclusions-page .waiting-bento-card__thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 .35rem !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 1rem !important;
  background: #111 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

.protection-exclusions-page .waiting-bento-grid__small p {
  align-self: end;
}

.protection-exclusions-page .waiting-bento-grid__small p strong,
.protection-exclusions-page .coverage-question-rail p a,
.protection-exclusions-page .waiting-detail-copy p a,
.protection-exclusions-page .coverage-matrix p a {
  display: inline !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: color-mix(in srgb, var(--primary-action) 76%, var(--foreground)) !important;
  font-weight: 850;
  text-decoration-line: underline !important;
  text-decoration-color: color-mix(in srgb, var(--primary-action) 62%, transparent) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .18em !important;
}

.protection-exclusions-page .waiting-bento-grid__small p strong {
  display: inline !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  color: inherit !important;
  font-weight: 850 !important;
  text-decoration-line: none !important;
}

.protection-exclusions-page .coverage-question-rail p a:hover,
.protection-exclusions-page .waiting-detail-copy p a:hover,
.protection-exclusions-page .coverage-matrix p a:hover {
  color: var(--primary-action) !important;
  text-decoration-color: var(--primary-action) !important;
}

/* Vermieterrechtsschutz Kosten: subpage bento layout follows the private-rightsschutz pattern. */
.protection-landlord-costs-page .protection-cost-hero .protection-phone__visual {
  overflow: hidden;
}

.protection-landlord-costs-page .protection-cost-hero__ledger {
  position: absolute;
  right: .8rem;
  bottom: .75rem;
  left: .8rem;
  z-index: 3;
  display: grid;
  gap: .28rem;
  padding: .55rem;
  border: 1px solid rgba(24,20,10,.14);
  border-radius: .7rem;
  background: rgba(255,248,219,.86);
  color: #18140a;
  box-shadow: 0 .65rem 1.5rem rgba(24,20,10,.13);
  backdrop-filter: blur(8px);
}

.protection-landlord-costs-page .protection-cost-hero__ledger span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  padding: .2rem .25rem;
  border-bottom: 1px solid rgba(24,20,10,.1);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.protection-landlord-costs-page .protection-cost-hero__ledger span:last-child {
  border-bottom: 0;
}

.protection-landlord-costs-page .protection-cost-hero__ledger b {
  color: #765900;
  font-size: .52rem;
  letter-spacing: .08em;
}

.protection-landlord-costs-page .protection-cost-hero .protection-phone__location-label {
  top: .8rem;
  right: .8rem;
  bottom: auto;
  left: .8rem;
  max-width: 80%;
  color: #18140a;
  font-size: .78rem;
}

.protection-landlord-costs-page .protection-cost-hero .protection-phone__location-label small {
  color: #765900;
}

@media (max-width: 700px) {
  .protection-landlord-costs-page .protection-cost-hero__ledger {
    right: .65rem;
    bottom: .6rem;
    left: .65rem;
  }

  .protection-landlord-costs-page .protection-cost-hero .protection-phone__location-label {
    top: .65rem;
    right: .65rem;
    left: .65rem;
    max-width: 86%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .protection-landlord-costs-page .protection-cost-hero__ledger {
    backdrop-filter: none;
  }
}

.protection-landlord-costs-page .protection-phone__visual--landlord-costs {
  overflow: hidden;
  background: #f7efd2;
}

.protection-landlord-costs-page .protection-phone__visual--landlord-costs::after {
  display: none !important;
  content: none !important;
}

.protection-landlord-costs-page .protection-phone__visual--landlord-costs img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
  opacity: 1;
  filter: none;
  transform: scale(1.04);
}

.protection-landlord-costs-page .protection-phone__visual--landlord-costs .protection-phone__location-label {
  z-index: 2;
  max-width: 82%;
  color: #18140a;
  background: rgba(255,248,219,.72);
  border-color: rgba(24,20,10,.12);
  box-shadow: 0 .9rem 2.4rem rgba(24,20,10,.14);
}

.protection-landlord-costs-page .landlord-cost-bento-section {
  padding-top: clamp(5rem, 8vw, 8rem);
}

.protection-landlord-costs-page .landlord-cost-bento-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .92fr);
  grid-template-rows: minmax(20rem, auto) minmax(19rem, auto);
}

.protection-landlord-costs-page .landlord-cost-bento-grid a.cost-bento-card {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.protection-landlord-costs-page .landlord-cost-bento-card--feature {
  min-height: clamp(34rem, 48vw, 43rem);
  background: #f7efd2;
  color: #18140a;
}

.protection-landlord-costs-page .landlord-cost-bento-card--feature > img {
  object-position: center;
  transform: none;
}

.protection-landlord-costs-page .landlord-cost-bento-card--feature .cost-bento-card__feature-copy {
  color: #18140a;
  text-shadow: none;
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden,
.protection-landlord-costs-page .landlord-cost-bento-card--dark {
  background:
    radial-gradient(circle at 78% 6%, rgba(245,197,24,.11), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    #141416;
  color: #fff;
  border-color: rgba(255,255,255,.085);
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden {
  min-height: clamp(20rem, 27vw, 26rem);
  padding: clamp(1.2rem, 2.2vw, 1.6rem);
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden header {
  margin: 0 0 1rem;
  align-items: flex-start;
  flex-direction: column;
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden header > span,
.protection-landlord-costs-page .landlord-cost-bento-card--dark > span {
  color: #f5c518;
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden h3,
.protection-landlord-costs-page .landlord-cost-bento-card--dark h3 {
  max-width: 12ch;
  margin: .75rem 0 .8rem;
  font-size: clamp(1.65rem, 2.45vw, 2.35rem);
  text-align: left;
  color: #fff !important;
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden p,
.protection-landlord-costs-page .landlord-cost-bento-card--dark p {
  margin: .9rem 0 0;
  color: rgba(255,255,255,.68) !important;
  font-size: .78rem;
  line-height: 1.58;
}

.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden small,
.protection-landlord-costs-page .landlord-cost-bento-card--dark strong {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: auto;
  color: #f5c518 !important;
  font-size: .68rem;
  font-weight: 850;
}

.protection-landlord-costs-page .landlord-cost-bento-card--dark {
  min-height: clamp(19rem, 24vw, 23rem);
  padding: clamp(1rem, 2vw, 1.35rem);
}

.protection-landlord-costs-page .landlord-cost-bento-card--dark .bento-mini-media,
.protection-landlord-costs-page .landlord-cost-bento-card--mietnomaden .bento-mini-media {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  margin: 0 0 .9rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: .95rem;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  filter: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

@media (hover: hover) {
  .protection-landlord-costs-page .landlord-cost-bento-grid a.cost-bento-card:hover .bento-mini-media {
    transform: scale(1.025);
  }
}

@media (max-width: 1000px) {
  .protection-landlord-costs-page .landlord-cost-bento-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature {
    min-height: 36rem;
  }
}

/* Design audit pass: make older subpage cards feel less static and less templated. */
.protection-page :is(
  .local-bento-card,
  .cost-bento-card,
  .services-bento-card,
  .waiting-bento-card,
  .waiting-options__grid a,
  .local-topic-silo__link
),
.protection-landlord-costs-page :is(
  .landlord-cost-detail-copy,
  .landlord-cost-levels,
  .landlord-scenario-panel
) {
  backface-visibility: hidden;
  transform: translateZ(0);
  transition:
    transform .46s cubic-bezier(.2,.8,.2,1),
    border-color .46s ease,
    background .46s ease,
    box-shadow .46s ease,
    filter .46s ease;
}

.protection-page :is(
  .local-bento-card,
  .cost-bento-card,
  .services-bento-card,
  .waiting-bento-card,
  .waiting-options__grid a,
  .local-topic-silo__link
) :is(strong, small, a, .waiting-bento-card__cta, i),
.protection-landlord-costs-page :is(.landlord-scenario-panel__copy dd a, .landlord-cost-detail-copy a) {
  transition: transform .34s ease, color .34s ease, border-color .34s ease, opacity .34s ease;
}

@media (hover: hover) and (pointer: fine) {
  .protection-page :is(
    .local-bento-card,
    .cost-bento-card,
    .services-bento-card,
    .waiting-bento-card,
    .waiting-options__grid a,
    .local-topic-silo__link
  ):hover,
  .protection-landlord-costs-page :is(
    .landlord-cost-detail-copy,
    .landlord-cost-levels,
    .landlord-scenario-panel
  ):hover {
    transform: translateY(-7px);
    border-color: color-mix(in srgb, var(--primary-action) 38%, var(--border));
    box-shadow:
      0 1.25rem 2.75rem rgba(0,0,0,.18),
      0 2.8rem 6.5rem color-mix(in srgb, var(--primary-action) 7%, transparent),
      inset 0 1px 0 rgba(255,255,255,.11);
  }

  .dark .protection-page :is(
    .local-bento-card,
    .cost-bento-card,
    .services-bento-card,
    .waiting-bento-card,
    .waiting-options__grid a,
    .local-topic-silo__link
  ):hover,
  .dark .protection-landlord-costs-page :is(
    .landlord-cost-detail-copy,
    .landlord-cost-levels,
    .landlord-scenario-panel
  ):hover {
    box-shadow:
      0 1.5rem 3.5rem rgba(0,0,0,.42),
      0 3rem 7rem color-mix(in srgb, var(--primary-action) 10%, transparent),
      inset 0 1px 0 rgba(255,255,255,.1);
  }

  .protection-page :is(
    .local-bento-card,
    .cost-bento-card,
    .services-bento-card,
    .waiting-bento-card,
    .waiting-options__grid a
  ):hover :is(.bento-mini-media, .waiting-bento-card__thumb, img) {
    transform: translateY(-3px) scale(1.045);
    filter: saturate(1.08) contrast(1.05);
  }

  .protection-landlord-costs-page .landlord-scenario-panel:hover .landlord-scenario-panel__visual img {
    transform: scale(1.04);
    filter: saturate(1.06) contrast(1.05);
  }

  .protection-page :is(
    .local-bento-card,
    .cost-bento-card,
    .services-bento-card,
    .waiting-bento-card,
    .waiting-options__grid a,
    .local-topic-silo__link
  ):hover :is(strong, small, a, .waiting-bento-card__cta, i) {
    transform: translateX(.18rem);
  }
}

/* Vermieterrechtsschutz Kosten: calmer editorial rhythm after the bento grid. */
.protection-landlord-costs-page .landlord-cost-detail-section {
  padding-top: clamp(5.5rem, 8vw, 8.5rem);
  padding-bottom: clamp(5.5rem, 8vw, 7.5rem);
}

.protection-landlord-costs-page .landlord-cost-detail-heading {
  max-width: 58rem;
  margin-left: 0;
}

.protection-landlord-costs-page .landlord-cost-detail-heading h2 {
  max-width: 14ch;
  font-size: clamp(2.85rem, 4.55vw, 5.05rem);
}

.protection-landlord-costs-page .landlord-cost-detail-heading p {
  max-width: 42rem;
}

.protection-landlord-costs-page .landlord-cost-detail-layout {
  grid-template-columns: minmax(0, .96fr) minmax(20rem, .68fr);
  gap: clamp(1rem, 2.5vw, 1.6rem);
  align-items: start;
}

.protection-landlord-costs-page .landlord-cost-detail-copy,
.protection-landlord-costs-page .landlord-cost-levels,
.protection-landlord-costs-page .landlord-cost-detail-cta {
  background:
    linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.018)),
    color-mix(in srgb, var(--foreground) 4%, var(--background));
}

.protection-landlord-costs-page .landlord-cost-detail-copy h3,
.protection-landlord-costs-page .landlord-cost-levels h3 {
  font-size: clamp(1.95rem, 3vw, 3rem);
}

.protection-landlord-costs-page .landlord-cost-factor-grid div,
.protection-landlord-costs-page .landlord-cost-levels li {
  background: color-mix(in srgb, var(--foreground) 3%, transparent);
}

.protection-landlord-costs-page .landlord-scenario-tabs {
  padding-top: clamp(6rem, 9vw, 8rem);
}

.protection-landlord-costs-page .landlord-scenario-tabs__header {
  max-width: 64rem;
  align-items: flex-start;
  text-align: left;
  margin-bottom: clamp(2.2rem, 4.4vw, 4rem);
}

.protection-landlord-costs-page .landlord-scenario-tabs__header h2 {
  max-width: 13.5ch;
  font-size: clamp(2.85rem, 4.6vw, 5.1rem);
}

.protection-landlord-costs-page .landlord-scenario-tabs__header p {
  max-width: 48rem;
}

.protection-landlord-costs-page .landlord-scenario-tabs__nav {
  margin-top: .25rem;
}

.protection-landlord-costs-page .landlord-scenario-panel {
  min-height: 31rem;
}

.protection-landlord-costs-page .landlord-scenario-panel__visual img {
  transition: transform .62s cubic-bezier(.2,.8,.2,1), filter .42s ease;
}

.protection-landlord-costs-page .landlord-scenario-panel__copy h3 {
  font-size: clamp(2.25rem, 3.65vw, 4.15rem);
}

@media (max-width: 980px) {
  .protection-landlord-costs-page .landlord-cost-detail-layout {
    grid-template-columns: 1fr;
  }
}

/* Vermieterrechtsschutz Kosten: modern comparison ledger, topic hub and FAQ. */
.protection-landlord-costs-page .landlord-cost-ledger {
  position: relative;
  padding: clamp(6rem, 9vw, 9.5rem) 0 clamp(5.5rem, 8vw, 8rem);
  overflow: hidden;
}

.protection-landlord-costs-page .landlord-cost-ledger::before {
  content: "";
  position: absolute;
  inset: 5% auto auto -12%;
  width: min(34rem, 45vw);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--primary-action) 13%, transparent), transparent 68%);
  filter: blur(18px);
  opacity: .72;
  pointer-events: none;
}

.protection-landlord-costs-page .landlord-cost-ledger__inner {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 3rem), 92rem);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(1.25rem, 3vw, 2.4rem);
  align-items: start;
}

.protection-landlord-costs-page .landlord-cost-ledger__intro {
  position: sticky;
  top: 7rem;
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.35rem);
  max-width: 42rem;
}

.protection-landlord-costs-page .landlord-cost-ledger__intro h2 {
  margin: 0;
  max-width: 12.5ch;
  color: var(--foreground);
  font-size: clamp(2.8rem, 4.8vw, 5.45rem);
  line-height: .95;
  letter-spacing: 0;
}

.protection-landlord-costs-page .landlord-cost-ledger__intro p {
  margin: 0;
  max-width: 38rem;
  color: var(--muted-foreground);
  font-size: clamp(1rem, 1.15vw, 1.14rem);
  line-height: 1.78;
}

.protection-landlord-costs-page .landlord-cost-ledger__links {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  padding-top: .35rem;
}

.protection-landlord-costs-page .landlord-cost-ledger__links a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .75rem 1rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--foreground) 5%, transparent);
  color: var(--foreground);
  font-size: .84rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform .34s ease, border-color .34s ease, background .34s ease;
}

.protection-landlord-costs-page .landlord-cost-ledger__links a:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--primary-action) 38%, var(--border));
  background: color-mix(in srgb, var(--primary-action) 14%, transparent);
}

.protection-landlord-costs-page .landlord-cost-ledger__board {
  border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
  border-radius: clamp(1.55rem, 2.5vw, 2.35rem);
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025) 42%, rgba(255,255,255,.055)),
    color-mix(in srgb, var(--foreground) 4%, var(--background));
  box-shadow:
    0 1.7rem 4.4rem rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.1);
  overflow: hidden;
  transition: transform .46s cubic-bezier(.2,.8,.2,1), border-color .46s ease, box-shadow .46s ease;
}

.dark .protection-landlord-costs-page .landlord-cost-ledger__board {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 44%, rgba(245,197,24,.035)),
    #111113;
  box-shadow:
    0 1.9rem 5rem rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.085);
}

.protection-landlord-costs-page .landlord-cost-ledger__totals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  padding: clamp(.85rem, 1.6vw, 1.15rem);
}

.protection-landlord-costs-page .landlord-cost-ledger__total {
  min-height: 13rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: .65rem;
  padding: clamp(1.1rem, 2.1vw, 1.55rem);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1.45rem;
  overflow: hidden;
}

.protection-landlord-costs-page .landlord-cost-ledger__total span {
  color: color-mix(in srgb, var(--primary-action) 82%, var(--foreground));
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.protection-landlord-costs-page .landlord-cost-ledger__total strong {
  color: var(--foreground);
  font-size: clamp(2.05rem, 3.7vw, 4.15rem);
  line-height: .94;
  letter-spacing: 0;
}

.protection-landlord-costs-page .landlord-cost-ledger__total p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: .92rem;
  line-height: 1.55;
}

.protection-landlord-costs-page .landlord-cost-ledger__total--risk {
  background:
    radial-gradient(circle at 80% 0%, rgba(255,122,112,.2), transparent 42%),
    linear-gradient(135deg, rgba(120,31,31,.32), rgba(255,255,255,.035));
  border-color: rgba(255,122,112,.22);
}

.protection-landlord-costs-page .landlord-cost-ledger__total--covered {
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--primary-action) 25%, transparent), transparent 44%),
    linear-gradient(135deg, color-mix(in srgb, var(--primary-action) 18%, transparent), rgba(255,255,255,.04));
  border-color: color-mix(in srgb, var(--primary-action) 28%, transparent);
}

.protection-landlord-costs-page .landlord-cost-ledger__matrix {
  margin: 0 clamp(.85rem, 1.6vw, 1.15rem);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1.35rem;
  overflow: hidden;
  background: rgba(0,0,0,.12);
}

.protection-landlord-costs-page .landlord-cost-ledger__row {
  display: grid;
  grid-template-columns: minmax(12rem, .85fr) minmax(0, 1fr) minmax(0, 1fr);
}

.protection-landlord-costs-page .landlord-cost-ledger__row:not(:last-child) {
  border-bottom: 1px solid rgba(255,255,255,.075);
}

.protection-landlord-costs-page .landlord-cost-ledger__row > div {
  padding: clamp(1rem, 1.65vw, 1.35rem);
}

.protection-landlord-costs-page .landlord-cost-ledger__row > div:not(:last-child) {
  border-right: 1px solid rgba(255,255,255,.07);
}

.protection-landlord-costs-page .landlord-cost-ledger__row--head {
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.protection-landlord-costs-page .landlord-cost-ledger__row--head div {
  color: var(--muted-foreground);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.protection-landlord-costs-page .landlord-cost-ledger__topic {
  display: grid;
  gap: .28rem;
}

.protection-landlord-costs-page .landlord-cost-ledger__topic strong {
  color: var(--foreground);
  font-size: 1.02rem;
  line-height: 1.25;
}

.protection-landlord-costs-page .landlord-cost-ledger__topic span {
  color: var(--muted-foreground);
  font-size: .82rem;
  line-height: 1.45;
}

.protection-landlord-costs-page .landlord-cost-ledger__risk,
.protection-landlord-costs-page .landlord-cost-ledger__covered {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  color: color-mix(in srgb, var(--foreground) 78%, var(--muted-foreground));
  font-size: .91rem;
  line-height: 1.58;
}

.protection-landlord-costs-page .landlord-cost-ledger__risk i,
.protection-landlord-costs-page .landlord-cost-ledger__covered i {
  position: relative;
  width: 1rem;
  height: 1rem;
  margin-top: .22rem;
  border-radius: 999px;
}

.protection-landlord-costs-page .landlord-cost-ledger__risk i {
  background: rgba(255,122,112,.14);
  border: 1px solid rgba(255,122,112,.38);
}

.protection-landlord-costs-page .landlord-cost-ledger__risk i::before,
.protection-landlord-costs-page .landlord-cost-ledger__risk i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: .52rem;
  height: 1px;
  background: rgba(255,152,142,.95);
  transform-origin: center;
}

.protection-landlord-costs-page .landlord-cost-ledger__risk i::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.protection-landlord-costs-page .landlord-cost-ledger__risk i::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.protection-landlord-costs-page .landlord-cost-ledger__covered i {
  background: color-mix(in srgb, var(--primary-action) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--primary-action) 46%, transparent);
}

.protection-landlord-costs-page .landlord-cost-ledger__covered i::before {
  content: "";
  position: absolute;
  left: .29rem;
  top: .18rem;
  width: .38rem;
  height: .65rem;
  border-right: 2px solid color-mix(in srgb, var(--primary-action) 82%, #fff);
  border-bottom: 2px solid color-mix(in srgb, var(--primary-action) 82%, #fff);
  transform: rotate(42deg);
}

.protection-landlord-costs-page .landlord-cost-ledger__fineprint {
  margin: 0;
  padding: clamp(1rem, 1.65vw, 1.35rem) clamp(1.2rem, 2vw, 1.65rem) clamp(1.15rem, 2vw, 1.6rem);
  color: var(--muted-foreground);
  font-size: .78rem;
  line-height: 1.6;
}

.protection-landlord-costs-page .local-topic-silo--landlord {
  padding-top: clamp(5.5rem, 8vw, 8.5rem);
}

.protection-landlord-costs-page .local-topic-silo--landlord .local-topic-silo__header h2,
.protection-landlord-costs-page .protection-faq--landlord .protection-faq__intro h2 {
  max-width: 12ch;
}

.protection-landlord-costs-page .local-topic-silo--landlord .local-topic-silo__header p,
.protection-landlord-costs-page .protection-faq--landlord .protection-faq__intro p {
  max-width: 36rem;
}

.protection-landlord-costs-page .protection-faq--landlord {
  padding-top: clamp(5.5rem, 8vw, 8rem);
}

.protection-landlord-costs-page .protection-faq--landlord .protection-faq__list a {
  color: color-mix(in srgb, var(--primary-action) 78%, var(--foreground));
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--primary-action) 34%, transparent);
}

@media (hover: hover) and (pointer: fine) {
  .protection-landlord-costs-page .landlord-cost-ledger__board:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb, var(--primary-action) 31%, var(--border));
    box-shadow:
      0 1.9rem 5rem rgba(0,0,0,.34),
      0 3rem 7rem color-mix(in srgb, var(--primary-action) 8%, transparent),
      inset 0 1px 0 rgba(255,255,255,.11);
  }
}

@media (max-width: 1020px) {
  .protection-landlord-costs-page .landlord-cost-ledger__inner {
    grid-template-columns: 1fr;
  }

  .protection-landlord-costs-page .landlord-cost-ledger__intro {
    position: static;
    max-width: 58rem;
  }
}

@media (max-width: 760px) {
  .protection-landlord-costs-page .landlord-cost-ledger {
    padding-top: 5rem;
  }

  .protection-landlord-costs-page .landlord-cost-ledger__totals {
    grid-template-columns: 1fr;
  }

  .protection-landlord-costs-page .landlord-cost-ledger__row {
    grid-template-columns: 1fr;
  }

  .protection-landlord-costs-page .landlord-cost-ledger__row--head {
    display: none;
  }

  .protection-landlord-costs-page .landlord-cost-ledger__row > div:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }

  .protection-landlord-costs-page .landlord-cost-ledger__risk::before,
  .protection-landlord-costs-page .landlord-cost-ledger__covered::before {
    grid-column: 1 / -1;
    margin-bottom: -.25rem;
    color: var(--muted-foreground);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .protection-landlord-costs-page .landlord-cost-ledger__risk::before {
    content: "Ohne Schutz";
  }

  .protection-landlord-costs-page .landlord-cost-ledger__covered::before {
    content: "Mit ARAG Schutz";
  }
}

/* Wartezeit-Unterseite: nur der groÃŸe Bento "Zeitpunkt vor GefÃ¼hl".
   Die Illustration bleibt vollstÃ¤ndig sichtbar; keine globale Bento-Regel darf sie croppen. */
/* Vermieterrechtsschutz Wartezeit: moderne Prueflogik unter den Bentos */
.protection-landlord-detail-page .landlord-waiting-flow {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 8vw, 8.5rem) clamp(1rem, 4vw, 4rem);
  background:
    radial-gradient(circle at 12% 12%, rgba(233, 199, 75, 0.16), transparent 34rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0));
}

.protection-landlord-detail-page .landlord-waiting-flow__inner {
  width: min(100%, 92rem);
  margin-inline: auto;
}

.protection-landlord-detail-page .landlord-waiting-flow__header {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(22rem, 1.05fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 4.5rem);
}

.protection-landlord-detail-page .landlord-waiting-flow__eyebrow,
.protection-landlord-detail-page .landlord-waiting-flow__label,
.protection-landlord-detail-page .landlord-waiting-flow__step span,
.protection-landlord-detail-page .landlord-waiting-flow__status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid rgba(233, 199, 75, 0.2);
  border-radius: 999px;
  background: rgba(233, 199, 75, 0.08);
  color: var(--accent-gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.protection-landlord-detail-page .landlord-waiting-flow__eyebrow,
.protection-landlord-detail-page .landlord-waiting-flow__label {
  padding: 0.55rem 0.75rem;
  margin-bottom: 1rem;
}

.protection-landlord-detail-page .landlord-waiting-flow__header h2 {
  max-width: 9.5em;
  margin: 0;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(3.1rem, 6.4vw, 7rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

.protection-landlord-detail-page .landlord-waiting-flow__copy {
  display: grid;
  gap: 1rem;
  max-width: 42rem;
  color: color-mix(in srgb, var(--foreground) 62%, transparent);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.75;
}

.protection-landlord-detail-page .landlord-waiting-flow__copy p {
  margin: 0;
}

.protection-landlord-detail-page .landlord-waiting-flow__copy a {
  color: var(--accent-gold);
  font-weight: 800;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

.protection-landlord-detail-page .landlord-waiting-flow__map {
  display: grid;
  grid-template-columns: minmax(20rem, 0.75fr) minmax(0, 1.25fr);
  gap: 1rem;
  align-items: stretch;
}

.protection-landlord-detail-page .landlord-waiting-flow__panel,
.protection-landlord-detail-page .landlord-waiting-flow__timeline,
.protection-landlord-detail-page .landlord-waiting-flow__case {
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 8%, transparent), transparent 72%),
    color-mix(in srgb, var(--foreground) 4%, var(--background));
  box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, 0.22);
}

.protection-landlord-detail-page .landlord-waiting-flow__panel {
  display: flex;
  flex-direction: column;
  min-height: 24rem;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border-radius: 2rem;
}

.protection-landlord-detail-page .landlord-waiting-flow__panel h3 {
  max-width: 8em;
  margin: 0 0 1rem;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 3.5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.95;
}

.protection-landlord-detail-page .landlord-waiting-flow__panel p {
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 62%, transparent);
  font-size: 1rem;
  line-height: 1.7;
}

.protection-landlord-detail-page .landlord-waiting-flow__cta {
  display: inline-flex;
  gap: 0.65rem;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: auto;
  padding: 0.95rem 1.15rem;
  border: 1px solid color-mix(in srgb, var(--foreground) 12%, transparent);
  border-radius: 999px;
  color: var(--foreground);
  font-weight: 850;
  text-decoration: none;
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), border-color 260ms ease, background 260ms ease;
}

.protection-landlord-detail-page .landlord-waiting-flow__cta:hover {
  transform: translateY(-2px);
  border-color: rgba(233, 199, 75, 0.45);
  background: rgba(233, 199, 75, 0.1);
}

.protection-landlord-detail-page .landlord-waiting-flow__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-radius: 2rem;
}

.protection-landlord-detail-page .landlord-waiting-flow__timeline::before {
  content: "";
  position: absolute;
  inset: 50% 2rem auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 199, 75, 0.45), transparent);
  pointer-events: none;
}

.protection-landlord-detail-page .landlord-waiting-flow__step {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 24rem;
  padding: clamp(1.35rem, 2.4vw, 2rem);
  border-right: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
  transition: background 260ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.protection-landlord-detail-page .landlord-waiting-flow__step:last-child {
  border-right: 0;
}

.protection-landlord-detail-page .landlord-waiting-flow__step:hover {
  transform: translateY(-2px);
  background: rgba(233, 199, 75, 0.06);
}

.protection-landlord-detail-page .landlord-waiting-flow__step span {
  padding: 0.52rem 0.62rem;
  margin-bottom: auto;
}

.protection-landlord-detail-page .landlord-waiting-flow__step h3 {
  margin: clamp(4rem, 7vw, 8rem) 0 0.75rem;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.1vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
}

.protection-landlord-detail-page .landlord-waiting-flow__step p {
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 58%, transparent);
  font-size: 0.95rem;
  line-height: 1.55;
}

.protection-landlord-detail-page .landlord-waiting-flow__cases {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.protection-landlord-detail-page .landlord-waiting-flow__case {
  display: grid;
  gap: 1.4rem;
  min-height: 19rem;
  padding: clamp(1.35rem, 2.3vw, 2rem);
  border-radius: 1.6rem;
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), border-color 260ms ease, background 260ms ease;
}

.protection-landlord-detail-page .landlord-waiting-flow__case:hover {
  transform: translateY(-3px);
  border-color: rgba(233, 199, 75, 0.34);
}

.protection-landlord-detail-page .landlord-waiting-flow__case--warn {
  border-color: rgba(239, 96, 79, 0.28);
  background:
    linear-gradient(145deg, rgba(239, 96, 79, 0.12), transparent 68%),
    color-mix(in srgb, var(--foreground) 4%, var(--background));
}

.protection-landlord-detail-page .landlord-waiting-flow__status {
  padding: 0.5rem 0.65rem;
  margin-bottom: 1rem;
  color: color-mix(in srgb, var(--foreground) 76%, transparent);
  border-color: color-mix(in srgb, var(--foreground) 12%, transparent);
  background: color-mix(in srgb, var(--foreground) 6%, transparent);
}

.protection-landlord-detail-page .landlord-waiting-flow__status--ok {
  color: #8ce3ad;
  border-color: rgba(140, 227, 173, 0.28);
  background: rgba(140, 227, 173, 0.08);
}

.protection-landlord-detail-page .landlord-waiting-flow__status--warn {
  color: #ff9b8f;
  border-color: rgba(255, 155, 143, 0.28);
  background: rgba(255, 155, 143, 0.08);
}

.protection-landlord-detail-page .landlord-waiting-flow__case h3 {
  max-width: 11em;
  margin: 0;
  color: var(--foreground);
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.2vw, 2.45rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.protection-landlord-detail-page .landlord-waiting-flow__case p {
  align-self: end;
  margin: 0;
  color: color-mix(in srgb, var(--foreground) 58%, transparent);
  font-size: 0.98rem;
  line-height: 1.65;
}

@media (max-width: 980px) {
  .protection-landlord-detail-page .landlord-waiting-flow__header,
  .protection-landlord-detail-page .landlord-waiting-flow__map,
  .protection-landlord-detail-page .landlord-waiting-flow__cases {
    grid-template-columns: 1fr;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__header h2 {
    max-width: 10em;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__timeline {
    grid-template-columns: 1fr 1fr;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__step:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 640px) {
  .protection-landlord-detail-page .landlord-waiting-flow {
    padding-inline: 0.9rem;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__header h2 {
    font-size: clamp(2.65rem, 16vw, 4rem);
  }

  .protection-landlord-detail-page .landlord-waiting-flow__timeline {
    grid-template-columns: 1fr;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__timeline::before {
    display: none;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__step {
    min-height: 15rem;
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--foreground) 8%, transparent);
  }

  .protection-landlord-detail-page .landlord-waiting-flow__step:last-child {
    border-bottom: 0;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__step h3 {
    margin-top: 3rem;
  }
}

/* Wartezeit-Prueflogik als kompaktes Decision-Board */
.protection-landlord-detail-page .landlord-waiting-flow__map {
  grid-template-columns: minmax(22rem, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(1rem, 1.7vw, 1.35rem);
}

.protection-landlord-detail-page .landlord-waiting-flow__panel--lead {
  min-height: auto;
  border-radius: 2rem;
  background:
    radial-gradient(circle at 86% 12%, rgba(233, 199, 75, 0.12), transparent 18rem),
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 9%, transparent), color-mix(in srgb, var(--foreground) 4%, transparent)),
    color-mix(in srgb, var(--background) 92%, var(--foreground));
}

.protection-landlord-detail-page .landlord-waiting-flow__panel--lead h3 {
  max-width: 8.4em;
  font-size: clamp(2.45rem, 4.2vw, 5.2rem);
  line-height: 0.94;
  letter-spacing: -0.075em;
  text-wrap: balance;
}

.protection-landlord-detail-page .landlord-waiting-flow__timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: stretch;
  gap: clamp(0.9rem, 1.3vw, 1.1rem);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.protection-landlord-detail-page .landlord-waiting-flow__timeline::before {
  display: none;
}

.protection-landlord-detail-page .landlord-waiting-flow__step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 1rem;
  row-gap: 0.35rem;
  min-height: clamp(11.75rem, 14vw, 14.25rem);
  padding: clamp(1.1rem, 1.65vw, 1.45rem);
  border: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  border-radius: 1.45rem;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
    color-mix(in srgb, var(--background) 89%, var(--foreground));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 1.2rem 3.2rem rgba(0, 0, 0, 0.18);
}

.protection-landlord-detail-page .landlord-waiting-flow__step::before {
  background:
    radial-gradient(circle at 0% 0%, rgba(233, 199, 75, 0.2), transparent 9rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 62%);
}

.protection-landlord-detail-page .landlord-waiting-flow__step::after {
  right: 1rem;
  top: 0.85rem;
  width: clamp(3.4rem, 4.7vw, 4.8rem);
  opacity: 0.26;
}

.protection-landlord-detail-page .landlord-waiting-flow__step span {
  grid-row: 1 / span 2;
  align-self: start;
  margin: 0;
  padding: 0.52rem 0.62rem;
  color: color-mix(in srgb, var(--foreground) 86%, transparent);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent),
    rgba(233, 199, 75, 0.11);
}

.protection-landlord-detail-page .landlord-waiting-flow__step h3 {
  grid-column: 2;
  max-width: 9.5em;
  margin: 0;
  font-size: clamp(1.6rem, 2vw, 2.25rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.protection-landlord-detail-page .landlord-waiting-flow__step p {
  grid-column: 2;
  max-width: 24rem;
  align-self: end;
  font-size: clamp(0.92rem, 0.95vw, 1rem);
  line-height: 1.55;
}

.protection-landlord-detail-page .landlord-waiting-flow__step:nth-child(2),
.protection-landlord-detail-page .landlord-waiting-flow__step:nth-child(3) {
  background:
    linear-gradient(145deg, rgba(233, 199, 75, 0.08), rgba(255, 255, 255, 0.018)),
    color-mix(in srgb, var(--background) 88%, var(--foreground));
}

.protection-landlord-detail-page .landlord-waiting-flow__step:hover {
  transform: translateY(-3px);
  border-color: rgba(233, 199, 75, 0.42);
}

.protection-landlord-detail-page .landlord-waiting-flow__cases {
  gap: clamp(0.9rem, 1.35vw, 1.15rem);
}

@media (max-width: 980px) {
  .protection-landlord-detail-page .landlord-waiting-flow__map {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .protection-landlord-detail-page .landlord-waiting-flow__timeline,
  .protection-landlord-detail-page .landlord-waiting-flow__cases {
    grid-template-columns: 1fr;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__step {
    min-height: auto;
  }
}

/* Cinematic editorial layer for protection subpages.
   Keeps video grids, folder PDF grids and image assets intact. */
.protection-page {
  --editorial-line: color-mix(in srgb, var(--foreground) 10%, transparent);
  --editorial-glass: color-mix(in srgb, var(--background) 82%, var(--foreground) 18%);
  --editorial-glow: rgba(245, 197, 24, 0.1);
  --editorial-surface: color-mix(in srgb, var(--background) 91%, var(--foreground));
}

.protection-page :is(
  .protection-explainer-section,
  .cost-detail-section,
  .coverage-matrix-section,
  .waiting-detail-section,
  .services-explainer-section,
  .landlord-cost-detail-section,
  .landlord-risk-story,
  .landlord-waiting-flow,
  .local-topic-silo,
  .protection-faq
) {
  position: relative;
  isolation: isolate;
}

.protection-page :is(
  .protection-explainer-section,
  .cost-detail-section,
  .coverage-matrix-section,
  .waiting-detail-section,
  .services-explainer-section,
  .landlord-cost-detail-section,
  .landlord-risk-story,
  .landlord-waiting-flow
)::before {
  position: absolute;
  inset: auto 4vw 8% auto;
  width: min(32rem, 42vw);
  aspect-ratio: 1;
  pointer-events: none;
  border-radius: 999px;
  background: radial-gradient(circle, var(--editorial-glow), transparent 68%);
  filter: blur(32px);
  opacity: 0.55;
  content: "";
  z-index: -1;
}

.protection-page :is(
  .protection-explainer-heading,
  .cost-detail-heading,
  .coverage-matrix-heading,
  .waiting-detail-heading,
  .services-explainer-section__inner > header,
  .landlord-cost-detail-heading,
  .landlord-risk-story__heading,
  .landlord-waiting-flow__header
) {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(18rem, 0.54fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 9rem);
  padding-bottom: clamp(3rem, 7vw, 7rem);
  border-bottom: 1px solid var(--editorial-line);
}

.protection-page :is(
  .protection-explainer-heading,
  .cost-detail-heading,
  .coverage-matrix-heading,
  .waiting-detail-heading,
  .services-explainer-section__inner > header,
  .landlord-cost-detail-heading,
  .landlord-risk-story__heading,
  .landlord-waiting-flow__header
) > .section-kicker {
  grid-column: 1 / -1;
  justify-self: start;
  margin-bottom: clamp(0.8rem, 1.4vw, 1.4rem);
}

.protection-page :is(
  .protection-explainer-heading,
  .cost-detail-heading,
  .coverage-matrix-heading,
  .waiting-detail-heading,
  .services-explainer-section__inner > header,
  .landlord-cost-detail-heading,
  .landlord-risk-story__heading,
  .landlord-waiting-flow__header
) :is(h2, h3) {
  grid-column: 1;
  max-width: 11.5ch;
  text-wrap: balance;
}

.protection-page :is(
  .protection-explainer-heading,
  .cost-detail-heading,
  .coverage-matrix-heading,
  .waiting-detail-heading,
  .services-explainer-section__inner > header,
  .landlord-cost-detail-heading,
  .landlord-risk-story__heading,
  .landlord-waiting-flow__header
) > p,
.protection-page :is(.landlord-risk-story__heading, .landlord-waiting-flow__header) > div:last-child {
  grid-column: 2;
  max-width: 42rem;
  justify-self: end;
  margin-bottom: clamp(0.4rem, 2vw, 2rem);
}

.protection-page .protection-explainer-copy,
.protection-page .cost-detail-copy,
.protection-page .landlord-cost-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.74fr) minmax(20rem, 0.46fr);
  align-items: start;
  gap: clamp(2rem, 6vw, 7rem);
}

.protection-page .protection-explainer-copy > article,
.protection-page .cost-detail-copy > article,
.protection-page .landlord-cost-detail-copy {
  position: relative;
  max-width: none;
  padding-top: clamp(1rem, 4vw, 4rem);
}

.protection-page .protection-explainer-copy > article::before,
.protection-page .cost-detail-copy > article::before,
.protection-page .landlord-cost-detail-copy::before {
  display: block;
  max-width: 12ch;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: color-mix(in srgb, var(--foreground) 92%, transparent);
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 5.8vw, 6.8rem);
  font-weight: 820;
  line-height: 0.9;
  letter-spacing: -0.038em;
  text-wrap: balance;
  content: "Erst verstehen. Dann entscheiden.";
}

.protection-page .cost-detail-copy > article::before {
  content: "Kosten sind nie nur Beitrag.";
}

.protection-page .landlord-cost-detail-copy::before {
  content: "Ein Objekt. Viele Risiken.";
}

.protection-page .protection-explainer-copy > article h3,
.protection-page .cost-detail-copy > article h3,
.protection-page .landlord-cost-detail-copy h3 {
  margin-top: clamp(2.75rem, 5vw, 5rem);
  padding-top: clamp(1.3rem, 2.2vw, 2rem);
  border-top: 1px solid var(--editorial-line);
  font-size: clamp(1.55rem, 2.2vw, 2.55rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.protection-page .protection-explainer-copy > article h3:first-child,
.protection-page .cost-detail-copy > article h3:first-child,
.protection-page .landlord-cost-detail-copy h3:first-of-type {
  margin-top: 0;
}

.protection-page .protection-explainer-copy > article p,
.protection-page .cost-detail-copy > article p,
.protection-page .landlord-cost-detail-copy p,
.protection-page .waiting-detail-copy p {
  max-width: 47rem;
  font-size: clamp(1rem, 1.12vw, 1.14rem);
  line-height: 1.78;
}

.protection-page :is(.protection-case-study, .cost-deductible-note, .waiting-check-card, .coverage-case-card, .landlord-cost-detail-cta) {
  border: 1px solid color-mix(in srgb, var(--foreground) 12%, transparent);
  background:
    radial-gradient(circle at var(--mx, 78%) var(--my, 18%), var(--accent-soft), transparent 18rem),
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 7%, transparent), color-mix(in srgb, var(--foreground) 2%, transparent)),
    var(--editorial-surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 2.5rem 6rem rgba(0, 0, 0, 0.16);
}

@media (min-width: 981px) {
  .protection-page .is-sticky-aside {
    position: sticky;
    top: clamp(6rem, 9vw, 8rem);
    align-self: start;
  }
}

.protection-page .risk-comparison,
.protection-page .cost-compare-bento,
.protection-page .coverage-decision-board,
.protection-page .waiting-options,
.protection-page .waiting-case {
  border-radius: clamp(1.6rem, 3vw, 3rem);
  background:
    radial-gradient(circle at 86% 4%, var(--accent-soft), transparent 18rem),
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 7%, transparent), color-mix(in srgb, var(--foreground) 2%, transparent)),
    var(--editorial-surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 2rem 6rem rgba(0, 0, 0, 0.16);
}

.protection-page .process-cost-card,
.protection-page [data-process-costs] {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--foreground) 12%, transparent);
  background:
    radial-gradient(circle at var(--mx, 70%) var(--my, 18%), var(--accent-soft), transparent 16rem),
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 7%, transparent), color-mix(in srgb, var(--foreground) 2%, transparent)),
    var(--editorial-surface);
}

.protection-page .process-cost-card::before,
.protection-page [data-process-costs]::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,0.16), transparent 13rem),
    linear-gradient(120deg, rgba(255,255,255,0.06), transparent 42%);
  opacity: 0;
  transition: opacity .35s ease;
  content: "";
}

.protection-page .process-cost-card.is-pointer-active::before,
.protection-page [data-process-costs].is-pointer-active::before {
  opacity: 1;
}

.protection-page :is(.local-topic-silo__link, .protection-faq__item, .waiting-bento-card, .cost-bento-card) {
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    border-color .35s ease,
    background .35s ease,
    box-shadow .35s ease;
}

@media (hover: hover) {
  .protection-page :is(.local-topic-silo__link, .protection-faq__item, .waiting-bento-card, .cost-bento-card):hover {
    transform: translateY(-4px);
  }
}

@media (max-width: 980px) {
  .protection-page :is(
    .protection-explainer-heading,
    .cost-detail-heading,
    .coverage-matrix-heading,
    .waiting-detail-heading,
    .services-explainer-section__inner > header,
    .landlord-cost-detail-heading,
    .landlord-risk-story__heading,
    .landlord-waiting-flow__header,
    .protection-explainer-copy,
    .cost-detail-copy,
    .landlord-cost-detail-layout
  ) {
    grid-template-columns: 1fr;
    gap: clamp(1.4rem, 5vw, 3rem);
  }

  .protection-page :is(
    .protection-explainer-heading,
    .cost-detail-heading,
    .coverage-matrix-heading,
    .waiting-detail-heading,
    .services-explainer-section__inner > header,
    .landlord-cost-detail-heading,
    .landlord-risk-story__heading,
    .landlord-waiting-flow__header
  ) > p {
    grid-column: auto;
    justify-self: start;
  }

  .protection-page :is(
    .protection-explainer-heading,
    .cost-detail-heading,
    .coverage-matrix-heading,
    .waiting-detail-heading,
    .services-explainer-section__inner > header,
    .landlord-cost-detail-heading,
    .landlord-risk-story__heading,
    .landlord-waiting-flow__header
  ) > .section-kicker,
  .protection-page :is(
    .protection-explainer-heading,
    .cost-detail-heading,
    .coverage-matrix-heading,
    .waiting-detail-heading,
    .services-explainer-section__inner > header,
    .landlord-cost-detail-heading,
    .landlord-risk-story__heading,
    .landlord-waiting-flow__header
  ) :is(h2, h3) {
    grid-column: auto;
  }

  .protection-page :is(.protection-case-study, .cost-deductible-note, .waiting-check-card, .coverage-case-card, .landlord-cost-detail-cta) {
    position: relative;
    top: auto;
  }
}

@media (max-width: 640px) {
  .protection-page .protection-explainer-copy > article::before,
  .protection-page .cost-detail-copy > article::before,
  .protection-page .landlord-cost-detail-copy::before {
    font-size: clamp(2.3rem, 14vw, 4.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .protection-page :is(.local-topic-silo__link, .protection-faq__item, .waiting-bento-card, .cost-bento-card) {
    transition: none;
  }
}

/* Privatrechtsschutz editorial pass */
.protection-explainer-pull {
  width: min(100%, 46rem);
  margin: clamp(2rem, 5vw, 4.5rem) 0 clamp(1.4rem, 4vw, 3rem);
  padding: clamp(1.1rem, 2.4vw, 2rem) 0 clamp(1.1rem, 2.4vw, 2rem) clamp(1rem, 2vw, 1.8rem);
  border-left: 1px solid var(--accent-line);
  color: var(--foreground);
}

.protection-explainer-pull p {
  max-width: 16ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3.2vw, 3.55rem);
  font-weight: 760;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.protection-page .protection-case-study--editorial {
  display: grid;
  align-content: start;
  gap: clamp(.8rem, 1.5vw, 1.25rem);
  isolation: isolate;
  min-height: 0;
  overflow: hidden;
  padding: clamp(1.35rem, 2.6vw, 2rem);
  border-block: 0;
  border-color: color-mix(in srgb, var(--foreground) 12%, transparent);
  background:
    radial-gradient(circle at 12% 0%, var(--accent-soft), transparent 15rem),
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 8%, transparent), color-mix(in srgb, var(--foreground) 3%, transparent)),
    var(--editorial-surface);
  box-shadow: 0 2.6rem 7rem rgba(0,0,0,.14);
}

.protection-page .protection-case-study--editorial > span,
.protection-page .protection-case-study--editorial h3,
.protection-page .protection-case-study--editorial > p,
.protection-page .protection-case-study--editorial dl,
.protection-page .protection-case-study--editorial > small {
  position: relative;
  z-index: 1;
  grid-column: auto;
  margin-block: 0;
}

.protection-page .protection-case-study--editorial::before {
  position: absolute;
  right: -8rem;
  bottom: -9rem;
  z-index: -1;
  width: 20rem;
  height: 20rem;
  border: 1px solid var(--accent-line);
  border-radius: 999px;
  opacity: .5;
  content: "";
}

.protection-page .protection-case-study--editorial h3 {
  max-width: 12ch;
  color: var(--foreground);
  font-size: clamp(1.9rem, 3vw, 3.35rem);
  line-height: .95;
  text-wrap: balance;
}

.protection-page .protection-case-study--editorial > p {
  max-width: 32rem;
  color: var(--muted-foreground);
}

.protection-page .protection-case-study--editorial dl {
  margin-block: .25rem .35rem;
  border-top-color: color-mix(in srgb, var(--foreground) 10%, transparent);
  border-bottom-color: color-mix(in srgb, var(--foreground) 10%, transparent);
}

.protection-page .risk-comparison {
  margin-top: clamp(3rem, 7vw, 6.5rem);
}

.protection-page .risk-comparison__heading {
  align-items: end;
  padding-inline: clamp(0rem, 2vw, 1.2rem);
}

.protection-page .risk-comparison__heading h3 {
  max-width: 13ch;
}

.protection-page .risk-comparison__lens {
  border-radius: var(--radius-shell);
  background:
    radial-gradient(circle at 12% 0%, rgba(255,91,80,.12), transparent 24rem),
    radial-gradient(circle at 92% 8%, var(--accent-soft), transparent 25rem),
    color-mix(in srgb, var(--ink-900) 88%, var(--background));
  box-shadow: 0 3rem 8rem rgba(0,0,0,.22);
}

.protection-page .risk-comparison__lens .risk-comparison__scenario.is-danger {
  background:
    linear-gradient(145deg, rgba(255,255,255,.07), transparent 42%),
    color-mix(in srgb, #a62d27 76%, var(--ink-900));
}

.protection-page .risk-comparison__lens .risk-comparison__scenario.is-covered {
  color: var(--foreground);
  background:
    radial-gradient(circle at 18% 0%, var(--accent-soft), transparent 18rem),
    linear-gradient(145deg, color-mix(in srgb, var(--foreground) 9%, transparent), color-mix(in srgb, var(--foreground) 2%, transparent));
}

.dark .protection-page .risk-comparison__lens .risk-comparison__scenario.is-covered {
  color: var(--foreground);
  background:
    radial-gradient(circle at 16% 0%, rgba(245,197,24,.16), transparent 18rem),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

.protection-page .risk-comparison__cost-cards {
  background: color-mix(in srgb, var(--foreground) 8%, transparent);
}

.protection-page .risk-comparison__cost-cards article {
  min-height: 0;
  background: color-mix(in srgb, var(--foreground) 5%, transparent);
}

.protection-page .risk-comparison__cost-cards article:hover {
  transform: translateY(-3px);
  background: color-mix(in srgb, var(--foreground) 8%, transparent);
}

.protection-page .risk-comparison__notes {
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.protection-page .risk-comparison__notes > div::before {
  width: 1px;
  background: color-mix(in srgb, #ff6b60 70%, transparent);
}

.protection-page .risk-comparison__notes > div + div::before {
  background: var(--accent-line);
}

.protection-page .protection-explainer-conclusion {
  border-top-color: color-mix(in srgb, var(--foreground) 9%, transparent);
}

.protection-page .protection-explainer-conclusion a {
  width: min(100%, 24rem);
  border: 1px solid color-mix(in srgb, var(--foreground) 11%, transparent);
  border-radius: 999px;
  background:
    radial-gradient(circle at 86% 50%, var(--accent-soft), transparent 8rem),
    color-mix(in srgb, var(--foreground) 7%, transparent);
  color: var(--foreground);
  transition:
    transform .35s var(--ease-premium),
    border-color .35s ease,
    background .35s ease;
}

.protection-page .protection-explainer-conclusion a:hover {
  transform: translateY(-3px);
  border-color: var(--accent-line);
  background:
    radial-gradient(circle at 86% 50%, rgba(245,197,24,.18), transparent 9rem),
    color-mix(in srgb, var(--foreground) 10%, transparent);
}

@media (min-width: 981px) {
  .protection-explainer-pull {
    margin-left: clamp(1rem, 5vw, 6rem);
  }

  .protection-page .protection-case-study--editorial {
    transform: translateY(clamp(1.5rem, 4vw, 4rem));
  }
}

@media (max-width: 760px) {
  .protection-page .risk-comparison__lens .risk-comparison__snapshot,
  .protection-page .risk-comparison__cost-cards {
    grid-template-columns: 1fr;
  }

  .protection-page .risk-comparison__heading h3,
  .protection-explainer-pull p {
    max-width: 100%;
  }
}

.protection-page .protection-topic-hub,
.protection-page .protection-faq {
  background:
    radial-gradient(circle at 9% 0%, var(--accent-soft), transparent 28rem),
    linear-gradient(180deg, color-mix(in srgb, var(--muted) 64%, var(--background)), var(--background));
  border-color: color-mix(in srgb, var(--foreground) 8%, transparent);
}

.dark .protection-page .protection-topic-hub,
.dark .protection-page .protection-faq {
  background:
    radial-gradient(circle at 9% 0%, var(--accent-soft), transparent 28rem),
    linear-gradient(180deg, color-mix(in srgb, var(--ink-950) 92%, var(--background)), var(--ink-950));
}

.protection-page :is(.protection-topic-hub__eyebrow, .protection-faq__eyebrow) {
  color: color-mix(in srgb, var(--primary-action) 78%, var(--foreground));
}

.protection-page :is(.protection-topic-hub__eyebrow, .protection-faq__eyebrow)::before {
  background: var(--accent-line);
}

.protection-page :is(.protection-topic-hub__intro h2 span, .protection-faq__intro h2 span) {
  color: color-mix(in srgb, var(--primary-action) 78%, var(--foreground));
}

.protection-page .protection-topic-link::before {
  background:
    radial-gradient(circle at 100% 0%, var(--accent-soft), transparent 12rem),
    color-mix(in srgb, var(--foreground) 6%, transparent);
  box-shadow: 0 1.5rem 4rem rgba(0,0,0,.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.protection-page .protection-topic-link__arrow {
  background: color-mix(in srgb, var(--foreground) 3%, transparent);
}

@media (hover: hover) {
  .protection-page .protection-topic-link:hover .protection-topic-link__arrow {
    border-color: var(--accent-line);
    background: color-mix(in srgb, var(--primary-action) 14%, transparent);
    color: var(--foreground);
  }
}

.protection-page .protection-faq__inner {
  width: min(100%, 82rem);
}

.protection-page .protection-faq__intro {
  align-items: start;
}

.protection-page .protection-faq__intro > a {
  border-radius: 999px;
  background:
    radial-gradient(circle at 86% 50%, var(--accent-soft), transparent 7rem),
    color-mix(in srgb, var(--foreground) 6%, transparent);
}

.protection-page .protection-faq__intro > a:hover {
  border-color: var(--accent-line);
  background:
    radial-gradient(circle at 86% 50%, rgba(245,197,24,.16), transparent 8rem),
    color-mix(in srgb, var(--foreground) 9%, transparent);
}

.protection-page .protection-faq__list {
  gap: .75rem;
  padding: .75rem;
  border-color: color-mix(in srgb, var(--foreground) 9%, transparent);
  border-radius: var(--radius-shell);
  background: color-mix(in srgb, var(--foreground) 4%, transparent);
}

.protection-page .protection-faq__item {
  border-radius: clamp(1rem, 2vw, 1.4rem);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--foreground) 6%, transparent), color-mix(in srgb, var(--foreground) 2%, transparent));
  box-shadow: none;
}

.protection-page .protection-faq__item[open] {
  border-color: var(--accent-line);
  background:
    radial-gradient(circle at 88% 0%, var(--accent-soft), transparent 13rem),
    linear-gradient(135deg, color-mix(in srgb, var(--foreground) 8%, transparent), color-mix(in srgb, var(--foreground) 3%, transparent));
  box-shadow: 0 1.4rem 4rem rgba(0,0,0,.16);
}

.protection-page .protection-faq__item summary {
  min-height: 4.9rem;
  padding-inline: clamp(.9rem, 2vw, 1.35rem);
}

.protection-page .protection-faq__item summary > span {
  background: color-mix(in srgb, var(--primary-action) 78%, var(--foreground));
  box-shadow: 0 0 0 .28rem color-mix(in srgb, var(--primary-action) 14%, transparent);
}

.protection-page .protection-faq__item[open] summary i {
  border-color: var(--accent-line);
  background: color-mix(in srgb, var(--primary-action) 16%, transparent);
  color: var(--foreground);
}

.protection-page .protection-faq__answer {
  max-width: 62rem;
}

/* Phase 3: consistent premium system for the audited subpages */
:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) {
  --phase3-content: 90rem;
  --phase3-radius: clamp(1.35rem, 2.3vw, 2rem);
  --phase3-feature-title: clamp(2.55rem, 4.6vw, 4.9rem);
  --phase3-card-title: clamp(1.55rem, 2.15vw, 2.25rem);
  --phase3-section-title: clamp(2.85rem, 5.2vw, 5.75rem);
  --phase3-body: clamp(.98rem, 1.05vw, 1.08rem);
  --phase3-ease: cubic-bezier(.22, .72, .18, 1);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(
  .cost-bento-section__inner,
  .waiting-bento-section__inner,
  .landlord-waiting-flow__inner,
  .landlord-cost-detail-section__inner,
  .landlord-scenario-tabs__inner,
  .landlord-service-navigator__inner,
  .landlord-cost-matrix__inner,
  .coverage-matrix-section__inner
) {
  width: min(calc(100% - clamp(2rem, 7vw, 7rem)), var(--phase3-content));
  margin-inline: auto;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-heading, .waiting-bento-heading) {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(18rem, .78fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 7rem);
  margin-bottom: clamp(2.25rem, 4.8vw, 4.75rem);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-heading, .waiting-bento-heading) h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 5.7vw, 6.25rem);
  line-height: .94;
  letter-spacing: 0;
  text-wrap: balance;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-heading, .waiting-bento-heading) p {
  max-width: 38rem;
  margin: 0;
  font-size: var(--phase3-body);
  line-height: 1.72;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-grid, .waiting-bento-grid) {
  gap: clamp(.8rem, 1.25vw, 1.2rem);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card, .waiting-bento-card) {
  min-width: 0;
  border-radius: var(--phase3-radius);
  border-color: color-mix(in srgb, var(--foreground) 10%, transparent);
  transition:
    transform .48s var(--phase3-ease),
    border-color .35s ease,
    box-shadow .48s var(--phase3-ease),
    background-color .35s ease;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature), .waiting-bento-card--feature) {
  min-height: clamp(30rem, 45vw, 43rem);
  isolation: isolate;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature), .waiting-bento-card--feature) > img {
  filter: none;
  transform: scale(1.001);
  transition: transform .8s var(--phase3-ease);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature), .waiting-bento-card--feature)::after {
  inset: 0;
  height: auto;
  background: linear-gradient(
    90deg,
    rgba(250, 247, 236, .97) 0%,
    rgba(250, 247, 236, .9) 27%,
    rgba(250, 247, 236, .56) 42%,
    rgba(250, 247, 236, .12) 61%,
    transparent 76%
  );
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(
  .cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature) .cost-bento-card__feature-copy,
  .waiting-bento-card--feature .waiting-bento-card__feature-copy
) {
  width: min(50%, 35rem);
  max-width: 35rem;
  margin: 0;
  padding: clamp(2rem, 4vw, 4rem);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(
  .cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature) .cost-bento-card__feature-copy,
  .waiting-bento-card--feature .waiting-bento-card__feature-copy
) h3 {
  max-width: 11ch;
  font-size: var(--phase3-feature-title);
  line-height: .94;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(
  .cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature) .cost-bento-card__feature-copy,
  .waiting-bento-card--feature .waiting-bento-card__feature-copy
) p {
  max-width: 34rem;
  font-size: var(--phase3-body);
  line-height: 1.68;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card:not(.cost-bento-card--feature), .waiting-bento-card:not(.waiting-bento-card--feature)) h3 {
  max-width: 14ch;
  font-size: var(--phase3-card-title);
  line-height: 1.02;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card, .waiting-bento-card) p {
  font-size: clamp(.94rem, .96vw, 1.02rem);
  line-height: 1.66;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) .bento-mini-media {
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: clamp(.8rem, 1.25vw, 1.05rem);
  border-color: color-mix(in srgb, var(--foreground) 9%, transparent);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(a.cost-bento-card, a.waiting-bento-card):is(:hover, :focus-visible) {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--primary-action) 42%, transparent);
  box-shadow: 0 1.6rem 4rem rgba(0, 0, 0, .2);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(.cost-bento-card, .waiting-bento-card):hover .bento-mini-media img {
  transform: scale(1.035);
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(a.cost-bento-card, a.waiting-bento-card):focus-visible {
  outline: 2px solid var(--primary-action);
  outline-offset: 4px;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(
  .landlord-waiting-flow__header,
  .landlord-cost-detail-heading,
  .landlord-scenario-tabs__header,
  .landlord-service-navigator__header,
  .landlord-cost-matrix__header,
  .coverage-matrix-heading
) h2 {
  max-width: 13ch;
  font-size: var(--phase3-section-title);
  line-height: .96;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

:is(
  .protection-landlord-waiting-page,
  .protection-landlord-costs-page,
  .protection-landlord-services-page,
  .protection-exclusions-page
) :is(
  .landlord-waiting-flow__header,
  .landlord-cost-detail-heading,
  .landlord-scenario-tabs__header,
  .landlord-service-navigator__header,
  .landlord-cost-matrix__header,
  .coverage-matrix-heading
) p {
  max-width: 44rem;
  font-size: var(--phase3-body);
  line-height: 1.74;
}

@media (max-width: 900px) {
  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(.cost-bento-heading, .waiting-bento-heading) {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(.cost-bento-heading, .waiting-bento-heading) h2 {
    max-width: 13ch;
  }
}

@media (max-width: 760px) {
  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(
    .cost-bento-section__inner,
    .waiting-bento-section__inner,
    .landlord-waiting-flow__inner,
    .landlord-cost-detail-section__inner,
    .landlord-scenario-tabs__inner,
    .landlord-service-navigator__inner,
    .landlord-cost-matrix__inner,
    .coverage-matrix-section__inner
  ) {
    width: min(calc(100% - 1.25rem), var(--phase3-content));
  }

  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(.cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature), .waiting-bento-card--feature) {
    min-height: clamp(34rem, 145vw, 43rem);
  }

  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(.cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature), .waiting-bento-card--feature)::after {
    background: linear-gradient(
      180deg,
      rgba(250, 247, 236, .04) 0%,
      rgba(250, 247, 236, .08) 29%,
      rgba(250, 247, 236, .82) 54%,
      rgba(250, 247, 236, .98) 72%,
      rgba(250, 247, 236, 1) 100%
    );
  }

  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(
    .cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature) .cost-bento-card__feature-copy,
    .waiting-bento-card--feature .waiting-bento-card__feature-copy
  ) {
    width: 100%;
    max-width: none;
    align-self: end;
    padding: clamp(1.25rem, 6vw, 2rem);
  }

  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(
    .cost-bento-card--feature:not(.landlord-waiting-bento-card--feature):not(.landlord-cost-bento-card--feature) .cost-bento-card__feature-copy,
    .waiting-bento-card--feature .waiting-bento-card__feature-copy
  ) h3 {
    max-width: 12ch;
    font-size: clamp(2.2rem, 11vw, 3.25rem);
    overflow-wrap: normal;
  }

  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(.cost-bento-heading, .waiting-bento-heading) h2 {
    font-size: clamp(2.7rem, 13vw, 4.1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .protection-landlord-waiting-page,
    .protection-landlord-costs-page,
    .protection-landlord-services-page,
    .protection-exclusions-page
  ) :is(.cost-bento-card, .waiting-bento-card, .bento-mini-media img) {
    transition: none;
  }
}

/* Visual QA repair 2026-07-21 -- single authoritative cascade layer. */
.protection-landlord-services-page .landlord-service-navigator {
  padding-block: clamp(4.5rem, 7vw, 7rem);
}

.protection-landlord-services-page .landlord-service-navigator__header {
  grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr);
  grid-template-areas:
    "kicker title"
    "copy title";
  column-gap: clamp(3rem, 7vw, 8rem);
  row-gap: 1.25rem;
  align-items: end;
  margin-bottom: clamp(2rem, 3vw, 3rem);
}

.protection-landlord-services-page .landlord-service-navigator__header > .section-kicker {
  grid-area: kicker;
}

.protection-landlord-services-page .landlord-service-navigator__header > h2 {
  grid-area: title;
  max-width: 13ch;
  margin: 0;
}

.protection-landlord-services-page .landlord-service-navigator__header > p {
  grid-area: copy;
  margin: 0;
}

.protection-landlord-services-page .landlord-service-tabs {
  border: 0;
  border-block: 1px solid var(--border);
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.protection-landlord-services-page .landlord-service-tab {
  min-height: 4.25rem;
  border-radius: 0;
  padding: .75rem;
}

.protection-landlord-services-page .landlord-service-tab.is-active {
  background: transparent;
  box-shadow: inset 0 -2px var(--primary-action);
}

.protection-landlord-services-page .landlord-service-panel {
  grid-template-columns: minmax(0, 1.65fr) minmax(15rem, .55fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  min-height: 0;
  padding-block: clamp(2.5rem, 4vw, 4rem);
}

.protection-landlord-services-page .landlord-service-panel__copy h3 {
  max-width: 14ch;
  font-size: clamp(2.45rem, 3.6vw, 4.2rem);
}

.protection-landlord-services-page .landlord-service-panel__check {
  min-height: 0;
  align-self: end;
  justify-content: flex-end;
  padding: 0 0 .5rem clamp(1.5rem, 3vw, 3rem);
  border-left: 1px solid var(--border);
}

.protection-landlord-services-page .landlord-service-note {
  margin-top: 0;
}

.protection-landlord-services-page .landlord-tariff-layout {
  grid-template-columns: minmax(17rem, .34fr) minmax(0, 1.66fr);
  gap: clamp(1.5rem, 2.5vw, 2.25rem);
}

.protection-landlord-services-page .landlord-tariff-copy {
  top: 6.5rem;
  padding: clamp(1.35rem, 2.1vw, 1.9rem);
}

.protection-landlord-services-page .tariff-compare--landlord {
  min-width: 0;
  overflow: clip;
}

.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans {
  grid-template-columns: repeat(3, minmax(9rem, 1fr));
  margin-left: 0;
}

.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans article {
  min-width: 0;
  min-height: 10.75rem;
  padding: clamp(1rem, 1.8vw, 1.5rem);
}

.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans article h3 {
  font-size: clamp(1.4rem, 1.8vw, 1.85rem);
}

.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans::before,
.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans::after,
.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans article::before,
.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__symbol {
  display: none;
}

.protection-landlord-services-page .tariff-compare--landlord .tariff-compare__row summary {
  grid-template-columns: minmax(11rem, .9fr) repeat(3, minmax(8.25rem, 1fr)) 2.75rem;
}

.protection-landlord-waiting-page .landlord-waiting-bento-grid {
  grid-template-columns: minmax(0, 1fr) minmax(22rem, .82fr);
  grid-template-rows: auto;
  align-items: start;
}

.protection-landlord-waiting-page .landlord-waiting-bento-card--feature {
  grid-column: 1 / -1;
  grid-row: auto;
  min-height: clamp(33rem, 48vw, 39rem);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-areas: "copy media";
  align-items: stretch;
  background: #fbf5df;
  overflow: hidden;
}

.protection-landlord-waiting-page .landlord-waiting-bento-card--feature::before,
.protection-landlord-waiting-page .landlord-waiting-bento-card--feature::after {
  display: none;
}

.protection-landlord-waiting-page .landlord-waiting-bento-card__media {
  grid-area: media;
  position: relative;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #fbf5df;
}

.protection-landlord-waiting-page .landlord-waiting-bento-card__media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  backface-visibility: hidden;
  transform: none;
  filter: none;
  will-change: auto;
}

.protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy {
  grid-area: copy;
  position: relative;
  inset: auto;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 0;
  margin: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 3vw, 2.75rem);
  border: 0;
  border-right: 1px solid rgba(26, 24, 18, .12);
  border-radius: 0;
  background: #fffaf0;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
  filter: none;
  opacity: 1;
  mix-blend-mode: normal;
  -webkit-text-fill-color: currentColor;
}

.protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy h3 {
  width: auto;
  max-width: 11ch;
  font-size: clamp(2.2rem, 3vw, 3.35rem);
  line-height: 1;
  text-wrap: balance;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

@media (hover: hover) {
  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature:hover {
    border-color: rgba(26, 24, 18, .18);
    box-shadow: 0 1rem 2.5rem rgba(24, 24, 27, .07);
    transform: none;
  }
}

@media (max-width: 1100px) {
  .protection-landlord-services-page .landlord-tariff-layout {
    grid-template-columns: 1fr;
  }

  .protection-landlord-services-page .landlord-tariff-copy {
    position: static;
    display: grid;
    grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr);
    gap: 1.5rem;
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature {
    grid-template-columns: minmax(0, .95fr) minmax(19rem, 1.05fr);
  }
}

@media (max-width: 760px) {
  .protection-landlord-services-page .landlord-service-navigator__header,
  .protection-landlord-services-page .landlord-service-panel,
  .protection-landlord-services-page .landlord-tariff-copy {
    grid-template-columns: 1fr;
  }

  .protection-landlord-services-page .landlord-service-navigator__header {
    grid-template-areas: "kicker" "title" "copy";
    row-gap: 1.15rem;
  }

  .protection-landlord-services-page .landlord-service-tabs {
    overflow-x: auto;
  }

  .protection-landlord-services-page .landlord-service-tabs > * {
    min-width: 9.5rem;
  }

  .protection-landlord-services-page .landlord-service-panel__copy h3 {
    max-width: 13ch;
    font-size: clamp(2.15rem, 10vw, 3rem);
  }

  .protection-landlord-services-page .landlord-service-panel__check {
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--border);
    border-left: 0;
  }

  .protection-landlord-services-page .tariff-compare--landlord {
    overflow-x: auto;
  }

  .protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans,
  .protection-landlord-services-page .tariff-compare--landlord .tariff-compare__rows {
    min-width: 48rem;
  }

  .protection-landlord-services-page .tariff-compare--landlord .tariff-compare__plans {
    grid-template-columns: repeat(3, minmax(14rem, 1fr));
  }

  .protection-landlord-services-page .tariff-compare--landlord .tariff-compare__row summary {
    grid-template-columns: 11rem repeat(3, 10.5rem) 2.5rem;
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-areas: "media" "copy";
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card__media > img {
    object-fit: contain;
    object-position: center;
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy {
    padding: 1.35rem;
    border-top: 1px solid rgba(26, 24, 18, .12);
    border-right: 0;
    background: #fffaf0;
    color: #18140a;
    opacity: 1;
    -webkit-text-fill-color: currentColor;
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy h3 {
    max-width: 12ch;
    font-size: clamp(2rem, 9vw, 2.65rem);
    color: #18140a;
    opacity: 1;
    -webkit-text-fill-color: #18140a;
  }

  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy p,
  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy li,
  .protection-landlord-waiting-page .landlord-waiting-bento-card--feature .cost-bento-card__feature-copy span {
    color: rgba(24, 20, 10, .78);
    opacity: 1;
    -webkit-text-fill-color: rgba(24, 20, 10, .78);
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    background: #fbf5df;
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature > img {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    object-position: center;
    background: #fbf5df;
    transform: none;
    filter: none;
    opacity: 1;
    will-change: auto;
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature::before,
  .protection-landlord-costs-page .landlord-cost-bento-card--feature::after {
    display: none;
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature .cost-bento-card__feature-copy {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.35rem;
    border: 0;
    border-top: 1px solid rgba(26, 24, 18, .12);
    border-radius: 0;
    background: #fffaf0;
    color: #18140a;
    box-shadow: none;
    backdrop-filter: none;
    transform: none;
    filter: none;
    opacity: 1;
    mix-blend-mode: normal;
    -webkit-text-fill-color: currentColor;
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature .cost-bento-card__feature-copy h3 {
    max-width: 13ch;
    font-size: clamp(2rem, 9vw, 2.65rem);
    line-height: 1.02;
    color: #18140a;
    opacity: 1;
    -webkit-text-fill-color: #18140a;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  .protection-landlord-costs-page .landlord-cost-bento-card--feature .cost-bento-card__feature-copy p,
  .protection-landlord-costs-page .landlord-cost-bento-card--feature .cost-bento-card__feature-copy li,
  .protection-landlord-costs-page .landlord-cost-bento-card--feature .cost-bento-card__feature-copy span {
    color: rgba(24, 20, 10, .78);
    opacity: 1;
    -webkit-text-fill-color: rgba(24, 20, 10, .78);
  }
}

/* Protection subpages use native vertical scrolling. Keep reveal state static
   here so no competing scroll system can leave content half-rendered. */
.protection-subpage :is(
  .cost-bento-card,
  .waiting-bento-card,
  .local-bento-card,
  .services-bento-card,
  .protection-reveal,
  [data-reveal]
) {
  opacity: 1;
  visibility: visible;
  transform: none;
  filter: none;
  will-change: auto;
}

/* Canonical landlord feature bento: one layout owner, no overlays or cropped art. */
.protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-cost-bento-card--feature,
.protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-waiting-bento-card--feature {
  display: grid;
  grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr);
  grid-template-areas: "copy media";
  align-items: stretch;
  min-height: clamp(32rem, 43vw, 41rem);
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background: #f7f1dc;
  border: 1px solid rgba(25, 23, 18, .1);
}

.protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-cost-bento-card--feature::before,
.protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-cost-bento-card--feature::after,
.protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-waiting-bento-card--feature::before,
.protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-waiting-bento-card--feature::after {
  content: none;
}

.protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature > img,
.protection-subpage .landlord-waiting-bento-card--feature .landlord-waiting-bento-card__media {
  grid-area: media;
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #f7f1dc;
  transform: none;
  opacity: 1;
  filter: none;
}

.protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature > img,
.protection-subpage .landlord-waiting-bento-card--feature .landlord-waiting-bento-card__media > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  transform: none;
  opacity: 1;
  filter: none;
  backface-visibility: hidden;
  will-change: auto;
}

.protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature .cost-bento-card__feature-copy,
.protection-subpage .cost-bento-card--feature.landlord-waiting-bento-card--feature .cost-bento-card__feature-copy {
  grid-area: copy;
  position: relative;
  inset: auto;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: auto;
  min-width: 0;
  min-height: 0;
  max-width: none;
  margin: 0;
  padding: clamp(2.25rem, 4vw, 4.75rem);
  overflow: visible;
  color: #17150f;
  background: #fffaf0;
  border: 0;
  border-right: 1px solid rgba(25, 23, 18, .08);
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: none;
}

.protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature .cost-bento-card__feature-copy :is(h2, h3),
.protection-subpage .cost-bento-card--feature.landlord-waiting-bento-card--feature .cost-bento-card__feature-copy :is(h2, h3) {
  max-width: 13ch;
  margin: 0;
  color: #17150f;
  -webkit-text-fill-color: #17150f;
  font-size: clamp(2.65rem, 4.25vw, 4.85rem);
  line-height: .96;
  letter-spacing: 0;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature .cost-bento-card__feature-copy :is(p, li, span),
.protection-subpage .cost-bento-card--feature.landlord-waiting-bento-card--feature .cost-bento-card__feature-copy :is(p, li, span) {
  color: #625e52;
  -webkit-text-fill-color: #625e52;
}

.protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature .cost-bento-card__feature-copy > p,
.protection-subpage .cost-bento-card--feature.landlord-waiting-bento-card--feature .cost-bento-card__feature-copy > p {
  max-width: 38rem;
  margin-top: 1.5rem;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.65;
}

@media (max-width: 760px) {
  .protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-cost-bento-card--feature,
  .protection-subpage .cost-bento-grid .cost-bento-card--feature.landlord-waiting-bento-card--feature {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "media" "copy";
    min-height: 0;
  }

  .protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature > img {
    grid-area: media;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }

  .protection-subpage .landlord-waiting-bento-card--feature .landlord-waiting-bento-card__media {
    grid-area: media;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .protection-subpage .landlord-waiting-bento-card--feature .landlord-waiting-bento-card__media > img {
    object-fit: contain;
    object-position: center;
  }

  .protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature .cost-bento-card__feature-copy,
  .protection-subpage .cost-bento-card--feature.landlord-waiting-bento-card--feature .cost-bento-card__feature-copy {
    grid-area: copy;
    width: 100%;
    min-height: 0;
    padding: clamp(1.75rem, 7vw, 3rem);
    border-right: 0;
    border-top: 1px solid rgba(25, 23, 18, .08);
  }

  .protection-subpage .cost-bento-card--feature.landlord-cost-bento-card--feature .cost-bento-card__feature-copy :is(h2, h3),
  .protection-subpage .cost-bento-card--feature.landlord-waiting-bento-card--feature .cost-bento-card__feature-copy :is(h2, h3) {
    max-width: 14ch;
    font-size: clamp(2.15rem, 9.5vw, 3.35rem);
    line-height: 1;
  }
}

/* Landlord detail pages: keep the editorial header inside the mobile viewport.
   This final responsive rule intentionally follows the editorial system. */
@media (max-width: 980px) {
  .protection-landlord-detail-page .landlord-waiting-flow__header {
    grid-template-columns: minmax(0, 1fr);
  }

  .protection-landlord-detail-page .landlord-waiting-flow__header > * {
    grid-column: auto;
    min-width: 0;
    width: 100%;
    justify-self: stretch;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__copy {
    max-width: 42rem;
  }

  .protection-landlord-detail-page .landlord-waiting-flow__map,
  .protection-landlord-detail-page .landlord-waiting-flow__cases {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .protection-landlord-detail-page .landlord-waiting-flow__header h2 {
    max-width: 11ch;
    font-size: clamp(2.55rem, 13vw, 3.8rem);
    line-height: 0.94;
    overflow-wrap: normal;
    word-break: normal;
  }
}
