/* Vermieterrechtsschutz main page: isolated hero, topic silo and dossier experience. */
.landlord-main-hero,
.landlord-topic-silo,
.landlord-dossier {
  --landlord-yellow: #f5c518;
  --landlord-yellow-deep: #8a6500;
  --landlord-ink: #111114;
  --landlord-paper: #f5f1e7;
  --landlord-paper-edge: #d8cfbd;
}

.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);
}

.landlord-main-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: clip;
  padding-top: 4.25rem;
  background: var(--background);
  color: var(--foreground);
}

.landlord-main-hero::before {
  position: absolute;
  inset: 4.25rem 0 auto;
  z-index: 3;
  height: 1px;
  background: var(--border);
  content: "";
}

.landlord-main-hero__grid {
  position: absolute;
  inset: 4.25rem 0 4.2rem;
  z-index: -2;
  opacity: .44;
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size: 5.25rem 5.25rem;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.14) 48%, rgba(0,0,0,.48));
}

.landlord-main-hero__inner {
  width: min(100% - 3rem, 90rem);
  flex: 1;
  display: grid;
  grid-template-columns: minmax(29rem, .88fr) minmax(34rem, 1.12fr);
  align-items: center;
  gap: clamp(1rem, 2vw, 2.5rem);
  margin-inline: auto;
  padding: clamp(2rem, 4.2vw, 4rem) 0 clamp(1.5rem, 3vw, 3rem);
}

.landlord-main-hero__copy {
  position: relative;
  z-index: 5;
  max-width: 42rem;
}

.landlord-main-hero__eyebrow,
.landlord-main-hero__proof {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.landlord-main-hero__eyebrow {
  width: fit-content;
  padding: .55rem .72rem;
  border: 1px solid var(--border);
  border-radius: .48rem;
  background: color-mix(in srgb, var(--background) 80%, transparent);
  color: var(--muted-foreground);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.landlord-main-hero__eyebrow i,
.landlord-main-hero__proof i {
  width: .42rem;
  height: .42rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--landlord-yellow);
  box-shadow: 0 0 0 .3rem rgba(245,197,24,.13);
}

.landlord-main-hero h1 {
  max-width: 13ch;
  margin: 1.35rem 0 1.25rem;
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 5.3vw, 5.65rem);
  font-weight: 620;
  line-height: .94;
  letter-spacing: -.058em;
  text-wrap: balance;
}

.landlord-main-hero h1 span { color: var(--primary); }
.dark .landlord-main-hero h1 span { color: var(--landlord-yellow); }

.landlord-main-hero__copy > p:not(.landlord-main-hero__proof) {
  max-width: 37rem;
  margin: 0;
  color: var(--muted-foreground);
  font-size: clamp(1rem, 1.2vw, 1.08rem);
  line-height: 1.68;
}

.landlord-main-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem;
  margin-top: 1.55rem;
}

.landlord-main-hero__actions .button,
.landlord-main-hero__phone { min-height: 3.4rem; }

.landlord-main-hero__actions svg,
.landlord-main-hero__rating svg {
  width: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.landlord-main-hero__phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.15rem;
  border: 1px solid var(--border);
  border-radius: .66rem;
  background: color-mix(in srgb, var(--background) 76%, transparent);
  color: var(--foreground);
  font-weight: 760;
  text-decoration: none;
  transition: transform 180ms cubic-bezier(.23,1,.32,1), border-color 180ms ease, background 180ms ease;
}

.landlord-main-hero__phone:active,
.landlord-main-hero__actions .button:active { transform: scale(.97); }

.landlord-main-hero__rating {
  width: min(100%, 22rem);
  margin-top: .75rem;
  padding: .5rem .65rem;
}

.landlord-main-hero__rating .protection-google-rating__g {
  width: 2.15rem;
  height: 2.15rem;
  font-size: 1rem;
}

.landlord-main-hero__proof {
  margin: 1rem 0 0;
  color: var(--muted-foreground);
  font-size: .72rem;
}

.landlord-main-hero__visual {
  --landlord-shift-x: 0px;
  --landlord-shift-y: 0px;
  position: relative;
  z-index: 2;
  min-width: 0;
  min-height: 40rem;
  transform: translate3d(var(--landlord-shift-x), var(--landlord-shift-y), 0);
  transition: transform 480ms cubic-bezier(.23,1,.32,1);
  will-change: transform;
}

.landlord-main-hero__visual figure {
  position: absolute;
  inset: -2% -12% -2% -10%;
  z-index: 2;
  margin: 0;
}

.landlord-main-hero__visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 2.2rem 3.5rem rgba(31,25,15,.2));
}

.dark .landlord-main-hero__visual img {
  filter: brightness(.93) saturate(.92) contrast(1.04) drop-shadow(0 2.2rem 4rem rgba(0,0,0,.46));
}

.landlord-main-hero__halo {
  position: absolute;
  inset: 10% 3% 10% 5%;
  z-index: 0;
  border: 1px solid color-mix(in srgb, var(--landlord-yellow) 28%, transparent);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,197,24,.11), transparent 67%);
  opacity: .7;
}

.landlord-main-hero__halo::before,
.landlord-main-hero__halo::after {
  position: absolute;
  border: 1px solid var(--border);
  border-radius: inherit;
  content: "";
}

.landlord-main-hero__halo::before { inset: 9%; }
.landlord-main-hero__halo::after { inset: 19%; }

.landlord-main-hero__markers span {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.15rem;
  padding: .42rem .65rem;
  border: 1px solid var(--border);
  border-radius: .45rem;
  background: color-mix(in srgb, var(--background) 88%, transparent);
  color: var(--foreground);
  box-shadow: 0 .75rem 2rem rgba(20,18,12,.08);
  backdrop-filter: blur(12px);
  font-size: .64rem;
  font-weight: 780;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.landlord-main-hero__markers b {
  color: color-mix(in srgb, var(--landlord-yellow) 74%, var(--foreground));
  font-size: .58rem;
}

.landlord-main-hero__markers .is-contract { top: 16%; left: 4%; }
.landlord-main-hero__markers .is-payment { top: 10%; right: 7%; }
.landlord-main-hero__markers .is-utilities { right: 1%; bottom: 28%; }
.landlord-main-hero__markers .is-review { bottom: 17%; left: 2%; }

.landlord-main-hero__caption {
  position: absolute;
  right: 2%;
  bottom: 2%;
  left: 8%;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: .75rem;
  color: var(--muted-foreground);
  font-size: .61rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.landlord-main-hero__caption i { height: 1px; flex: 1; background: var(--border); }
.landlord-main-hero__caption strong { color: var(--foreground); }

.landlord-main-hero__dock {
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.35rem;
  padding: .85rem 1.5rem;
  border-top: 1px solid var(--border);
  color: var(--muted-foreground);
  font-size: .73rem;
  font-weight: 720;
}

.landlord-main-hero__dock i {
  width: .23rem;
  height: .23rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--landlord-yellow);
}

.landlord-topic-silo {
  position: relative;
  padding: clamp(4.75rem, 7vw, 7rem) 0;
  overflow: clip;
  background: #111114;
  color: #f7f7f2;
}

.landlord-topic-silo::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .3;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 5rem 5rem;
  content: "";
}

.landlord-topic-silo__inner {
  position: relative;
  width: min(100% - 3rem, 90rem);
  margin-inline: auto;
}

.landlord-topic-silo header {
  display: grid;
  grid-template-columns: minmax(13rem, .48fr) minmax(24rem, 1fr);
  align-items: end;
  gap: clamp(2rem, 5vw, 7rem);
  margin-bottom: 2.5rem;
}

.landlord-topic-silo header > span {
  color: var(--landlord-yellow);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.landlord-topic-silo h2 {
  max-width: 18ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4.4vw, 4.65rem);
  font-weight: 620;
  line-height: .96;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.landlord-topic-silo nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.12);
  border-left: 1px solid rgba(255,255,255,.12);
}

.landlord-topic-silo a {
  position: relative;
  min-height: 8rem;
  display: grid;
  grid-template-columns: 2.2rem minmax(0,1fr) auto;
  grid-template-rows: auto 1fr;
  align-content: center;
  gap: .28rem .85rem;
  padding: 1.25rem 1.1rem;
  border-right: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: inherit;
  text-decoration: none;
  transition: background 180ms ease, transform 180ms cubic-bezier(.23,1,.32,1);
}

.landlord-topic-silo a::after {
  grid-column: 3;
  grid-row: 1 / 3;
  color: rgba(255,255,255,.45);
  content: "↘";
  font-size: .9rem;
  transition: color 180ms ease, transform 180ms ease;
}

.landlord-topic-silo a > span {
  grid-row: 1 / 3;
  padding-top: .1rem;
  color: var(--landlord-yellow);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.landlord-topic-silo a strong { font-size: 1.02rem; line-height: 1.1; }
.landlord-topic-silo a small { color: rgba(255,255,255,.55); font-size: .7rem; line-height: 1.4; }
.landlord-topic-silo a:active { transform: scale(.985); }

.landlord-dossier {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: clamp(7rem, 10vw, 11rem) 0 clamp(8rem, 12vw, 13rem);
  background: #0d0d0f;
  color: #f7f7f2;
}

.landlord-dossier::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .52;
  background:
    radial-gradient(circle at 68% 28%, rgba(245,197,24,.11), transparent 27rem),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: auto, 5.5rem 5.5rem, 5.5rem 5.5rem;
  content: "";
}

.landlord-dossier__inner { width: min(100% - 3rem, 90rem); margin-inline: auto; }

.landlord-dossier__heading {
  display: grid;
  grid-template-columns: minmax(26rem, 1fr) minmax(20rem, .62fr);
  align-items: end;
  gap: clamp(2.5rem, 7vw, 8rem);
  margin-bottom: clamp(4rem, 7vw, 7rem);
}

.landlord-dossier .section-kicker { color: var(--landlord-yellow); }

.landlord-dossier__heading h2 {
  max-width: 15ch;
  margin: .85rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(3.2rem, 6vw, 6.6rem);
  font-weight: 610;
  line-height: .91;
  letter-spacing: -.064em;
  text-wrap: balance;
}

.landlord-dossier__heading h2 span { color: var(--landlord-yellow); }

.landlord-dossier__heading > p {
  max-width: 37rem;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: clamp(.95rem, 1.2vw, 1.08rem);
  line-height: 1.72;
}

.landlord-dossier__layout {
  display: grid;
  grid-template-columns: minmax(13.5rem, 15.5rem) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 6rem);
}

.landlord-dossier__index {
  position: sticky;
  top: 6.75rem;
  align-self: start;
}

.landlord-dossier__index-head {
  position: relative;
  display: grid;
  gap: .12rem;
  padding: 0 2.75rem 1.35rem 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.landlord-dossier__index-head span,
.landlord-dossier__index-head strong {
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.landlord-dossier__index-head span { color: rgba(255,255,255,.48); }
.landlord-dossier__index-head strong { color: #fff; }
.landlord-dossier__index-head small { position: absolute; top: 0; right: 0; color: var(--landlord-yellow); font-size: .62rem; }
.landlord-dossier__index ol { margin: 0; padding: 0; list-style: none; }

.landlord-dossier__index a {
  position: relative;
  min-height: 4.35rem;
  display: grid;
  grid-template-columns: 2rem minmax(0,1fr);
  align-items: center;
  gap: .65rem;
  padding: .7rem .55rem .7rem .8rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.48);
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, transform 180ms cubic-bezier(.23,1,.32,1);
}

.landlord-dossier__index a::before {
  position: absolute;
  top: .65rem;
  bottom: .65rem;
  left: 0;
  width: 2px;
  background: transparent;
  content: "";
  transition: background 180ms ease;
}

.landlord-dossier__index a span {
  color: rgba(245,197,24,.54);
  font-size: .63rem;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
}

.landlord-dossier__index a strong { font-size: .75rem; font-weight: 660; line-height: 1.3; }

.landlord-dossier__index a.is-active,
.landlord-dossier__index a[aria-current="step"] {
  background: linear-gradient(90deg, rgba(245,197,24,.1), transparent);
  color: #fff;
}

.landlord-dossier__index a.is-active::before,
.landlord-dossier__index a[aria-current="step"]::before { background: var(--landlord-yellow); }

.landlord-dossier__index a.is-active span,
.landlord-dossier__index a[aria-current="step"] span { color: var(--landlord-yellow); }

.landlord-dossier__index-status {
  display: grid;
  gap: .28rem;
  margin-top: 1.3rem;
  color: rgba(255,255,255,.42);
  font-size: .6rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.landlord-dossier__index-status strong { color: rgba(255,255,255,.78); font-size: .66rem; line-height: 1.45; }

.landlord-dossier__track {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(26rem, 1fr) minmax(17rem, .48fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 4.5rem);
}

.landlord-dossier__stage {
  position: sticky;
  top: 6.75rem;
  height: min(76svh, 47rem);
  display: grid;
  place-items: center;
  perspective: 1400px;
}

/* A missing motion runtime must never hide dossier information behind a static stack. */
.landlord-dossier[data-dossier-mode="linear"] .landlord-dossier__track,
.landlord-dossier[data-dossier-mode="reduced"] .landlord-dossier__track { display: block; }

.landlord-dossier[data-dossier-mode="linear"] .landlord-dossier__stage,
.landlord-dossier[data-dossier-mode="reduced"] .landlord-dossier__stage { display: none; }

.landlord-dossier__folder {
  position: relative;
  width: min(100%, 37rem);
  height: min(68svh, 40rem);
  transform-style: preserve-3d;
}

.landlord-dossier__folder::before {
  position: absolute;
  inset: 1.7rem -.8rem -.75rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .7rem;
  background: #27231d;
  box-shadow: 0 2.6rem 5rem rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.09);
  content: "";
  transform: rotate(-1.5deg);
}

.landlord-dossier__folder-label {
  position: absolute;
  right: .45rem;
  bottom: .35rem;
  z-index: 1;
  color: rgba(255,255,255,.4);
  font-size: .57rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.landlord-dossier__sheet {
  position: absolute;
  inset: 3rem .35rem 1.25rem;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.45rem, 3vw, 2.25rem);
  border: 1px solid var(--landlord-paper-edge);
  border-radius: .62rem;
  background:
    linear-gradient(rgba(45,39,29,.04) 1px, transparent 1px),
    var(--landlord-paper);
  background-size: 100% 2rem;
  color: #191714;
  box-shadow: 0 1.7rem 3.6rem rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.8);
  transform-origin: 50% 92%;
  will-change: transform, opacity;
}

.landlord-dossier__sheet:nth-of-type(2) { transform: translate(3%, -1.5%) rotate(.65deg) scale(.988); }
.landlord-dossier__sheet:nth-of-type(3) { transform: translate(6%, -3%) rotate(1.2deg) scale(.976); }
.landlord-dossier__sheet:nth-of-type(4) { transform: translate(9%, -4.5%) rotate(1.8deg) scale(.964); }
.landlord-dossier__sheet:nth-of-type(5) { transform: translate(12%, -6%) rotate(2.3deg) scale(.952); }
.landlord-dossier__sheet:nth-of-type(6) { transform: translate(15%, -7.5%) rotate(2.8deg) scale(.94); }
.landlord-dossier__sheet:nth-of-type(1) { z-index: 6; }
.landlord-dossier__sheet:nth-of-type(2) { z-index: 5; }
.landlord-dossier__sheet:nth-of-type(3) { z-index: 4; }
.landlord-dossier__sheet:nth-of-type(4) { z-index: 3; }
.landlord-dossier__sheet:nth-of-type(5) { z-index: 2; }
.landlord-dossier__sheet:nth-of-type(6) { z-index: 1; }

.landlord-dossier__sheet-tab {
  position: absolute;
  top: -1.85rem;
  width: 3.65rem;
  height: 1.9rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--landlord-paper-edge);
  border-bottom: 0;
  border-radius: .46rem .46rem 0 0;
  background: #ded6c6;
  color: #4c473f;
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .06em;
}

.landlord-dossier__sheet:nth-of-type(1) .landlord-dossier__sheet-tab { left: 0; background: var(--landlord-yellow); color: #18140b; }
.landlord-dossier__sheet:nth-of-type(2) .landlord-dossier__sheet-tab { left: 16%; }
.landlord-dossier__sheet:nth-of-type(3) .landlord-dossier__sheet-tab { left: 32%; }
.landlord-dossier__sheet:nth-of-type(4) .landlord-dossier__sheet-tab { left: 48%; }
.landlord-dossier__sheet:nth-of-type(5) .landlord-dossier__sheet-tab { left: 64%; }
.landlord-dossier__sheet:nth-of-type(6) .landlord-dossier__sheet-tab { left: 80%; }
.landlord-dossier__sheet.is-active .landlord-dossier__sheet-tab { background: var(--landlord-yellow); color: #18140b; }

.landlord-dossier__sheet-head {
  display: grid;
  grid-template-columns: 2.25rem 1fr auto;
  align-items: center;
  gap: .7rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(25,23,20,.14);
  font-size: .62rem;
  font-weight: 760;
  text-transform: uppercase;
}

.landlord-dossier__sheet-head b {
  height: 2.25rem;
  display: grid;
  place-items: center;
  border-radius: .34rem;
  background: var(--landlord-yellow);
  color: #18140b;
  font-size: .66rem;
}

.landlord-dossier__sheet-head small { color: #777167; font-size: .52rem; letter-spacing: .09em; }

.landlord-dossier__sheet-index {
  margin-top: clamp(1.3rem, 3vh, 2.25rem);
  color: var(--landlord-yellow-deep);
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.landlord-dossier__sheet h3 {
  max-width: 15ch;
  margin: .7rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  font-weight: 690;
  line-height: .96;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.landlord-dossier__sheet > p {
  max-width: 34rem;
  margin: .9rem 0 0;
  color: #6e685f;
  font-size: .78rem;
  line-height: 1.58;
}

.landlord-dossier__sheet dl {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: auto 0 1rem;
  border: 1px solid rgba(25,23,20,.12);
  border-radius: .48rem;
  background: rgba(255,255,255,.38);
}

.landlord-dossier__sheet dl div { min-width: 0; padding: .7rem; border-right: 1px solid rgba(25,23,20,.1); }
.landlord-dossier__sheet dl div:last-child { border-right: 0; }
.landlord-dossier__sheet dt { color: #8b8479; font-size: .48rem; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; }
.landlord-dossier__sheet dd { overflow-wrap: anywhere; margin: .25rem 0 0; font-size: .61rem; font-weight: 760; }

.landlord-dossier__sheet footer {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .25rem .8rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(25,23,20,.14);
}

.landlord-dossier__sheet footer span { color: #8b8479; font-size: .5rem; letter-spacing: .06em; text-transform: uppercase; }
.landlord-dossier__sheet footer strong { font-size: .62rem; text-align: right; }

.landlord-dossier__steps {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.landlord-dossier__steps > li {
  min-height: 62svh;
  display: flex;
  align-items: center;
  scroll-margin-top: 18svh;
}

.landlord-dossier__steps article {
  position: relative;
  padding: 0 0 0 1.25rem;
  border-left: 1px solid rgba(255,255,255,.15);
  opacity: .38;
  transform: translateX(.4rem);
  transition: opacity 220ms ease, transform 280ms cubic-bezier(.23,1,.32,1), border-color 220ms ease;
}

.landlord-dossier__steps li.is-active article,
.landlord-dossier__steps li[aria-current="step"] article {
  border-color: var(--landlord-yellow);
  opacity: 1;
  transform: translateX(0);
}

.landlord-dossier__steps article > span {
  color: var(--landlord-yellow);
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .08em;
}

.landlord-dossier__steps h3 {
  max-width: 12ch;
  margin: .72rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 650;
  line-height: .95;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.landlord-dossier__steps p { margin: 1rem 0 0; color: rgba(255,255,255,.58); font-size: .82rem; line-height: 1.66; }
.landlord-dossier__steps a { display: inline-flex; gap: .6rem; margin-top: 1rem; color: var(--landlord-yellow); font-size: .72rem; font-weight: 760; text-decoration: none; }
.landlord-dossier__steps a b { font-weight: inherit; transition: transform 180ms ease; }

@media (hover: hover) and (pointer: fine) {
  .landlord-main-hero__phone:hover { border-color: var(--foreground); background: var(--muted); transform: translateY(-2px); }
  .landlord-topic-silo a:hover { background: rgba(245,197,24,.075); }
  .landlord-topic-silo a:hover::after { color: #fff; transform: translate(2px,2px); }
  .landlord-dossier__index a:hover { color: #fff; transform: translateX(2px); }
  .landlord-dossier__steps a:hover b { transform: translate(2px,-2px); }
}

:is(.landlord-main-hero, .landlord-topic-silo, .landlord-dossier) a:focus-visible {
  outline: 2px solid var(--landlord-yellow);
  outline-offset: 4px;
}

@media (max-width: 1180px) {
  .landlord-main-hero__inner { grid-template-columns: minmax(25rem,.92fr) minmax(28rem,1.08fr); gap: 1rem; }
  .landlord-main-hero h1 { font-size: clamp(3.3rem,5.7vw,4.75rem); }
  .landlord-main-hero__visual { min-height: 31rem; }
  .landlord-main-hero__markers span { font-size: .57rem; }
  .landlord-dossier__layout { grid-template-columns: 13rem minmax(0,1fr); gap: 2rem; }
  .landlord-dossier__track { grid-template-columns: minmax(24rem,1fr) minmax(15rem,.43fr); gap: 1.5rem; }
}

@media (max-width: 980px) {
  .landlord-main-hero { min-height: auto; }
  .landlord-main-hero__inner { width: min(100% - 2rem, 48rem); grid-template-columns: 1fr; gap: 1rem; padding: 3rem 0 1.4rem; }
  .landlord-main-hero__copy { display: contents; }
  .landlord-main-hero__eyebrow { order: 1; justify-self: start; }
  .landlord-main-hero h1 { order: 2; max-width: 12ch; font-size: clamp(2.8rem,9vw,4.25rem); }
  .landlord-main-hero__copy > p:not(.landlord-main-hero__proof) { order: 3; }
  .landlord-main-hero__actions { order: 4; }
  .landlord-main-hero__visual { order: 5; height: min(72vw,34rem); min-height: 0; }
  .landlord-main-hero__rating { order: 6; }
  .landlord-main-hero__proof { order: 7; }
  .landlord-main-hero__visual figure { inset: -3% -6% -5%; }
  .landlord-main-hero__dock { justify-content: flex-start; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .landlord-main-hero__dock::-webkit-scrollbar { display: none; }
}

@media (max-width: 900px), (max-height: 600px) {
  .landlord-dossier { padding-block: 6rem 7rem; }
  .landlord-dossier__inner { width: min(100% - 2rem, 46rem); }
  .landlord-dossier__heading { grid-template-columns: 1fr; gap: 1.4rem; margin-bottom: 3rem; }
  .landlord-dossier__heading h2 { max-width: 12ch; font-size: clamp(3rem,10vw,4.9rem); }
  .landlord-dossier__layout { grid-template-columns: 1fr; gap: 2.75rem; }
  .landlord-dossier__index { position: static; }
  .landlord-dossier__index ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.1); border-left: 1px solid rgba(255,255,255,.1); }
  .landlord-dossier__index li { min-width: 0; }
  .landlord-dossier__index a { min-height: 4.1rem; border-right: 1px solid rgba(255,255,255,.1); padding-inline: .7rem; }
  .landlord-dossier__index a::before { top: auto; right: .7rem; bottom: 0; left: .7rem; width: auto; height: 2px; }
  .landlord-dossier__index-status { display: none; }
  .landlord-dossier__track { display: block; }
  .landlord-dossier__stage { display: none; }
  .landlord-dossier__steps { display: grid; gap: 1rem; }
  .landlord-dossier__steps > li { min-height: 0; display: block; scroll-margin-top: 5.5rem; }
  .landlord-dossier__steps article {
    min-height: 18rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem;
    border: 1px solid var(--landlord-paper-edge);
    border-radius: .58rem;
    background: linear-gradient(rgba(45,39,29,.04) 1px, transparent 1px), var(--landlord-paper);
    background-size: 100% 2rem;
    color: #191714;
    opacity: 1;
    transform: none;
    box-shadow: 0 1.5rem 3rem rgba(0,0,0,.24);
  }
  .landlord-dossier__steps li:nth-child(even) article { transform: rotate(.35deg); }
  .landlord-dossier__steps li:nth-child(odd) article { transform: rotate(-.25deg); }
  .landlord-dossier__steps li.is-active article { border-color: var(--landlord-yellow); box-shadow: 0 1.5rem 3rem rgba(0,0,0,.24), inset 3px 0 var(--landlord-yellow); }
  .landlord-dossier__steps h3 { max-width: 14ch; color: #191714; }
  .landlord-dossier__steps p { max-width: 42rem; color: #6e685f; }
  .landlord-dossier__steps a { color: #765900; }
}

@media (max-width: 760px) {
  .landlord-main-hero__inner { width: min(100% - 2rem,42rem); padding-top: 2.6rem; }
  .landlord-main-hero h1 { margin-block: 1rem; font-size: clamp(2.75rem,13vw,4rem); }
  .landlord-main-hero__copy > p:not(.landlord-main-hero__proof) { font-size: .96rem; }
  .landlord-main-hero__visual { height: min(79vw,30rem); }
  .landlord-main-hero__markers .is-payment { right: 2%; }
  .landlord-main-hero__markers .is-utilities { display: none; }
  .landlord-main-hero__caption { right: 0; left: 0; }
  .landlord-topic-silo { padding-block: 4.5rem; }
  .landlord-topic-silo__inner { width: min(100% - 2rem,42rem); }
  .landlord-topic-silo header { grid-template-columns: 1fr; gap: 1rem; }
  .landlord-topic-silo h2 { font-size: clamp(2.5rem,11vw,3.8rem); }
  .landlord-topic-silo nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landlord-topic-silo a { min-height: 7.5rem; padding: 1rem .85rem; }
}

@media (max-width: 430px) {
  .landlord-main-hero h1 { max-width: 13ch; font-size: min(11.2vw,3rem); }
  .landlord-main-hero__actions { align-items: stretch; }
  .landlord-main-hero__actions > * { width: 100%; justify-content: center; }
  .landlord-main-hero__visual { height: min(84vw,24rem); }
  .landlord-main-hero__markers span { min-height: 1.8rem; padding: .32rem .45rem; font-size: .49rem; }
  .landlord-main-hero__markers .is-contract { top: 12%; left: 0; }
  .landlord-main-hero__markers .is-payment { top: 7%; }
  .landlord-main-hero__markers .is-review { bottom: 14%; left: 0; }
  .landlord-main-hero__caption { font-size: .52rem; }
  .landlord-topic-silo a { grid-template-columns: 1.65rem minmax(0,1fr) auto; gap-inline: .45rem; }
  .landlord-topic-silo a strong { font-size: .9rem; }
  .landlord-topic-silo a small { font-size: .6rem; }
  .landlord-dossier__inner { width: min(100% - 1.25rem,46rem); }
  .landlord-dossier__heading h2 { font-size: clamp(2.8rem,13vw,4rem); }
  .landlord-dossier__index a { grid-template-columns: 1.45rem minmax(0,1fr); gap: .38rem; }
  .landlord-dossier__index a strong { font-size: .65rem; }
  .landlord-dossier__steps article { min-height: 20rem; padding: 1.25rem; }
  .landlord-dossier__steps h3 { font-size: clamp(2.05rem,10vw,2.75rem); }
}

@media (min-width: 760px) and (max-height: 720px) and (orientation: landscape) {
  .landlord-main-hero { min-height: 100svh; }
  .landlord-main-hero__inner { grid-template-columns: minmax(23rem,.95fr) minmax(24rem,1.05fr); gap: .5rem; padding: 1.2rem 0 .65rem; }
  .landlord-main-hero__copy { display: block; }
  .landlord-main-hero h1 { max-width: 18ch; margin: .55rem 0; font-size: 2.15rem; }
  .landlord-main-hero__copy > p:not(.landlord-main-hero__proof) { max-width: 35rem; font-size: .76rem; line-height: 1.45; }
  .landlord-main-hero__actions { flex-wrap: nowrap; margin-top: .65rem; }
  .landlord-main-hero__actions .button,
  .landlord-main-hero__phone { min-height: 2.7rem; font-size: .68rem; }
  .landlord-main-hero__rating,
  .landlord-main-hero__proof { display: none; }
  .landlord-main-hero__visual { height: 17rem; min-height: 0; }
  .landlord-main-hero__dock { min-height: 2.5rem; padding-block: .35rem; font-size: .58rem; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .landlord-main-hero { height: 100svh; min-height: 0; }
  .landlord-main-hero__inner { padding-block: .65rem .1rem; }
  .landlord-main-hero__dock { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .landlord-main-hero__visual,
  .landlord-main-hero__phone,
  .landlord-topic-silo a,
  .landlord-dossier__index a,
  .landlord-dossier__steps article { transition: none; }
  .landlord-dossier__layout { grid-template-columns: 1fr; }
  .landlord-dossier__index { position: static; }
  .landlord-dossier__stage { display: none; }
  .landlord-dossier__track { display: block; }
  .landlord-dossier__steps { display: grid; gap: 1rem; }
  .landlord-dossier__steps > li { min-height: 0; }
  .landlord-dossier__steps article { opacity: 1; transform: none; }
}
@media (max-width: 900px), (max-height: 600px) {
  .landlord-dossier__index a strong { font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
  .landlord-dossier__index a span, .landlord-dossier__index-head span, .landlord-dossier__index-head strong, .landlord-dossier__index-head small { font-size: .75rem; }
  .landlord-dossier__steps article { min-height: 0; }
  .landlord-dossier__steps p { font-size: 1rem; line-height: 1.7; }
  .landlord-dossier__steps article > span, .landlord-dossier__steps a { font-size: .875rem; }
}

/* React reading mode only: desktop dossier geometry and reduced motion stay intact. */
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__stage {
  display: grid;
  position: sticky;
  top: 5rem;
  z-index: 3;
  height: 296px;
  margin-bottom: 1.5rem;
  background: linear-gradient(#0d0d0f 86%, transparent);
  pointer-events: none;
}
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__folder {
  width: min(82%, 25rem);
  height: 260px;
}
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__folder::before { inset: 1.7rem -.6rem -.4rem; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__folder-label { display: none; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet {
  inset: 2rem 0 .25rem;
  padding: .85rem;
  transform-origin: 50% 92%;
}
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet-tab { width: 2rem; font-size: .75rem; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet-head {
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .5rem;
  padding-bottom: .5rem;
  font-size: .75rem;
}
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet-head b { height: 1.5rem; font-size: .7rem; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet-head small,
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet > p,
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet footer { display: none; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet-index {
  margin-top: .55rem;
  font-size: .7rem;
  letter-spacing: .01em;
}
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet h3 {
  max-width: none;
  margin-top: .4rem;
  font-size: 1.25rem;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet dl { margin: auto 0 0; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet dl div { padding: .4rem .25rem; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet dt,
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__sheet dd { font-size: .75rem; letter-spacing: 0; }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__steps > li { scroll-margin-top: calc(5rem + 296px + 1.5rem); }
.landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__steps article { min-height: 19rem; }

@media (min-width: 600px) and (max-height: 600px) {
  .landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__track {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
    gap: 1.25rem;
  }
  .landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__stage { top: 4rem; height: 270px; margin: 0; }
  .landlord-dossier[data-dossier-mode="reading"] .landlord-dossier__steps > li { scroll-margin-top: 5rem; }
}
