:root {
  --paper: #ffffff;
  --paper-warm: #f7f5f0;
  --ink: #111111;
  --ink-soft: #585858;
  --line: #dedbd2;
  --gold: #bd8f37;
  --gold-text: #85631f;
  --gold-bright: #d7b667;
  --gold-pale: #f3e8cc;
  --black: #080808;
  --radius-sm: 12px;
  --radius-md: 22px;
  --radius-lg: 32px;
  --shadow-soft: 0 24px 70px rgb(17 17 17 / 12%);
  --content: 1240px;
  --font-sans: "Segoe UI Variable", "Segoe UI", Helvetica, Arial, sans-serif;
}

/* Homepage intro: a short, session-aware brand moment before the video hero. */
body.intro-open {
  overflow: hidden;
}

.site-intro {
  position: fixed;
  z-index: 1000;
  inset: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 46%, rgb(189 143 55 / 17%), transparent 29%),
    linear-gradient(145deg, #050505, #0e0d0a 62%, #050505);
  color: #fff;
  transform: translateY(0);
  transition: transform 460ms cubic-bezier(0.76, 0, 0.24, 1), visibility 460ms;
}

.site-intro[hidden],
.no-js .site-intro {
  display: none;
}

.site-intro.is-leaving {
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-101%);
}

.site-intro__brand {
  position: relative;
  z-index: 1;
  width: min(88vw, 520px);
  display: grid;
  justify-items: center;
  text-align: center;
}

.site-intro__kicker {
  margin-bottom: 20px;
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
}

.site-intro__mark {
  position: relative;
  width: clamp(118px, 12vw, 168px);
  aspect-ratio: 2 / 3;
  overflow: visible;
  background: transparent;
  filter: drop-shadow(0 24px 54px rgb(0 0 0 / 42%));
  opacity: 0;
  transform: translateY(8px) scale(0.9);
}

.site-intro__mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.site-intro__claim {
  margin: 24px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px 18px;
  font-size: clamp(24px, 2.4vw, 38px);
  font-weight: 620;
  letter-spacing: -0.045em;
  line-height: 1;
}

.site-intro__claim span {
  opacity: 0;
  transform: translateY(12px);
}

.site-intro__skip {
  position: absolute;
  z-index: 2;
  top: max(18px, env(safe-area-inset-top));
  right: max(18px, env(safe-area-inset-right));
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid rgb(215 182 103 / 32%);
  border-radius: 999px;
  background: rgb(8 8 8 / 60%);
  color: var(--gold-bright);
  font: inherit;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(10px);
}

.site-intro__skip:hover,
.site-intro__skip:focus-visible {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: #080808;
}

.site-intro__skip:focus-visible {
  outline: 3px solid rgb(215 182 103 / 28%);
  outline-offset: 3px;
}

.site-intro.is-active .site-intro__kicker {
  animation: sichtivo-intro-rise 320ms 100ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.site-intro.is-active .site-intro__mark {
  animation: sichtivo-intro-mark 440ms 160ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.site-intro.is-active .site-intro__claim span {
  animation: sichtivo-intro-rise 620ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.site-intro.is-active .site-intro__claim span:nth-child(1) { animation-delay: 600ms; }
.site-intro.is-active .site-intro__claim span:nth-child(2) { animation-delay: 950ms; }
.site-intro.is-active .site-intro__claim span:nth-child(3) { animation-delay: 1300ms; }

@keyframes sichtivo-intro-rise { to { opacity: 1; transform: translateY(0); } }
@keyframes sichtivo-intro-mark { to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-height: 520px) and (orientation: landscape) {
  .site-intro__kicker {
    margin-bottom: 8px;
  }

  .site-intro__mark {
    width: min(25vw, 30vh, 112px);
  }

  .site-intro__claim {
    margin-top: 10px;
    font-size: 20px;
  }
}

@media print {
  .site-intro {
    display: none !important;
  }
}

/* Homepage: large video-first hero */
.home-page .hero {
  position: relative;
  min-height: calc(100svh - 78px);
  padding: clamp(10px, 1.35vw, 20px) clamp(10px, 1.8vw, 28px) clamp(24px, 3vw, 42px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 14% 18%, rgb(215 182 103 / 13%), transparent 31%),
    linear-gradient(145deg, #faf9f6, #ece9e1);
}

.home-page .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(112deg, rgb(17 17 17 / 2.2%) 1px, transparent 1px),
    linear-gradient(22deg, rgb(17 17 17 / 1.5%) 1px, transparent 1px);
  background-size: 52px 52px, 74px 74px;
  pointer-events: none;
}

.hero__frame {
  position: relative;
  z-index: 1;
  max-width: 1520px;
  margin-inline: auto;
  padding: clamp(7px, 0.75vw, 11px);
  border: 1px solid rgb(255 255 255 / 92%);
  border-radius: clamp(20px, 2vw, 32px);
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 34px 82px rgb(17 17 17 / 22%), 0 6px 18px rgb(17 17 17 / 10%);
  animation: media-in 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero__stage {
  position: relative;
  min-height: clamp(680px, calc(100svh - 122px), 900px);
  overflow: hidden;
  border-radius: clamp(15px, 1.5vw, 23px);
  background: #090909;
  isolation: isolate;
}

.hero__video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: saturate(0.82) contrast(1.07) brightness(0.76);
  transform: scale(1.01);
}

.hero__stage::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(4 4 4 / 76%) 0%, rgb(4 4 4 / 54%) 41%, rgb(4 4 4 / 8%) 76%),
    linear-gradient(180deg, rgb(3 3 3 / 42%) 0%, transparent 32%, rgb(3 3 3 / 84%) 100%);
  pointer-events: none;
}

.hero__stage::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background-image:
    linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
  background-size: clamp(70px, 9vw, 138px) clamp(70px, 9vw, 138px);
  mask-image: linear-gradient(90deg, transparent, #000 24%, #000 78%, transparent);
  pointer-events: none;
}

.hero__topline {
  position: absolute;
  z-index: 2;
  top: clamp(20px, 2.1vw, 32px);
  right: clamp(22px, 3.4vw, 52px);
  left: clamp(22px, 3.4vw, 52px);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgb(255 255 255 / 66%);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero__headline {
  position: absolute;
  z-index: 2;
  top: clamp(100px, 14vh, 150px);
  right: clamp(28px, 5vw, 78px);
  left: clamp(28px, 5vw, 78px);
  max-width: 1060px;
  animation: copy-in 680ms 100ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-page .eyebrow {
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.home-page .eyebrow span {
  width: 30px;
  height: 1px;
  background: currentColor;
}

.home-page .hero__headline h1 {
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: clamp(58px, 6.7vw, 106px);
  font-weight: 610;
  letter-spacing: -0.065em;
  line-height: 0.91;
  text-wrap: balance;
}

.home-page .hero__headline h1 span {
  display: block;
}

.home-page .hero__headline h1 .hero__agency {
  color: var(--gold-bright);
}

.hero__lower {
  position: absolute;
  z-index: 2;
  right: clamp(22px, 3.4vw, 52px);
  bottom: clamp(22px, 3.4vw, 52px);
  left: clamp(22px, 3.4vw, 52px);
  display: grid;
  grid-template-columns: minmax(310px, 0.78fr) minmax(500px, 1.22fr);
  align-items: end;
  gap: clamp(34px, 5vw, 76px);
  animation: copy-in 680ms 190ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-page .hero__copy {
  max-width: 590px;
  animation: none;
}

.home-page .hero__lead {
  max-width: 570px;
  margin: 0;
  color: rgb(255 255 255 / 79%);
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.62;
}

.home-page .hero__actions {
  margin-top: 24px;
}

.home-page .hero .text-link {
  color: #fff;
}

.hero__paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.hero__paths a {
  position: relative;
  min-width: 0;
  min-height: clamp(116px, 14vh, 146px);
  padding: 18px;
  display: grid;
  align-content: end;
  gap: 7px;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 15px;
  background: rgb(7 7 7 / 52%);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(12px);
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.hero__paths a::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-bright), transparent 72%);
  opacity: 0.68;
}

.hero__paths a:hover {
  transform: translateY(-4px);
  border-color: rgb(215 182 103 / 58%);
  background: rgb(7 7 7 / 66%);
}

.hero__paths a:focus-visible {
  outline: 3px solid rgb(215 182 103 / 48%);
  outline-offset: 3px;
}

.hero__paths small {
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.12em;
}

.hero__paths strong {
  max-width: 150px;
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 650;
  line-height: 1.15;
}

.hero__paths a > span {
  position: absolute;
  top: 15px;
  right: 16px;
  color: rgb(255 255 255 / 64%);
  font-size: 17px;
  transition: transform 180ms ease;
}

.hero__paths a:hover > span {
  transform: translate(3px, -3px);
}

.home-page .video-toggle {
  top: clamp(50px, 5.2vw, 72px);
  right: clamp(22px, 3.4vw, 52px);
  bottom: auto;
  background: rgb(9 9 9 / 48%);
  color: #fff;
}

@media (max-width: 1120px) {
  .hero__stage {
    min-height: 840px;
  }

  .hero__headline {
    max-width: 850px;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(55px, 8vw, 86px);
  }

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

  .home-page .hero__copy {
    max-width: 680px;
  }

  .hero__paths a {
    min-height: 104px;
  }
}

@media (max-width: 760px) {
  .home-page .hero {
    min-height: 0;
    padding: 10px 10px 24px;
  }

  .hero__frame {
    padding: 6px;
    border-radius: 24px;
  }

  .hero__stage {
    min-height: max(790px, calc(100svh - 90px));
    border-radius: 18px;
  }

  .hero__video {
    object-position: 52% 50%;
    filter: saturate(0.8) contrast(1.06) brightness(0.7);
  }

  .hero__stage::before {
    background:
      linear-gradient(90deg, rgb(4 4 4 / 58%), rgb(4 4 4 / 20%)),
      linear-gradient(180deg, rgb(3 3 3 / 60%) 0%, transparent 30%, rgb(3 3 3 / 93%) 100%);
  }

  .hero__topline {
    top: 18px;
    right: 18px;
    left: 18px;
    font-size: 9px;
  }

  .hero__topline span:last-child {
    display: none;
  }

  .hero__headline {
    top: 78px;
    right: 20px;
    left: 20px;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(46px, 11.8vw, 67px);
    line-height: 0.93;
  }

  .hero__lower {
    right: 16px;
    bottom: 16px;
    left: 16px;
    gap: 22px;
  }

  .hero__paths {
    gap: 7px;
  }

  .hero__paths a {
    min-height: 92px;
    padding: 13px 11px;
    border-radius: 12px;
  }

  .hero__paths strong {
    font-size: 13px;
  }

  .hero__paths a > span {
    top: 10px;
    right: 11px;
    font-size: 14px;
  }

  .home-page .video-toggle {
    top: 48px;
    right: 17px;
    width: 43px;
    height: 43px;
  }
}

@media (max-width: 560px) {
  .hero__stage {
    min-height: 830px;
  }

  .home-page .eyebrow {
    margin-bottom: 13px;
    font-size: 9px;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(42px, 12vw, 56px);
  }

  .home-page .hero__lead {
    font-size: 15px;
    line-height: 1.52;
  }

  .home-page .hero__actions {
    margin-top: 18px;
    gap: 14px;
  }

  .home-page .hero__actions .button {
    min-height: 48px;
  }

  .hero__paths small {
    font-size: 8px;
  }

  .hero__paths strong {
    font-size: 12px;
  }
}

@media (max-height: 760px) and (orientation: landscape) and (min-width: 900px) {
  .hero__stage {
    min-height: 610px;
  }

  .hero__headline {
    top: 84px;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(56px, 5.8vw, 78px);
  }

  .home-page .hero__lead {
    display: none;
  }

  .home-page .hero__actions {
    margin-top: 0;
  }

  .hero__paths a {
    min-height: 96px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

img,
video,
svg {
  display: block;
}

a {
  color: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea,
select {
  font: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 11px 16px;
  border-radius: 8px;
  background: var(--black);
  color: #fff;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

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

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  min-height: 78px;
  padding: 12px max(24px, calc((100vw - var(--content)) / 2));
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
  border-bottom: 1px solid rgb(17 17 17 / 8%);
  background: rgb(255 255 255 / 90%);
  backdrop-filter: blur(18px);
  transition: box-shadow 200ms ease, min-height 200ms ease;
}

.site-header.is-scrolled {
  min-height: 68px;
  box-shadow: 0 12px 30px rgb(17 17 17 / 7%);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
}

.brand__mark {
  width: 52px;
  height: 58px;
  overflow: visible;
  flex: 0 0 auto;
  background: transparent;
}

.brand__mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: drop-shadow(0 5px 10px rgb(0 0 0 / 16%));
  transform: scale(1);
  transition: filter 240ms ease, transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.brand:hover .brand__mark img,
.brand:focus-visible .brand__mark img {
  filter: drop-shadow(0 7px 13px rgb(189 143 55 / 24%));
  transform: translateY(-1px) scale(1.03);
}

.brand__word {
  font-size: 21px;
  font-weight: 760;
  letter-spacing: -0.04em;
}

.main-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.15vw, 30px);
}

.main-nav a {
  position: relative;
  padding: 10px 0;
  color: #343434;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.main-nav a.main-nav__login {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gold-text);
  white-space: nowrap;
}

.main-nav__login span {
  color: var(--gold);
  transition: transform 200ms ease;
}

.main-nav__login:hover span,
.main-nav__login:focus-visible span {
  transform: translate(2px, -2px);
}

.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 4px;
  height: 1px;
  background: var(--gold);
  transition: right 200ms ease;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after {
  right: 0;
}

.nav-toggle {
  display: none;
}

.button {
  min-height: 52px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 720;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button:focus-visible,
.text-link:focus-visible,
.main-nav a:focus-visible,
.video-toggle:focus-visible,
.nav-toggle:focus-visible {
  outline: 3px solid rgb(189 143 55 / 35%);
  outline-offset: 4px;
}

.button--compact {
  min-height: 44px;
  padding-inline: 20px;
}

.button--dark {
  background: var(--black);
  color: #fff;
}

.button--gold {
  background: var(--gold);
  color: var(--black);
  box-shadow: 0 12px 28px rgb(189 143 55 / 22%);
}

.button--gold:hover {
  background: var(--gold-bright);
  box-shadow: 0 16px 34px rgb(189 143 55 / 30%);
}

.hero {
  position: relative;
  min-height: calc(100svh - 113px);
  overflow: hidden;
  padding: clamp(58px, 8vw, 108px) max(24px, calc((100vw - var(--content)) / 2)) 70px;
  background:
    linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(255 255 255 / 84%)),
    repeating-linear-gradient(90deg, transparent 0 84px, rgb(17 17 17 / 2%) 84px 85px);
}

.hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
  pointer-events: none;
}

.hero__glow--one {
  width: 560px;
  height: 560px;
  top: -300px;
  right: 17%;
  background: radial-gradient(circle, rgb(215 182 103 / 28%), transparent 68%);
}

.hero__glow--two {
  width: 420px;
  height: 420px;
  bottom: -260px;
  left: -140px;
  background: radial-gradient(circle, rgb(189 143 55 / 14%), transparent 68%);
}

.hero__inner {
  position: relative;
  z-index: 1;
  max-width: var(--content);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(540px, 1.18fr);
  align-items: center;
  gap: clamp(46px, 6vw, 88px);
}

.hero__copy {
  animation: copy-in 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.eyebrow {
  margin: 0 0 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #5f5135;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.eyebrow span {
  width: 28px;
  height: 1px;
  background: var(--gold);
}

.hero h1 {
  max-width: 650px;
  margin: 0;
  font-size: clamp(52px, 5.25vw, 82px);
  font-weight: 620;
  letter-spacing: -0.065em;
  line-height: 0.98;
}

.hero h1 em {
  color: var(--gold);
  font-style: normal;
}

.hero__lead {
  max-width: 610px;
  margin: 30px 0 0;
  color: var(--ink-soft);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.65;
}

.hero__actions {
  margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 26px;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 720;
  text-decoration: none;
}

.text-link span {
  color: var(--gold);
  font-size: 20px;
  transition: transform 180ms ease;
}

.text-link:hover span {
  transform: translate(3px, 3px);
}

.hero__proof {
  margin: 44px 0 0;
  padding: 24px 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  border-top: 1px solid var(--line);
  list-style: none;
}

.hero__proof li {
  display: grid;
  gap: 4px;
}

.hero__proof strong {
  font-size: 13px;
}

.hero__proof span {
  color: #777;
  font-size: 11px;
}

.hero-media {
  position: relative;
  overflow: hidden;
  padding: 10px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: var(--radius-lg);
  background: var(--black);
  color: #fff;
  box-shadow: var(--shadow-soft);
  animation: media-in 900ms 120ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgb(215 182 103 / 22%);
  border-radius: inherit;
  pointer-events: none;
}

.hero-media__topline,
.hero-media__footer {
  min-height: 44px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: rgb(255 255 255 / 66%);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.hero-media__topline span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hero-media__topline i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold-bright);
  box-shadow: 0 0 0 5px rgb(215 182 103 / 10%);
}

.hero-media__viewport {
  position: relative;
  overflow: hidden;
  min-height: 410px;
  border-radius: 23px;
  background: #161616;
}

.hero-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-media__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgb(0 0 0 / 78%) 100%);
}

.hero-media__caption {
  position: absolute;
  z-index: 1;
  left: 28px;
  bottom: 26px;
}

.hero-media__caption p {
  margin: 0 0 7px;
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero-media__caption strong {
  font-size: clamp(25px, 2.3vw, 36px);
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.video-toggle {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 48px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 36%);
  border-radius: 50%;
  background: rgb(255 255 255 / 90%);
  color: var(--black);
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.video-toggle svg {
  width: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.video-toggle__play {
  display: none;
}

.video-toggle.is-paused .video-toggle__pause {
  display: none;
}

.video-toggle.is-paused .video-toggle__play {
  display: block;
}

.hero-media__footer {
  justify-content: flex-start;
  gap: 18px;
}

.hero-media__footer span:not(:last-child)::after {
  content: "·";
  margin-left: 18px;
  color: var(--gold);
}

.scroll-cue {
  position: absolute;
  z-index: 2;
  right: max(24px, calc((100vw - var(--content)) / 2));
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #767676;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.scroll-cue i {
  position: relative;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.scroll-cue i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 9px;
  width: 1px;
  height: 11px;
  background: var(--gold);
  animation: scroll-cue 1.7s ease-in-out infinite;
}

.intro {
  padding: 110px 24px;
  border-top: 1px solid #eeeae2;
  background: var(--paper-warm);
}

.section-shell {
  max-width: var(--content);
  margin-inline: auto;
}

.intro__grid {
  display: grid;
  grid-template-columns: 0.55fr 1.45fr;
  gap: 60px;
}

.section-index {
  margin: 8px 0 0;
  color: #7f735d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.intro h2 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(38px, 4.6vw, 68px);
  font-weight: 570;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.intro__grid > div > p {
  max-width: 660px;
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 18px;
  line-height: 1.7;
}

.preview-footer {
  padding: 36px max(24px, calc((100vw - var(--content)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: var(--black);
  color: #fff;
}

.preview-footer p {
  margin: 0;
  color: rgb(255 255 255 / 66%);
}

.preview-footer a {
  color: var(--gold-bright);
  font-weight: 700;
  text-decoration: none;
}

.section {
  padding: clamp(88px, 10vw, 144px) 24px;
}

.section-heading {
  margin-bottom: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  align-items: end;
  gap: clamp(36px, 7vw, 100px);
}

.section-heading h2,
.profile-feature__copy h2,
.system-band h2,
.knowledge-home h2,
.about-home h2,
.final-cta h2 {
  margin: 0;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 570;
  letter-spacing: -0.057em;
  line-height: 1.01;
}

.section-heading > p {
  margin: 0 0 5px;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.65;
}

.center-action {
  margin-top: 44px;
  display: flex;
  justify-content: center;
}

.button--outline {
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
}

.button--outline:hover {
  border-color: var(--gold);
  box-shadow: 0 12px 28px rgb(17 17 17 / 7%);
}

.audience-strip {
  padding: 0 24px;
  border-top: 1px solid #ece9e1;
  border-bottom: 1px solid #ece9e1;
  background: #fff;
}

.audience-strip__inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2.6vw, 38px);
}

.audience-strip span {
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.audience-strip p {
  margin: 0;
  color: #4d4a44;
  font-size: 13px;
  font-weight: 620;
  white-space: nowrap;
}

.audience-strip i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
}

.services-home {
  background: #fff;
}

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

.service-card {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 280px 1fr;
  border: 1px solid #e9e5dc;
  border-radius: var(--radius-md);
  background: var(--paper-warm);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.service-card:hover {
  border-color: rgb(189 143 55 / 55%);
  box-shadow: 0 24px 54px rgb(17 17 17 / 9%);
  transform: translateY(-4px);
}

.service-card--wide {
  min-height: 470px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
  grid-template-rows: 1fr;
}

.service-card--reverse {
  grid-template-columns: minmax(420px, 0.85fr) minmax(0, 1.15fr);
}

.service-card--reverse .service-card__media {
  grid-column: 2;
}

.service-card--reverse .service-card__copy {
  grid-column: 1;
  grid-row: 1;
}

.service-card__media {
  min-height: 0;
  overflow: hidden;
  background: #d9d7d0;
}

.service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.service-card:hover .service-card__media img {
  transform: scale(1.025);
}

.service-card__copy {
  padding: clamp(28px, 3.5vw, 50px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.service-card__copy > span {
  align-self: flex-end;
  color: var(--gold-text);
  font-size: 12px;
  font-weight: 760;
}

.service-card__label {
  margin: 12px 0 10px;
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.service-card h3 {
  max-width: 520px;
  margin: 0;
  font-size: clamp(28px, 3vw, 43px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.service-card__copy > p:not(.service-card__label) {
  max-width: 560px;
  margin: 20px 0 0;
  color: var(--ink-soft);
  line-height: 1.65;
}

.service-card ul {
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  color: #55524c;
  font-size: 14px;
  list-style: none;
}

.service-card li::before {
  content: "•";
  margin-right: 9px;
  color: var(--gold);
}

.card-link {
  margin-top: auto;
  padding-top: 26px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 760;
  text-decoration: none;
}

.card-link span {
  color: var(--gold-text);
  font-size: 18px;
  transition: transform 180ms ease;
}

.card-link:hover span {
  transform: translate(3px, -3px);
}

/* One native link covers the card, including its image and whitespace. */
.linked-card {
  text-decoration: none;
}

.linked-card:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 5px;
}

.linked-card:is(:hover, :focus-visible) .card-link span {
  transform: translate(3px, -3px);
}

.linked-card:focus-visible .button {
  border-color: var(--gold);
}

.system-band {
  position: relative;
  min-height: 770px;
  overflow: hidden;
  padding: clamp(90px, 11vw, 150px) 24px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 12% 18%, rgb(189 143 55 / 18%), transparent 32%),
    linear-gradient(135deg, #080808, #171614);
  color: #fff;
}

.system-band__owl {
  position: absolute;
  right: -90px;
  bottom: -240px;
  width: min(46vw, 650px);
  opacity: 0.11;
  filter: grayscale(0.25);
  pointer-events: none;
}

.system-band__owl img {
  width: 100%;
  height: auto;
}

.system-band__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr);
  align-items: center;
  gap: clamp(60px, 10vw, 140px);
}

.section-index--gold {
  color: var(--gold-bright);
}

.system-band__copy > p:last-child {
  max-width: 600px;
  margin: 28px 0 0;
  color: rgb(255 255 255 / 65%);
  font-size: 17px;
  line-height: 1.7;
}

.system-flow {
  position: relative;
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
}

.system-flow::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 32px;
  bottom: 32px;
  width: 1px;
  background: linear-gradient(var(--gold), rgb(189 143 55 / 15%));
}

.system-flow li {
  position: relative;
  min-height: 126px;
  padding: 16px 0 16px 78px;
  display: grid;
  align-content: center;
  border-bottom: 1px solid rgb(255 255 255 / 11%);
}

.system-flow li:last-child {
  border-bottom: 0;
}

.system-flow li > span {
  position: absolute;
  z-index: 1;
  left: 7px;
  top: 38px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(215 182 103 / 60%);
  border-radius: 50%;
  background: #12110f;
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 800;
}

.system-flow strong {
  font-size: 21px;
  font-weight: 630;
}

.system-flow p {
  margin: 7px 0 0;
  color: rgb(255 255 255 / 57%);
  font-size: 14px;
  line-height: 1.55;
}

.package-overview {
  background: var(--paper-warm);
}

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

.package-home-card {
  min-height: 480px;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #e3ded4;
  border-radius: var(--radius-md);
  background: #fff;
  text-decoration: none;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.package-home-card:hover {
  border-color: var(--gold);
  box-shadow: 0 22px 46px rgb(17 17 17 / 8%);
  transform: translateY(-4px);
}

.package-home-card__media {
  position: relative;
  height: 145px;
  flex: 0 0 auto;
  overflow: hidden;
  display: block;
  background: #171612;
}

.package-home-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 4%), rgb(0 0 0 / 44%));
  pointer-events: none;
}

.package-home-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.8) contrast(1.04);
  transition: transform 560ms cubic-bezier(0.22, 1, 0.36, 1), filter 260ms ease;
}

.package-home-card__media--care img {
  object-position: 50% 55%;
}

.package-home-card:hover .package-home-card__media img {
  filter: saturate(0.96) contrast(1.04);
  transform: scale(1.04);
}

.package-home-card--dark {
  border-color: #0b0b0b;
  background: #0b0b0b;
  color: #fff;
}

.package-home-card__number {
  position: absolute;
  z-index: 1;
  top: 14px;
  right: 15px;
  min-width: 32px;
  min-height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 28%);
  border-radius: 50%;
  background: rgb(8 8 8 / 58%);
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 800;
  backdrop-filter: blur(8px);
}

.package-home-card__body {
  min-height: 0;
  padding: 22px 24px 24px;
  display: flex;
  flex: 1;
  flex-direction: column;
}

.package-home-card__body > p {
  margin: 0 0 7px;
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.package-home-card--dark .package-home-card__body > p {
  color: var(--gold-bright);
}

.package-home-card h3 {
  margin: 0;
  font-size: 29px;
  font-weight: 620;
  letter-spacing: -0.04em;
}

.package-home-card__body > strong {
  margin-top: 18px;
  font-size: 25px;
  font-weight: 650;
}

.package-home-card__body > strong i {
  color: #817d74;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
}

.package-home-card ul {
  margin: 17px 0 0;
  padding: 16px 0 0;
  display: grid;
  gap: 7px;
  border-top: 1px solid #ece7de;
  color: #66625a;
  font-size: 13px;
  line-height: 1.4;
  list-style: none;
}

.package-home-card--dark ul {
  border-color: rgb(255 255 255 / 14%);
  color: rgb(255 255 255 / 62%);
}

.package-home-card li::before {
  content: "✓";
  margin-right: 8px;
  color: var(--gold);
}

.package-home-card small {
  margin-top: auto;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 760;
}

.package-home-card small b {
  color: var(--gold-text);
  font-size: 17px;
}

.package-home-card--dark small b {
  color: var(--gold-bright);
}

.price-note {
  margin: 18px 0 0;
  color: #7c786f;
  font-size: 11px;
}

.profile-feature {
  background: #fff;
}

.profile-feature__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  align-items: center;
  gap: clamp(56px, 9vw, 130px);
}

.profile-feature__visual {
  position: relative;
  min-height: 650px;
}

.profile-feature__visual > img {
  width: 86%;
  height: 590px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 60px rgb(17 17 17 / 12%);
}

.profile-mock {
  position: absolute;
  right: 0;
  bottom: 26px;
  width: min(78%, 440px);
  padding: 32px;
  border: 1px solid rgb(215 182 103 / 40%);
  border-radius: 20px;
  background: rgb(10 10 10 / 94%);
  color: #fff;
  box-shadow: 0 22px 48px rgb(17 17 17 / 23%);
  backdrop-filter: blur(14px);
}

.profile-mock__badge {
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.profile-mock strong {
  margin-top: 24px;
  display: block;
  font-size: 26px;
  font-weight: 600;
}

.profile-mock p {
  margin: 8px 0 18px;
  color: rgb(255 255 255 / 62%);
  font-size: 13px;
}

.profile-mock small {
  color: rgb(255 255 255 / 45%);
}

.visual-note {
  margin: 13px 0 0;
  color: #77736b;
  font-size: 10px;
}

.profile-feature__copy > p:not(.section-index) {
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.7;
}

.feature-list {
  margin: 34px 0;
  display: grid;
}

.feature-list > div {
  padding: 20px 0;
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 14px;
  border-top: 1px solid var(--line);
}

.feature-list > div:last-child {
  border-bottom: 1px solid var(--line);
}

.feature-list span {
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 800;
}

.feature-list p {
  margin: 0;
  color: #656159;
  font-size: 14px;
  line-height: 1.55;
}

.feature-list strong {
  margin-bottom: 3px;
  display: block;
  color: var(--ink);
  font-size: 15px;
}

.industry-home {
  background: var(--paper-warm);
}

.industry-grid {
  min-height: 690px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 16px;
}

.industry-card {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: #222;
  color: #fff;
  text-decoration: none;
}

.industry-card--tall {
  grid-row: 1 / 3;
}

.industry-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 4%) 25%, rgb(0 0 0 / 80%) 100%);
}

.industry-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.industry-card:hover img {
  transform: scale(1.035);
}

.industry-card > span {
  position: absolute;
  z-index: 1;
  top: 22px;
  right: 24px;
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 800;
}

.industry-card > div {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 28px;
  left: 28px;
}

.industry-card p {
  margin: 0 0 7px;
  color: var(--gold-bright);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.industry-card strong {
  max-width: 540px;
  display: block;
  font-size: clamp(21px, 2.4vw, 36px);
  font-weight: 560;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

.industry-links {
  margin-top: 18px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  border: 1px solid #e2ddd2;
  border-radius: 16px;
  background: #fff;
}

.industry-links > span {
  color: #7b766d;
  font-size: 12px;
}

.industry-links a {
  font-size: 13px;
  font-weight: 650;
  text-decoration-color: rgb(189 143 55 / 50%);
  text-underline-offset: 4px;
}

.industry-links a:last-child {
  margin-left: auto;
  color: var(--gold-text);
}

.industry-home__footer {
  margin-top: clamp(44px, 4.8vw, 68px);
}

.industry-home__footer .industry-links {
  margin-top: 0;
}

.process-section {
  background: #fff;
}

.process-list {
  position: relative;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  list-style: none;
}

.process-list::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 30px;
  height: 1px;
  background: #ddd8ce;
}

.process-list::after {
  content: "";
  position: absolute;
  left: 0;
  top: 30px;
  width: var(--process-progress, 0%);
  height: 2px;
  background: var(--gold);
  transition: width 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.process-list li {
  position: relative;
  z-index: 1;
  padding-right: clamp(20px, 3.2vw, 48px);
}

.process-list li > span {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 1px solid #d8d2c5;
  border-radius: 50%;
  background: #fff;
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 800;
}

.process-list h3 {
  margin: 32px 0 12px;
  font-size: 23px;
  font-weight: 620;
  letter-spacing: -0.035em;
}

.process-list p {
  margin: 0;
  color: #656159;
  font-size: 14px;
  line-height: 1.65;
}

.project-preview {
  background: var(--paper-warm);
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.project-card {
  min-height: 570px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 300px auto auto 1fr;
  border: 1px solid #e3ded4;
  border-radius: var(--radius-md);
  background: #fff;
  text-decoration: none;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.project-card:hover {
  border-color: rgb(189 143 55 / 60%);
  box-shadow: 0 22px 46px rgb(17 17 17 / 8%);
  transform: translateY(-4px);
}

.project-card img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.project-card > span {
  margin: 26px 26px 8px;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.project-card h3 {
  margin: 0 26px;
  font-size: 25px;
  font-weight: 610;
  letter-spacing: -0.035em;
  line-height: 1.12;
}

.project-card p {
  margin: 16px 26px 28px;
  color: #666159;
  font-size: 14px;
  line-height: 1.6;
}

.knowledge-home {
  position: relative;
  isolation: isolate;
  min-height: clamp(640px, 76svh, 820px);
  padding-block: clamp(56px, 6vw, 88px);
  overflow: hidden;
  display: grid;
  align-items: center;
  background: #fff;
}

.knowledge-home__visual {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.knowledge-home__visual img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  margin-left: auto;
  /* Fade only the empty left side; keep Sija and the right edge fully visible. */
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 32%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 32%);
}

.knowledge-home__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff 45%, rgb(255 255 255 / 80%) 54%, transparent 72%);
}

.knowledge-home__grid {
  position: relative;
  z-index: 1;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}

.knowledge-home__intro {
  min-width: 0;
  grid-column: 1;
}

.knowledge-home__intro > p:not(.section-index) {
  margin: 26px 0 34px;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .knowledge-home {
    --knowledge-photo-height: clamp(430px, 120vw, 580px);
    min-height: 0;
    padding-top: 48px;
    padding-bottom: calc(var(--knowledge-photo-height) + 24px);
  }

  .knowledge-home__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .knowledge-home__intro {
    max-width: 600px;
  }

  .knowledge-home__visual {
    top: auto;
    height: var(--knowledge-photo-height);
  }

  .knowledge-home__visual img {
    max-width: 100%;
    object-fit: contain;
    object-position: right bottom;
  }

  .knowledge-home__visual::after {
    background: linear-gradient(180deg, #fff 0%, rgb(255 255 255 / 70%) 10%, transparent 24%);
  }
}

.article-list {
  border-top: 1px solid var(--line);
}

.article-list a {
  min-height: 152px;
  padding: 24px 14px;
  display: grid;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  gap: 22px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition:
    background-color 240ms ease,
    box-shadow 240ms ease;
}

.article-list a:hover {
  background: var(--paper-warm);
}

.article-list > a > span {
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 800;
}

.article-list small {
  color: #8a857c;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.article-list h3 {
  margin: 7px 0 0;
  font-size: 23px;
  font-weight: 590;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.article-list b {
  color: var(--gold-text);
  font-size: 20px;
}

.knowledge-home .article-list a[data-reveal] {
  transition:
    opacity 520ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 240ms ease,
    box-shadow 240ms ease;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .knowledge-home .article-list a > img,
  .knowledge-home .article-list a > div,
  .knowledge-home .article-list a > b {
    transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .knowledge-home .article-list a:is(:hover, :focus-visible) {
    box-shadow: inset 3px 0 0 rgb(189 143 55 / 58%);
  }

  .knowledge-home .article-list a:is(:hover, :focus-visible) > img {
    transform: scale(1.035);
  }

  .knowledge-home .article-list a:is(:hover, :focus-visible) > div {
    transform: translateX(4px);
  }

  .knowledge-home .article-list a:is(:hover, :focus-visible) > b {
    transform: translate(4px, -3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .knowledge-home .article-list a:is(:hover, :focus-visible) > img,
  .knowledge-home .article-list a:is(:hover, :focus-visible) > div,
  .knowledge-home .article-list a:is(:hover, :focus-visible) > b {
    transform: none;
  }
}

.about-home {
  background: #090909;
  color: #fff;
}

.about-home__grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: clamp(60px, 10vw, 145px);
}

.about-home__brand {
  position: relative;
  overflow: visible;
  min-height: 650px;
  border: 0;
  background: transparent;
  filter: drop-shadow(0 28px 62px rgb(0 0 0 / 25%));
}

.about-home__brand img {
  width: 100%;
  height: 650px;
  padding: clamp(8px, 1.4vw, 22px);
  object-fit: contain;
  object-position: 50% 50%;
}

.about-home__copy > p:not(.section-index) {
  max-width: 720px;
  margin: 28px 0 0;
  color: rgb(255 255 255 / 64%);
  font-size: 17px;
  line-height: 1.7;
}

.about-facts {
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgb(255 255 255 / 15%);
}

.about-facts > div {
  padding: 26px 20px 0 0;
}

.about-facts span {
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 800;
}

.about-facts strong {
  margin-top: 22px;
  display: block;
  font-size: 15px;
}

.about-facts p {
  margin: 8px 0 0;
  color: rgb(255 255 255 / 50%);
  font-size: 12px;
  line-height: 1.5;
}

.final-cta {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  padding: 130px 24px;
  display: grid;
  align-items: center;
  color: #fff;
}

.final-cta__image,
.final-cta__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.final-cta__image {
  object-fit: cover;
  object-position: 50% 46%;
}

.final-cta__shade {
  background: linear-gradient(90deg, rgb(5 5 5 / 94%) 0%, rgb(5 5 5 / 82%) 45%, rgb(5 5 5 / 32%) 100%);
}

.final-cta__inner {
  position: relative;
  z-index: 1;
  width: 100%;
}

.final-cta h2 {
  max-width: 760px;
}

.final-cta__inner > p:not(.section-index) {
  max-width: 610px;
  margin: 28px 0 0;
  color: rgb(255 255 255 / 67%);
  font-size: 17px;
  line-height: 1.7;
}

.final-cta__actions {
  margin-top: 36px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.text-link--light {
  color: #fff;
}

.site-footer {
  padding: 80px 24px 24px;
  background: #070707;
  color: #fff;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 0.6fr);
  gap: clamp(40px, 7vw, 100px);
}

.brand--footer {
  color: #fff;
}

.site-footer__brand > p {
  max-width: 380px;
  margin: 24px 0 18px;
  color: rgb(255 255 255 / 54%);
  font-size: 14px;
  line-height: 1.65;
}

.site-footer__brand > a[href^="mailto:"] {
  color: var(--gold-bright);
  font-size: 13px;
  text-decoration: none;
}

.site-footer .site-footer__social {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.site-footer .site-footer__social a {
  min-height: 44px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 999px;
  color: rgb(255 255 255 / 74%);
  background: rgb(255 255 255 / 3%);
  font-size: 12px;
  line-height: 1;
  transition: color 220ms ease, border-color 220ms ease, background 220ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-footer .site-footer__social a:hover {
  color: var(--gold-bright);
  border-color: rgb(211 166 75 / 55%);
  background: rgb(211 166 75 / 9%);
  transform: translateY(-2px);
}

.site-footer__social svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.site-footer h2 {
  margin: 10px 0 23px;
  color: rgb(255 255 255 / 45%);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-footer nav {
  display: grid;
  gap: 13px;
}

.site-footer nav a {
  color: rgb(255 255 255 / 73%);
  font-size: 13px;
  text-decoration: none;
  transition: color 180ms ease;
}

.site-footer nav a:hover {
  color: var(--gold-bright);
}

.site-footer__bottom {
  margin-top: 70px;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgb(255 255 255 / 12%);
  color: rgb(255 255 255 / 38%);
  font-size: 11px;
}

[data-reveal].reveal-pending {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

.main-nav a[aria-current="page"] {
  color: var(--ink);
}

.main-nav a[aria-current="page"]::after {
  right: 0;
}

.subpage-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 9vw, 130px) 24px;
  background:
    radial-gradient(circle at 82% 10%, rgb(215 182 103 / 16%), transparent 26%),
    linear-gradient(145deg, #fff, #f7f5f0);
}

.subpage-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1.12fr);
  align-items: center;
  gap: clamp(54px, 9vw, 130px);
}

.subpage-hero__copy h1,
.subpage-hero__center h1,
.contact-hero h1,
.legal-page h1 {
  margin: 0;
  font-size: clamp(50px, 6.5vw, 92px);
  font-weight: 590;
  letter-spacing: -0.066em;
  line-height: 0.98;
}

.subpage-hero__copy > p:not(.section-index),
.subpage-hero__center > p:not(.section-index) {
  max-width: 690px;
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 18px;
  line-height: 1.7;
}

.seo-breadcrumb {
  margin: 0 0 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #7b7469;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.seo-breadcrumb a {
  color: var(--gold-text);
  text-decoration: none;
}

.seo-breadcrumb a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.seo-breadcrumb span {
  color: #aaa297;
}

.seo-related {
  padding: clamp(82px, 9vw, 124px) 24px;
  background: #fff;
}

.seo-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.seo-related__grid :is(article, .linked-card) {
  min-height: 260px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e1dcd2;
  border-radius: 18px;
  background: var(--paper-warm);
}

.seo-related__grid h3 {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 610;
  letter-spacing: -0.035em;
}

.seo-related__grid p {
  margin: 0;
  color: #69635b;
  font-size: 13px;
  line-height: 1.6;
}

.seo-related__grid .card-link {
  margin-top: auto;
}

.guide-overview .seo-related__grid :is(article, .linked-card) {
  min-height: 440px;
  overflow: hidden;
}

.guide-overview .seo-related__grid :is(article, .linked-card) > img {
  width: calc(100% + 32px);
  height: 180px;
  margin: -16px -16px 22px;
  object-fit: cover;
  border-radius: 13px;
}

.guide-overview .article-kicker {
  display: block;
  margin-bottom: 12px;
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.article-detail-meta {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.article-detail-meta span {
  padding: 8px 11px;
  border: 1px solid #ddd7cb;
  border-radius: 999px;
  color: #716a60;
  font-size: 10px;
  font-weight: 700;
}

.article-next {
  margin-top: 38px;
  padding-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  border-top: 1px solid var(--line);
}

.article-next a {
  color: var(--gold-text);
  font-size: 12px;
  font-weight: 700;
  text-underline-offset: 4px;
}

.subpage-hero__media {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  padding: 10px;
  border-radius: var(--radius-lg);
  background: #080808;
  box-shadow: var(--shadow-soft);
}

.subpage-hero__media::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgb(215 182 103 / 25%);
  border-radius: 22px;
  pointer-events: none;
}

.subpage-hero__media img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  border-radius: 22px;
}

.subpage-hero__media > div {
  position: absolute;
  z-index: 1;
  right: 36px;
  bottom: 34px;
  left: 36px;
  color: #fff;
}

.subpage-hero__media > div::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -120px -36px -34px;
  background: linear-gradient(transparent, rgb(0 0 0 / 88%));
}

.subpage-hero__media span {
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.subpage-hero__media strong {
  margin-top: 8px;
  display: block;
  font-size: 30px;
  font-weight: 570;
  letter-spacing: -0.04em;
}

.subpage-hero__center {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.subpage-hero__center .section-index {
  text-align: center;
}

.subpage-hero__center .hero__actions {
  justify-content: center;
}

.subpage-hero--packages {
  min-height: 680px;
  display: grid;
  align-items: center;
  background:
    linear-gradient(135deg, rgb(255 255 255 / 94%), rgb(247 245 240 / 93%)),
    repeating-linear-gradient(90deg, transparent 0 94px, rgb(17 17 17 / 3%) 94px 95px);
}

.subpage-hero--centered {
  min-height: 670px;
  display: grid;
  align-items: center;
}

.transparency-note {
  max-width: 720px;
  margin: 42px auto 0;
  padding: 22px 26px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 18px;
  border: 1px solid #ded8cc;
  border-radius: 16px;
  background: rgb(255 255 255 / 72%);
  text-align: left;
}

.transparency-note span {
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.transparency-note p {
  margin: 0;
  color: #5d5952;
  font-size: 13px;
  line-height: 1.55;
}

.anchor-nav {
  position: sticky;
  z-index: 50;
  top: 68px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-top: 1px solid #e5e0d6;
  border-bottom: 1px solid #e5e0d6;
  background: rgb(255 255 255 / 94%);
  backdrop-filter: blur(16px);
}

.anchor-nav::-webkit-scrollbar {
  display: none;
}

.anchor-nav > div {
  min-width: max-content;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.anchor-nav a {
  position: relative;
  color: #5e5a53;
  font-size: 12px;
  font-weight: 680;
  text-decoration: none;
}

.anchor-nav a:hover,
.anchor-nav a:focus-visible {
  color: var(--gold-text);
}

.service-detail-section {
  scroll-margin-top: 135px;
  background: #fff;
}

.service-detail-section--warm {
  background: var(--paper-warm);
}

.service-detail-layout {
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(55px, 9vw, 130px);
}

.service-detail-layout > *,
.detail-grid > *,
.case-split__grid > *,
.section-heading > * {
  min-width: 0;
}

.detail-sticky {
  position: sticky;
  top: 155px;
}

.detail-sticky h2,
.case-split h2,
.section-heading h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  hyphens: none;
}

.detail-sticky h2,
.case-split h2,
.service-showcase h2,
.branch-system h2,
.package-family__head h2,
.package-process h2,
.solution-case h2,
.guide-article h2,
.contact-main h2,
.contact-options h2,
.subpage-cta h2 {
  margin: 0;
  font-size: clamp(38px, 4.7vw, 67px);
  font-weight: 570;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.detail-sticky > p:not(.section-index) {
  margin: 26px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.7;
}

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

.detail-card {
  min-height: 280px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e5e0d7;
  border-radius: 18px;
  background: #fff;
}

.service-detail-section:not(.service-detail-section--warm) .detail-card {
  background: var(--paper-warm);
}

.detail-card > span {
  align-self: flex-end;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
}

.detail-card h3 {
  margin: auto 0 12px;
  font-size: 24px;
  font-weight: 610;
  letter-spacing: -0.035em;
}

.detail-card p {
  margin: 0;
  color: #666159;
  font-size: 14px;
  line-height: 1.65;
}

.detail-grid--compact .detail-card {
  min-height: 310px;
}

.detail-card--image {
  padding: 0;
  overflow: hidden;
}

.detail-card--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-split,
.service-showcase {
  padding: clamp(90px, 11vw, 150px) 24px;
  background: #090909;
  color: #fff;
}

.case-split__grid,
.service-showcase__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(440px, 1.15fr);
  align-items: center;
  gap: clamp(65px, 10vw, 145px);
}

.case-split__image {
  overflow: hidden;
  height: 690px;
  border: 1px solid rgb(215 182 103 / 25%);
  border-radius: var(--radius-lg);
}

.case-split__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-split__copy > p:not(.section-index),
.service-showcase__copy > p:not(.section-index):not(.service-showcase__url) {
  margin: 26px 0 0;
  color: rgb(255 255 255 / 64%);
  font-size: 17px;
  line-height: 1.7;
}

.check-list {
  margin: 34px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  list-style: none;
}

.check-list li {
  padding: 14px 16px;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 12px;
  color: rgb(255 255 255 / 78%);
  font-size: 13px;
}

.check-list li::before {
  content: "✓";
  margin-right: 8px;
  color: var(--gold-bright);
}

.service-showcase {
  background:
    radial-gradient(circle at 82% 25%, rgb(189 143 55 / 17%), transparent 28%),
    #090909;
}

.service-showcase__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr);
}

.service-showcase__visual {
  position: relative;
}

.service-showcase__visual img {
  width: 100%;
  min-height: 570px;
  object-fit: cover;
  border-radius: var(--radius-lg);
}

.service-showcase__visual small {
  margin-top: 11px;
  display: block;
  color: rgb(255 255 255 / 40%);
  font-size: 10px;
}

.pill-list {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.pill-list span {
  padding: 11px 14px;
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 999px;
  color: rgb(255 255 255 / 68%);
  font-size: 12px;
}

.service-showcase__url {
  margin: 36px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgb(255 255 255 / 13%);
  color: rgb(255 255 255 / 48%);
  font-size: 14px;
}

.service-showcase__url strong {
  color: var(--gold-bright);
}

.subpage-cta {
  padding: clamp(90px, 11vw, 150px) 24px;
  background:
    radial-gradient(circle at 88% 25%, rgb(189 143 55 / 19%), transparent 30%),
    #090909;
  color: #fff;
}

.subpage-cta__inner {
  text-align: center;
}

.subpage-cta__inner h2,
.subpage-cta__inner > p:not(.section-index) {
  max-width: 860px;
  margin-inline: auto;
}

.subpage-cta__inner > p:not(.section-index) {
  margin-top: 24px;
  color: rgb(255 255 255 / 62%);
  font-size: 17px;
  line-height: 1.65;
}

.subpage-cta .button {
  margin-top: 34px;
}

.package-guide {
  scroll-margin-top: 135px;
  padding: clamp(82px, 9vw, 128px) 24px;
  background:
    radial-gradient(circle at 88% 12%, rgb(189 143 55 / 10%), transparent 25%),
    var(--paper-warm);
}

.package-finder {
  padding: clamp(24px, 3.4vw, 44px);
  border: 1px solid #ded8cc;
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: 0 26px 70px rgb(17 17 17 / 7%);
}

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

.package-finder fieldset {
  min-width: 0;
  margin: 0;
  padding: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 9px;
  border: 1px solid #e4dfd5;
  border-radius: 17px;
  background: var(--paper-warm);
}

.package-finder legend {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: 14px;
  padding: 0;
  color: var(--ink);
}

.package-finder__legend {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
}

.package-finder__step {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--gold-pale);
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.package-finder__question {
  color: var(--ink);
  font-size: 16px;
  font-weight: 680;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.package-finder label {
  min-height: 66px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
  border: 1px solid #ded9ce;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.package-finder label:has(input:checked) {
  border-color: var(--gold);
  background: #fffaf0;
  box-shadow: 0 0 0 2px rgb(189 143 55 / 13%);
}

.package-finder label:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.package-finder input {
  width: 19px;
  height: 19px;
  margin: 2px 0 0;
  accent-color: var(--gold-text);
}

.package-finder label > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.package-finder label strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.3;
}

.package-finder label small {
  color: #706a61;
  font-size: 12px;
  line-height: 1.4;
}

.package-finder__submit {
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.package-finder__submit p {
  margin: 0;
  color: #746e64;
  font-size: 11px;
  line-height: 1.5;
}

.package-finder__result {
  margin-top: 18px;
  padding: clamp(24px, 3.2vw, 42px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 80% 30%, rgb(189 143 55 / 22%), transparent 28%),
    #0a0a09;
  color: #fff;
  outline: none;
}

.package-finder__result[hidden] {
  display: none;
}

.package-finder__result > div:first-child > p:first-child {
  margin: 0 0 8px;
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.package-finder__result h3 {
  margin: 0;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 580;
  letter-spacing: -0.05em;
}

.package-finder__result > div:first-child > p:last-child {
  max-width: 660px;
  margin: 13px 0 0;
  color: rgb(255 255 255 / 65%);
  font-size: 14px;
  line-height: 1.6;
}

.package-finder__result > div:last-child {
  min-width: max-content;
  display: grid;
  justify-items: center;
  gap: 13px;
}

.package-finder__restart {
  padding: 4px;
  border: 0;
  background: transparent;
  color: rgb(255 255 255 / 60%);
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.package-comparison {
  scroll-margin-top: 135px;
  margin-top: clamp(76px, 8vw, 110px);
}

.package-comparison__head {
  max-width: 830px;
  margin-bottom: 32px;
}

.package-comparison__head h2 {
  margin: 0;
  font-size: clamp(38px, 4.8vw, 66px);
  font-weight: 570;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.package-comparison__head > p:last-child {
  max-width: 700px;
  margin: 20px 0 0;
  color: #68625a;
  font-size: 14px;
  line-height: 1.65;
}

.package-comparison details {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid #ddd7cb;
  border-radius: 16px;
  background: #fff;
}

.package-comparison summary {
  padding: 21px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 650;
  cursor: pointer;
  list-style: none;
}

.package-comparison summary::-webkit-details-marker {
  display: none;
}

.package-comparison summary::after {
  content: "+";
  margin-left: auto;
  color: var(--gold-text);
  font-size: 22px;
  font-weight: 400;
}

.package-comparison details[open] summary::after {
  content: "×";
}

.package-comparison summary span {
  color: #817a6f;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.package-comparison__hint {
  display: none;
}

.package-comparison__scroll {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border-top: 1px solid #e5e0d6;
}

.package-comparison table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  font-size: 12px;
  line-height: 1.5;
}

.package-comparison th,
.package-comparison td {
  min-width: 210px;
  padding: 16px 18px;
  border-right: 1px solid #ebe6dc;
  border-bottom: 1px solid #ebe6dc;
  text-align: left;
  vertical-align: top;
}

.package-comparison thead th {
  background: #111;
  color: #fff;
  font-size: 13px;
}

.package-comparison th:first-child {
  position: sticky;
  z-index: 1;
  left: 0;
  min-width: 165px;
  background: #f3f0e9;
  color: #514c44;
}

.package-comparison thead th:first-child {
  z-index: 2;
  background: #090909;
  color: var(--gold-bright);
}

.package-comparison tbody tr:last-child > * {
  border-bottom: 0;
}

.package-comparison__note {
  max-width: 900px;
  margin: 22px 0 0;
  color: #756f66;
  font-size: 11px;
  line-height: 1.65;
}

.package-family {
  scroll-margin-top: 135px;
  padding: clamp(90px, 10vw, 140px) 24px;
  background: #fff;
}

.package-family--warm {
  background: var(--paper-warm);
}

.package-family--dark {
  background: #090909;
  color: #fff;
}

.package-family--app-care {
  background:
    radial-gradient(circle at 12% 18%, rgb(189 143 55 / 15%), transparent 24%),
    radial-gradient(circle at 88% 78%, rgb(72 105 98 / 17%), transparent 28%),
    linear-gradient(145deg, #f7f5ef, #edf2f0);
}

.package-family--local-listing {
  background:
    radial-gradient(circle at 10% 18%, rgb(205 160 70 / 18%), transparent 24%),
    radial-gradient(circle at 88% 82%, rgb(69 100 92 / 14%), transparent 28%),
    linear-gradient(145deg, #f8f6f0, #efebe2);
}

.package-family--local-listing .plan-card {
  border-color: rgb(145 105 38 / 24%);
  box-shadow: 0 22px 60px rgb(65 47 17 / 10%);
}

.package-family--local-listing .plan-card::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #111, var(--gold), var(--gold-bright));
  pointer-events: none;
}

.package-family--app-care .plan-card {
  border-color: rgb(72 105 98 / 24%);
  box-shadow: 0 22px 58px rgb(31 52 47 / 10%);
}

.package-family--app-care .plan-card::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #486962, var(--gold), var(--gold-bright));
  pointer-events: none;
}

.package-family__head {
  margin-bottom: 54px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(350px, 0.7fr);
  align-items: end;
  gap: 70px;
}

.package-family__head > div:last-child > strong {
  display: block;
  color: var(--gold-text);
  font-size: 28px;
  font-weight: 640;
}

.package-family--dark .package-family__head > div:last-child > strong {
  color: var(--gold-bright);
}

.package-family__head > div:last-child > strong small,
.plan-card__head strong small {
  font-size: 12px;
  font-weight: 600;
}

.package-family__head > div:last-child > p {
  margin: 13px 0 0;
  color: #69645b;
  font-size: 15px;
  line-height: 1.6;
}

.package-family--dark .package-family__head > div:last-child > p {
  color: rgb(255 255 255 / 58%);
}

.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}

.plan-card {
  position: relative;
  min-height: 740px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e3ded4;
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
}

.plan-card__head {
  position: relative;
  min-height: 92px;
  padding-right: 90px;
}

.plan-card__head > .plan-card__thumb {
  position: absolute;
  top: 0;
  right: 0;
  width: 76px;
  height: 76px;
  margin: 0;
  overflow: hidden;
  display: block;
  border: 1px solid #e7e1d6;
  border-radius: 13px;
  background: #ddd8ce;
  box-shadow: 0 10px 26px rgb(17 17 17 / 10%);
}

.plan-card__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(0.8) contrast(1.04);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), filter 260ms ease;
}

.plan-card:hover .plan-card__thumb img {
  filter: saturate(0.96) contrast(1.04);
  transform: scale(1.055);
}

.package-family--dark .plan-card {
  border-color: rgb(255 255 255 / 14%);
  background: #151513;
  color: #fff;
}

.package-family--dark .plan-card__head > .plan-card__thumb {
  border-color: rgb(255 255 255 / 15%);
  background: #24231f;
}

.plan-card--featured {
  border-color: var(--gold);
  box-shadow: 0 24px 60px rgb(17 17 17 / 10%);
}

.plan-card__badge {
  position: absolute;
  top: 18px;
  right: 116px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--gold-pale);
  color: var(--gold-text);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.plan-card__head > p {
  margin: 0;
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.package-family--dark .plan-card__head > p {
  color: var(--gold-bright);
}

.plan-card__head > span {
  margin-top: 18px;
  display: block;
  color: #79746c;
  font-size: 12px;
}

.plan-card__head > strong {
  margin-top: 10px;
  display: block;
  font-size: 34px;
  font-weight: 640;
  letter-spacing: -0.04em;
}

.plan-card > p {
  min-height: 80px;
  margin: 26px 0 0;
  color: #5f5a52;
  font-size: 14px;
  line-height: 1.6;
}

.package-family--dark .plan-card > p,
.package-family--dark .plan-card__head > span {
  color: rgb(255 255 255 / 55%);
}

.plan-card > ul {
  margin: 24px 0 0;
  padding: 24px 0;
  display: grid;
  gap: 11px;
  border-top: 1px solid #ece7de;
  border-bottom: 1px solid #ece7de;
  color: #565149;
  font-size: 13px;
  list-style: none;
}

.package-family--dark .plan-card > ul {
  border-color: rgb(255 255 255 / 12%);
  color: rgb(255 255 255 / 66%);
}

.plan-card li::before {
  content: "✓";
  margin-right: 9px;
  color: var(--gold);
}

.plan-card details {
  margin: 18px 0;
  color: #5e5951;
  font-size: 12px;
  line-height: 1.55;
}

.package-family--dark .plan-card details {
  color: rgb(255 255 255 / 56%);
}

.plan-card summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
}

.plan-card summary::after {
  content: "+";
  color: var(--gold-text);
  font-size: 18px;
}

.plan-card details[open] summary::after {
  content: "−";
}

.package-family--dark .plan-card summary {
  color: #fff;
}

.plan-card details p {
  margin: 12px 0;
}

.plan-card > .button {
  width: 100%;
  margin-top: auto;
}

.family-note {
  margin: 24px 0 0;
  padding: 17px 20px;
  border-left: 2px solid var(--gold);
  background: var(--paper-warm);
  color: #666159;
  font-size: 12px;
  line-height: 1.55;
}

.package-family--warm .family-note {
  background: #fff;
}

.package-family--dark .family-note {
  background: rgb(255 255 255 / 5%);
  color: rgb(255 255 255 / 52%);
}

.add-ons {
  background: var(--paper-warm);
}

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

.add-on-grid article {
  min-height: 300px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e2ddd2;
  border-radius: 18px;
  background: #fff;
}

.add-on-grid span {
  align-self: flex-end;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
}

.add-on-grid h3 {
  margin: auto 0 12px;
  font-size: 25px;
  font-weight: 610;
  letter-spacing: -0.035em;
}

.add-on-grid p {
  margin: 0;
  color: #666159;
  font-size: 14px;
  line-height: 1.6;
}

.add-on-grid strong {
  margin-top: 20px;
  color: var(--gold-text);
  font-size: 12px;
}

.add-on-card__thumb {
  width: 96px;
  height: 62px;
  margin-top: -8px;
  align-self: flex-start;
  border-radius: 10px;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.03);
  box-shadow: 0 10px 24px rgb(17 17 17 / 10%);
}

.package-process {
  padding: clamp(90px, 11vw, 150px) 24px;
  background: #090909;
  color: #fff;
}

.package-process .section-heading > p {
  color: rgb(255 255 255 / 57%);
}

.package-process ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgb(255 255 255 / 14%);
  list-style: none;
}

.package-process li {
  min-height: 245px;
  padding: 26px 28px 24px 0;
  border-right: 1px solid rgb(255 255 255 / 12%);
}

.package-process li:not(:first-child) {
  padding-left: 28px;
}

.package-process li:last-child {
  border-right: 0;
}

.package-process li span {
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 800;
}

.package-process li > img {
  width: 100%;
  height: 72px;
  margin-top: 14px;
  display: block;
  border-radius: 10px;
  object-fit: cover;
  filter: saturate(0.72) brightness(0.72) contrast(1.06);
}

.package-process li strong {
  margin-top: 12px;
  display: block;
  font-size: 20px;
}

.package-process li p {
  margin: 9px 0 0;
  color: rgb(255 255 255 / 54%);
  font-size: 13px;
  line-height: 1.55;
}

.price-note--light {
  margin-top: 32px;
  color: rgb(255 255 255 / 38%);
  text-align: center;
}

.branch-intro {
  background: #fff;
}

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

.branch-card {
  min-height: 680px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(230px, 0.82fr) minmax(0, 1.18fr);
  border: 1px solid #e3ded4;
  border-radius: var(--radius-md);
  background: var(--paper-warm);
  scroll-margin-top: 90px;
}

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

.branch-card > div {
  padding: 34px;
  display: flex;
  flex-direction: column;
}

.branch-card span {
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.branch-card h3 {
  margin: auto 0 16px;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.042em;
  line-height: 1.08;
}

.branch-card p {
  margin: 0;
  color: #625d55;
  font-size: 14px;
  line-height: 1.6;
}

.branch-card ul {
  margin: 22px 0 0;
  padding: 20px 0 0;
  display: grid;
  gap: 8px;
  border-top: 1px solid #ded9ce;
  color: #6a655d;
  font-size: 12px;
  list-style: none;
}

.branch-card li::before {
  content: "•";
  margin-right: 7px;
  color: var(--gold);
}

.branch-system {
  padding: clamp(90px, 11vw, 150px) 24px;
  background: #090909;
  color: #fff;
}

.branch-system__grid {
  display: grid;
  grid-template-columns: minmax(340px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(60px, 10vw, 140px);
}

.branch-system ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  list-style: none;
}

.branch-system li {
  min-height: 250px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 18px;
  background: rgb(255 255 255 / 3%);
}

.branch-system li span {
  align-self: flex-end;
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 800;
}

.branch-system li strong {
  margin-top: auto;
  font-size: 21px;
}

.branch-system li p {
  margin: 9px 0 0;
  color: rgb(255 255 255 / 55%);
  font-size: 13px;
  line-height: 1.55;
}

.solution-case {
  padding: clamp(88px, 10vw, 140px) 24px;
  background: #fff;
}

.solution-case:nth-child(even) {
  background: var(--paper-warm);
}

.solution-case__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
  align-items: center;
  gap: clamp(60px, 9vw, 125px);
}

.solution-case--reverse .solution-case__media {
  grid-column: 2;
}

.solution-case--reverse .solution-case__copy {
  grid-column: 1;
  grid-row: 1;
}

.solution-case__media {
  position: relative;
  height: 650px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #ddd;
}

.solution-case__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solution-case__media > span {
  position: absolute;
  left: 20px;
  bottom: 20px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgb(10 10 10 / 88%);
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.solution-case__copy > p:not(.section-index) {
  margin: 26px 0 0;
  color: #625d55;
  font-size: 16px;
  line-height: 1.7;
}

.solution-case dl {
  margin: 34px 0 0;
}

.solution-case dl > div {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  border-top: 1px solid var(--line);
}

.solution-case dl > div:last-child {
  border-bottom: 1px solid var(--line);
}

.solution-case dt {
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.solution-case dd {
  margin: 0;
  color: #5f5a52;
  font-size: 13px;
  line-height: 1.55;
}

.solution-case dd a {
  color: var(--ink);
  font-weight: 700;
  text-decoration-color: var(--gold);
  text-underline-offset: 4px;
}

.subpage-hero--editorial {
  min-height: 650px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 50% 110%, rgb(189 143 55 / 15%), transparent 36%),
    #fff;
}

.guide-index {
  padding: 32px 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper-warm);
}

.guide-index__grid {
  display: grid;
  grid-template-columns: 0.4fr 1.6fr;
  gap: 50px;
}

.guide-index__grid > p {
  margin: 5px 0;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.guide-index nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.guide-index a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  color: #514d46;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  text-decoration: none;
}

.guide-index a span {
  color: var(--gold-text);
  font-size: 9px;
}

.guide-article {
  scroll-margin-top: 85px;
  padding: clamp(90px, 10vw, 140px) 24px;
  background: #fff;
}

.guide-article--warm {
  background: var(--paper-warm);
}

.guide-article__layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 760px);
  justify-content: center;
  gap: clamp(50px, 8vw, 110px);
}

.guide-article aside {
  position: sticky;
  top: 120px;
  align-self: start;
  padding-top: 8px;
}

.guide-article aside > span {
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 800;
}

.guide-article aside p {
  margin: 24px 0 5px;
  font-weight: 700;
}

.guide-article aside small {
  color: #8a857c;
  font-size: 10px;
}

.article-kicker {
  margin: 0 0 18px;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.article-lead {
  margin: 28px 0 0;
  color: #4f4b44;
  font-size: 20px;
  line-height: 1.65;
}

.guide-article article > img {
  width: 100%;
  max-height: 510px;
  margin: 48px 0;
  object-fit: cover;
  border-radius: 20px;
}

.guide-article article h3 {
  margin: 42px 0 13px;
  font-size: 27px;
  font-weight: 610;
  letter-spacing: -0.035em;
}

.guide-article article > p:not(.article-kicker):not(.article-lead),
.guide-article article > ul {
  color: #5f5a52;
  font-size: 16px;
  line-height: 1.78;
}

.guide-article article > ul {
  padding-left: 22px;
}

.article-callout {
  margin: 38px 0;
  padding: 28px;
  border-left: 3px solid var(--gold);
  background: var(--gold-pale);
}

.article-callout strong {
  font-size: 14px;
}

.article-callout p {
  margin: 8px 0 0;
  color: #5f594e;
  font-size: 14px;
  line-height: 1.6;
}

.contact-hero {
  padding: clamp(70px, 8vw, 115px) 24px;
  background: #090909;
  color: #fff;
}

.contact-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
  align-items: center;
  gap: clamp(60px, 9vw, 130px);
}

.contact-hero__copy > p:not(.section-index) {
  margin: 28px 0 0;
  color: rgb(255 255 255 / 62%);
  font-size: 17px;
  line-height: 1.7;
}

.contact-direct {
  margin-top: 42px;
  padding-top: 26px;
  display: grid;
  gap: 8px;
  border-top: 1px solid rgb(255 255 255 / 14%);
}

.contact-direct span {
  margin-bottom: 8px;
  color: var(--gold-bright);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-direct a {
  width: fit-content;
  color: #fff;
  font-size: 15px;
  text-decoration-color: rgb(215 182 103 / 45%);
  text-underline-offset: 4px;
}

.contact-hero__visual {
  height: 620px;
  overflow: hidden;
  border: 1px solid rgb(215 182 103 / 23%);
  border-radius: var(--radius-lg);
}

.contact-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-main {
  padding: clamp(90px, 10vw, 140px) 24px;
  background: var(--paper-warm);
}

.contact-main__grid {
  display: grid;
  grid-template-columns: minmax(330px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(60px, 9vw, 130px);
}

.contact-main__intro > p:not(.section-index) {
  margin: 26px 0 0;
  color: #625d55;
  font-size: 16px;
  line-height: 1.7;
}

.contact-expect {
  margin-top: 34px;
}

.contact-expect > div {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 34px 1fr;
  border-top: 1px solid var(--line);
}

.contact-expect span {
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
}

.contact-expect strong {
  font-size: 14px;
}

.contact-expect p {
  grid-column: 2;
  margin: 5px 0 0;
  color: #777169;
  font-size: 12px;
}

.contact-form {
  position: relative;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid #e0dbd0;
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: 0 24px 58px rgb(17 17 17 / 7%);
}

.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

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

.contact-form > label,
.form-grid label {
  margin-bottom: 20px;
  display: grid;
  gap: 9px;
}

.contact-form label > span {
  color: #4f4a43;
  font-size: 12px;
  font-weight: 700;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid #dcd6ca;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgb(189 143 55 / 14%);
}

.contact-form .consent {
  margin: 8px 0 28px;
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 12px;
}

.contact-form .form-choice {
  margin: 4px 0 12px;
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 12px;
}

.contact-form .form-choice input {
  width: 18px;
  min-height: 18px;
  margin: 1px 0 0;
  accent-color: var(--gold);
}

.contact-form .form-choice span {
  color: #5d574f;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}

.contact-form .consent input {
  width: 18px;
  min-height: 18px;
  margin: 1px 0 0;
  accent-color: var(--gold);
}

.contact-form .consent span {
  color: #69645c;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

.form-submit {
  display: flex;
  align-items: center;
  gap: 18px;
}

.form-submit p {
  margin: 0;
  color: #676159;
  font-size: 11px;
  line-height: 1.45;
}

.form-submit button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.form-noscript {
  margin: 18px 0 0;
  color: #6a645b;
  font-size: 12px;
  line-height: 1.55;
}

.form-noscript a {
  color: var(--gold-text);
}

.contact-success-page {
  min-height: 100dvh;
  background: #090909;
}

.contact-success-page .site-header {
  background: rgb(255 255 255 / 97%);
}

.contact-success {
  min-height: calc(100dvh - 74px);
  padding: clamp(90px, 12vw, 170px) 24px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 30%, rgb(189 143 55 / 20%), transparent 28%),
    #090909;
  color: #fff;
}

.contact-success__inner {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
}

.contact-success__mark {
  width: 76px;
  height: 76px;
  margin: 0 auto 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(215 182 103 / 45%);
  border-radius: 50%;
  background: rgb(215 182 103 / 9%);
  color: var(--gold-bright);
  font-size: 32px;
}

.contact-success__mark--warning {
  border-color: rgb(255 255 255 / 30%);
  background: rgb(255 255 255 / 6%);
  color: #fff;
}

.contact-error-list {
  max-width: 620px;
  margin: 24px auto 0;
  padding: 20px 24px 20px 44px;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 14px;
  color: rgb(255 255 255 / 74%);
  text-align: left;
  line-height: 1.55;
}

.contact-success h1 {
  margin: 16px 0 0;
  font-size: clamp(46px, 6vw, 82px);
  font-weight: 560;
  letter-spacing: -0.058em;
  line-height: 0.98;
}

.contact-success__inner > p:not(.section-index) {
  max-width: 650px;
  margin: 28px auto 0;
  color: rgb(255 255 255 / 66%);
  font-size: 17px;
  line-height: 1.65;
}

.contact-success__actions {
  margin-top: 34px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-success__actions .button--outline {
  border-color: rgb(255 255 255 / 30%);
  background: transparent;
  color: #fff;
}

.contact-success__booking {
  margin-top: 26px;
  display: inline-block;
  color: var(--gold-bright);
  font-size: 14px;
  text-underline-offset: 4px;
}

.contact-success small {
  max-width: 560px;
  margin: 34px auto 0;
  display: block;
  color: rgb(255 255 255 / 44%);
  font-size: 11px;
  line-height: 1.6;
}

.contact-success small a {
  color: rgb(255 255 255 / 72%);
}

.contact-options {
  padding: clamp(90px, 10vw, 140px) 24px;
  background: #fff;
}

.contact-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.contact-option-grid a {
  min-height: 350px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e2ddd2;
  border-radius: 18px;
  background: var(--paper-warm);
  text-decoration: none;
}

.contact-option-grid span {
  align-self: flex-end;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
}

.contact-option-grid h3 {
  margin: auto 0 12px;
  font-size: 25px;
  font-weight: 610;
  letter-spacing: -0.035em;
}

.contact-option-grid p {
  margin: 0;
  color: #666159;
  font-size: 14px;
  line-height: 1.6;
}

.contact-option-grid b {
  margin-top: 22px;
  color: var(--gold-text);
  font-size: 12px;
}

.legal-page {
  padding: clamp(76px, 9vw, 120px) 24px;
  background: var(--paper-warm);
}

.legal-page__inner {
  max-width: 900px;
  margin-inline: auto;
}

.legal-page h1 {
  max-width: 840px;
}

.legal-page__lead {
  max-width: 720px;
  margin: 28px 0 50px;
  color: #5f5a52;
  font-size: 17px;
  line-height: 1.7;
}

.legal-card {
  margin-top: 14px;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid #e1dcd2;
  border-radius: 18px;
  background: #fff;
}

.legal-card h2 {
  margin: 0 0 20px;
  font-size: 22px;
  font-weight: 640;
  letter-spacing: -0.025em;
}

.legal-card p,
.legal-card li {
  color: #5c574f;
  font-size: 14px;
  line-height: 1.75;
}

.legal-card p {
  margin: 10px 0;
}

.legal-card ul {
  padding-left: 21px;
}

.legal-card a {
  color: var(--gold-text);
  text-underline-offset: 3px;
}

.legal-card code {
  padding: 2px 5px;
  border-radius: 5px;
  background: #f0ece3;
  font-size: 0.9em;
}

/* Keep long German headings and legal terms inside their own layout column. */
.subpage-hero__copy h1,
.subpage-hero__center h1,
.contact-hero h1,
.knowledge-home__intro h2,
.legal-page h1,
.legal-card h2 {
  hyphens: auto;
  overflow-wrap: anywhere;
}

.legal-card p,
.legal-card li,
.legal-card a,
.legal-card code {
  overflow-wrap: anywhere;
}

.subpage-hero--services .subpage-hero__copy h1 {
  font-size: clamp(50px, 5vw, 70px);
  hyphens: manual;
}

.legal-footer {
  padding: 26px 24px;
  background: #090909;
  color: rgb(255 255 255 / 52%);
  font-size: 11px;
}

.legal-footer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.legal-footer nav {
  display: flex;
  gap: 20px;
}

.legal-footer a {
  color: rgb(255 255 255 / 65%);
  text-decoration: none;
}

@keyframes copy-in {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
}

@keyframes media-in {
  from {
    opacity: 0;
    transform: translateY(26px) scale(0.98);
  }
}

@keyframes scroll-cue {
  0%,
  100% {
    opacity: 0.35;
    transform: translate(-50%, 0);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, 7px);
  }
}

@media (max-width: 1080px) {
  .site-header {
    gap: 22px;
  }

  .main-nav {
    gap: clamp(14px, 2vw, 22px);
  }

  .main-nav a {
    font-size: 13px;
  }

  .hero {
    min-height: auto;
  }

  .hero__inner {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .hero__copy {
    max-width: 760px;
  }

  .hero h1 {
    max-width: 760px;
  }

  .hero-media__viewport {
    min-height: min(58vw, 560px);
  }

  .scroll-cue {
    display: none;
  }
}

@media (max-width: 1024px) {
  .site-header {
    min-height: 70px;
    grid-template-columns: 1fr auto;
    gap: 16px;
  }

  .header-cta {
    display: none;
  }

  .nav-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
  }

  .nav-toggle svg {
    width: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
  }

  .main-nav {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    max-height: calc(100dvh - 68px);
    padding: 18px 24px 24px;
    overflow-y: auto;
    display: grid;
    gap: 0;
    background: rgb(255 255 255 / 98%);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 18px 30px rgb(17 17 17 / 8%);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
  }

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

  .main-nav a {
    padding: 13px 0;
    border-bottom: 1px solid #eee;
  }

  .main-nav a.main-nav__login {
    margin-top: 12px;
    padding: 12px 16px;
    justify-content: center;
    border: 1px solid rgb(189 143 55 / 42%);
    border-radius: 999px;
    background: var(--gold-pale);
  }

  .main-nav a.main-nav__login::after {
    display: none;
  }
}

@media (max-width: 820px) {
  .hero {
    min-height: 0;
    padding-top: 64px;
  }

  .hero h1 {
    font-size: clamp(46px, 12vw, 70px);
  }

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

@media (max-width: 560px) {
  .site-header {
    padding-inline: 18px;
  }

  .brand__mark {
    width: 46px;
    height: 52px;
  }

  .brand__word {
    font-size: 19px;
  }

  .hero {
    padding: 48px 18px 56px;
  }

  .hero__lead {
    font-size: 17px;
    line-height: 1.58;
  }

  .hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .text-link {
    justify-content: center;
  }

  .hero__proof {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .hero__proof li {
    grid-template-columns: 100px 1fr;
  }

  .hero-media {
    margin-inline: -8px;
    border-radius: 25px;
  }

  .hero-media__viewport {
    min-height: 440px;
  }

  .hero-media video {
    object-position: 50% center;
  }

  .hero-media__footer {
    overflow: hidden;
    white-space: nowrap;
  }

  .hero-media__caption {
    left: 20px;
    bottom: 22px;
  }

  .video-toggle {
    right: 18px;
    bottom: 18px;
  }

  .intro {
    padding: 82px 18px;
  }

  .preview-footer {
    padding: 30px 20px;
    align-items: flex-start;
    flex-direction: column;
  }
}

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

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

@media (max-width: 1120px) {
  .subpage-hero__grid,
  .service-detail-layout,
  .case-split__grid,
  .service-showcase__grid,
  .branch-system__grid,
  .contact-hero__grid,
  .contact-main__grid {
    grid-template-columns: 1fr;
  }

  .subpage-hero__copy {
    max-width: 850px;
  }

  .subpage-hero__media {
    min-height: 560px;
  }

  .subpage-hero__media img {
    height: 540px;
  }

  .detail-sticky,
  .guide-article aside {
    position: static;
  }

  .detail-sticky {
    max-width: 800px;
  }

  .case-split__grid,
  .service-showcase__grid {
    gap: 60px;
  }

  .case-split__image,
  .service-showcase__visual {
    max-width: 840px;
  }

  .package-family__head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 24px;
  }

  .branch-system__grid {
    gap: 55px;
  }

  .contact-hero__copy,
  .contact-main__intro {
    max-width: 820px;
  }

  .contact-hero__visual {
    max-width: 850px;
  }

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

  .system-band__inner,
  .profile-feature__grid,
  .about-home__grid {
    grid-template-columns: 1fr;
  }

  .system-band__copy {
    max-width: 790px;
  }

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

  .system-flow::before {
    display: none;
  }

  .system-flow li {
    padding-left: 64px;
  }

  .system-flow li > span {
    left: 3px;
  }

  .profile-feature__grid {
    gap: 70px;
  }

  .profile-feature__visual {
    max-width: 850px;
  }

  .profile-feature__copy {
    max-width: 850px;
  }

  .about-home__brand {
    max-width: 690px;
  }
}

@media (max-width: 920px) {
  .plan-grid,
  .contact-option-grid {
    grid-template-columns: 1fr;
  }

  .plan-card {
    min-height: 0;
  }

  .plan-card > p {
    min-height: 0;
  }

  .plan-card > .button {
    margin-top: 26px;
  }

  .branch-grid {
    grid-template-columns: 1fr;
  }

  .branch-card {
    min-height: 560px;
    grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
  }

  .solution-case__grid {
    grid-template-columns: 1fr;
  }

  .solution-case--reverse .solution-case__media,
  .solution-case--reverse .solution-case__copy {
    grid-column: 1;
  }

  .solution-case--reverse .solution-case__media {
    grid-row: 1;
  }

  .solution-case__media {
    height: 560px;
  }

  .guide-index__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .guide-article__layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .guide-article aside {
    padding-bottom: 22px;
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    border-bottom: 1px solid var(--line);
  }

  .guide-article aside p {
    margin: 0;
  }

  .guide-article aside small {
    grid-column: 2;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .contact-option-grid a {
    min-height: 300px;
  }

  .section-heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 24px;
  }

  .section-heading > p {
    max-width: 680px;
  }

  .seo-related__grid {
    grid-template-columns: 1fr;
  }

  .seo-related__grid :is(article, .linked-card) {
    min-height: 210px;
  }

  .service-card--wide,
  .service-card--reverse {
    min-height: 620px;
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: 280px 1fr;
  }

  .service-card--reverse .service-card__media,
  .service-card--reverse .service-card__copy {
    grid-column: 1;
  }

  .service-card--reverse .service-card__media {
    grid-row: 1;
  }

  .service-card--reverse .service-card__copy {
    grid-row: 2;
  }

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

  .process-list::before,
  .process-list::after {
    display: none;
  }

  .project-grid {
    grid-template-columns: 1fr;
  }

  .project-card {
    min-height: 0;
    grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr);
    grid-template-rows: auto auto 1fr;
  }

  .project-card img {
    grid-row: 1 / 4;
    width: 100%;
    height: 100%;
    min-height: 330px;
  }

  .project-card > span {
    margin-top: 34px;
  }

  .site-footer__grid {
    grid-template-columns: 1.4fr repeat(2, 0.8fr);
  }

  .site-footer__grid > div:last-child {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .subpage-hero,
  .case-split,
  .service-showcase,
  .package-family,
  .package-process,
  .branch-system,
  .solution-case,
  .guide-article,
  .contact-hero,
  .contact-main,
  .contact-options,
  .legal-page,
  .subpage-cta {
    padding: 80px 18px;
  }

  .seo-related {
    padding: 76px 18px;
  }

  .subpage-hero__copy h1,
  .subpage-hero__center h1,
  .contact-hero h1,
  .legal-page h1 {
    font-size: clamp(45px, 13vw, 66px);
  }

  .subpage-hero__media {
    min-height: 470px;
    padding: 8px;
    border-radius: 24px;
  }

  .subpage-hero__media img {
    height: 454px;
    border-radius: 18px;
  }

  .subpage-hero__media::after {
    inset: 8px;
    border-radius: 18px;
  }

  .anchor-nav {
    top: 70px;
  }

  .anchor-nav > div {
    justify-content: flex-start;
    padding-inline: 18px;
  }

  .detail-grid,
  .add-on-grid,
  .branch-system ol,
  .guide-index nav {
    grid-template-columns: 1fr;
  }

  .detail-card {
    min-height: 250px;
  }

  .case-split__image {
    height: 550px;
  }

  .check-list {
    grid-template-columns: 1fr;
  }

  .service-showcase__visual img {
    min-height: 430px;
  }

  .package-process ol {
    grid-template-columns: 1fr;
  }

  .package-process li,
  .package-process li:not(:first-child) {
    min-height: 170px;
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 12%);
  }

  .package-process li strong {
    margin-top: 12px;
  }

  .branch-card {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 330px auto;
  }

  .branch-card img {
    height: 330px;
  }

  .branch-card h3 {
    margin-top: 65px;
  }

  .solution-case__media {
    height: 460px;
  }

  .solution-case dl > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .guide-index nav {
    gap: 14px;
  }

  .guide-index a {
    padding: 12px 0;
    border-top: 1px solid var(--line);
  }

  .guide-article article > img {
    margin: 36px 0;
  }

  .contact-hero__visual {
    height: 500px;
  }

  .form-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .legal-footer > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .legal-footer nav {
    flex-wrap: wrap;
  }

  .section {
    padding: 82px 18px;
  }

  .audience-strip {
    padding: 24px 18px;
  }

  .audience-strip__inner {
    min-height: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .service-grid,
  .package-home-grid {
    grid-template-columns: 1fr;
  }

  .service-card,
  .service-card--wide,
  .service-card--reverse {
    min-height: 0;
    grid-template-rows: 235px auto;
  }

  .system-band {
    min-height: 0;
    padding: 86px 18px;
  }

  .system-band__inner {
    gap: 52px;
  }

  .system-flow {
    grid-template-columns: 1fr;
  }

  .system-flow li {
    min-height: 115px;
  }

  .package-home-card {
    min-height: 430px;
  }

  .profile-feature__visual {
    min-height: 535px;
  }

  .profile-feature__visual > img {
    width: 100%;
    height: 470px;
  }

  .profile-mock {
    right: 12px;
    bottom: 0;
    left: 12px;
    width: auto;
  }

  .industry-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 430px);
  }

  .industry-card--tall {
    grid-row: auto;
  }

  .industry-links a:last-child {
    margin-left: 0;
  }

  .process-list {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .process-list li {
    padding: 0;
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 20px;
  }

  .process-list h3 {
    margin-top: 3px;
  }

  .project-card {
    grid-template-columns: 1fr;
    grid-template-rows: 260px auto auto auto;
  }

  .project-card img {
    grid-row: 1;
    min-height: 0;
    height: 260px;
  }

  .about-home__brand,
  .about-home__brand img {
    min-height: 0;
    height: 560px;
  }

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

  .about-facts > div {
    padding: 22px 0;
    border-bottom: 1px solid rgb(255 255 255 / 10%);
  }

  .about-facts strong {
    margin-top: 10px;
  }

  .final-cta {
    min-height: 690px;
    padding: 100px 18px;
  }

  .final-cta__shade {
    background: linear-gradient(180deg, rgb(5 5 5 / 88%) 0%, rgb(5 5 5 / 78%) 100%);
  }

  .final-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .text-link--light {
    justify-content: center;
  }

  .site-footer {
    padding-inline: 18px;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .site-footer__brand {
    grid-column: 1 / -1;
  }

  .site-footer__grid > div:last-child {
    grid-column: auto;
  }
}

@media (max-width: 480px) {
  .package-finder__legend {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
  }

  .package-finder__step {
    width: 28px;
    height: 28px;
    font-size: 9px;
  }

  .package-finder label {
    min-height: 62px;
    padding: 10px 11px;
  }

  .package-finder label strong {
    font-size: 13px;
  }

  .package-finder label small {
    font-size: 11px;
  }
}

@media (max-width: 640px) {
  .package-finder fieldset {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .subpage-hero__copy .hero__actions,
  .subpage-hero__center .hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .subpage-hero__media {
    min-height: 420px;
  }

  .subpage-hero__media img {
    height: 404px;
  }

  .subpage-hero__media > div {
    right: 24px;
    bottom: 24px;
    left: 24px;
  }

  .subpage-hero__media strong {
    font-size: 25px;
  }

  .transparency-note {
    grid-template-columns: 1fr;
  }

  .case-split__image,
  .solution-case__media,
  .contact-hero__visual {
    height: 410px;
  }

  .service-showcase__visual img {
    min-height: 360px;
  }

  .plan-card,
  .contact-form,
  .legal-card {
    padding: 25px;
  }

  .plan-card__badge {
    position: static;
    width: fit-content;
    margin-bottom: 22px;
  }

  .branch-card {
    grid-template-rows: 280px auto;
  }

  .branch-card img {
    height: 280px;
  }

  .guide-article article h3 {
    font-size: 24px;
  }

  .section-heading h2,
  .profile-feature__copy h2,
  .system-band h2,
  .knowledge-home h2,
  .about-home h2,
  .final-cta h2 {
    font-size: 39px;
  }

  .audience-strip i {
    display: none;
  }

  .audience-strip p {
    width: calc(50% - 14px);
    white-space: normal;
  }

  .profile-mock {
    padding: 24px;
  }

  .industry-grid {
    grid-template-rows: repeat(3, 360px);
  }

  .article-list a {
    grid-template-columns: 36px 1fr auto;
    gap: 12px;
  }

  .article-list h3 {
    font-size: 20px;
  }

  .about-home__brand,
  .about-home__brand img {
    height: 480px;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer__brand,
  .site-footer__grid > div:last-child {
    grid-column: auto;
  }

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

/* Homepage hero v3: full-bleed video with project carousel */
.home-page .site-header {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom-color: transparent;
  background: linear-gradient(180deg, rgb(2 2 2 / 76%) 0%, rgb(2 2 2 / 34%) 62%, transparent 100%);
  color: var(--gold-bright);
  backdrop-filter: none;
  box-shadow: none;
}

.home-page .site-header.is-scrolled {
  position: fixed;
  border-bottom-color: rgb(215 182 103 / 16%);
  background: rgb(7 7 7 / 91%);
  box-shadow: 0 16px 36px rgb(0 0 0 / 18%);
  backdrop-filter: blur(18px);
}

.home-page .brand__word,
.home-page .main-nav a {
  color: var(--gold-bright);
}

.home-page .main-nav a::after {
  background: var(--gold-bright);
}

.home-page .header-cta {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: #090909;
}

.home-page .hero {
  width: 100%;
  height: 100svh;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #050505;
  color: #fff;
}

.home-page .hero::before {
  display: none;
}

.home-page .hero__frame {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  animation: none;
}

.home-page .hero__stage {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  background: #050505;
}

.home-page .hero__video {
  filter: saturate(0.78) contrast(1.08) brightness(0.68);
  transform: scale(1.012);
}

.home-page .hero__stage::before {
  background:
    linear-gradient(180deg, rgb(2 2 2 / 48%) 0%, transparent 24%, transparent 54%, rgb(2 2 2 / 78%) 100%),
    linear-gradient(90deg, rgb(2 2 2 / 16%) 0%, rgb(2 2 2 / 8%) 42%, rgb(2 2 2 / 58%) 100%);
}

.home-page .hero__stage::after {
  display: none;
}

.home-page .hero__headline {
  position: absolute;
  z-index: 3;
  top: clamp(132px, 17.5vh, 190px);
  right: clamp(28px, 5.2vw, 84px);
  left: auto;
  width: min(820px, 59vw);
  max-width: none;
  text-align: right;
  animation: copy-in 680ms 80ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-page .hero__headline .eyebrow {
  margin-bottom: clamp(12px, 1.6vh, 18px);
  justify-content: flex-end;
  color: var(--gold-bright);
  font-size: clamp(9px, 0.72vw, 11px);
  letter-spacing: 0.17em;
}

.home-page .hero__headline h1 {
  max-width: none;
  color: #fff;
  font-size: clamp(58px, 5.9vw, 102px);
  font-weight: 560;
  letter-spacing: -0.058em;
  line-height: 0.91;
}

.home-page .hero__headline h1 .hero__agency {
  color: var(--gold-bright);
}

.home-page .hero__headline h1 .hero__location {
  margin-top: clamp(10px, 1.5vh, 16px);
  color: #fff;
  font-size: clamp(30px, 3.25vw, 56px);
  font-weight: 620;
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-transform: none;
}

.home-page .hero__headline .hero__lead {
  max-width: 590px;
  margin: clamp(16px, 2.1vh, 24px) 0 0 auto;
  display: block;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.55;
  text-wrap: balance;
}

.home-page .hero__headline .hero__actions {
  margin-top: clamp(22px, 2.8vh, 32px);
  justify-content: flex-end;
}

.home-page .hero__headline .button {
  min-height: 46px;
}

.home-page .hero__headline .text-link {
  color: #fff;
}

.hero-projects {
  position: absolute;
  z-index: 3;
  right: clamp(28px, 5.2vw, 84px);
  bottom: clamp(52px, 6.2vh, 76px);
  width: min(920px, 67vw);
  color: #fff;
  animation: copy-in 680ms 170ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-projects__head {
  min-height: 34px;
  margin-bottom: 10px;
  padding-right: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.hero-projects__head p {
  margin: 0 0 9px;
  color: rgb(255 255 255 / 78%);
  font-size: 10px;
  font-weight: 740;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-projects__head strong {
  color: var(--gold-bright);
  font-size: 12px;
}

.hero-projects__head span {
  color: rgb(255 255 255 / 48%);
}

.hero-projects__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  touch-action: pan-x;
}

.hero-projects__viewport::-webkit-scrollbar {
  display: none;
}

.hero-projects__track {
  width: max-content;
  padding: 8px 2px 4px;
  display: flex;
  gap: 12px;
}

.hero-project-card {
  width: min(512px, 38.4vw);
  height: clamp(228px, 25.2vh, 269px);
  display: grid;
  grid-template-columns: 44% minmax(0, 1fr);
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 17px;
  background: rgb(14 14 14 / 66%);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 45px rgb(0 0 0 / 20%);
  backdrop-filter: blur(16px) saturate(0.8);
  scroll-snap-align: start;
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.hero-project-card:hover {
  transform: translateY(-3px);
  border-color: rgb(215 182 103 / 62%);
  background: rgb(12 12 12 / 79%);
}

.hero-project-card:focus-visible {
  outline: 3px solid rgb(215 182 103 / 60%);
  outline-offset: -3px;
}

.hero-project-card > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Preserve complete company logos in project previews, including their wordmarks. */
.project-logo--blume {
  --project-logo-surface: transparent;
}

.project-logo--krez {
  --project-logo-surface: transparent;
}

.project-logo--fahrschule {
  --project-logo-surface: transparent;
}

.project-logo--pars {
  --project-logo-surface: transparent;
}

.project-logo--malihe {
  --project-logo-surface: transparent;
}

.project-logo--secplan {
  --project-logo-surface: transparent;
}

.hero-project-card > img.project-logo,
.project-card > img.project-logo,
.solution-case__media > img.project-logo {
  padding: clamp(16px, 2vw, 30px);
  object-fit: contain;
  object-position: center;
  background: var(--project-logo-surface, transparent);
}

.hero-project-card > img.project-logo--krez,
.project-card > img.project-logo--krez,
.solution-case__media > img.project-logo--krez {
  object-fit: scale-down;
}

.solution-case__media--logo {
  height: clamp(260px, 31vw, 420px);
}

.solution-case__media--logo > img.project-logo {
  padding-bottom: 60px;
}

.hero-project-card__copy {
  min-width: 0;
  padding: clamp(20px, 1.8vw, 28px);
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  overflow-wrap: anywhere;
}

.hero-project-card__copy small {
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero-project-card__copy > strong {
  max-width: 100%;
  font-size: clamp(25px, 1.9vw, 31px);
  font-weight: 650;
  letter-spacing: -0.035em;
  line-height: 1;
  overflow-wrap: anywhere;
}

.hero-project-card__copy > span {
  margin-top: 12px;
  color: rgb(255 255 255 / 72%);
  font-size: 14px;
  line-height: 1.45;
}

.hero-project-card__copy b {
  margin-top: auto;
  color: #fff;
  font-size: 12px;
  font-weight: 680;
}

.hero-project-card__copy b span {
  display: inline-block;
  margin-left: 4px;
  color: var(--gold-bright);
  transition: transform 180ms ease;
}

.hero-project-card:hover .hero-project-card__copy b span {
  transform: translate(3px, -3px);
}

.hero-projects__controls {
  position: absolute;
  top: -45px;
  right: 0;
  display: flex;
  gap: 7px;
}

.hero-projects__controls button {
  width: 34px;
  height: 34px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 26%);
  border-radius: 50%;
  background: rgb(8 8 8 / 54%);
  color: #fff;
  font: inherit;
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.hero-projects__controls button:hover:not(:disabled),
.hero-projects__controls button:focus-visible {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: #090909;
}

.hero-projects__controls button:focus-visible {
  outline: 3px solid rgb(215 182 103 / 34%);
  outline-offset: 3px;
}

.hero-projects__controls button:disabled {
  opacity: 0.36;
  cursor: default;
}

.home-page .video-toggle {
  top: auto;
  right: auto;
  bottom: clamp(24px, 3.8vh, 46px);
  left: clamp(22px, 3.2vw, 52px);
  z-index: 4;
  border-color: rgb(255 255 255 / 26%);
  background: rgb(8 8 8 / 54%);
  color: #fff;
  backdrop-filter: blur(12px);
}

@media (max-width: 1100px) {
  .home-page .hero__headline {
    width: min(760px, 72vw);
  }

  .hero-projects {
    width: min(820px, 75vw);
  }

  .hero-project-card {
    width: min(488px, 46.4vw);
  }
}

@media (max-width: 1024px) {
  .home-page .site-header {
    min-height: 68px;
    padding: 10px 18px;
  }

  .home-page .site-header.is-scrolled {
    min-height: 64px;
  }

  .home-page .nav-toggle {
    border-color: rgb(215 182 103 / 48%);
    background: rgb(8 8 8 / 54%);
    color: var(--gold-bright);
  }

  .home-page .main-nav {
    top: 100%;
    border-bottom-color: rgb(215 182 103 / 18%);
    background: rgb(7 7 7 / 96%);
    box-shadow: 0 18px 34px rgb(0 0 0 / 20%);
  }

  .home-page .main-nav a {
    border-bottom-color: rgb(255 255 255 / 10%);
  }

  .home-page .main-nav a.main-nav__login {
    border-color: rgb(215 182 103 / 48%);
    background: rgb(215 182 103 / 11%);
    color: var(--gold-bright);
  }
}

@media (max-width: 820px) {
  .home-page .hero {
    height: 100svh;
    padding: 0;
  }

  .home-page .hero__stage {
    min-height: 0;
  }

  .home-page .hero__stage::before {
    background:
      linear-gradient(180deg, rgb(2 2 2 / 57%) 0%, transparent 24%, rgb(2 2 2 / 28%) 47%, rgb(2 2 2 / 91%) 100%),
      linear-gradient(90deg, rgb(2 2 2 / 24%), rgb(2 2 2 / 18%));
  }

  .home-page .hero__headline {
    top: clamp(94px, 13.5vh, 116px);
    right: 18px;
    left: 18px;
    width: auto;
    text-align: left;
  }

  .home-page .hero__headline .eyebrow {
    justify-content: flex-start;
  }

  .home-page .hero__headline h1 {
    max-width: 620px;
    font-size: clamp(44px, 11.6vw, 68px);
    line-height: 0.92;
  }

  .home-page .hero__headline .hero__lead {
    max-width: 520px;
    margin-left: 0;
    font-size: 14px;
  }

  .home-page .hero__headline .hero__actions {
    justify-content: flex-start;
  }

  .hero-projects {
    right: 16px;
    bottom: 30px;
    left: 16px;
    width: auto;
  }

  .hero-projects__head {
    min-height: 31px;
    margin-bottom: 7px;
  }

  .hero-project-card {
    width: min(70.4vw, 400px);
    height: clamp(235px, 32.4vh, 278px);
    grid-template-columns: 44% minmax(0, 1fr);
  }

  .hero-project-card__copy {
    padding: 15px;
  }

  .hero-project-card__copy > strong {
    font-size: 24px;
  }

  .hero-project-card__copy > span {
    font-size: 12px;
  }

  .home-page .video-toggle {
    top: 80px;
    right: 17px;
    bottom: auto;
    left: auto;
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 520px) {
  .home-page .brand__word {
    font-size: 19px;
  }

  .home-page .hero__headline {
    top: 92px;
  }

  .home-page .hero__headline .eyebrow {
    max-width: calc(100% - 52px);
    margin-bottom: 10px;
    font-size: 8px;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(42px, 12.4vw, 58px);
  }

  .home-page .hero__headline h1 .hero__location {
    margin-top: 9px;
    font-size: clamp(21px, 6.5vw, 30px);
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  .home-page .hero__headline .hero__lead {
    margin-top: 13px;
    font-size: 13px;
    line-height: 1.43;
  }

  .home-page .hero__headline .hero__actions {
    margin-top: 14px;
    gap: 12px;
  }

  .home-page .hero__headline .button {
    min-height: 42px;
    padding-inline: 16px;
    font-size: 12px;
  }

  .home-page .hero__headline .text-link {
    font-size: 12px;
  }

  .hero-projects__head p {
    font-size: 8px;
  }

  .hero-projects__controls button {
    width: 31px;
    height: 31px;
  }

  .hero-project-card {
    width: min(72vw, 328px);
    height: clamp(221px, 31.2vh, 257px);
    grid-template-columns: 42% minmax(0, 1fr);
    border-radius: 14px;
  }

  .hero-project-card__copy small {
    font-size: 7px;
  }

  .hero-project-card__copy > strong {
    font-size: 21px;
  }

  .hero-project-card__copy > span {
    margin-top: 8px;
    font-size: 11px;
  }

  .hero-project-card__copy b {
    font-size: 9px;
  }
}

@media (max-height: 690px) and (min-width: 821px) {
  .home-page .hero__headline {
    top: 92px;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(44px, 4.8vw, 66px);
  }

  .home-page .hero__headline .hero__lead {
    margin-top: 12px;
    font-size: 13px;
  }

  .home-page .hero__headline .hero__actions {
    margin-top: 12px;
  }

  .hero-projects {
    bottom: 30px;
  }

  .hero-project-card {
    height: 206px;
  }

  .home-page .video-toggle {
    bottom: 18px;
  }
}

@media (max-height: 640px) and (max-width: 820px) {
  .home-page .hero__headline {
    top: 76px;
  }

  .home-page .hero__headline .hero__lead {
    display: none;
  }

  .home-page .hero__headline .hero__actions {
    margin-top: 12px;
  }

  .home-page .video-toggle {
    top: 73px;
  }

  .hero-project-card {
    height: 199px;
  }

  .hero-project-card__copy > span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-projects,
  .home-page .hero__headline {
    animation: none;
  }

  .hero-projects__viewport {
    scroll-behavior: auto;
  }
}

/* Compact care sections: complete cards stay readable without an oversized viewport footprint. */
.package-family--compact {
  padding-block: clamp(46px, 6vh, 72px);
}

.package-family--compact .package-family__head {
  margin-bottom: clamp(22px, 3vh, 32px);
}

.package-family--compact .plan-card {
  min-height: 480px;
  padding: 25px 27px;
}

.package-family--compact .plan-card__head > span {
  margin-top: 10px;
}

.package-family--compact .plan-card__head > strong {
  margin-top: 6px;
  font-size: 30px;
}

.package-family--compact .plan-card > p {
  min-height: 42px;
  margin-top: 15px;
  line-height: 1.45;
}

.package-family--compact .plan-card > ul {
  margin-top: 13px;
  padding-block: 14px;
  gap: 6px;
}

.package-family--compact .plan-card details {
  margin: 8px 0 12px;
}

.package-family--compact .plan-card > .button {
  min-height: 45px;
}

.package-family--compact .family-note {
  margin-top: 14px;
  padding-block: 12px;
}

#care.service-detail-section {
  padding-block: clamp(62px, 8vh, 92px);
}

#care.service-detail-section .detail-card {
  min-height: 215px;
  padding: 26px;
}

/* Individual project pages */
.project-detail-hero {
  padding: clamp(72px, 8vw, 116px) 24px clamp(64px, 8vw, 110px);
  background:
    radial-gradient(circle at 90% 10%, rgb(189 143 55 / 13%), transparent 28%),
    #fff;
}

.project-detail-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(32px, 4.5vw, 64px);
}

.project-detail-hero__grid > * {
  min-width: 0;
}

.project-detail-hero__copy h1 {
  max-width: 100%;
  margin: 18px 0 0;
  font-size: clamp(32px, 4.4vw, 64px);
  font-weight: 570;
  letter-spacing: -0.05em;
  line-height: 1.08;
  text-wrap: balance;
  overflow-wrap: anywhere;
  hyphens: none;
}

.project-detail-hero__copy > p:not(.section-index) {
  max-width: 560px;
  margin: 27px 0 0;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.7;
}

.project-detail-hero__copy .hero__actions {
  margin-top: 30px;
}

.project-detail-hero__media {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #111;
  box-shadow: var(--shadow-soft);
}

.project-detail-hero__media img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.project-detail-hero__media--portrait img {
  object-position: 50% 24%;
}

.project-detail-hero__media--brand {
  background: #1a1a18;
}

.project-detail-hero__media--brand > img {
  padding: 24px 18px 96px;
  object-fit: contain;
}

.project-detail-hero__badge {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 14px;
  background: rgb(7 7 7 / 72%);
  color: #fff;
  font-size: 12px;
  backdrop-filter: blur(14px);
}

.project-detail-hero__badge strong {
  color: var(--gold-bright);
  font-size: 11px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.project-detail-body {
  padding: clamp(70px, 9vw, 124px) 24px;
  background: var(--paper-warm);
}

.project-detail-body__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.68fr) minmax(520px, 1.32fr);
  gap: clamp(50px, 9vw, 130px);
}

.project-facts {
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  list-style: none;
}

.project-facts li {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 16px;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}

.project-facts strong {
  color: var(--ink);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.project-story h2 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 570;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.project-story > p {
  max-width: 780px;
  margin: 25px 0 0;
  color: #5f5a52;
  font-size: 17px;
  line-height: 1.72;
}

.project-deliverables {
  margin: 38px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
}

.project-deliverables li {
  min-height: 92px;
  padding: 18px;
  display: flex;
  align-items: flex-end;
  border: 1px solid #e1ddd4;
  border-radius: 14px;
  background: #fff;
  color: #4d4942;
  font-size: 13px;
  line-height: 1.45;
}

.project-deliverables li::before {
  content: "↗";
  margin-right: 12px;
  color: var(--gold-text);
}

.project-evidence {
  scroll-margin-top: 88px;
  padding: clamp(52px, 5.5vw, 78px) 24px;
  background: #fff;
}

.project-evidence--blume {
  background:
    radial-gradient(circle at 8% 8%, rgb(111 33 70 / 12%), transparent 28%),
    linear-gradient(135deg, #f8f3f1 0%, #fff 54%, #f4eee9 100%);
}

.project-evidence--krez {
  background:
    radial-gradient(circle at 92% 12%, rgb(182 220 0 / 16%), transparent 27%),
    linear-gradient(135deg, #f2f3ed 0%, #fff 58%, #eef0e7 100%);
}

.project-evidence--malihe {
  background:
    radial-gradient(circle at 91% 10%, rgb(153 38 54 / 13%), transparent 28%),
    radial-gradient(circle at 7% 90%, rgb(194 145 68 / 10%), transparent 30%),
    linear-gradient(135deg, #f8f1e8 0%, #fff 56%, #f7eee5 100%);
}

.project-evidence__head {
  margin-bottom: clamp(22px, 3vw, 34px);
  display: grid;
  grid-template-columns: minmax(180px, 0.55fr) minmax(520px, 1.45fr);
  align-items: end;
  gap: clamp(34px, 8vw, 120px);
}

.project-evidence__head h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(38px, 4.7vw, 68px);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.project-evidence__head p:not(.section-index) {
  max-width: 700px;
  margin: 20px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.65;
}

.project-evidence__grid {
  display: grid;
  grid-template-columns: 1.32fr 0.84fr 0.84fr;
  gap: 14px;
}

.project-evidence__item {
  position: relative;
  min-width: 0;
  height: clamp(270px, 23vw, 340px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgb(17 17 17 / 8%);
  border-radius: clamp(18px, 2vw, 28px);
  background: #181818;
  box-shadow: 0 24px 62px rgb(23 19 13 / 12%);
  isolation: isolate;
}

.project-evidence__item::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent, rgb(4 4 4 / 78%));
  pointer-events: none;
}

.project-evidence__item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 650ms ease;
}

.project-evidence__item figcaption {
  position: absolute;
  right: 22px;
  bottom: 20px;
  left: 22px;
  z-index: 2;
  display: grid;
  gap: 5px;
  color: #fff;
  text-shadow: 0 2px 16px rgb(0 0 0 / 34%);
}

.project-evidence__item figcaption strong {
  font-size: clamp(17px, 1.55vw, 23px);
  font-weight: 620;
  letter-spacing: -0.025em;
}

.project-evidence__item figcaption span {
  color: rgb(255 255 255 / 74%);
  font-size: 12px;
  line-height: 1.45;
}

@media (hover: hover) and (pointer: fine) {
  .project-evidence__item:hover img {
    transform: scale(1.045);
    filter: saturate(1.06) contrast(1.02);
  }
}

.project-next {
  padding: clamp(72px, 9vw, 116px) 24px;
  background: #090909;
  color: #fff;
  text-align: center;
}

.project-next h2 {
  max-width: 850px;
  margin: 0 auto;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 560;
  letter-spacing: -0.055em;
  line-height: 1;
}

.project-next p {
  max-width: 640px;
  margin: 22px auto 0;
  color: rgb(255 255 255 / 62%);
  font-size: 16px;
  line-height: 1.65;
}

.project-next .button {
  margin-top: 30px;
}

.project-next .text-link {
  margin: 30px 0 0 18px;
  color: #fff;
}

@media (max-width: 1000px) {
  .project-detail-hero__grid,
  .project-detail-body__grid {
    grid-template-columns: 1fr;
  }

  .project-evidence__head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .project-detail-hero__media {
    min-height: min(68vw, 620px);
  }
}

@media (max-width: 560px) {
  .project-next .text-link {
    display: flex;
    width: max-content;
    margin: 22px auto 0;
  }
}

@media (max-width: 820px) {
  .package-family--compact .plan-card {
    min-height: 0;
  }

  .project-detail-hero {
    padding: 58px 18px 72px;
  }

  .project-detail-hero__grid {
    gap: 42px;
  }

  .project-detail-hero__media {
    min-height: min(82vw, 540px);
    border-radius: 22px;
  }

  .project-detail-body,
  .project-evidence,
  .project-next {
    padding-inline: 18px;
  }

  .project-detail-body__grid {
    gap: 44px;
  }

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

  .project-evidence__item {
    height: 230px;
  }

  .project-evidence__item:first-child {
    grid-column: 1 / -1;
    height: min(62vw, 400px);
  }
}

@media (max-width: 520px) {
  .project-detail-hero__copy > p:not(.section-index),
  .project-story > p {
    font-size: 15px;
  }

  .project-detail-hero__media {
    min-height: 390px;
  }

  .project-detail-hero__badge {
    align-items: flex-start;
    flex-direction: column;
  }

  .project-deliverables {
    grid-template-columns: 1fr;
  }

  .project-evidence__item {
    height: 190px;
    border-radius: 18px;
  }

  .project-evidence__item:first-child {
    height: 250px;
  }

  .project-evidence__item figcaption {
    right: 15px;
    bottom: 14px;
    left: 15px;
  }

  .project-evidence__item figcaption span {
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-evidence__item img {
    transition: none;
  }
}

/* Package introductions: concise copy, natural card heights and clear spacing. */
.package-detail-page .service-detail-section {
  padding: clamp(40px, 4.5vw, 64px) 24px;
}

.package-detail-page .service-detail-layout {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 4vw, 56px);
}

.package-detail-page .detail-sticky {
  position: static;
  max-width: none;
}

.package-detail-page .detail-sticky .section-index,
.package-detail-page .case-split .section-index {
  margin: 0 0 14px;
}

.package-detail-page .detail-sticky h2,
.package-detail-page .case-split h2 {
  font-size: clamp(30px, 3.15vw, 44px);
  letter-spacing: -0.04em;
  line-height: 1.14;
  text-wrap: balance;
}

.package-detail-page .detail-sticky > p:not(.section-index),
.package-detail-page .case-split__copy > p:not(.section-index) {
  max-width: 52ch;
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.6;
}

.package-detail-page .detail-sticky .card-link {
  margin-top: 22px;
  padding-top: 0;
  line-height: 1.5;
}

.package-detail-page .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 14px;
}

.package-detail-page .detail-card {
  min-height: 0;
  padding: clamp(20px, 2vw, 26px);
  justify-content: flex-start;
  gap: 10px;
}

.package-detail-page .detail-card > span {
  align-self: flex-start;
  font-size: 11px;
  line-height: 1.2;
}

.package-detail-page .detail-card h3 {
  margin: 0;
  font-size: clamp(19px, 1.7vw, 22px);
  line-height: 1.2;
  overflow-wrap: anywhere;
  hyphens: none;
}

.package-detail-page .detail-card p {
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.package-detail-page .case-split {
  padding: clamp(40px, 4.5vw, 64px) 24px;
}

.package-detail-page .case-split__grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(32px, 4vw, 56px);
}

.package-detail-page .case-split__image {
  height: clamp(240px, 24vw, 330px);
}

.package-detail-page .case-split .check-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
  gap: 10px 18px;
}

/* Industry headings and cards share a predictable vertical rhythm. */
.branches-page .branch-intro {
  padding-block: clamp(40px, 4.5vw, 64px);
}

.branch-intro .section-heading {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
  margin-bottom: 32px;
}

.branch-intro .section-heading .section-index {
  margin: 0 0 14px;
}

.branch-intro .section-heading h2 {
  max-width: 22ch;
  font-size: clamp(30px, 3.3vw, 46px);
  letter-spacing: -0.04em;
  line-height: 1.14;
  text-wrap: balance;
}

.branch-intro .section-heading > p {
  max-width: 48ch;
  margin: 30px 0 0;
  font-size: 16px;
  line-height: 1.6;
}

.branch-card {
  position: relative;
  min-height: 0;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  grid-template-rows: auto;
}

.branch-card > img {
  position: absolute;
  inset: 0 auto 0 0;
  width: 36%;
  height: 100%;
}

.branch-card > div {
  min-width: 0;
  grid-column: 2;
  padding: clamp(22px, 2vw, 28px);
}

.branch-card > div > span {
  margin-bottom: 20px;
  line-height: 1.5;
}

.branch-card h3 {
  margin: 0 0 12px;
  font-size: clamp(22px, 1.8vw, 26px);
  line-height: 1.18;
  overflow-wrap: anywhere;
  hyphens: none;
}

.branch-card p {
  line-height: 1.6;
}

.branch-card ul {
  margin-top: 18px;
  padding-top: 16px;
  gap: 7px;
  line-height: 1.5;
}

.branch-card .card-link {
  padding-top: 20px;
  line-height: 1.45;
}

.branch-card .card-link span {
  flex: 0 0 auto;
  font-size: 18px;
  letter-spacing: normal;
}

@media (max-width: 1000px) {
  .package-detail-page .service-detail-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
}

@media (max-width: 920px) {
  .branch-intro .section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .branch-intro .section-heading > p {
    max-width: 60ch;
    margin: 0;
  }
}

@media (max-width: 720px) {
  .package-detail-page .case-split__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .package-detail-page .case-split__image {
    height: 240px;
  }

  .branch-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 220px auto;
  }

  .branch-card > img {
    position: static;
    width: 100%;
    height: 220px;
  }

  .branch-card > div {
    grid-column: 1;
    padding: 24px;
  }
}

@media (max-width: 520px) {
  .package-detail-page .service-detail-section,
  .package-detail-page .case-split {
    padding: 36px 18px;
  }

  .package-detail-page .detail-grid,
  .package-detail-page .case-split .check-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Image rhythm for text-heavy pages */
.detail-sticky__visual {
  position: relative;
  height: 220px;
  margin: 28px 0 0;
  overflow: hidden;
  border-radius: 18px;
  background: #111;
}

.detail-sticky__visual::after,
.package-hero__visual figure::after,
.add-on-grid__visual::after,
.editorial-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgb(5 5 5 / 82%) 100%);
  pointer-events: none;
}

.detail-sticky__visual img,
.package-hero__visual img,
.add-on-grid__visual img,
.editorial-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.detail-sticky__visual figcaption {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: rgb(255 255 255 / 82%);
  font-size: 11px;
  line-height: 1.45;
}

.subpage-hero--packages {
  min-height: 0;
  padding-block: clamp(52px, 6vw, 78px);
}

.package-hero__visual {
  max-width: 980px;
  margin: 36px auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.package-hero__visual figure {
  position: relative;
  height: 168px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #111;
}

.package-hero__visual img {
  filter: saturate(0.82) brightness(0.76);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.package-hero__visual figure:hover img {
  transform: scale(1.035);
}

.package-hero__link {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
}

.package-hero__link:focus-visible {
  outline: 3px solid var(--gold-bright);
  outline-offset: -4px;
}

.package-hero__visual figcaption {
  position: absolute;
  z-index: 1;
  right: 16px;
  bottom: 15px;
  left: 16px;
  color: #fff;
  text-align: left;
}

.package-hero__visual figcaption span,
.add-on-grid__visual figcaption span,
.editorial-hero__visual figcaption span {
  display: block;
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.package-hero__visual figcaption strong {
  margin-top: 5px;
  display: block;
  font-size: 16px;
  font-weight: 620;
}

.add-on-grid--visual {
  grid-template-columns: minmax(290px, 0.86fr) repeat(2, minmax(0, 1fr));
}

.add-on-grid__visual {
  position: relative;
  min-height: 615px;
  margin: 0;
  grid-row: 1 / span 2;
  overflow: hidden;
  border-radius: 18px;
  background: #111;
}

.add-on-grid__visual img {
  filter: saturate(0.78) contrast(1.03) brightness(0.76);
}

.add-on-grid__visual figcaption {
  position: absolute;
  z-index: 1;
  right: 26px;
  bottom: 25px;
  left: 26px;
  color: #fff;
}

.add-on-grid__visual figcaption strong {
  max-width: 330px;
  margin-top: 7px;
  display: block;
  font-size: clamp(23px, 2.1vw, 31px);
  font-weight: 580;
  letter-spacing: -0.04em;
  line-height: 1.08;
}

.subpage-hero--editorial {
  min-height: 0;
  padding-block: clamp(54px, 6.5vw, 86px);
}

.subpage-hero--editorial .subpage-hero__center {
  max-width: 1060px;
}

.editorial-hero__visual {
  position: relative;
  height: clamp(185px, 17vw, 228px);
  margin: 36px 0 0;
  overflow: hidden;
  border-radius: 20px;
  background: #111;
  box-shadow: var(--shadow-soft);
}

.editorial-hero__visual img {
  object-position: 50% 55%;
  filter: saturate(0.82) brightness(0.8);
}

.editorial-hero__visual figcaption {
  position: absolute;
  z-index: 1;
  right: 22px;
  bottom: 20px;
  left: 22px;
  color: #fff;
  text-align: left;
}

.editorial-hero__visual figcaption strong {
  margin-top: 5px;
  display: block;
  font-size: 18px;
  font-weight: 620;
}

.article-list a {
  grid-template-columns: 42px 74px minmax(0, 1fr) auto;
  gap: 18px;
}

.article-list a > img {
  width: 74px;
  height: 74px;
  border-radius: 12px;
  object-fit: cover;
}

.contact-option-grid a > img {
  width: 100%;
  height: 110px;
  margin: 14px 0 18px;
  border-radius: 12px;
  object-fit: cover;
  filter: saturate(0.82);
}

.contact-option-grid h3 {
  margin: 0 0 10px;
}

.contact-option-grid b {
  margin-top: auto;
  padding-top: 18px;
}

@media (max-width: 1120px) {
  .plan-card__head {
    min-height: 78px;
    padding-right: 74px;
  }

  .plan-card__head > .plan-card__thumb {
    width: 62px;
    height: 62px;
  }

  .plan-card__badge {
    right: 100px;
  }

  .detail-sticky__visual {
    width: min(680px, 100%);
    height: 250px;
  }

  .add-on-grid--visual {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .add-on-grid__visual {
    min-height: 310px;
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .plan-card__head {
    min-height: 88px;
    padding-right: 86px;
  }

  .plan-card__head > .plan-card__thumb {
    width: 72px;
    height: 72px;
  }

  .package-hero__visual {
    width: 100%;
    padding-bottom: 3px;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }

  .package-hero__visual::-webkit-scrollbar {
    display: none;
  }

  .package-hero__visual figure {
    width: min(76vw, 340px);
    height: 148px;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .add-on-grid--visual {
    grid-template-columns: 1fr;
  }

  .add-on-grid__visual {
    min-height: 250px;
    grid-column: auto;
  }

  .detail-sticky__visual {
    height: 210px;
  }

  .article-list a {
    grid-template-columns: 34px 62px minmax(0, 1fr) auto;
    gap: 12px;
  }

  .article-list a > img {
    width: 62px;
    height: 62px;
    border-radius: 10px;
  }

  .contact-option-grid a {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .subpage-hero--packages,
  .subpage-hero--editorial {
    padding-block: 48px;
  }

  .package-hero__visual,
  .editorial-hero__visual {
    margin-top: 28px;
  }

  .editorial-hero__visual {
    height: 170px;
    border-radius: 16px;
  }

  .article-list a {
    grid-template-columns: 28px 54px minmax(0, 1fr) auto;
    gap: 9px;
  }

  .article-list a > img {
    width: 54px;
    height: 54px;
  }

  .article-list h3 {
    font-size: 18px;
  }

  .contact-option-grid a > img {
    height: 96px;
  }
}

@media (max-width: 820px) {
  .package-finder__questions {
    grid-template-columns: 1fr;
  }

  .package-finder__result {
    align-items: stretch;
    flex-direction: column;
  }

  .package-finder__result > div:last-child {
    min-width: 0;
    justify-items: start;
  }
}

@media (max-width: 720px) {
  .package-guide {
    padding: 76px 18px;
  }

  .package-finder {
    padding: 17px;
  }

  .package-finder fieldset {
    padding: 18px;
  }

  .package-finder__submit {
    align-items: stretch;
    flex-direction: column;
  }

  .package-finder__submit .button,
  .package-finder__result .button {
    width: 100%;
  }

  .package-comparison__hint {
    margin: 0;
    padding: 0 20px 14px;
    display: block;
    color: #766f65;
    font-size: 10px;
  }

  .package-comparison summary {
    padding: 19px 20px;
  }

  .package-comparison summary span {
    display: none;
  }
}

/* Kompakte Leistungskarten auf der Startseite: mehr Bild, weniger Scrollstrecke. */
.services-home {
  padding-block: clamp(68px, 7vw, 98px);
}

.services-home .section-heading {
  margin-bottom: clamp(34px, 4vw, 46px);
}

.services-home .service-grid {
  gap: 18px;
}

.services-home .service-card,
.services-home .service-card--wide,
.services-home .service-card--reverse {
  min-height: 410px;
  grid-column: auto;
  grid-template-columns: minmax(180px, 42%) minmax(0, 1fr);
  grid-template-rows: 1fr;
}

.services-home .service-card--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(180px, 42%);
}

.services-home .service-card--reverse .service-card__media {
  grid-column: 2;
  grid-row: 1;
}

.services-home .service-card--reverse .service-card__copy {
  grid-column: 1;
  grid-row: 1;
}

.services-home .service-card__copy {
  padding: clamp(22px, 2vw, 32px);
}

.services-home .service-card__label {
  margin: 8px 0;
}

.services-home .service-card h3 {
  font-size: clamp(25px, 2.25vw, 34px);
  hyphens: auto;
  overflow-wrap: anywhere;
}

.services-home .service-card__copy > p:not(.service-card__label) {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.52;
}

.services-home .service-card ul {
  margin-top: 14px;
  gap: 5px;
  font-size: 12px;
  line-height: 1.35;
}

.services-home .card-link {
  padding-top: 16px;
}

.services-home .center-action {
  margin-top: 34px;
}

/* Echtes, responsives Wabenraster: versetzte Spalten und unteilbare Großwaben. */
.industry-home {
  padding-bottom: clamp(30px, 4vw, 52px);
}

.industry-hive-viewport {
  width: 100%;
  min-width: 0;
  margin-top: clamp(12px, 2vw, 26px);
  padding: 0;
  overflow: hidden;
  overflow: clip;
}

.industry-hive {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(76px, 7.8vw, 112px), 1fr));
  grid-auto-flow: row dense;
  gap: clamp(5px, 0.55vw, 9px);
  align-items: start;
  isolation: isolate;
}

.industry-hive.is-honeycomb-ready {
  position: relative;
  display: block;
  height: var(--hive-height);
}

.industry-hive.is-honeycomb-ready > .industry-hive__cell {
  position: absolute;
  inset: auto;
  top: var(--hive-y);
  left: var(--hive-x);
  width: var(--hive-cell-width);
  height: var(--hive-cell-height);
  margin: 0;
  aspect-ratio: auto;
}

.industry-hive.is-honeycomb-ready > .industry-hive__cell--large {
  grid-row: auto;
  grid-column: auto;
}

.industry-hive__cell {
  position: relative;
  inset: auto;
  width: 100%;
  min-width: 0;
  aspect-ratio: 1.1547 / 1;
  overflow: hidden;
  display: block;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: #171612;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  transform-origin: center;
  filter: drop-shadow(0 7px 10px rgb(18 15 8 / 14%));
  transition: filter 280ms ease;
}

.industry-hive__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  filter: saturate(0.82) contrast(1.04);
  transition:
    transform 540ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 280ms ease;
}

.industry-hive__cell--beratung img {
  object-position: center 14%;
}

.industry-hive__cell--large {
  grid-column: span 2;
  grid-row: span 2;
  align-self: start;
  z-index: 2;
  width: 100%;
  aspect-ratio: 1.1547 / 1;
  color: #fff;
  text-decoration: none;
  filter: drop-shadow(0 14px 22px rgb(18 15 8 / 24%));
  transition: filter 280ms ease;
}

.industry-hive__cell--large::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(0 0 0 / 2%) 24%, rgb(0 0 0 / 78%) 100%),
    linear-gradient(90deg, rgb(0 0 0 / 19%), transparent 65%);
  pointer-events: none;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .industry-hive__cell:hover {
    z-index: 4;
    filter: drop-shadow(0 14px 20px rgb(18 15 8 / 26%));
  }

  .industry-hive__cell--large:hover {
    filter: drop-shadow(0 19px 27px rgb(18 15 8 / 30%));
  }

  .industry-hive__cell:hover img {
    filter: saturate(0.98) contrast(1.05);
    transform: scale(1.045);
  }
}

.industry-hive__cell:focus-visible {
  z-index: 5;
  outline: 2px solid transparent;
  outline-offset: 3px;
  filter: drop-shadow(0 0 3px #e4bd63) drop-shadow(0 12px 18px rgb(18 15 8 / 22%));
}

.industry-hive__copy {
  position: absolute;
  z-index: 2;
  right: 18%;
  bottom: 20%;
  left: 18%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}

.industry-hive__copy strong {
  min-width: 0;
  font-size: clamp(15px, 1.62vw, 26px);
  font-weight: 630;
  letter-spacing: -0.035em;
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.industry-hive__copy b {
  color: var(--gold-bright);
  font-size: clamp(14px, 1.25vw, 20px);
  font-weight: 620;
}

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

  .services-home .service-card,
  .services-home .service-card--wide,
  .services-home .service-card--reverse {
    min-height: 330px;
    grid-template-columns: minmax(230px, 38%) minmax(0, 1fr);
    grid-template-rows: 1fr;
  }

  .services-home .service-card--reverse {
    grid-template-columns: minmax(0, 1fr) minmax(230px, 38%);
  }
}

@media (max-width: 1040px) {
  .industry-hive__copy {
    justify-content: center;
    text-align: center;
  }

  .industry-hive__copy strong {
    font-size: 15px;
  }

  .industry-hive__copy b {
    display: none;
  }
}

@media (max-width: 700px) {
  .services-home .service-card,
  .services-home .service-card--wide,
  .services-home .service-card--reverse {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 180px auto;
  }

  .services-home .service-card__media,
  .services-home .service-card--reverse .service-card__media {
    grid-column: 1;
    grid-row: 1;
  }

  .services-home .service-card__copy,
  .services-home .service-card--reverse .service-card__copy {
    grid-column: 1;
    grid-row: 2;
  }

  .services-home .service-card__copy {
    padding: 22px;
  }

  .industry-home__footer {
    margin-top: 32px;
  }
}

@media (max-width: 560px) {
  .industry-hive {
    gap: 5px;
  }

  .industry-hive__copy {
    right: 13%;
    bottom: 16%;
    left: 13%;
  }

  .industry-hive__copy strong {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .services-home {
    padding-block: 64px;
  }

  .services-home .section-heading {
    margin-bottom: 30px;
  }

  .services-home .service-card,
  .services-home .service-card--wide,
  .services-home .service-card--reverse {
    grid-template-rows: 165px auto;
  }

  .services-home .service-card__copy {
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .industry-hive__cell,
  .industry-hive__cell img {
    transition: none;
  }

  .industry-hive__cell:is(:hover, :focus-visible) img {
    transform: none;
  }
}

@media (forced-colors: active) {
  .industry-hive__cell:focus-visible {
    outline-color: Highlight;
    filter: none;
  }
}

/* Kompakte, eindeutige Startseite: Pakete gehören zur Leistungsübersicht. */
.home-page .hero__headline .hero__lead strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: 1.08em;
  font-weight: 680;
}

.service-package-links {
  margin-top: clamp(34px, 4vw, 52px);
  display: grid;
  grid-template-columns: minmax(210px, 1.25fr) repeat(4, minmax(145px, 1fr));
  overflow: hidden;
  border: 1px solid rgb(18 17 14 / 12%);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 0%, rgb(211 168 75 / 18%), transparent 42%),
    #f6f3ec;
  box-shadow: 0 20px 50px rgb(37 30 15 / 8%);
}

.service-package-links__intro,
.service-package-links > a {
  min-height: 116px;
  padding: 22px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.service-package-links__intro {
  background: #171612;
  color: #fff;
}

.service-package-links__intro span,
.service-package-links > a span {
  color: #8b6a27;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.service-package-links__intro span {
  color: var(--gold-bright);
}

.service-package-links__intro strong {
  margin-top: 8px;
  font-size: clamp(19px, 1.45vw, 24px);
  line-height: 1.08;
}

.service-package-links > a {
  position: relative;
  border-left: 1px solid rgb(18 17 14 / 10%);
  color: #171612;
  text-decoration: none;
  transition: background-color 220ms ease, color 220ms ease;
}

.service-package-links > a::after {
  content: "↗";
  position: absolute;
  top: 18px;
  right: 18px;
  color: #a57b26;
  transition: transform 220ms ease;
}

.service-package-links > a strong {
  margin-top: 10px;
  font-size: clamp(17px, 1.15vw, 20px);
  line-height: 1.2;
}

.service-package-links > a:is(:hover, :focus-visible) {
  background: #fff;
  color: #000;
}

.service-package-links > a:is(:hover, :focus-visible)::after {
  transform: translate(3px, -3px);
}

.packages-integrated-intro {
  scroll-margin-top: 142px;
  padding-block: clamp(70px, 7vw, 102px) clamp(30px, 3.5vw, 48px);
  background:
    radial-gradient(circle at 12% 15%, rgb(205 158 58 / 14%), transparent 30%),
    linear-gradient(180deg, #faf8f3 0%, #fff 100%);
}

.packages-integrated-intro .section-heading {
  margin-bottom: 0;
}

.packages-integrated-intro + .anchor-nav--packages {
  border-top: 1px solid rgb(18 17 14 / 8%);
}

.about-agency {
  --about-paper: #f4f1ea;
  position: relative;
  isolation: isolate;
  min-height: clamp(700px, 82svh, 880px);
  padding-block: clamp(56px, 6vw, 88px);
  overflow: hidden;
  display: grid;
  align-items: center;
  background: var(--about-paper);
}

.about-agency__grid {
  position: relative;
  z-index: 1;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}

.about-agency__visual {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.about-agency__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 24%, rgb(244 241 234 / 38%) 35%, rgb(244 241 234 / 94%) 46%, var(--about-paper) 57%);
}

.about-agency__visual img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  margin-left: 0;
  /* Preserve the portrait and scene instead of cropping a tall photo to landscape. */
  -webkit-mask-image: linear-gradient(90deg, #000 64%, rgb(0 0 0 / 88%) 77%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 64%, rgb(0 0 0 / 88%) 77%, transparent 100%);
}

.about-agency__copy {
  min-width: 0;
  grid-column: 2;
}

.about-agency__copy h2 {
  max-width: 760px;
  margin-top: 18px;
  font-size: clamp(39px, 4.7vw, 72px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.about-agency__copy > p:not(.section-index) {
  max-width: 700px;
  margin-top: 24px;
  color: #5e594f;
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.65;
}

.about-agency__facts {
  margin: 30px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-block: 1px solid rgb(18 17 14 / 13%);
}

.about-agency__facts > div {
  padding: 22px 20px 22px 0;
}

.about-agency__facts > div + div {
  padding-left: 20px;
  border-left: 1px solid rgb(18 17 14 / 13%);
}

.about-agency__facts strong,
.about-agency__facts span {
  display: block;
}

.about-agency__facts strong {
  font-size: 15px;
  line-height: 1.25;
}

.about-agency__facts span {
  margin-top: 8px;
  color: #706a60;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 1080px) {
  .service-package-links {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-package-links__intro {
    grid-column: 1 / -1;
    min-height: 100px;
  }

  .service-package-links > a:nth-of-type(odd) {
    border-left: 0;
  }

  .about-agency__grid {
    grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr);
    gap: 28px;
  }

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

  .about-agency__facts > div,
  .about-agency__facts > div + div {
    padding: 16px 0;
    border-left: 0;
  }

  .about-agency__facts > div + div {
    border-top: 1px solid rgb(18 17 14 / 10%);
  }
}

@media (max-width: 760px) {
  .about-agency {
    --about-photo-height: clamp(430px, 132vw, 620px);
    min-height: 0;
    padding-top: calc(var(--about-photo-height) - 38px);
    padding-bottom: 48px;
  }

  .about-agency__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .about-agency__copy {
    grid-column: 1;
  }

  .about-agency__visual {
    bottom: auto;
    height: var(--about-photo-height);
  }

  .about-agency__visual::after {
    background: linear-gradient(180deg, transparent 60%, rgb(244 241 234 / 60%) 82%, var(--about-paper) 100%);
  }

  .about-agency__visual img {
    max-width: 100%;
    margin-left: 0;
    object-fit: contain;
    object-position: left bottom;
  }

  .about-agency__copy h2 {
    font-size: clamp(36px, 11vw, 54px);
  }
}

@media (max-width: 560px) {
  .service-package-links {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  .service-package-links__intro {
    grid-column: auto;
  }

  .service-package-links > a,
  .service-package-links > a:nth-of-type(odd) {
    min-height: 92px;
    padding: 18px 20px;
    border-top: 1px solid rgb(18 17 14 / 10%);
    border-left: 0;
  }

}

/* Short landscape screens: keep the headline, controls and project cards separate. */
@media (max-height: 560px) {
  .home-page .hero__headline {
    top: clamp(72px, 14vh, 92px);
  }

  .home-page .hero__headline h1 {
    font-size: clamp(36px, 8.5vh, 52px);
    line-height: 0.96;
  }

  .home-page .hero__headline .hero__actions,
  .hero-projects__controls {
    display: none;
  }

  .hero-project-card__copy > span {
    display: none;
  }
}

@media (max-width: 720px) {
  .subpage-hero--services .subpage-hero__copy h1 {
    font-size: clamp(45px, 12vw, 58px);
  }
}

/* Image-led package presentation and family comparisons */
.package-family {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(68px, 7.5vw, 108px);
}

.package-family::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}

.package-family > .section-shell {
  position: relative;
}

#web {
  background:
    radial-gradient(circle at 88% 12%, rgb(189 143 55 / 22%), transparent 27%),
    radial-gradient(circle at 8% 88%, rgb(17 17 17 / 7%), transparent 31%),
    linear-gradient(135deg, #eee7da 0%, #faf7f0 52%, #e9dfcb 100%);
}

#web::before {
  background:
    repeating-linear-gradient(135deg, transparent 0 38px, rgb(91 66 23 / 7%) 38px 39px),
    radial-gradient(circle, rgb(17 17 17 / 8%) 1px, transparent 1.2px);
  background-size: auto, 28px 28px;
  -webkit-mask-image: linear-gradient(110deg, transparent 2%, #000 30% 78%, transparent 98%);
  mask-image: linear-gradient(110deg, transparent 2%, #000 30% 78%, transparent 98%);
}

#care {
  background: #edf1eb;
}

#care::before {
  background:
    radial-gradient(circle at 12% 16%, rgb(76 111 91 / 18%), transparent 24%),
    repeating-linear-gradient(135deg, transparent 0 30px, rgb(76 111 91 / 5%) 30px 31px);
}

#starter {
  background: #fffaf1;
}

#starter::before {
  background:
    radial-gradient(circle at 85% 18%, rgb(189 143 55 / 17%), transparent 27%),
    radial-gradient(circle at 14% 82%, rgb(192 110 76 / 10%), transparent 24%),
    radial-gradient(circle, rgb(189 143 55 / 9%) 1px, transparent 1px);
  background-size: auto, auto, 30px 30px;
}

#app::before {
  background:
    radial-gradient(circle at 82% 17%, rgb(226 184 98 / 18%), transparent 25%),
    radial-gradient(circle at 12% 80%, rgb(62 107 117 / 20%), transparent 30%),
    repeating-linear-gradient(135deg, transparent 0 34px, rgb(255 255 255 / 3%) 34px 35px);
}

.package-family .package-family__head {
  margin-bottom: clamp(30px, 4vw, 48px);
}

.package-family .plan-grid {
  align-items: stretch;
}

.package-family .plan-card {
  --plan-pad: clamp(24px, 2vw, 30px);
  min-height: 0;
  padding: 0 var(--plan-pad) var(--plan-pad);
  overflow: hidden;
  border-color: #ded8cd;
  background:
    radial-gradient(circle at 100% 100%, rgb(189 143 55 / 7%), transparent 34%),
    #fff;
  box-shadow: 0 18px 50px rgb(26 22 16 / 7%);
  transition:
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 220ms ease,
    box-shadow 320ms ease;
}

.package-family .plan-card__head {
  min-height: 0;
  padding: 0;
}

.package-family .plan-card__head > .plan-card__thumb {
  position: relative;
  top: auto;
  right: auto;
  width: calc(100% + (var(--plan-pad) * 2));
  height: clamp(148px, 11vw, 166px);
  margin: 0 calc(var(--plan-pad) * -1) 23px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.package-family .plan-card__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgb(0 0 0 / 25%), transparent 44%),
    radial-gradient(circle at 85% 15%, rgb(225 181 91 / 22%), transparent 32%);
  pointer-events: none;
}

.package-family .plan-card__thumb img {
  filter: saturate(0.78) contrast(1.04);
  transition:
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 320ms ease;
}

#care .plan-card:first-child .plan-card__thumb img,
#care .plan-card:nth-child(2) .plan-card__thumb img {
  object-position: 50% 48%;
}

#starter .plan-card:nth-child(3) .plan-card__thumb img {
  object-position: 50% 35%;
}

.package-family .plan-card__badge {
  z-index: 3;
  top: 14px;
  right: 14px;
  padding: 8px 11px;
  box-shadow: 0 8px 22px rgb(0 0 0 / 18%);
}

.package-family .plan-card__head > span:not(.plan-card__thumb) {
  margin-top: 10px;
}

.package-family .plan-card__head > strong {
  margin-top: 8px;
  font-size: clamp(30px, 2.4vw, 35px);
}

.package-family .plan-card__setup {
  margin-top: 8px;
  display: block;
  color: #625c52;
  font-size: 12px;
  font-weight: 680;
  line-height: 1.35;
}

.package-family .plan-card > p {
  min-height: 66px;
  margin-top: 19px;
  line-height: 1.5;
}

.package-family .plan-card > ul {
  margin-top: 18px;
  padding-block: 18px;
  gap: 8px;
}

.package-family .plan-card details {
  margin: 12px 0;
}

.package-family .plan-card--featured {
  border-color: var(--gold);
  box-shadow: 0 24px 68px rgb(90 63 13 / 16%);
}

.package-family .plan-card.is-selected {
  border-color: var(--gold);
  box-shadow:
    0 0 0 3px rgb(189 143 55 / 15%),
    0 28px 74px rgb(92 65 18 / 18%);
}

#web .plan-card:not(.plan-card--featured) {
  border-color: rgb(117 85 29 / 26%);
  background: linear-gradient(180deg, #fff 0%, #faf6ed 100%);
  box-shadow: 0 22px 58px rgb(62 44 14 / 12%);
}

#web .plan-card::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #090909, var(--gold), var(--gold-bright));
  pointer-events: none;
}

#web .plan-card--featured {
  border-color: var(--gold);
  background:
    radial-gradient(circle at 100% 100%, rgb(215 182 103 / 16%), transparent 38%),
    #111;
  color: #fff;
  box-shadow: 0 28px 74px rgb(36 25 7 / 24%);
}

#web .plan-card--featured .plan-card__head > p {
  color: var(--gold-bright);
}

#web .plan-card--featured .plan-card__head > span:not(.plan-card__thumb),
#web .plan-card--featured > p,
#web .plan-card--featured details {
  color: rgb(255 255 255 / 66%);
}

#web .plan-card--featured > ul {
  border-color: rgb(255 255 255 / 14%);
  color: rgb(255 255 255 / 72%);
}

#web .plan-card--featured summary,
#web .plan-card--featured .plan-card__details {
  color: #fff;
}

#web .plan-card--featured .plan-card__details span {
  color: var(--gold-bright);
}

#web .plan-card--featured .plan-card__badge {
  background: var(--gold-bright);
  color: #111;
}

.package-family--dark .plan-card {
  border-color: rgb(255 255 255 / 14%);
  background:
    radial-gradient(circle at 100% 100%, rgb(213 170 86 / 12%), transparent 36%),
    #151513;
  box-shadow: 0 22px 62px rgb(0 0 0 / 30%);
}

.package-family--dark .plan-card--featured {
  border-color: var(--gold);
}

.package-family--compact .plan-card {
  --plan-pad: 26px;
  min-height: 0;
  padding: 0 var(--plan-pad) var(--plan-pad);
}

.package-family--compact .plan-card__head > .plan-card__thumb {
  height: clamp(132px, 9.5vw, 145px);
  margin-bottom: 20px;
}

.package-family--compact .plan-card > p {
  min-height: 42px;
}

.plan-card__details {
  margin-top: auto;
  padding-top: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: color 180ms ease;
}

.package-family--dark .plan-card__details {
  color: #fff;
}

.plan-card__details span {
  color: var(--gold-text);
}

.package-family .plan-card > .button {
  margin-top: 13px;
}

.package-family .family-note {
  margin-top: 18px;
}

.package-guide--comparison {
  padding-block: clamp(76px, 8vw, 112px);
  background:
    radial-gradient(circle at 88% 14%, rgb(189 143 55 / 12%), transparent 25%),
    linear-gradient(145deg, #faf8f3, #f0ece4);
}

.local-listing-comparison {
  margin-top: clamp(58px, 7vw, 96px);
}

.package-guide--comparison .package-comparison {
  margin-top: 0;
}

.package-guide--finder {
  background:
    radial-gradient(circle at 88% 10%, rgb(213 170 86 / 22%), transparent 26%),
    radial-gradient(circle at 8% 88%, rgb(74 107 101 / 20%), transparent 28%),
    #0a0a09;
  color: #fff;
}

.package-guide--finder .section-heading h2 {
  color: #fff;
}

.package-guide--finder .section-heading > p {
  color: rgb(255 255 255 / 62%);
}

.package-guide--finder .package-finder {
  border-color: rgb(255 255 255 / 12%);
  box-shadow: 0 30px 80px rgb(0 0 0 / 34%);
}

.family-comparison {
  scroll-margin-top: 135px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(74px, 8vw, 112px) 24px;
  background: #f8f5ef;
}

.family-comparison::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 88% 16%, rgb(189 143 55 / 16%), transparent 27%),
    radial-gradient(circle, rgb(189 143 55 / 9%) 1.1px, transparent 1.1px);
  background-size: auto, 28px 28px;
  -webkit-mask-image: linear-gradient(120deg, transparent 4%, #000 54%, transparent 96%);
  mask-image: linear-gradient(120deg, transparent 4%, #000 54%, transparent 96%);
}

.family-comparison--care {
  background: #edf1eb;
}

.family-comparison--care::before {
  background:
    radial-gradient(circle at 10% 15%, rgb(71 111 88 / 18%), transparent 26%),
    repeating-linear-gradient(135deg, transparent 0 31px, rgb(71 111 88 / 5%) 31px 32px);
  -webkit-mask-image: none;
  mask-image: none;
}

.family-comparison--app-care {
  background:
    radial-gradient(circle at 12% 16%, rgb(189 143 55 / 16%), transparent 26%),
    radial-gradient(circle at 88% 82%, rgb(72 105 98 / 18%), transparent 30%),
    #eef3f1;
}

.family-comparison--app-care::before {
  background: repeating-linear-gradient(135deg, transparent 0 32px, rgb(72 105 98 / 5%) 32px 33px);
  -webkit-mask-image: none;
  mask-image: none;
}

.family-comparison--starter {
  background: #fff8ec;
}

.family-comparison--app {
  background:
    radial-gradient(circle at 86% 15%, rgb(213 170 86 / 17%), transparent 26%),
    radial-gradient(circle at 9% 86%, rgb(57 103 113 / 17%), transparent 30%),
    #0b0b0a;
  color: #fff;
}

.family-comparison--app::before {
  background: repeating-linear-gradient(135deg, transparent 0 34px, rgb(255 255 255 / 3%) 34px 35px);
  -webkit-mask-image: none;
  mask-image: none;
}

.family-comparison--app .section-heading h2 {
  color: #fff;
}

.family-comparison--app .section-heading > p {
  color: rgb(255 255 255 / 60%);
}

.family-comparison__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
}

.family-plan {
  scroll-margin-top: 145px;
  position: relative;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #ded8cd;
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  box-shadow: 0 18px 48px rgb(25 21 15 / 7%);
  transition:
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 220ms ease,
    box-shadow 320ms ease;
}

.family-plan figure {
  height: clamp(150px, 12vw, 178px);
  margin: 0;
  overflow: hidden;
  background: #d8d3c8;
}

.family-plan figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(0.8) contrast(1.04);
  transition:
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 320ms ease;
}

.family-comparison--care .family-plan:first-child figure img,
.family-comparison--care .family-plan:nth-child(2) figure img,
.family-comparison--starter .family-plan:nth-child(3) figure img {
  object-position: 50% 42%;
}

.family-plan__selected {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  padding: 8px 11px;
  display: none;
  border-radius: 999px;
  background: var(--gold-pale);
  color: var(--ink);
  box-shadow: 0 8px 22px rgb(0 0 0 / 18%);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.family-plan.is-selected {
  border-color: var(--gold);
  box-shadow:
    0 0 0 3px rgb(189 143 55 / 15%),
    0 28px 74px rgb(92 65 18 / 18%);
}

.family-plan.is-selected .family-plan__selected {
  display: block;
}

.family-plan--recommended {
  border-color: rgb(189 143 55 / 58%);
}

.family-comparison.has-selection .family-plan--recommended:not(.is-selected) {
  border-color: #ded8cd;
}

.family-plan__body {
  min-height: 0;
  padding: clamp(23px, 2.4vw, 30px);
  display: flex;
  flex: 1;
  flex-direction: column;
}

.family-plan__eyebrow {
  margin: 0 0 10px;
  color: var(--gold-text);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.family-plan__title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.family-plan__title h3,
.family-plan__title strong {
  margin: 0;
}

.family-plan__title h3 {
  font-size: clamp(23px, 2vw, 29px);
  font-weight: 620;
  letter-spacing: -0.04em;
}

.family-plan__title strong {
  color: var(--gold-text);
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
}

.family-plan__title strong small {
  font-size: 9px;
}

.family-plan__body > p:not(.family-plan__eyebrow) {
  margin: 17px 0 0;
  color: #666057;
  font-size: 13px;
  line-height: 1.55;
}

.family-plan__body ul {
  margin: 18px 0 0;
  padding: 17px 0;
  display: grid;
  gap: 8px;
  border-block: 1px solid #ebe5da;
  color: #575149;
  font-size: 12px;
  list-style: none;
}

.family-plan__body li::before {
  content: "✓";
  margin-right: 8px;
  color: var(--gold-text);
}

.family-plan__difference {
  min-height: 58px;
}

.family-plan__result {
  padding: 11px 13px;
  border-left: 2px solid var(--gold);
  border-radius: 0 9px 9px 0;
  background: rgb(189 143 55 / 8%);
}

.family-plan__body .button {
  width: 100%;
  margin-top: auto;
}

.family-comparison--app .family-plan {
  border-color: rgb(255 255 255 / 14%);
  background:
    radial-gradient(circle at 100% 100%, rgb(213 170 86 / 12%), transparent 35%),
    #151513;
  color: #fff;
  box-shadow: 0 22px 60px rgb(0 0 0 / 28%);
}

.family-comparison--app .family-plan.is-selected,
.family-comparison--app .family-plan--recommended {
  border-color: var(--gold);
}

.family-comparison--app.has-selection .family-plan--recommended:not(.is-selected) {
  border-color: rgb(255 255 255 / 14%);
}

.family-comparison--app .family-plan__title h3 {
  color: #fff;
}

.family-comparison--app .family-plan__body > p:not(.family-plan__eyebrow),
.family-comparison--app .family-plan__body ul {
  color: rgb(255 255 255 / 62%);
}

.family-comparison--app .family-plan__body ul {
  border-color: rgb(255 255 255 / 12%);
}

.family-comparison--app .family-plan__result {
  background: rgb(213 170 86 / 10%);
}

.family-comparison__full-link {
  width: fit-content;
  margin: 30px auto 0;
  display: flex;
}

.family-comparison--app .family-comparison__full-link {
  color: #fff;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .package-family .plan-card:hover,
  .family-plan:hover {
    transform: translateY(-3px);
    border-color: rgb(189 143 55 / 68%);
    box-shadow: 0 28px 74px rgb(52 39 16 / 14%);
  }

  .package-family .plan-card:hover .plan-card__thumb img,
  .family-plan:hover figure img {
    filter: saturate(1) contrast(1.04);
    transform: scale(1.035);
  }

  .plan-card__details:hover {
    color: var(--gold-text);
  }
}

.package-family .plan-card:focus-within,
.family-plan:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgb(189 143 55 / 16%);
}

@media (min-width: 681px) and (max-width: 920px) {
  .plan-grid,
  .family-comparison__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .package-family .plan-card__head > .plan-card__thumb {
    height: 148px;
  }
}

@media (max-width: 680px) {
  .package-family,
  .family-comparison,
  .package-guide--comparison,
  .package-guide--finder {
    padding-inline: 18px;
  }

  .package-family .package-family__head {
    margin-bottom: 28px;
  }

  .plan-grid,
  .family-comparison__grid {
    grid-template-columns: 1fr;
  }

  .package-family .plan-card {
    --plan-pad: 24px;
  }

  .package-family .plan-card__head > .plan-card__thumb,
  .package-family--compact .plan-card__head > .plan-card__thumb {
    height: 138px;
  }

  .package-family .plan-card__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    margin: 0;
  }

  .package-family .plan-card > p,
  .family-plan__difference {
    min-height: 0;
  }

  .family-plan figure {
    height: 150px;
  }

  .family-plan.is-selected {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .package-family .plan-card,
  .package-family .plan-card__thumb img,
  .family-plan,
  .family-plan figure img {
    transition: none;
  }
}

/* Contact hub */
.contact-hero--hub {
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 7.5vw, 112px);
  background:
    radial-gradient(circle at 78% 18%, rgb(215 182 103 / 18%), transparent 24%),
    linear-gradient(135deg, #080808 0%, #111 58%, #090909 100%);
}

.contact-hero--hub::before {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgb(255 255 255 / 12%) 0.75px, transparent 0.75px);
  background-size: 18px 18px;
  opacity: 0.16;
  content: "";
  pointer-events: none;
}

.contact-hero--hub .contact-hero__grid {
  position: relative;
  grid-template-columns: minmax(0, 0.94fr) minmax(420px, 1.06fr);
  gap: clamp(46px, 7vw, 104px);
}

.contact-hero--hub h1 {
  max-width: 760px;
  font-size: clamp(48px, 5.6vw, 84px);
}

.contact-hero__actions {
  margin-top: 34px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-hero__outline {
  border-color: rgb(255 255 255 / 28%);
  background: transparent;
  color: #fff;
}

.contact-hero__outline:hover {
  border-color: var(--gold-bright);
  color: var(--gold-bright);
}

.contact-hero__facts {
  margin: 34px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  list-style: none;
}

.contact-hero__facts li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgb(255 255 255 / 68%);
  font-size: 12px;
  font-weight: 650;
}

.contact-hero__facts span {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(215 182 103 / 44%);
  border-radius: 50%;
  color: var(--gold-bright);
  font-size: 9px;
}

.contact-hero--hub .contact-hero__visual {
  position: relative;
  height: clamp(470px, 44vw, 610px);
  border-color: rgb(215 182 103 / 31%);
  background: #181818;
  box-shadow: 0 34px 90px rgb(0 0 0 / 35%);
}

.contact-hero--hub .contact-hero__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgb(0 0 0 / 66%) 100%);
  content: "";
  pointer-events: none;
}

.contact-hero--hub .contact-hero__visual img {
  object-position: 54% center;
  filter: saturate(0.8) contrast(1.03);
}

.contact-hero__note {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 24px;
  left: 24px;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 4px 18px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 16px;
  background: rgb(11 11 11 / 70%);
  backdrop-filter: blur(16px);
}

.contact-hero__note span {
  grid-column: 1 / -1;
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contact-hero__note strong {
  color: #fff;
  font-size: 17px;
  font-weight: 620;
}

.contact-hero__note small {
  color: rgb(255 255 255 / 62%);
  font-size: 12px;
}

.contact-paths {
  padding: clamp(88px, 9vw, 132px) 24px;
  background:
    linear-gradient(135deg, transparent 0 65%, rgb(189 143 55 / 7%) 65% 100%),
    var(--paper-warm);
}

.contact-path-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
}

.contact-path-card {
  position: relative;
  min-height: 286px;
  grid-column: span 3;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 20px;
  background: #111;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 34px rgb(17 17 17 / 10%);
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms ease, border-color 280ms ease;
}

.contact-path-card--large {
  min-height: 378px;
  grid-column: span 6;
}

.contact-path-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.74) brightness(0.82);
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1), filter 320ms ease;
}

.contact-path-card:nth-child(2) > img {
  object-position: center 62%;
}

.contact-path-card:nth-child(6) > img {
  object-position: center 44%;
}

.contact-path-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 10%) 8%, rgb(0 0 0 / 20%) 45%, rgb(0 0 0 / 88%) 100%);
}

.contact-path-card__number {
  position: absolute;
  z-index: 1;
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 50%;
  background: rgb(8 8 8 / 42%);
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  backdrop-filter: blur(9px);
}

.contact-path-card__copy {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 22px;
  left: 24px;
  display: grid;
  gap: 7px;
}

.contact-path-card__copy small {
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-path-card__copy strong {
  max-width: 420px;
  font-size: clamp(21px, 2vw, 30px);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.contact-path-card:not(.contact-path-card--large) .contact-path-card__copy strong {
  font-size: clamp(20px, 1.6vw, 25px);
}

.contact-path-card__copy b {
  margin-top: 7px;
  color: rgb(255 255 255 / 66%);
  font-size: 10px;
  font-weight: 650;
}

.contact-path-card:focus-visible {
  outline: 3px solid var(--gold-bright);
  outline-offset: 4px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .contact-path-card:hover {
    z-index: 1;
    border-color: rgb(215 182 103 / 52%);
    box-shadow: 0 26px 54px rgb(17 17 17 / 18%);
    transform: translateY(-6px);
  }

  .contact-path-card:hover > img {
    filter: saturate(0.9) brightness(0.88);
    transform: scale(1.045);
  }
}

.contact-overview {
  padding: clamp(88px, 10vw, 144px) 24px;
  background: #fff;
  scroll-margin-top: 86px;
}

.contact-overview__grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.86fr) minmax(0, 1.14fr);
  align-items: stretch;
  gap: clamp(48px, 8vw, 112px);
}

.contact-overview__visual {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border-radius: 24px;
  background: #111;
}

.contact-overview__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgb(0 0 0 / 78%) 100%);
  content: "";
}

.contact-overview__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78);
}

.contact-overview__visual > div {
  position: absolute;
  z-index: 1;
  right: 30px;
  bottom: 30px;
  left: 30px;
  display: grid;
  gap: 8px;
  color: #fff;
}

.contact-overview__visual span {
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.contact-overview__visual strong {
  font-size: clamp(31px, 3.4vw, 48px);
  font-weight: 560;
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.contact-overview__content {
  align-self: center;
}

.contact-overview__content > p:not(.section-index) {
  max-width: 660px;
  margin: 26px 0 0;
  color: #635e56;
  font-size: 16px;
  line-height: 1.7;
}

.contact-channel-grid {
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.contact-channel-grid > * {
  min-height: 148px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border: 1px solid #dfd9cd;
  border-radius: 16px;
  background: var(--paper-warm);
  color: var(--ink);
  text-decoration: none;
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}

.contact-channel-grid small {
  color: var(--gold-text);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-channel-grid strong {
  margin: 16px 0 8px;
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 650;
}

.contact-channel-grid span {
  margin-top: auto;
  color: #706a61;
  font-size: 11px;
  line-height: 1.45;
}

.contact-channel-grid a:hover {
  border-color: var(--gold);
  background: var(--gold-pale);
  transform: translateY(-2px);
}

.contact-overview__steps {
  margin-top: 32px;
  border-top: 1px solid var(--line);
}

.contact-overview__steps > div {
  padding: 16px 0;
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: start;
  border-bottom: 1px solid var(--line);
}

.contact-overview__steps span {
  padding-top: 3px;
  color: var(--gold-text);
  font-size: 9px;
  font-weight: 800;
}

.contact-overview__steps p {
  margin: 0;
  color: #777168;
  font-size: 12px;
  line-height: 1.55;
}

.contact-overview__steps strong {
  margin-bottom: 3px;
  display: block;
  color: var(--ink);
  font-size: 13px;
}

.contact-main--message {
  scroll-margin-top: 86px;
  background:
    radial-gradient(circle at 14% 14%, rgb(189 143 55 / 11%), transparent 24%),
    var(--paper-warm);
}

.contact-form--compact {
  max-width: 840px;
}

.contact-planner {
  position: relative;
  padding: clamp(90px, 10vw, 146px) 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 14%, rgb(215 182 103 / 16%), transparent 25%),
    #0a0a0a;
  color: #fff;
  scroll-margin-top: 86px;
}

.contact-planner::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, #000, transparent 74%);
  content: "";
  pointer-events: none;
}

.anchor-target {
  position: absolute;
  top: -86px;
}

.contact-planner > .section-shell {
  position: relative;
}

.contact-planner__heading {
  margin-bottom: clamp(38px, 6vw, 72px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.62fr);
  align-items: end;
  gap: 44px;
}

.contact-planner__heading h2 {
  max-width: 860px;
  color: #fff;
}

.contact-planner__promise {
  padding: 22px 24px;
  border: 1px solid rgb(215 182 103 / 28%);
  border-radius: 16px;
  background: rgb(255 255 255 / 5%);
}

.contact-planner__promise strong {
  color: var(--gold-bright);
  font-size: 12px;
  font-weight: 800;
}

.contact-planner__promise p {
  margin: 8px 0 0;
  color: rgb(255 255 255 / 62%);
  font-size: 11px;
  line-height: 1.55;
}

.planner-form {
  max-width: 1160px;
  margin-inline: auto;
  padding: clamp(26px, 4vw, 54px);
  color: var(--ink);
}

.planner-progress {
  position: relative;
  margin-bottom: 44px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.planner-progress::before {
  position: absolute;
  top: 16px;
  right: 11%;
  left: 11%;
  height: 1px;
  background: #ddd7cb;
  content: "";
}

.planner-progress > span {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 7px;
  color: #8a847b;
}

.planner-progress b {
  width: 33px;
  height: 33px;
  display: grid;
  place-items: center;
  border: 1px solid #d9d3c7;
  border-radius: 50%;
  background: #fff;
  font-size: 10px;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
}

.planner-progress small {
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planner-progress > span.is-active,
.planner-progress > span.is-complete {
  color: var(--gold-text);
}

.planner-progress > span.is-active b,
.planner-progress > span.is-complete b {
  border-color: var(--gold);
  background: var(--gold);
  color: #111;
}

.planner-step {
  min-width: 0;
  margin: 0;
  padding: 34px 0 0;
  border: 0;
  border-top: 1px solid #e5e0d7;
}

.planner-step + .planner-step {
  margin-top: 56px;
}

.planner-form.is-enhanced .planner-step {
  display: none;
}

.planner-form.is-enhanced .planner-step.is-active {
  display: block;
  animation: planner-step-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes planner-step-in {
  from { opacity: 0; transform: translateX(14px); }
  to { opacity: 1; transform: translateX(0); }
}

.planner-step legend {
  max-width: 840px;
  padding: 0;
  font-size: clamp(29px, 3.4vw, 44px);
  font-weight: 570;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.planner-step legend > span {
  margin-bottom: 10px;
  display: block;
  color: var(--gold-text);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.planner-step__lead {
  max-width: 680px;
  margin: 16px 0 30px;
  color: #716b63;
  font-size: 14px;
  line-height: 1.65;
}

.planner-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.planner-choice-grid label,
.planner-features label {
  position: relative;
  margin: 0;
}

.planner-choice-grid input,
.planner-features input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  opacity: 0;
  pointer-events: none;
}

.planner-choice-grid label > span {
  min-height: 150px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border: 1px solid #ded8cd;
  border-radius: 16px;
  background: var(--paper-warm);
  color: var(--ink);
  cursor: pointer;
  transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.planner-choice-grid b {
  font-size: 16px;
  font-weight: 650;
}

.planner-choice-grid small {
  margin-top: auto;
  padding-top: 18px;
  color: #716b62;
  font-size: 11px;
  line-height: 1.5;
}

.planner-choice-grid input:checked + span {
  border-color: var(--gold);
  background: var(--gold-pale);
  box-shadow: inset 0 0 0 1px var(--gold), 0 10px 22px rgb(189 143 55 / 12%);
  transform: translateY(-2px);
}

.planner-choice-grid input:focus-visible + span,
.planner-features input:focus-visible + span {
  outline: 3px solid rgb(189 143 55 / 28%);
  outline-offset: 3px;
}

.planner-info-card {
  min-height: 118px;
  padding: 18px 20px;
  align-self: end;
  border: 1px solid #e0d4bd;
  border-radius: 14px;
  background: var(--gold-pale);
}

.planner-info-card small {
  display: block;
  color: var(--gold-text);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.planner-info-card strong {
  margin-top: 7px;
  display: block;
  font-size: 13px;
}

.planner-info-card p {
  margin: 6px 0 0;
  color: #6f6554;
  font-size: 10px;
  line-height: 1.5;
}

.planner-features {
  margin-top: 28px;
}

.planner-features > p {
  margin: 0 0 13px;
  color: #4f4a43;
  font-size: 12px;
  font-weight: 700;
}

.planner-features > div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.planner-features label > span {
  padding: 11px 14px;
  display: block;
  border: 1px solid #ddd7cc;
  border-radius: 999px;
  background: #fff;
  color: #5d574f;
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.planner-features input:checked + span {
  border-color: var(--gold);
  background: var(--gold);
  color: #111;
}

.planner-actions {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.planner-actions--end {
  justify-content: flex-end;
}

.planner-form:not(.is-enhanced) [data-planner-next],
.planner-form:not(.is-enhanced) [data-planner-back] {
  display: none;
}

.planner-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.58fr);
  align-items: start;
  gap: 32px;
}

.planner-summary {
  padding: 26px;
  border: 1px solid #dfd5c3;
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 0%, rgb(189 143 55 / 20%), transparent 30%),
    var(--gold-pale);
}

.planner-summary > small {
  color: var(--gold-text);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.planner-summary h3 {
  margin: 12px 0 20px;
  font-size: 23px;
  font-weight: 620;
  letter-spacing: -0.035em;
}

.planner-summary dl {
  margin: 0;
}

.planner-summary dl > div {
  padding: 10px 0;
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 12px;
  border-top: 1px solid rgb(116 91 45 / 17%);
}

.planner-summary dt {
  color: #766c59;
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.planner-summary dd {
  margin: 0;
  font-size: 11px;
  font-weight: 650;
}

.planner-summary > p {
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgb(116 91 45 / 17%);
  color: #6d6251;
  font-size: 10px;
  line-height: 1.55;
}

.planner-actions .form-submit {
  margin-left: auto;
}

.contact-social {
  padding: clamp(88px, 10vw, 144px) 24px;
  background: #fff;
  scroll-margin-top: 86px;
}

.contact-social__grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(48px, 8vw, 110px);
}

.contact-social__visual {
  height: clamp(380px, 43vw, 590px);
  overflow: hidden;
  border-radius: 24px;
  background: #111;
}

.contact-social__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.02);
}

.contact-social__content > p:not(.section-index) {
  max-width: 650px;
  margin: 26px 0 0;
  color: #625d55;
  font-size: 16px;
  line-height: 1.7;
}

.social-platforms {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.social-platforms > span {
  min-height: 92px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #e0dbd0;
  border-radius: 14px;
  background: var(--paper-warm);
  font-size: 12px;
  font-weight: 700;
}

.social-platforms small {
  color: #8a847c;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-social__actions {
  margin-top: 28px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

/* Dedicated contact flows */
.contact-flow-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(62px, 7vw, 104px) 24px;
  background:
    radial-gradient(circle at 17% 22%, rgb(215 182 103 / 17%), transparent 28%),
    linear-gradient(138deg, #070707 0%, #121212 62%, #080808 100%);
  color: #fff;
}

.contact-flow-hero::before {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgb(255 255 255 / 13%) 0.75px, transparent 0.75px);
  background-size: 19px 19px;
  opacity: 0.13;
  content: "";
  pointer-events: none;
}

.contact-flow-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(430px, 1.08fr);
  align-items: center;
  gap: clamp(48px, 7vw, 104px);
}

.contact-flow-hero .seo-breadcrumb {
  margin-bottom: 30px;
  color: rgb(255 255 255 / 48%);
}

.contact-flow-hero .seo-breadcrumb a {
  color: var(--gold-bright);
}

.contact-flow-hero .seo-breadcrumb span {
  color: rgb(255 255 255 / 28%);
}

.contact-flow-hero .seo-breadcrumb strong {
  color: rgb(255 255 255 / 68%);
  font-weight: 700;
}

.contact-flow-hero__copy h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(48px, 5.5vw, 82px);
  font-weight: 590;
  letter-spacing: -0.062em;
  line-height: 0.96;
  text-wrap: balance;
}

.contact-flow-hero__copy > p:not(.section-index) {
  max-width: 680px;
  margin: 26px 0 0;
  color: rgb(255 255 255 / 68%);
  font-size: 16px;
  line-height: 1.7;
}

.contact-flow-hero__actions {
  margin-top: 32px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-flow-hero__facts {
  margin: 30px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  list-style: none;
}

.contact-flow-hero__facts li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgb(255 255 255 / 62%);
  font-size: 11px;
  font-weight: 650;
}

.contact-flow-hero__facts span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(215 182 103 / 46%);
  border-radius: 50%;
  color: var(--gold-bright);
  font-size: 8px;
  font-weight: 800;
}

.contact-flow-hero__visual {
  position: relative;
  height: clamp(430px, 41vw, 590px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgb(215 182 103 / 28%);
  border-radius: clamp(20px, 2.2vw, 32px);
  background: #171717;
  box-shadow: 0 34px 88px rgb(0 0 0 / 34%);
}

.contact-flow-hero__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 4%) 35%, rgb(0 0 0 / 78%) 100%);
  content: "";
  pointer-events: none;
}

.contact-flow-hero__visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.04);
}

.contact-flow-hero--planner .contact-flow-hero__visual img {
  object-position: center 58%;
}

.contact-flow-hero__visual figcaption {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 24px;
  left: 24px;
  padding: 20px 22px;
  display: grid;
  gap: 7px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 16px;
  background: rgb(8 8 8 / 70%);
  backdrop-filter: blur(15px);
}

.contact-flow-hero__visual figcaption small {
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.contact-flow-hero__visual figcaption strong {
  max-width: 460px;
  color: #fff;
  font-size: clamp(18px, 1.8vw, 25px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.contact-main--standalone .contact-main__intro {
  position: sticky;
  top: 112px;
}

.contact-flow-next {
  padding: clamp(82px, 9vw, 126px) 24px;
  background:
    radial-gradient(circle at 82% 18%, rgb(189 143 55 / 9%), transparent 25%),
    #fff;
}

.contact-flow-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.contact-flow-next__card {
  position: relative;
  min-height: 350px;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 20px;
  background: #111;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 42px rgb(17 17 17 / 11%);
  transition: border-color 260ms ease, box-shadow 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-flow-next__card::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 8%) 18%, rgb(0 0 0 / 86%) 100%);
  content: "";
}

.contact-flow-next__card > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(0.74) brightness(0.82);
  transition: filter 300ms ease, transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-flow-next__card > span {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 22px;
  left: 24px;
  display: grid;
  gap: 8px;
}

.contact-flow-next__card small {
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-flow-next__card strong {
  max-width: 360px;
  font-size: clamp(22px, 2.15vw, 31px);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.contact-flow-next__card b {
  margin-top: 6px;
  color: rgb(255 255 255 / 66%);
  font-size: 10px;
  font-weight: 650;
}

.contact-flow-next__card:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .contact-flow-next__card:hover {
    border-color: rgb(215 182 103 / 52%);
    box-shadow: 0 28px 58px rgb(17 17 17 / 18%);
    transform: translateY(-6px);
  }

  .contact-flow-next__card:hover > img {
    filter: saturate(0.9) brightness(0.88);
    transform: scale(1.045);
  }
}

@media (max-width: 1040px) {
  .contact-flow-hero__grid {
    grid-template-columns: minmax(0, 0.94fr) minmax(370px, 1.06fr);
    gap: 42px;
  }

  .contact-flow-next__card {
    min-height: 310px;
  }
}

@media (max-width: 860px) {
  .contact-flow-hero__grid {
    grid-template-columns: 1fr;
  }

  .contact-flow-hero__copy {
    max-width: 760px;
  }

  .contact-flow-hero__visual {
    width: 100%;
    height: min(66vw, 520px);
  }

  .contact-main--standalone .contact-main__intro {
    position: static;
  }

  .contact-flow-next__grid {
    grid-template-columns: 1fr 1fr;
  }

  .contact-flow-next__card:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .contact-flow-hero,
  .contact-flow-next {
    padding-inline: 18px;
  }

  .contact-flow-hero {
    padding-block: 52px 64px;
  }

  .contact-flow-hero__copy h1 {
    font-size: clamp(43px, 12vw, 59px);
  }

  .contact-flow-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-flow-hero__actions .button {
    width: 100%;
  }

  .contact-flow-hero__facts {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-flow-hero__visual {
    height: 82vw;
    min-height: 340px;
  }

  .contact-flow-hero__visual figcaption {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .contact-flow-next__grid {
    grid-template-columns: 1fr;
  }

  .contact-flow-next__card:first-child {
    grid-column: auto;
  }

  .contact-flow-next__card {
    min-height: 270px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-flow-next__card,
  .contact-flow-next__card > img {
    transition: none;
  }
}

@media (max-width: 1120px) {
  .contact-main--standalone .contact-main__intro {
    position: static;
  }

  .contact-hero--hub .contact-hero__grid,
  .contact-overview__grid,
  .contact-social__grid {
    grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.12fr);
    gap: 44px;
  }

  .contact-path-card {
    min-height: 280px;
    grid-column: span 6;
  }

  .contact-path-card--large {
    min-height: 340px;
  }

  .contact-overview__visual {
    min-height: 610px;
  }

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

@media (max-width: 920px) {
  .contact-hero--hub .contact-hero__grid,
  .contact-overview__grid,
  .contact-social__grid,
  .contact-planner__heading,
  .planner-final-grid {
    grid-template-columns: 1fr;
  }

  .contact-hero--hub .contact-hero__copy,
  .contact-overview__content,
  .contact-social__content {
    max-width: 760px;
  }

  .contact-hero--hub .contact-hero__visual {
    width: 100%;
    height: min(68vw, 560px);
  }

  .contact-overview__visual {
    min-height: min(74vw, 590px);
  }

  .contact-planner__heading {
    align-items: start;
  }

  .contact-planner__promise {
    max-width: 720px;
  }

  .planner-summary {
    order: -1;
  }
}

@media (max-width: 720px) {
  .contact-hero--hub,
  .contact-paths,
  .contact-overview,
  .contact-main--message,
  .contact-planner,
  .contact-social {
    padding-inline: 18px;
  }

  .contact-hero--hub h1 {
    font-size: clamp(42px, 12vw, 61px);
  }

  .contact-hero__actions .button {
    width: 100%;
  }

  .contact-hero__facts {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-hero--hub .contact-hero__visual {
    height: 78vw;
    min-height: 370px;
  }

  .contact-hero__note {
    right: 14px;
    bottom: 14px;
    left: 14px;
    grid-template-columns: 1fr;
  }

  .contact-path-grid {
    grid-template-columns: 1fr;
  }

  .contact-path-card,
  .contact-path-card--large {
    min-height: 242px;
    grid-column: auto;
  }

  .contact-path-card--large {
    min-height: 290px;
  }

  .contact-channel-grid,
  .planner-choice-grid,
  .social-platforms {
    grid-template-columns: 1fr;
  }

  .contact-channel-grid > * {
    min-height: 130px;
  }

  .contact-overview__visual,
  .contact-social__visual {
    min-height: 360px;
    height: 68vw;
  }

  .planner-form {
    padding: 20px;
  }

  .planner-progress {
    margin-bottom: 30px;
  }

  .planner-progress small {
    display: none;
  }

  .planner-choice-grid label > span {
    min-height: 126px;
  }

  .planner-actions,
  .planner-actions .form-submit {
    width: 100%;
    margin-left: 0;
    align-items: stretch;
    flex-direction: column;
  }

  .planner-actions .button,
  .planner-actions .form-submit,
  .planner-actions .form-submit .button {
    width: 100%;
  }

  .planner-actions .form-submit p {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .contact-hero__note strong {
    font-size: 14px;
  }

  .contact-path-card__copy {
    right: 20px;
    bottom: 19px;
    left: 20px;
  }

  .contact-overview__visual,
  .contact-social__visual {
    min-height: 330px;
  }

  .contact-overview__visual > div {
    right: 22px;
    bottom: 22px;
    left: 22px;
  }

  .planner-form {
    padding: 16px;
    border-radius: 16px;
  }

  .planner-step {
    padding-top: 26px;
  }

  .planner-summary {
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-path-card,
  .contact-path-card > img,
  .planner-form.is-enhanced .planner-step,
  .planner-choice-grid label > span {
    transition: none;
    animation: none;
  }
}

/* Pull-past-top contact drawer for primary content pages */
html.contact-pull-enabled,
html.contact-pull-enabled body {
  overscroll-behavior-y: none;
}

body.contact-pull-open {
  overflow: hidden;
}

.contact-pull {
  --contact-pull-offset: 0px;
  --contact-pull-progress: 0;
  position: fixed;
  z-index: 900;
  inset: 0;
  pointer-events: none;
}

.contact-pull__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(7 7 7 / 58%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 320ms ease, visibility 0s linear 320ms;
  backdrop-filter: blur(3px);
}

.contact-pull__panel {
  position: relative;
  width: 100%;
  max-height: min(82svh, 680px);
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 0 0 clamp(24px, 3vw, 46px) clamp(24px, 3vw, 46px);
  background:
    radial-gradient(circle at 83% 14%, rgb(215 182 103 / 26%), transparent 24%),
    linear-gradient(135deg, #fff 0 58%, #f5f0e5 100%);
  box-shadow: 0 32px 90px rgb(0 0 0 / 28%);
  color: var(--ink);
  transform: translate3d(0, calc(-100% + var(--contact-pull-offset)), 0);
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.contact-pull.is-pulling .contact-pull__panel {
  transition: none;
}

.contact-pull.is-open {
  pointer-events: auto;
}

.contact-pull.is-open .contact-pull__backdrop {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.contact-pull.is-open .contact-pull__panel {
  transform: translate3d(0, 0, 0);
}

.contact-pull.is-closing .contact-pull__panel {
  transform: translate3d(0, -102%, 0);
}

.contact-pull__inner {
  width: min(calc(100% - 40px), var(--content));
  margin-inline: auto;
  padding: max(24px, env(safe-area-inset-top)) 0 clamp(24px, 4vh, 42px);
}

.contact-pull__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 28px;
  margin-bottom: clamp(20px, 3vh, 30px);
}

.contact-pull__heading .eyebrow {
  margin: 0 0 8px;
  color: var(--gold-text);
}

.contact-pull__heading h2 {
  max-width: 830px;
  margin: 0;
  font-size: clamp(32px, 4vw, 58px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.contact-pull__heading h2:focus {
  outline: none;
}

.contact-pull__heading p:last-child {
  max-width: 720px;
  margin: 13px 0 0;
  color: var(--ink-soft);
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.55;
}

.contact-pull__close {
  position: relative;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border: 1px solid rgb(17 17 17 / 16%);
  border-radius: 50%;
  background: #111;
  color: #fff;
  cursor: pointer;
  transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.contact-pull__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}

.contact-pull__close span + span {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.contact-pull__close:hover,
.contact-pull__close:focus-visible {
  border-color: var(--gold);
  background: var(--gold-bright);
  color: #111;
  transform: rotate(4deg) scale(1.04);
}

.contact-pull__close:focus-visible,
.contact-pull__route:focus-visible,
.contact-pull__whatsapp:focus-visible {
  outline: 3px solid rgb(189 143 55 / 30%);
  outline-offset: 3px;
}

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

.contact-pull__route {
  min-width: 0;
  min-height: 92px;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  overflow: hidden;
  padding: 8px 18px 8px 8px;
  border: 1px solid rgb(17 17 17 / 11%);
  border-radius: 18px;
  background: rgb(255 255 255 / 80%);
  color: var(--ink);
  box-shadow: 0 10px 26px rgb(17 17 17 / 5%);
  transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease, background-color 240ms ease;
}

.contact-pull__route > img {
  width: 96px;
  height: 76px;
  display: block;
  border-radius: 12px;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.04);
  transition: filter 300ms ease, transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-pull__route > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.contact-pull__route small {
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.contact-pull__route strong {
  overflow-wrap: anywhere;
  font-size: clamp(15px, 1.3vw, 18px);
  letter-spacing: -0.025em;
}

.contact-pull__route > b {
  color: var(--gold-text);
  font-size: 17px;
  transition: transform 220ms ease;
}

.contact-pull__route:hover,
.contact-pull__route:focus-visible {
  border-color: rgb(189 143 55 / 48%);
  background: #fff;
  box-shadow: 0 17px 34px rgb(17 17 17 / 10%);
  transform: translateY(-3px);
}

.contact-pull__route:hover > img,
.contact-pull__route:focus-visible > img {
  filter: saturate(1) contrast(1.02);
  transform: scale(1.045);
}

.contact-pull__route:hover > b,
.contact-pull__route:focus-visible > b {
  transform: translate(2px, -2px);
}

.contact-pull__footer {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.contact-pull__whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 720;
  transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.contact-pull__whatsapp:hover,
.contact-pull__whatsapp:focus-visible {
  background: var(--gold-bright);
  color: #111;
  transform: translateY(-2px);
}

.contact-pull-cue {
  --contact-cue-progress: 0;
  position: fixed;
  z-index: 920;
  top: max(12px, env(safe-area-inset-top));
  left: 50%;
  width: min(250px, calc(100vw - 36px));
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 7px 10px;
  padding: 10px 14px 9px;
  border: 1px solid rgb(215 182 103 / 35%);
  border-radius: 999px;
  background: rgb(10 10 10 / 88%);
  color: #fff;
  box-shadow: 0 12px 34px rgb(0 0 0 / 22%);
  font-size: 11px;
  font-weight: 690;
  letter-spacing: 0.02em;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -150%) scale(0.96);
  transition: opacity 220ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
  backdrop-filter: blur(14px);
}

.contact-pull-cue.is-visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.contact-pull-cue__chevron {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid var(--gold-bright);
  border-bottom: 1.5px solid var(--gold-bright);
  transform: translateY(-2px) rotate(45deg);
}

.contact-pull-cue__track {
  grid-column: 1 / -1;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(255 255 255 / 18%);
}

.contact-pull-cue__track i {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--gold-bright);
  transform: scaleX(var(--contact-cue-progress));
  transform-origin: left center;
}

@media (max-width: 720px) {
  .contact-pull__panel {
    max-height: min(88svh, 720px);
    border-radius: 0 0 24px 24px;
  }

  .contact-pull__inner {
    width: min(calc(100% - 28px), var(--content));
    padding-bottom: 22px;
  }

  .contact-pull__heading {
    gap: 16px;
    margin-bottom: 18px;
  }

  .contact-pull__heading h2 {
    font-size: clamp(31px, 9.5vw, 46px);
  }

  .contact-pull__heading p:last-child {
    margin-top: 9px;
    font-size: 14px;
  }

  .contact-pull__close {
    width: 44px;
    height: 44px;
  }

  .contact-pull__routes {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .contact-pull__route {
    min-height: 72px;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 13px;
    padding: 6px 14px 6px 6px;
    border-radius: 15px;
  }

  .contact-pull__route > img {
    width: 76px;
    height: 60px;
    border-radius: 10px;
  }

  .contact-pull__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 11px;
    margin-top: 14px;
  }

  .contact-pull__footer .text-link {
    justify-content: center;
  }

  .contact-pull__whatsapp {
    justify-content: center;
  }
}

@media (max-height: 650px) and (orientation: landscape) {
  .contact-pull__panel {
    max-height: 94svh;
  }

  .contact-pull__inner {
    padding-top: 16px;
    padding-bottom: 18px;
  }

  .contact-pull__heading {
    margin-bottom: 14px;
  }

  .contact-pull__heading p:last-child {
    display: none;
  }

  .contact-pull__route {
    min-height: 72px;
  }

  .contact-pull__route > img {
    height: 58px;
  }

  .contact-pull__footer {
    margin-top: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-pull__backdrop,
  .contact-pull__panel,
  .contact-pull__close,
  .contact-pull__route,
  .contact-pull__route > img,
  .contact-pull__route > b,
  .contact-pull__whatsapp,
  .contact-pull-cue {
    scroll-behavior: auto;
    transition: none;
  }
}

@media print {
  .contact-pull,
  .contact-pull-cue {
    display: none !important;
  }
}

/* Projects page: full-screen portfolio hero */
.projects-page .site-header {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom-color: transparent;
  background: linear-gradient(180deg, rgb(2 2 2 / 78%) 0%, rgb(2 2 2 / 34%) 64%, transparent 100%);
  color: var(--gold-bright);
  box-shadow: none;
  backdrop-filter: none;
}

.projects-page .site-header.is-scrolled {
  position: fixed;
  border-bottom-color: rgb(215 182 103 / 16%);
  background: rgb(7 7 7 / 91%);
  box-shadow: 0 16px 36px rgb(0 0 0 / 18%);
  backdrop-filter: blur(18px);
}

.projects-page .brand__word,
.projects-page .main-nav a {
  color: var(--gold-bright);
}

.projects-page .main-nav a::after {
  background: var(--gold-bright);
}

.projects-page .header-cta {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: #090909;
}

.projects-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100svh;
  min-height: 650px;
  padding: clamp(140px, 18vh, 190px) 24px clamp(68px, 9vh, 98px);
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #050505;
  color: #fff;
}

.projects-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(2 2 2 / 84%) 0%, rgb(2 2 2 / 65%) 39%, rgb(2 2 2 / 20%) 76%, rgb(2 2 2 / 8%) 100%),
    linear-gradient(180deg, rgb(2 2 2 / 58%) 0%, transparent 35%, rgb(2 2 2 / 74%) 100%);
  pointer-events: none;
}

.projects-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.84) contrast(1.08) brightness(0.82);
  transform: scale(1.01);
}

.projects-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
}

.projects-hero__content .section-index {
  margin: 0 0 18px;
  color: var(--gold-bright);
}

.projects-hero__content h1 {
  max-width: 1100px;
  margin: 0;
  color: #fff;
  font-size: clamp(58px, 7vw, 108px);
  font-weight: 610;
  letter-spacing: -0.065em;
  line-height: 0.91;
  text-wrap: balance;
}

.projects-hero__content h1 span {
  display: block;
}

.projects-hero__content h1 span:last-child {
  color: var(--gold-bright);
}

.projects-hero__content > p:not(.section-index) {
  max-width: 650px;
  margin: 24px 0 0;
  color: rgb(255 255 255 / 80%);
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.58;
}

.projects-hero__actions {
  margin-top: 28px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 28px;
}

.projects-hero__actions .text-link {
  color: #fff;
}

.projects-hero__video-toggle {
  z-index: 3;
  right: clamp(20px, 3vw, 44px);
  bottom: clamp(20px, 3vw, 44px);
  border-color: rgb(255 255 255 / 28%);
  background: rgb(8 8 8 / 56%);
  color: #fff;
  backdrop-filter: blur(12px);
  transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.projects-hero__video-toggle:hover,
.projects-hero__video-toggle:focus-visible {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: #090909;
  transform: scale(1.05);
}

.projects-page .solution-case {
  scroll-margin-top: 76px;
}

@media (max-width: 1024px) {
  .projects-page .site-header {
    min-height: 68px;
    padding: 10px 18px;
  }

  .projects-page .site-header.is-scrolled {
    min-height: 64px;
  }

  .projects-page .nav-toggle {
    border-color: rgb(215 182 103 / 48%);
    background: rgb(8 8 8 / 54%);
    color: var(--gold-bright);
  }

  .projects-page .main-nav {
    top: 100%;
    border-bottom-color: rgb(215 182 103 / 18%);
    background: rgb(7 7 7 / 96%);
    box-shadow: 0 18px 34px rgb(0 0 0 / 20%);
  }

  .projects-page .main-nav a {
    border-bottom-color: rgb(255 255 255 / 10%);
  }

  .projects-page .main-nav a.main-nav__login {
    border-color: rgb(215 182 103 / 48%);
    background: rgb(215 182 103 / 11%);
    color: var(--gold-bright);
  }
}

@media (max-width: 820px) {
  .projects-hero {
    min-height: 100svh;
    padding: 116px 18px 82px;
  }

  .projects-hero::before {
    background:
      linear-gradient(90deg, rgb(2 2 2 / 78%) 0%, rgb(2 2 2 / 50%) 66%, rgb(2 2 2 / 20%) 100%),
      linear-gradient(180deg, rgb(2 2 2 / 61%) 0%, transparent 30%, rgb(2 2 2 / 88%) 100%);
  }

  .projects-hero__media {
    object-position: 55% center;
  }

  .projects-hero__content h1 {
    font-size: clamp(46px, 13vw, 70px);
    line-height: 0.92;
  }

  .projects-hero__content > p:not(.section-index) {
    max-width: 560px;
    margin-top: 18px;
    font-size: 15px;
  }

  .projects-hero__actions {
    margin-top: 22px;
  }
}

@media (max-width: 560px) {
  .projects-hero {
    padding-inline: 18px;
    padding-bottom: 78px;
  }

  .projects-hero__content .section-index {
    margin-bottom: 13px;
    font-size: 10px;
  }

  .projects-hero__content h1 {
    font-size: clamp(43px, 12.7vw, 61px);
  }

  .projects-hero__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 15px;
  }

  .projects-hero__actions .button {
    width: 100%;
  }

  .projects-hero__actions .text-link {
    justify-content: center;
  }

  .projects-hero__video-toggle {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}

@media (max-height: 620px) and (orientation: landscape) {
  .projects-hero {
    min-height: 560px;
    padding-top: 110px;
    padding-bottom: 38px;
  }

  .projects-hero__content h1 {
    max-width: 820px;
    font-size: clamp(48px, 7.2vw, 72px);
  }

  .projects-hero__content > p:not(.section-index) {
    margin-top: 14px;
    font-size: 14px;
  }

  .projects-hero__actions {
    margin-top: 17px;
  }
}

@media print {
  .projects-hero {
    min-height: 0;
    height: auto;
    padding-block: 70px;
    background: #111;
  }

  .projects-hero__media,
  .projects-hero__video-toggle {
    display: none !important;
  }
}

/* Services page refinements: more image rhythm, shorter profile block and distinct section patterns. */
.detail-card--media {
  padding: 0;
  overflow: hidden;
}

.detail-grid--media {
  grid-auto-rows: 1fr;
  align-items: stretch;
}

.detail-grid--media .detail-card--media {
  height: 100%;
}

.service-detail-layout--balanced {
  align-items: stretch;
}

.service-detail-layout--balanced .detail-sticky {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.service-detail-layout--balanced .detail-sticky__visual {
  margin-top: auto;
}

.case-split__image--krez img {
  object-position: center 58%;
}

.case-split__copy .card-link--light {
  margin-top: 30px;
  color: #fff;
}

#care.service-detail-section .detail-grid--media .detail-card--media {
  min-height: 260px;
  padding: 0;
}

#care.service-detail-section .detail-grid--media .detail-card--media > img {
  height: 120px;
}

#care.service-detail-section .detail-grid--media .detail-card__media-copy {
  min-height: 138px;
  padding: 16px 22px 22px;
}

.detail-card--media > img {
  width: 100%;
  height: 132px;
  flex: 0 0 auto;
  display: block;
  object-fit: cover;
  object-position: center 62%;
  filter: saturate(0.88) contrast(1.04);
  transition: filter 300ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.detail-card__media-copy {
  min-height: 148px;
  padding: 18px 24px 24px;
  display: flex;
  flex: 1;
  flex-direction: column;
}

.detail-card__media-copy > span {
  align-self: flex-end;
  color: var(--gold-text);
  font-size: 10px;
  font-weight: 800;
}

.detail-card--media:hover > img {
  filter: saturate(1) contrast(1.02);
  transform: scale(1.035);
}

.service-detail-section--local-pattern {
  background-color: #fcfbf8;
  background-image:
    radial-gradient(
      circle at 84% 44%,
      transparent 0 78px,
      rgb(189 143 55 / 13%) 79px 80px,
      transparent 81px 140px,
      rgb(189 143 55 / 8%) 141px 142px,
      transparent 143px
    ),
    radial-gradient(circle at 1px 1px, rgb(189 143 55 / 17%) 0 1.1px, transparent 1.4px);
  background-repeat: no-repeat, repeat;
  background-size: 100% 100%, 34px 34px;
}

.service-detail-section--circuit-pattern {
  background-color: var(--paper-warm);
  background-image:
    radial-gradient(circle at 24px 24px, rgb(189 143 55 / 22%) 0 2px, transparent 2.5px),
    linear-gradient(90deg, transparent 23px, rgb(189 143 55 / 8%) 24px, transparent 25px),
    linear-gradient(transparent 23px, rgb(17 17 17 / 4%) 24px, transparent 25px);
  background-size: 96px 96px;
}

.service-showcase--compact {
  padding-block: clamp(54px, 6vw, 84px);
}

.service-showcase--compact .service-showcase__grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(390px, 1.08fr);
  gap: clamp(34px, 6vw, 78px);
}

.service-showcase--compact .service-showcase__visual img {
  height: clamp(350px, 34vw, 470px);
  min-height: 0;
  object-position: center;
}

.service-showcase--compact .service-showcase__visual small {
  margin-top: 8px;
}

.service-showcase--compact h2 {
  font-size: clamp(34px, 3.8vw, 54px);
  line-height: 1;
}

.service-showcase--compact .service-showcase__copy > p:not(.section-index):not(.service-showcase__url) {
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.6;
}

.service-showcase--compact .pill-list {
  margin-top: 23px;
  gap: 7px;
}

.service-showcase--compact .pill-list span {
  padding: 9px 12px;
  font-size: 11px;
}

.service-showcase--compact .service-showcase__url {
  margin-top: 23px;
  padding-top: 16px;
}

@media (max-width: 900px) {
  .service-showcase--compact .service-showcase__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .service-showcase--compact .service-showcase__visual {
    max-width: none;
  }

  .service-showcase--compact .service-showcase__visual img {
    height: clamp(260px, 36vw, 320px);
  }
}

@media (max-width: 720px) {
  .detail-grid--media {
    grid-auto-rows: auto;
  }

  .detail-card--media > img {
    height: 100px;
  }

  .detail-card__media-copy {
    min-height: 132px;
    padding: 16px 22px 22px;
  }

  .service-detail-section--local-pattern {
    background-size: 100% 100%, 30px 30px;
  }

  .service-detail-section--circuit-pattern {
    background-size: 80px 80px;
  }

  .service-showcase--compact {
    padding: 56px 18px;
  }

  .service-showcase--compact .service-showcase__visual img {
    height: 270px;
  }
}

@media (max-width: 480px) {
  .service-showcase--compact .service-showcase__visual img {
    height: 235px;
  }

  .service-showcase--compact h2 {
    font-size: clamp(32px, 10.6vw, 44px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .detail-card--media > img {
    transition: none;
  }
}

/* Full-motion packages hero with its existing package shortcuts kept in view. */
.packages-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: calc(100svh - 78px);
  min-height: 650px;
  max-height: 900px;
  padding: clamp(48px, 6vh, 70px) 24px clamp(32px, 4.5vh, 48px);
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #070707;
  color: #fff;
}

.packages-hero::before,
.packages-hero::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.packages-hero::before {
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(2 2 2 / 88%) 0%, rgb(2 2 2 / 68%) 47%, rgb(2 2 2 / 24%) 82%, rgb(2 2 2 / 12%) 100%),
    linear-gradient(180deg, rgb(2 2 2 / 48%) 0%, transparent 32%, rgb(2 2 2 / 88%) 100%);
}

.packages-hero::after {
  z-index: 1;
  width: min(58vw, 820px);
  aspect-ratio: 1;
  top: -48%;
  right: -13%;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(215 182 103 / 19%), transparent 68%);
}

.packages-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 55% center;
  filter: saturate(0.78) contrast(1.08) brightness(0.72);
  transform: scale(1.012);
}

.packages-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
}

.packages-hero__copy {
  max-width: 1040px;
}

.packages-hero__copy .section-index {
  margin: 0 0 14px;
}

.packages-hero__copy h1 {
  max-width: 1040px;
  margin: 0;
  color: #fff;
  font-size: clamp(54px, 6.25vw, 88px);
  font-weight: 610;
  letter-spacing: -0.064em;
  line-height: 0.92;
  text-wrap: balance;
}

.packages-hero__copy h1 span {
  display: block;
}

.packages-hero__copy h1 span:last-child {
  color: var(--gold-bright);
}

.packages-hero__copy > p:not(.section-index) {
  max-width: 670px;
  margin: 18px 0 0;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.58;
}

.packages-hero__copy .hero__actions {
  margin-top: 21px;
}

.packages-hero__copy .text-link {
  color: #fff;
}

.packages-hero .package-hero__visual {
  max-width: 1080px;
  margin: clamp(24px, 3.5vh, 34px) 0 0;
  gap: 12px;
}

.packages-hero .package-hero__visual figure {
  height: clamp(118px, 15vh, 145px);
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 15px;
  background: rgb(7 7 7 / 62%);
  box-shadow: 0 16px 42px rgb(0 0 0 / 24%);
}

.packages-hero .package-hero__visual img {
  filter: saturate(0.86) contrast(1.04) brightness(0.7);
}

.packages-hero .package-hero__visual figure:hover img,
.packages-hero .package-hero__visual figure:focus-within img {
  transform: scale(1.045);
}

.packages-hero__video-toggle {
  z-index: 3;
  top: 24px;
  right: clamp(20px, 3vw, 44px);
  bottom: auto;
  border-color: rgb(255 255 255 / 30%);
  background: rgb(8 8 8 / 58%);
  color: #fff;
  backdrop-filter: blur(12px);
  transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.packages-hero__video-toggle:hover,
.packages-hero__video-toggle:focus-visible {
  border-color: var(--gold-bright);
  background: var(--gold-bright);
  color: #090909;
  transform: scale(1.05);
}

/* Pull only the branches hero closer to the navigation. */
.subpage-hero--branches {
  padding: 52px 24px 72px;
}

.subpage-hero--branches .subpage-hero__grid {
  gap: clamp(48px, 6vw, 84px);
}

@media (max-width: 1120px) {
  .subpage-hero--branches {
    padding: 40px 24px 62px;
  }

  .subpage-hero--branches .subpage-hero__grid {
    gap: 40px;
  }
}

@media (max-width: 820px) {
  .packages-hero {
    height: auto;
    min-height: calc(100svh - 70px);
    max-height: none;
    padding: 64px 18px 34px;
    grid-template-columns: minmax(0, 1fr);
  }

  .packages-hero__content,
  .packages-hero__copy,
  .packages-hero .package-hero__visual {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .packages-hero__media {
    object-position: 62% center;
  }

  .packages-hero__copy h1 {
    font-size: clamp(47px, 10.5vw, 68px);
  }

  .packages-hero .package-hero__visual {
    margin-top: 26px;
    overscroll-behavior-inline: contain;
  }

  .packages-hero__video-toggle {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 720px) {
  .subpage-hero--branches {
    padding: 30px 18px 50px;
  }

  .subpage-hero--branches .subpage-hero__grid {
    gap: 32px;
  }

  .packages-hero .package-hero__visual {
    margin-right: -18px;
    padding-right: 18px;
  }

  .packages-hero .package-hero__visual figure {
    width: min(72vw, 310px);
    height: 138px;
  }
}

@media (max-width: 560px) {
  .packages-hero {
    padding-top: 68px;
    padding-bottom: 28px;
  }

  .packages-hero__copy h1 {
    font-size: clamp(43px, 12vw, 58px);
  }

  .packages-hero__copy > p:not(.section-index) {
    margin-top: 15px;
    font-size: 14px;
  }

  .packages-hero__copy .hero__actions {
    margin-top: 18px;
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .packages-hero__copy .hero__actions .button {
    width: 100%;
  }

  .packages-hero__copy .hero__actions .text-link {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .subpage-hero--branches {
    padding-top: 24px;
    padding-bottom: 44px;
  }
}

@media (max-height: 650px) and (orientation: landscape) {
  .packages-hero {
    height: auto;
    min-height: 560px;
    max-height: none;
    padding-top: 42px;
    padding-bottom: 26px;
  }

  .packages-hero__copy h1 {
    font-size: clamp(46px, 7vw, 68px);
  }

  .packages-hero__copy > p:not(.section-index) {
    margin-top: 12px;
    font-size: 14px;
  }

  .packages-hero__copy .hero__actions {
    margin-top: 14px;
  }

  .packages-hero .package-hero__visual {
    margin-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .packages-hero {
    background:
      linear-gradient(90deg, rgb(2 2 2 / 86%), rgb(2 2 2 / 38%)),
      url("../images/stock/pexels/12-prozessplanung-sticky-notes.jpg") center / cover no-repeat;
  }

  .packages-hero__media,
  .packages-hero__video-toggle {
    display: none !important;
  }

  .packages-hero .package-hero__visual img {
    transition: none;
  }
}

@media print {
  .packages-hero {
    height: auto;
    min-height: 0;
    padding-block: 64px;
    background: #111;
  }

  .packages-hero__media,
  .packages-hero__video-toggle {
    display: none !important;
  }
}

/* Global gold cursor trail for precise mouse pointers. */
.cursor-follow {
  position: fixed;
  z-index: 2147483646;
  inset: 0;
  display: block;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  contain: strict;
  transition: none;
}

@media (any-hover: hover) and (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.cursor-follow-preload,
  html.cursor-follow-preload body,
  html.cursor-follow-preload body *,
  html.cursor-follow-ready,
  html.cursor-follow-ready body,
  html.cursor-follow-ready body *,
  html.has-custom-cursor,
  html.has-custom-cursor body,
  html.has-custom-cursor body * {
    cursor: none !important;
  }
}

.cursor-follow.is-visible {
  opacity: 1;
  visibility: visible;
}

.cursor-follow > span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform;
}

.cursor-follow__core {
  z-index: 2;
  width: 11px;
  height: 11px;
  border: 2px solid rgb(21 16 7 / 78%);
  background: #f3cf72;
  box-shadow:
    0 0 0 2px rgb(255 248 226 / 78%),
    0 0 0 6px rgb(215 182 103 / 24%),
    0 0 20px rgb(189 143 55 / 72%);
}

.cursor-follow__core::after {
  position: absolute;
  inset: -10px;
  border: 1px solid rgb(224 188 101 / 68%);
  border-radius: inherit;
  box-shadow: 0 0 12px rgb(189 143 55 / 32%);
  content: "";
}

.cursor-follow__dot {
  z-index: 1;
  background: var(--gold);
  box-shadow:
    0 0 0 1px rgb(50 36 10 / 18%),
    0 0 10px rgb(189 143 55 / 48%);
}

.cursor-follow__dot:nth-child(2) {
  width: 7px;
  height: 7px;
  opacity: 0.86;
}

.cursor-follow__dot:nth-child(3) {
  width: 6.2px;
  height: 6.2px;
  opacity: 0.74;
}

.cursor-follow__dot:nth-child(4) {
  width: 5.4px;
  height: 5.4px;
  opacity: 0.63;
}

.cursor-follow__dot:nth-child(5) {
  width: 4.7px;
  height: 4.7px;
  opacity: 0.52;
}

.cursor-follow__dot:nth-child(6) {
  width: 4px;
  height: 4px;
  opacity: 0.42;
}

.cursor-follow__dot:nth-child(7) {
  width: 3.3px;
  height: 3.3px;
  opacity: 0.32;
}

@media (any-hover: none), (prefers-reduced-motion: reduce), (forced-colors: active) {
  .cursor-follow {
    display: none !important;
  }
}

@media (forced-colors: active) {
  html.cursor-follow-preload,
  html.cursor-follow-preload body,
  html.cursor-follow-preload body *,
  html.cursor-follow-ready,
  html.cursor-follow-ready body,
  html.cursor-follow-ready body *,
  html.has-custom-cursor,
  html.has-custom-cursor body,
  html.has-custom-cursor body * {
    cursor: auto !important;
  }
}

@media print {
  .cursor-follow {
    display: none !important;
  }
}

/* Same-document page transitions keep the custom cursor mounted between routes. */
.pjax-transition {
  position: fixed;
  z-index: 2147483645;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  background:
    radial-gradient(circle at 50% 48%, rgb(255 255 255 / 96%) 0 34%, rgb(251 248 241 / 98%) 72%),
    #fff;
  transition:
    opacity 180ms ease,
    visibility 0s linear 180ms;
}

.pjax-transition::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(3.5rem, 7vw, 5.5rem);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  content: "";
  opacity: 0;
  transform: translate(-50%, -50%) scaleX(0.25);
  transition:
    opacity 150ms ease,
    transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.pjax-transition.is-active {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.pjax-transition.is-active::after {
  opacity: 0.78;
  transform: translate(-50%, -50%) scaleX(1);
}

html.is-pjax-loading {
  scroll-behavior: auto;
}

@media (prefers-reduced-motion: reduce) {
  .pjax-transition,
  .pjax-transition::after {
    transition: none;
  }
}

@media print {
  .pjax-transition,
  .pjax-live {
    display: none !important;
  }
}

/* Compact project planner: one calm viewport, one decision at a time. */
.contact-flow-page--planner.planner-is-ready {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  overscroll-behavior: none;
  background: #0b0b0a;
}

.contact-flow-page--planner.planner-is-ready .site-header {
  position: relative;
  flex: 0 0 auto;
}

.contact-flow-page--planner.planner-is-ready #main-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.planner-workspace {
  min-height: calc(100vh - 82px);
  min-height: calc(100dvh - 82px);
  padding: clamp(9px, 1.6vh, 18px) clamp(10px, 1.6vw, 24px);
  background:
    radial-gradient(circle at 12% 15%, rgb(215 182 103 / 18%), transparent 26%),
    radial-gradient(circle at 92% 88%, rgb(189 143 55 / 10%), transparent 23%),
    #0b0b0a;
}

.planner-workspace__shell {
  width: min(1480px, 100%);
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(600px, 1.3fr);
  border: 1px solid rgb(215 182 103 / 25%);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 72px rgb(0 0 0 / 34%);
}

.planner-workspace__visual {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #15130f;
}

.planner-workspace__visual::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(0 0 0 / 7%) 20%, rgb(0 0 0 / 82%) 100%),
    linear-gradient(90deg, rgb(0 0 0 / 18%), transparent 70%);
  content: "";
  pointer-events: none;
}

.planner-workspace__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% center;
  filter: saturate(0.78) contrast(1.05);
  transform: scale(1.015);
}

.planner-workspace__visual figcaption {
  position: absolute;
  z-index: 1;
  right: clamp(20px, 3vw, 42px);
  bottom: clamp(22px, 4vh, 50px);
  left: clamp(20px, 3vw, 42px);
  display: grid;
  gap: 12px;
  color: #fff;
}

.planner-workspace__visual figcaption small {
  color: var(--gold-bright);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.planner-workspace__visual figcaption strong {
  max-width: 520px;
  font-size: clamp(23px, 2.4vw, 38px);
  font-weight: 570;
  letter-spacing: -0.04em;
  line-height: 1.06;
  text-wrap: balance;
}

.planner-workspace__visual figcaption span {
  color: rgb(255 255 255 / 67%);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.45;
}

.planner-workspace__panel {
  min-width: 0;
  min-height: 0;
  padding: clamp(15px, 2vw, 30px) clamp(18px, 2.6vw, 40px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 100% 0%, rgb(215 182 103 / 13%), transparent 28%),
    #fff;
}

.planner-workspace__head {
  flex: 0 0 auto;
  padding-bottom: clamp(11px, 1.6vh, 18px);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #e9e4da;
}

.planner-workspace__head .section-index {
  margin-bottom: 7px;
}

.planner-workspace__head h1 {
  max-width: 640px;
  margin: 0;
  font-size: clamp(27px, 3vw, 43px);
  font-weight: 590;
  letter-spacing: -0.05em;
  line-height: 0.98;
  text-wrap: balance;
}

.planner-workspace__head > a {
  flex: 0 0 auto;
  padding: 7px 0;
  color: #5e574d;
  font-size: 10px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.planner-workspace__head > a span {
  margin-left: 5px;
  color: var(--gold-text);
  transition: transform 180ms ease;
}

.planner-workspace__head > a:hover span,
.planner-workspace__head > a:focus-visible span {
  display: inline-block;
  transform: translate(2px, -2px);
}

.planner-workspace .planner-form--workspace {
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.planner-workspace .planner-progress {
  position: relative;
  flex: 0 0 auto;
  margin: clamp(10px, 1.6vh, 16px) 0 5px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.planner-workspace .planner-progress::before {
  display: none;
}

.planner-workspace .planner-progress > span {
  position: relative;
  display: block;
  color: #8a847b;
}

.planner-workspace .planner-progress b {
  width: 100%;
  height: 4px;
  overflow: hidden;
  display: block;
  border: 0;
  border-radius: 999px;
  background: #e2ddd3;
  color: transparent;
  font-size: 0;
}

.planner-workspace .planner-progress small {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.planner-workspace .planner-progress > span.is-active b,
.planner-workspace .planner-progress > span.is-complete b {
  background: var(--gold);
  box-shadow: none;
}

.planner-workspace .planner-step,
.planner-workspace .planner-step + .planner-step {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: clamp(12px, 1.7vh, 19px) 0 0;
  border: 0;
}

.planner-workspace .planner-form.is-enhanced .planner-step.is-active {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.planner-workspace .planner-step legend {
  max-width: 720px;
  font-size: clamp(24px, 2.45vw, 36px);
  line-height: 1.02;
}

.planner-workspace .planner-step legend > span {
  margin-bottom: 6px;
  font-size: 8px;
}

.planner-workspace .planner-step__lead {
  max-width: 680px;
  margin: 8px 0 clamp(11px, 1.5vh, 16px);
  font-size: 12px;
  line-height: 1.45;
}

.planner-workspace .planner-choice-grid--compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.planner-workspace .planner-choice-grid--compact label > span {
  min-height: clamp(44px, 6vh, 54px);
  padding: 9px 13px;
  justify-content: center;
  border-radius: 12px;
  background: #fbf9f5;
}

.planner-workspace .planner-choice-grid--compact b {
  font-size: clamp(11px, 1.05vw, 13px);
  line-height: 1.25;
}

.planner-workspace .planner-choice-grid input:checked + span {
  transform: none;
}

.planner-workspace .planner-field,
.planner-workspace .planner-form-grid--compact label {
  margin: 0;
  display: grid;
  gap: 6px;
}

.planner-workspace .planner-field > span,
.planner-workspace .planner-form-grid--compact label > span {
  font-size: 11px;
}

.planner-workspace .planner-form-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.planner-workspace .contact-form input,
.planner-workspace .contact-form select,
.planner-workspace .contact-form textarea {
  min-height: 44px;
  padding: 9px 11px;
  border-radius: 10px;
  font-size: 12px;
}

.planner-workspace .contact-form textarea {
  height: clamp(92px, 17vh, 150px);
  resize: none;
}

.planner-inline-note {
  max-width: 720px;
  margin: 13px 0 0;
  padding: 11px 13px;
  border-left: 3px solid var(--gold);
  border-radius: 0 10px 10px 0;
  background: var(--gold-pale);
  color: #665e51;
  font-size: 10px;
  line-height: 1.5;
}

.planner-workspace .planner-features--workspace {
  margin-top: 0;
}

.planner-workspace .planner-features--workspace > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.planner-workspace .planner-features--workspace label > span {
  min-height: clamp(44px, 6vh, 54px);
  padding: 9px 12px;
  display: flex;
  align-items: center;
  border-radius: 12px;
  font-size: 11px;
  line-height: 1.25;
}

.planner-workspace .planner-actions {
  min-width: 0;
  margin-top: auto;
  padding-top: clamp(9px, 1.4vh, 15px);
  flex: 0 0 auto;
  flex-flow: row nowrap;
  gap: 9px;
}

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

.planner-workspace .contact-form .planner-goal-grid label {
  min-width: 0;
  min-height: clamp(58px, 8vh, 78px);
  margin: 0;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #ded8cd;
  border-radius: 12px;
  background: #fbf9f5;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.planner-workspace .contact-form .planner-goal-grid label:hover,
.planner-workspace .contact-form .planner-goal-grid label:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-pale);
}

.planner-workspace .contact-form .planner-goal-grid label:has(input:focus-visible) {
  outline: 2px solid #806020;
  outline-offset: 2px;
}

.planner-workspace .contact-form .planner-goal-grid input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  flex: 0 0 18px;
  margin: 0;
  padding: 0;
  appearance: auto;
  accent-color: #806020;
  box-shadow: none;
}

.planner-workspace .contact-form .planner-goal-grid label > span {
  min-width: 0;
  font-size: clamp(12px, 1.1vw, 15px);
  font-weight: 600;
  line-height: 1.4;
}

.planner-goals-error {
  margin: 10px 0 0;
  color: #a23520;
  font-size: 12px;
}

.planner-package-context {
  margin-top: 12px;
}

.planner-package-context > p {
  margin: 0 0 4px;
  color: #655b4b;
  font-size: 11px;
}

.planner-workspace .planner-field--notes {
  margin-top: 16px;
}

.planner-workspace .planner-field small,
.planner-workspace .planner-form-grid--compact small {
  margin-left: 5px;
  color: #777064;
  font-size: inherit;
  font-weight: 400;
}

.planner-workspace .planner-summary--compact {
  min-height: 0;
  margin: 14px 0 0;
  padding: 14px 18px;
  flex: 0 1 auto;
  overflow-y: auto;
  scrollbar-width: thin;
}

.planner-workspace .planner-summary--compact dl {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}

.planner-workspace .planner-summary--compact dl > div {
  min-width: 0;
  padding: 9px 0;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.planner-workspace .planner-summary--compact .planner-summary__wide {
  grid-column: 1 / -1;
}

.planner-workspace .planner-summary--compact dt {
  font-size: 11px;
}

.planner-workspace .planner-summary--compact dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.planner-workspace [hidden] {
  display: none !important;
}

@media (max-width: 560px) {
  .planner-workspace .contact-form .planner-goal-grid label {
    min-height: 65px;
    padding: 9px;
    gap: 8px;
  }

  .planner-workspace .planner-summary--compact dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .planner-workspace .planner-summary--compact {
    padding: 10px 12px;
  }
}

.planner-package-chips {
  max-height: 76px;
  padding: 3px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.planner-package-chips:empty {
  display: none;
}

.planner-package-chips button {
  min-height: 30px;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #d1b678;
  border-radius: 8px;
  background: #f5edda;
  color: #493719;
  font: inherit;
  font-size: 11px;
  line-height: 1.4;
  transition: background-color 180ms ease;
}

.planner-package-chips button:hover {
  background: #ead8ac;
}

.planner-package-chips button:focus-visible {
  outline: 2px solid #806020;
  outline-offset: 1px;
}

.planner-workspace .planner-actions .button {
  width: auto;
  min-height: 42px;
  padding-inline: 17px;
  font-size: 11px;
  white-space: nowrap;
}

.planner-workspace .planner-final-grid {
  display: block;
}

.planner-workspace .contact-form .form-choice {
  margin: 12px 0 0;
}

.planner-workspace .contact-form .consent {
  margin: 10px 0 0;
}

.planner-workspace .contact-form .form-choice span,
.planner-workspace .contact-form .consent span {
  font-size: 10px;
  line-height: 1.4;
}

.planner-summary--workspace {
  padding: 13px 15px;
  display: grid;
  grid-template-columns: minmax(150px, 0.62fr) minmax(0, 1.38fr);
  align-items: center;
  gap: 14px;
  border-radius: 14px;
}

.planner-workspace .planner-summary--workspace h3 {
  margin: 6px 0 0;
  font-size: clamp(16px, 1.6vw, 21px);
  line-height: 1.08;
}

.planner-workspace .planner-summary--workspace dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.planner-workspace .planner-summary--workspace dl > div {
  min-width: 0;
  padding: 7px 0;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
}

.planner-workspace .planner-summary--workspace dd {
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planner-workspace .planner-summary--workspace dl > .planner-summary__packages {
  grid-column: 1 / -1;
}

.planner-workspace .planner-summary--workspace [data-summary-package] {
  max-height: 120px;
  overflow-y: auto;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.6;
  scrollbar-width: thin;
}

.planner-workspace .planner-actions--submit .form-submit {
  min-width: 0;
  margin-left: auto;
  justify-content: flex-end;
  gap: 10px;
}

.planner-workspace .planner-actions--submit .form-submit p {
  max-width: 130px;
  font-size: 9px;
}

.planner-form--workspace:not(.is-enhanced) .planner-progress,
.planner-form--workspace:not(.is-enhanced) .planner-step {
  display: none;
}

.planner-noscript {
  margin: auto;
  padding: 18px;
  border: 1px solid #dfd5c3;
  border-radius: 14px;
  background: var(--gold-pale);
  color: #5f574a;
  font-size: 12px;
  line-height: 1.55;
}

.planner-noscript strong {
  display: block;
  color: var(--ink);
}

@media (max-width: 1080px) {
  .planner-workspace__shell {
    grid-template-columns: minmax(230px, 0.52fr) minmax(0, 1.48fr);
  }

  .planner-workspace__panel {
    padding-inline: 22px;
  }

  .planner-workspace__visual figcaption strong {
    font-size: clamp(21px, 2.6vw, 29px);
  }
}

@media (max-width: 820px) {
  .planner-workspace {
    min-height: calc(100vh - 76px);
    min-height: calc(100dvh - 76px);
    padding: 9px;
  }

  .planner-workspace__shell {
    grid-template-columns: 1fr;
    border-radius: 18px;
  }

  .planner-workspace__visual {
    display: none;
  }

  .planner-workspace__panel {
    padding: 14px 18px max(14px, env(safe-area-inset-bottom));
  }

  .planner-workspace .planner-form-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .planner-workspace .planner-actions {
    align-items: center;
    flex-direction: row;
  }

  .planner-workspace .planner-actions .button {
    width: auto;
  }
}

@media (max-width: 560px) {
  .planner-workspace {
    padding: 0;
  }

  .planner-workspace__shell {
    border-inline: 0;
    border-bottom: 0;
    border-radius: 0;
  }

  .planner-workspace__panel {
    padding: 9px 12px max(10px, env(safe-area-inset-bottom));
  }

  .planner-workspace__head {
    padding-bottom: 8px;
    align-items: center;
    gap: 10px;
  }

  .planner-workspace__head .section-index {
    display: none;
  }

  .planner-workspace__head h1 {
    font-size: clamp(23px, 7vw, 29px);
  }

  .planner-workspace__head > a {
    max-width: 98px;
    padding: 5px 0;
    font-size: 9px;
    line-height: 1.25;
    white-space: normal;
    text-align: right;
  }

  .planner-workspace .planner-progress {
    margin: 7px 0 3px;
    gap: 4px;
  }

  .planner-workspace .planner-step,
  .planner-workspace .planner-step + .planner-step {
    padding-top: 8px;
  }

  .planner-workspace .planner-step legend {
    font-size: clamp(22px, 6.2vw, 28px);
  }

  .planner-workspace .planner-step__lead {
    margin: 6px 0 10px;
    font-size: 10.5px;
  }

  .planner-workspace .planner-choice-grid--compact,
  .planner-workspace .planner-features--workspace > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .planner-workspace .planner-choice-grid--compact label > span,
  .planner-workspace .planner-features--workspace label > span {
    min-height: 43px;
    padding: 7px 9px;
    border-radius: 10px;
  }

  .planner-workspace .planner-choice-grid--compact b,
  .planner-workspace .planner-features--workspace label > span {
    font-size: 10px;
  }

  .planner-workspace .planner-form-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .planner-workspace .contact-form input,
  .planner-workspace .contact-form select,
  .planner-workspace .contact-form textarea {
    min-height: 41px;
    padding: 8px 9px;
    font-size: 11px;
  }

  .planner-workspace .contact-form textarea {
    height: clamp(82px, 17vh, 118px);
  }

  .planner-inline-note {
    margin-top: 8px;
    padding: 8px 10px;
    font-size: 9px;
  }

  .planner-workspace .planner-actions {
    padding-top: 7px;
    gap: 7px;
  }

  .planner-workspace .planner-actions .button {
    min-width: 0;
    min-height: 40px;
    padding-inline: 12px;
    font-size: 10px;
  }

  .planner-summary--workspace {
    padding: 10px 11px;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .planner-summary--workspace > div:first-child {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
  }

  .planner-workspace .planner-summary--workspace h3 {
    margin: 0;
    font-size: 14px;
  }

  .planner-workspace .planner-summary--workspace dl > div {
    padding: 5px 0;
  }

  .planner-workspace .planner-actions--submit .form-submit {
    gap: 0;
  }

  .planner-workspace .planner-actions--submit .form-submit p {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
}

/* Compact and explicit presentation for the combined services and packages page. */
.services-page .subpage-hero--services {
  padding: clamp(46px, 5.5vw, 74px) 24px;
}

.services-page .subpage-hero--services .subpage-hero__grid {
  gap: clamp(34px, 5vw, 66px);
}

.services-page .subpage-hero--services .subpage-hero__copy h1 {
  max-width: 760px;
  font-size: clamp(48px, 5.7vw, 78px);
  line-height: 0.94;
}

.services-page .subpage-hero--services .subpage-hero__copy > p:not(.section-index) {
  max-width: 650px;
  margin-top: 19px;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.55;
}

.services-page .subpage-hero--services .subpage-hero__media {
  height: clamp(360px, 35vw, 470px);
  min-height: 0;
}

.services-page .subpage-hero--services .subpage-hero__media img {
  height: 100%;
}

.services-page .service-detail-section {
  padding: clamp(54px, 5.5vw, 76px) 24px;
}

.services-page .service-detail-layout {
  grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(34px, 4.5vw, 64px);
  align-items: start;
}

.services-page .detail-sticky {
  top: 112px;
}

.services-page .detail-sticky h2 {
  margin-top: 13px;
  font-size: clamp(33px, 3.6vw, 51px);
  line-height: 0.98;
}

.services-page .detail-sticky > p:not(.section-index) {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.52;
}

.services-page .detail-sticky .service-detail-link {
  min-height: 54px;
  max-width: 100%;
  margin-top: 24px;
  padding: 13px 22px;
  gap: 16px;
  font-size: 15px;
  text-align: left;
}

.services-page .service-detail-link span {
  flex: 0 0 auto;
  font-size: 21px;
  line-height: 1;
  transition: transform 240ms ease;
}

.services-page .service-detail-link:is(:hover, :focus-visible) span {
  transform: translate(2px, -2px);
}

.services-page .detail-grid--media {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 14px;
}

.services-page .detail-grid--media.detail-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.services-page .detail-grid--media .detail-card--media,
.services-page #care.service-detail-section .detail-grid--media .detail-card--media {
  height: auto;
  min-height: 0;
}

.services-page .detail-card--media > img,
.services-page #care.service-detail-section .detail-grid--media .detail-card--media > img {
  height: 108px;
}

.services-page .detail-card__media-copy,
.services-page #care.service-detail-section .detail-grid--media .detail-card__media-copy {
  min-height: 122px;
  padding: 14px 18px 18px;
}

.services-page .detail-card__media-copy > span {
  display: none;
}

.services-page .detail-card h3 {
  margin-bottom: 7px;
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.12;
}

.services-page .detail-card p {
  font-size: 13px;
  line-height: 1.43;
}

.services-page .case-split--compact {
  padding: clamp(48px, 5vw, 68px) 24px;
}

.services-page .case-split--compact .case-split__grid {
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(34px, 5vw, 70px);
}

.services-page .case-split--compact .case-split__image {
  height: clamp(310px, 31vw, 420px);
}

.services-page .case-split--compact .case-split__copy h2 {
  margin-top: 13px;
  font-size: clamp(36px, 4.4vw, 60px);
}

.services-page .case-split--compact .case-split__copy > p:not(.section-index) {
  margin-top: 17px;
  font-size: 15px;
  line-height: 1.55;
}

.services-page .case-split--compact .check-list {
  margin-top: 22px;
  gap: 9px;
}

.services-page .case-split--compact .case-split__copy .card-link--light {
  margin-top: 22px;
}

.services-page .packages-integrated-intro {
  padding-block: clamp(54px, 5.5vw, 76px) 28px;
}

.services-page .package-family {
  padding-block: clamp(52px, 5.5vw, 76px);
}

.services-page .package-family .package-family__head {
  margin-bottom: clamp(22px, 2.7vw, 34px);
}

.services-page .package-family__head h2 {
  font-size: clamp(38px, 4.5vw, 62px);
}

.services-page .package-family__head > div:last-child > p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.45;
}

.services-page .package-family .plan-card,
.services-page .package-family--compact .plan-card {
  --plan-pad: 21px;
  padding: 0 var(--plan-pad) var(--plan-pad);
}

.services-page .package-family .plan-card__head > .plan-card__thumb,
.services-page .package-family--compact .plan-card__head > .plan-card__thumb {
  height: 118px;
  margin-bottom: 17px;
}

.services-page .package-family .plan-card__head > p {
  font-size: 18px;
}

.services-page .package-family .plan-card__head > span:not(.plan-card__thumb) {
  margin-top: 7px;
  font-size: 11px;
}

.services-page .package-family .plan-card__head > strong {
  margin-top: 6px;
  font-size: clamp(26px, 2.25vw, 32px);
}

.services-page .package-family .plan-card > p {
  display: none;
}

.services-page .package-family .plan-card > ul {
  margin-top: 14px;
  padding-block: 14px;
  gap: 6px;
  font-size: 11px;
  line-height: 1.42;
}

.services-page .plan-card__details {
  padding-top: 9px;
}

.services-page .package-family .plan-card > .button {
  min-height: 42px;
  margin-top: 10px;
  padding: 11px 17px;
}

.services-page .package-terms {
  margin-block: 22px 0;
  padding: 20px 24px;
  border: 1px solid rgb(189 143 55 / 28%);
  border-radius: 18px;
  background: #111;
  color: rgb(255 255 255 / 72%);
  font-size: 12px;
  line-height: 1.55;
}

.services-page .add-ons {
  padding-block: clamp(58px, 6vw, 82px);
}

.services-page .add-ons .section-heading {
  margin-bottom: 28px;
}

.services-page .package-guide--comparison,
.services-page .package-guide--finder {
  padding-block: clamp(58px, 6vw, 82px);
}

.services-page .package-comparison__head {
  margin-bottom: 26px;
}

.services-page .package-comparison details {
  margin-top: 10px;
}

.services-page .package-comparison summary {
  padding: 18px 20px;
}

.services-page .package-comparison th,
.services-page .package-comparison td {
  padding: 12px 14px;
  font-size: 11px;
  line-height: 1.4;
}

.services-page .package-comparison__note {
  margin-top: 18px;
}

.services-page .package-guide--finder .section-heading {
  margin-bottom: 28px;
}

@media (max-width: 1120px) {
  .services-page .subpage-hero--services .subpage-hero__media {
    height: 330px;
    min-height: 0;
  }

  .services-page .detail-grid--media.detail-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .services-page .subpage-hero--services {
    padding: 40px 18px 50px;
  }

  .services-page .subpage-hero--services .subpage-hero__copy h1 {
    font-size: clamp(43px, 10.8vw, 62px);
  }

  .services-page .service-detail-section {
    padding: 50px 18px;
  }

  .services-page .service-detail-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .services-page .detail-sticky {
    position: static;
  }

  .services-page .detail-sticky h2 {
    max-width: 720px;
  }

  .services-page .detail-grid--media,
  .services-page .detail-grid--media.detail-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-page .case-split--compact .case-split__grid {
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
    gap: 30px;
  }

  .services-page .package-family__head {
    gap: 22px;
  }
}

@media (max-width: 680px) {
  .services-page .package-family .plan-grid {
    width: auto;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(86vw, 350px);
    gap: 12px;
    margin-inline: -18px;
    padding: 0 18px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
  }

  .services-page .package-family .plan-card {
    scroll-snap-align: start;
  }

  .services-page .package-family .plan-card--featured {
    transform: none;
  }

  .services-page .package-family .plan-card__head > .plan-card__thumb,
  .services-page .package-family--compact .plan-card__head > .plan-card__thumb {
    height: 104px;
    margin-bottom: 14px;
  }

  .services-page .package-family .plan-card > ul {
    margin-top: 11px;
    padding-block: 11px;
    gap: 4px;
    font-size: 10.5px;
  }

  .services-page .package-family .plan-card > .button {
    min-height: 39px;
    padding-block: 9px;
  }
}

@media (max-width: 560px) {
  .services-page .subpage-hero--services .subpage-hero__grid {
    gap: 28px;
  }

  .services-page .subpage-hero--services .subpage-hero__media {
    height: 250px;
  }

  .services-page .detail-grid--media,
  .services-page .detail-grid--media.detail-grid--three {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .services-page .detail-grid--media .detail-card--media,
  .services-page #care.service-detail-section .detail-grid--media .detail-card--media {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .services-page .detail-card--media > img,
  .services-page #care.service-detail-section .detail-grid--media .detail-card--media > img {
    width: 100%;
    height: 100%;
    min-height: 126px;
  }

  .services-page .detail-card__media-copy,
  .services-page #care.service-detail-section .detail-grid--media .detail-card__media-copy {
    min-height: 126px;
    padding: 14px 15px;
  }

  .services-page .case-split--compact {
    padding: 44px 18px;
  }

  .services-page .case-split--compact .case-split__grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .services-page .case-split--compact .case-split__image {
    height: 260px;
  }

  .services-page .case-split--compact .case-split__copy h2 {
    font-size: clamp(35px, 10.5vw, 48px);
  }

  .services-page .packages-integrated-intro {
    padding: 48px 18px 22px;
  }

  .services-page .package-family {
    padding: 48px 18px;
  }

  .services-page .package-family__head h2 {
    font-size: clamp(36px, 10vw, 48px);
  }

  .services-page .package-terms {
    width: auto;
    margin: 16px 18px 0;
    padding: 17px 18px;
  }

  .services-page .add-ons,
  .services-page .package-guide--comparison,
  .services-page .package-guide--finder {
    padding-block: 50px;
  }
}

@media (max-height: 720px) {
  .contact-flow-page--planner .site-header {
    min-height: 62px;
    padding-block: 4px;
  }

  .contact-flow-page--planner .brand__mark {
    width: 42px;
    height: 48px;
  }

  .planner-workspace {
    padding-block: 7px;
  }

  .planner-workspace__panel {
    padding-block: 10px;
  }

  .planner-workspace__head {
    padding-bottom: 7px;
  }

  .planner-workspace__head h1 {
    font-size: clamp(25px, 2.7vw, 34px);
  }

  .planner-workspace .planner-step,
  .planner-workspace .planner-step + .planner-step {
    padding-top: 8px;
  }

  .planner-workspace .planner-step__lead {
    margin-block: 5px 8px;
  }

  .planner-workspace .planner-choice-grid--compact label > span,
  .planner-workspace .planner-features--workspace label > span {
    min-height: 40px;
  }

  .planner-workspace .planner-actions {
    padding-top: 6px;
  }
}

/* Keyboard, high zoom and very short landscape screens get an internal safety area; the page itself stays fixed. */
@media (max-height: 560px) {
  .planner-workspace__visual {
    display: none;
  }

  .planner-workspace__shell {
    grid-template-columns: 1fr;
  }

  .planner-workspace__head .section-index,
  .planner-workspace .planner-step__lead {
    display: none;
  }

  .planner-workspace .planner-form.is-enhanced .planner-step.is-active {
    padding-right: 5px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
}

@media (max-height: 520px) and (orientation: landscape) and (min-width: 560px) {
  .contact-flow-page--planner .site-header {
    min-height: 54px;
    padding-block: 2px;
  }

  .contact-flow-page--planner .brand__mark {
    width: 36px;
    height: 42px;
  }

  .planner-workspace .planner-choice-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .planner-workspace .planner-form.is-enhanced .planner-step.is-active {
    animation: none;
  }
}

/* About page: repeat team-member articles to extend the team without changing the layout. */
.about-page__intro {
  padding: clamp(30px, 4vw, 54px) 24px 28px;
  background: linear-gradient(150deg, #fff 70%, var(--paper-warm));
}

.about-page__heading {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  align-items: end;
  gap: clamp(32px, 5vw, 74px);
}

.about-page__heading h1 {
  margin: 12px 0 0;
  font-size: clamp(42px, 5.2vw, 70px);
  font-weight: 570;
  line-height: 1.03;
  letter-spacing: -0.055em;
}

.about-page__heading h1 span {
  color: var(--gold-text);
}

.about-page__lead {
  max-width: 48ch;
  margin: 0 0 5px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.65;
}

.about-team {
  padding: 12px 24px 64px;
}

.about-team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
  gap: 22px;
  align-items: stretch;
}

.team-member {
  min-width: 0;
  min-height: 420px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.83fr) minmax(0, 1.17fr);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--paper);
  box-shadow: 0 14px 36px rgb(35 27 10 / 5%);
}

.team-member__portrait {
  position: relative;
  min-width: 0;
  min-height: 380px;
  overflow: hidden;
  background: var(--paper-warm);
}

.team-member__portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
}

.team-member__copy {
  min-width: 0;
  padding: clamp(22px, 2.5vw, 30px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.team-member__role {
  margin: 0 0 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.team-member__role strong {
  color: var(--gold-text);
  font-size: 12px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.team-member__role > span {
  padding: 5px 10px;
  border: 1px solid rgb(189 143 55 / 22%);
  border-radius: 999px;
  background: var(--gold-pale);
  color: var(--gold-text);
  font-size: 11px;
  font-weight: 700;
}

.team-member__copy h3 {
  margin: 0;
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.13;
  overflow-wrap: anywhere;
}

.team-member__position {
  margin: 8px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
}

.team-member__copy > p:not(.team-member__role):not(.team-member__position) {
  margin: 20px 0 24px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.65;
}

.team-member__focus {
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-top: 1px solid var(--line);
}

.team-member__focus span {
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--paper-warm);
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.4;
}

.team-member__portrait--initial {
  display: grid;
  place-items: center;
  background:
    radial-gradient(ellipse at 12% 5%, rgb(189 143 55 / 28%), transparent 65%),
    radial-gradient(ellipse at 90% 95%, rgb(189 143 55 / 13%), transparent 50%),
    #11100d;
  color: var(--gold-bright);
}

.team-member__portrait--initial::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgb(215 182 103 / 26%);
  border-radius: 14px;
  pointer-events: none;
}

.team-member__initial {
  font-size: clamp(86px, 8vw, 116px);
  font-weight: 300;
  line-height: 1;
}

.team-member__signature {
  position: absolute;
  bottom: 34px;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.about-team__contact {
  margin-top: 24px;
  padding: 26px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper-warm);
}

.about-team__contact h2 {
  margin: 9px 0;
  font-size: clamp(24px, 2.4vw, 30px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.about-team__contact p:not(.section-index) {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}

.family-comparison--app .package-comparison details {
  color: var(--ink);
}

@media (max-width: 760px) {
  .about-page__heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .about-page__lead {
    max-width: 60ch;
  }
}

@media (max-width: 560px) {
  .about-page__intro {
    padding: 28px 18px 24px;
  }

  .about-team {
    padding: 6px 18px 48px;
  }

  .team-member {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .team-member__portrait {
    min-height: 0;
    height: 320px;
  }

  .team-member__portrait--initial {
    height: 240px;
  }

  .team-member__copy {
    padding: 24px;
  }

  .team-member__role {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
  }

  .about-team__contact {
    padding: 24px;
  }
}

/* Contact overview: four direct routes in one compact viewport. */
.contact-hub-page {
  min-height: 600px;
  height: 100svh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  background: var(--paper);
}

.contact-hub {
  min-height: 0;
  padding: clamp(16px, 3vh, 32px) 24px;
  display: grid;
  background: radial-gradient(ellipse at 85% 70%, rgb(189 143 55 / 5%), transparent 65%);
}

.contact-hub__inner {
  width: 100%;
  height: 100%;
  max-height: 620px;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-self: center;
  gap: clamp(16px, 2.6vh, 26px);
}

.contact-hub__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.contact-hub__heading h1 {
  margin: 9px 0 0;
  font-size: clamp(34px, 3.7vw, 52px);
  font-weight: 570;
  line-height: 1.08;
  letter-spacing: -0.055em;
}

.contact-hub__heading > p {
  max-width: 31ch;
  margin: 0 0 3px;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.5;
}

.contact-hub__cards {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.contact-tile {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 0.9fr) minmax(0, 1fr);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper-warm);
  color: var(--ink);
  text-decoration: none;
  transition: transform 280ms ease, border-color 280ms ease, box-shadow 280ms ease;
}

.contact-tile__media {
  position: relative;
  min-height: 0;
  overflow: hidden;
  display: block;
  background: #ddd8ce;
}

.contact-tile__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 7%), transparent 45%, rgb(0 0 0 / 15%));
  pointer-events: none;
}

.contact-tile__media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 480ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-tile__icon {
  position: absolute;
  z-index: 1;
  top: 14px;
  left: 14px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 14px;
  background: var(--gold-pale);
  color: #654811;
  box-shadow: 0 5px 18px rgb(0 0 0 / 12%);
}

.contact-tile__icon svg {
  width: 25px;
  height: 25px;
}

.contact-tile--whatsapp .contact-tile__icon {
  border-color: rgb(255 255 255 / 70%);
  background: #fff;
}

.contact-tile__icon > img {
  width: 65%;
  height: 65%;
  object-fit: contain;
}

.contact-tile__copy {
  min-width: 0;
  min-height: 0;
  padding: clamp(18px, 2vw, 26px) 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.contact-tile__title {
  font-size: clamp(21px, 1.9vw, 27px);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.contact-tile__description {
  margin-top: 12px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}

.contact-tile__action {
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--gold-text);
  font-size: 12px;
  font-weight: 750;
}

.contact-tile__arrow {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgb(133 99 31 / 25%);
  border-radius: 50%;
  background: var(--paper);
  font-size: 20px;
  line-height: 1;
  transition: transform 280ms ease;
}

.contact-tile--project {
  border-color: #242016;
  background: #171610;
  color: #fff;
}

.contact-tile--project .contact-tile__description {
  color: rgb(255 255 255 / 76%);
}

.contact-tile--project .contact-tile__action {
  color: var(--gold-bright);
}

.contact-tile--project .contact-tile__arrow {
  background: var(--gold-bright);
  color: var(--black);
}

.contact-tile:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .contact-tile:hover {
    transform: translateY(-3px);
    border-color: var(--gold);
    box-shadow: 0 14px 32px rgb(37 28 10 / 13%);
  }

  .contact-tile:hover .contact-tile__media > img {
    transform: scale(1.035);
  }

  .contact-tile:hover .contact-tile__arrow {
    transform: translate(2px, -2px);
  }
}

.contact-hub-footer {
  padding: 14px 24px;
  border-top: 1px solid var(--line);
  background: var(--paper);
}

.contact-hub-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.contact-hub-footer__mail {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.contact-hub-footer__mail svg {
  width: 19px;
  height: 19px;
  color: var(--gold-text);
}

.contact-hub-footer p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.5;
}

.contact-hub-footer p span {
  display: block;
}

.contact-hub-footer nav {
  display: flex;
  gap: 16px;
}

.contact-hub-footer nav a {
  color: var(--ink-soft);
  font-size: 11px;
  text-decoration: none;
}

.contact-hub-footer a:hover {
  color: var(--gold-text);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact-hub-footer a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  .contact-hub__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .contact-tile {
    grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.64fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .contact-tile__copy {
    padding: 16px 18px;
  }

  .contact-tile__title {
    font-size: 23px;
  }

  .contact-tile__description {
    margin-top: 9px;
    font-size: 13px;
  }

  .contact-tile__action {
    padding-top: 10px;
  }

  .contact-tile__icon {
    top: 12px;
    left: 12px;
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 640px) {
  .contact-hub {
    padding: 16px 18px;
  }

  .contact-hub__heading {
    display: block;
  }

  .contact-hub__heading .section-index {
    display: none;
  }

  .contact-hub__heading h1 {
    margin: 0;
    font-size: clamp(30px, 7vw, 40px);
  }

  .contact-hub__heading > p {
    max-width: none;
    margin: 8px 0 0;
    font-size: 13px;
  }

  .contact-hub__cards {
    gap: 12px;
  }

  .contact-tile {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 0.65fr) minmax(0, 1fr);
    border-radius: 16px;
  }

  .contact-tile__copy {
    padding: 12px;
  }

  .contact-tile__title {
    font-size: 19px;
  }

  .contact-tile__description {
    display: none;
  }

  .contact-tile__action {
    font-size: 11px;
    gap: 4px;
  }

  .contact-tile__arrow {
    width: 25px;
    height: 25px;
    font-size: 17px;
  }

  .contact-tile__icon {
    top: 8px;
    left: 8px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .contact-tile__icon svg {
    width: 21px;
    height: 21px;
  }

  .contact-hub-footer {
    padding: 12px 18px;
  }

  .contact-hub-footer__inner {
    gap: 10px 16px;
  }

  .contact-hub-footer p {
    display: none;
  }
}

/* Keep content accessible on unusually short windows and at high zoom. */
@media (max-height: 560px) {
  .contact-hub-page {
    height: auto;
    min-height: 100svh;
  }

  .contact-hub__inner {
    height: auto;
    max-height: none;
  }

  .contact-hub__cards {
    min-height: 370px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-tile,
  .contact-tile__media > img,
  .contact-tile__arrow {
    transition: none;
  }
}

/* Mobile layout: content flows naturally instead of competing for fixed hero space. */
.main-nav a.main-nav__contact {
  display: none;
}

@media (max-width: 1024px) {
  .main-nav {
    justify-self: stretch;
    max-height: calc(100dvh - 76px);
    padding-bottom: max(20px, env(safe-area-inset-bottom));
    overscroll-behavior: contain;
  }

  .main-nav a {
    min-height: 46px;
    font-size: 16px;
  }

  .main-nav a.main-nav__contact {
    min-height: 48px;
    margin-top: 12px;
    padding: 12px 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0;
    border-radius: 999px;
    background: var(--gold-bright);
    color: #111;
    text-align: center;
  }

  .main-nav a.main-nav__contact::after {
    display: none;
  }
}

@media (max-width: 760px), (max-width: 1024px) and (max-height: 600px) {
  html {
    scroll-padding-top: 86px;
  }

  .button,
  .text-link,
  .nav-toggle,
  .video-toggle,
  .projects-hero__video-toggle {
    min-height: 44px;
  }

  .button {
    max-width: 100%;
    padding-block: 12px;
    white-space: normal;
    text-align: center;
    line-height: 1.35;
  }

  .section {
    padding-inline: 18px;
  }

  .section:not(.about-agency):not(.knowledge-home) {
    padding-block: 48px;
  }

  .section-heading {
    gap: 18px;
    margin-bottom: 28px;
  }

  .section-heading h2 {
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1.08;
  }

  .home-page .hero,
  .home-page .hero__frame {
    height: auto;
    min-height: 100svh;
  }

  .home-page .hero__stage {
    height: auto;
    min-height: 100svh;
    padding: 100px 18px max(24px, env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    gap: 26px;
  }

  .home-page .hero__headline {
    position: relative;
    inset: auto;
    width: 100%;
    flex: 0 0 auto;
  }

  .home-page .hero__headline h1 {
    font-size: clamp(38px, 10.8vw, 58px);
    line-height: 1;
  }

  .home-page .hero__headline h1 .hero__location {
    font-size: clamp(23px, 7vw, 34px);
    line-height: 1.08;
    letter-spacing: -0.025em;
  }

  .home-page .hero__headline .hero__lead {
    display: block;
    font-size: 15px;
    line-height: 1.55;
    text-wrap: pretty;
  }

  .home-page .hero__headline .hero__actions {
    display: flex;
    margin-top: 20px;
    gap: 10px;
  }

  .home-page .hero__headline .button,
  .home-page .hero__headline .text-link {
    min-height: 46px;
    font-size: 14px;
  }

  .home-page .hero-projects {
    position: relative;
    inset: auto;
    width: 100%;
    min-width: 0;
    margin-top: auto;
    flex: 0 0 auto;
  }

  .hero-projects__viewport {
    padding-top: 6px;
    touch-action: pan-x pan-y;
    scroll-padding-inline: 0;
  }

  .hero-projects__track {
    width: 100%;
    padding-inline: 0;
  }

  .hero-project-card {
    width: min(100% - 24px, 390px);
    height: auto;
    min-height: 210px;
    grid-template-columns: 42% minmax(0, 1fr);
  }

  .hero-project-card > img.project-logo {
    padding: 10px;
  }

  .hero-project-card__copy {
    gap: 0;
    padding: 16px;
  }

  .hero-project-card__copy > strong {
    font-size: clamp(18px, 5.6vw, 22px);
    line-height: 1.12;
    overflow-wrap: normal;
  }

  .hero-project-card__copy > span {
    display: block;
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.45;
  }

  .hero-project-card__copy b {
    padding-top: 18px;
    font-size: 12px;
    line-height: 1.4;
  }

  .hero-projects__controls {
    position: static;
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    gap: 10px;
  }

  .hero-projects__controls button {
    width: 44px;
    height: 44px;
  }

  .home-page .video-toggle {
    top: 78px;
    right: 18px;
    width: 44px;
    height: 44px;
  }

  .about-agency__copy h2,
  .knowledge-home__intro h2 {
    font-size: clamp(30px, 8.3vw, 40px);
    line-height: 1.08;
    hyphens: manual;
  }

  .about-agency__copy > p:not(.section-index),
  .knowledge-home__intro > p:not(.section-index) {
    font-size: 16px;
    line-height: 1.6;
  }

  .about-agency__facts {
    margin-block: 22px;
  }

  .about-agency__facts > div,
  .about-agency__facts > div + div {
    padding-block: 12px;
  }

  .about-agency__facts span {
    font-size: 14px;
  }

  .services-home .service-card__copy > p:not(.service-card__label),
  .services-home .service-card li {
    font-size: 14px;
    line-height: 1.55;
  }

  .project-card {
    min-height: 0;
    grid-template-rows: 220px auto auto 1fr;
  }

  .project-card > img {
    height: 220px;
  }

  .project-card > span {
    margin: 20px 22px 8px;
  }

  .project-card h3 {
    margin-inline: 22px;
  }

  .project-card p {
    margin: 14px 22px 22px;
  }

  .home-page .knowledge-home {
    --knowledge-photo-height: clamp(430px, 120vw, 580px);
    min-height: 0;
    padding-top: 48px;
    padding-bottom: calc(var(--knowledge-photo-height) + 24px);
  }

  .home-page .knowledge-home__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .home-page .knowledge-home__visual {
    top: auto;
    height: var(--knowledge-photo-height);
  }

  .home-page .knowledge-home__visual::after {
    background: linear-gradient(180deg, #fff 0%, rgb(255 255 255 / 70%) 10%, transparent 24%);
  }

  .site-footer {
    padding-inline: 18px;
  }

  .site-footer__grid > div,
  .site-footer__bottom > span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .site-footer nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .site-footer__bottom {
    flex-wrap: wrap;
    gap: 10px;
    line-height: 1.5;
  }
}

/* Mobile contact routes: let content grow instead of clipping fixed-height cards. */
@media (max-width: 760px) {
  .contact-hub-page {
    height: auto;
    min-height: 100svh;
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .contact-hub {
    padding: 20px 18px;
  }

  .contact-hub__inner {
    height: auto;
    max-height: none;
    grid-template-rows: auto auto;
    gap: 20px;
  }

  .contact-hub__heading {
    display: block;
  }

  .contact-hub__heading > p {
    max-width: none;
    margin-top: 10px;
  }

  .contact-hub__cards {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: 1fr;
    gap: 12px;
  }

  .contact-tile {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: clamp(84px, 24vw, 142px) auto;
  }

  .contact-tile__copy {
    min-height: 124px;
    padding: 12px;
  }

  .contact-tile__title {
    font-size: clamp(19px, 3.5vw, 23px);
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .contact-tile__action {
    min-height: 44px;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .contact-hub-footer {
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .contact-hub-footer__mail,
  .contact-hub-footer nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .contact-hub-footer nav {
    flex-wrap: wrap;
  }

  .contact-flow-page--message .contact-flow-hero,
  .contact-flow-page--message .contact-main,
  .contact-flow-page--message .contact-flow-next {
    padding: 42px 18px;
  }

  .contact-flow-page--message .contact-flow-hero__grid,
  .contact-flow-page--message .contact-main__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .contact-flow-page--message .contact-flow-hero__grid > *,
  .contact-flow-page--message .contact-main__grid > *,
  .contact-flow-page--message .form-grid > * {
    min-width: 0;
  }

  .contact-flow-page--message .contact-flow-hero__copy h1 {
    font-size: clamp(34px, 9vw, 50px);
    line-height: 1.06;
    overflow-wrap: anywhere;
  }

  .contact-flow-page--message .contact-flow-hero__visual {
    min-height: 0;
    height: clamp(230px, 62vw, 330px);
  }

  .contact-flow-page--message .contact-flow-hero__visual figcaption {
    padding: 14px;
  }

  .contact-flow-page--message .contact-form {
    min-width: 0;
    padding: 20px 16px;
  }

  .contact-flow-page--message .contact-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
    min-width: 0;
    min-height: 48px;
    font-size: 16px;
    scroll-margin-block: 100px 24px;
  }

  .contact-flow-page--message .contact-form label > span {
    font-size: 14px;
    line-height: 1.5;
  }

  .contact-flow-page--message .contact-form :is(.consent, .form-choice) {
    min-height: 44px;
    grid-template-columns: 20px minmax(0, 1fr);
  }

  .contact-flow-page--message .button {
    min-width: 0;
    min-height: 48px;
    white-space: normal;
    text-align: center;
  }

  .contact-flow-page--message .form-submit {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .contact-flow-page--message .form-submit p {
    font-size: 13px;
    overflow-wrap: anywhere;
  }
}

/* Natural document scrolling also lets the browser reveal fields above its keyboard.
   Desktop retains its existing one-viewport planner. */
@media (max-width: 760px), (max-width: 1024px) and (max-height: 520px) {
  .contact-flow-page--planner.planner-is-ready {
    height: auto;
    min-height: 100svh;
    min-height: 100dvh;
    overflow: visible;
    overscroll-behavior: auto;
  }

  .contact-flow-page--planner.planner-is-ready #main-content {
    flex: 1 0 auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }

  .planner-workspace {
    min-height: 0;
    padding: 8px 8px max(8px, env(safe-area-inset-bottom));
  }

  .planner-workspace__shell {
    height: auto;
    min-width: 0;
    flex: 1 0 auto;
    overflow: visible;
    grid-template-columns: minmax(0, 1fr);
  }

  .planner-workspace__visual {
    display: none;
  }

  .planner-workspace__panel {
    padding: 18px 14px;
    overflow: visible;
  }

  .planner-workspace__head {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px 14px;
  }

  .planner-workspace__head > div {
    min-width: 0;
  }

  .planner-workspace__head h1 {
    font-size: clamp(23px, 6.3vw, 32px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .planner-workspace__head > a {
    max-width: none;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    text-align: left;
  }

  .planner-workspace .planner-form--workspace {
    flex: 1 0 auto;
    overflow: visible;
  }

  .planner-workspace .planner-progress {
    margin: 12px 0 6px;
  }

  .planner-workspace .planner-form.is-enhanced .planner-step.is-active {
    flex: 1 0 auto;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .planner-workspace .planner-step legend {
    font-size: clamp(23px, 6vw, 30px);
    line-height: 1.12;
    overflow-wrap: anywhere;
    scroll-margin-block: 96px;
  }

  .planner-workspace .planner-step legend:focus {
    outline: none;
  }

  .planner-workspace .planner-step__lead {
    display: block;
    margin: 10px 0 16px;
    font-size: 14px;
    line-height: 1.5;
  }

  .planner-workspace .contact-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
    min-width: 0;
    min-height: 48px;
    padding: 11px 12px;
    font-size: 16px;
    line-height: 1.4;
    scroll-margin-block: 96px 24px;
  }

  .planner-workspace .contact-form textarea {
    min-height: 108px;
    height: auto;
    resize: vertical;
  }

  .planner-workspace .planner-form-grid--compact {
    gap: 14px;
  }

  .planner-workspace .planner-form-grid--compact label,
  .planner-workspace .planner-field {
    min-width: 0;
  }

  .planner-workspace .planner-field > span,
  .planner-workspace .planner-form-grid--compact label > span {
    font-size: 14px;
    line-height: 1.4;
  }

  .planner-workspace .contact-form .planner-goal-grid label {
    min-height: 56px;
    padding: 12px;
    gap: 10px;
  }

  .planner-workspace .contact-form .planner-goal-grid label > span {
    font-size: 14px;
  }

  .planner-workspace .contact-form .consent {
    min-height: 44px;
    margin-top: 16px;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
  }

  .planner-workspace .contact-form .consent input {
    width: 20px;
    height: 20px;
    min-height: 20px;
    margin-top: 2px;
    padding: 0;
  }

  .planner-workspace .contact-form .consent span,
  .planner-workspace .planner-inline-note,
  .planner-goals-error {
    font-size: 13px;
    line-height: 1.5;
  }

  .planner-workspace .planner-summary--compact {
    flex: 0 0 auto;
    max-height: none;
    overflow: visible;
    padding: 12px;
  }

  .planner-workspace .planner-summary--compact dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .planner-workspace .planner-summary--compact dl > div {
    grid-template-columns: minmax(0, 80px) minmax(0, 1fr);
    gap: 10px;
  }

  .planner-workspace .planner-summary--compact :is(dt, dd) {
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .planner-workspace .planner-actions {
    padding-top: 20px;
    flex-wrap: wrap;
    gap: 12px;
  }

  .planner-workspace .planner-actions .button,
  .planner-package-chips button {
    min-height: 48px;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
    text-align: center;
  }

  .planner-package-chips {
    max-height: none;
    overflow: visible;
  }

  .planner-workspace .planner-actions--submit .form-submit {
    width: auto;
    min-width: 0;
    flex: 1 1 210px;
    display: grid;
    gap: 8px;
  }

  .planner-workspace .planner-actions--submit .form-submit p {
    position: static;
    width: auto;
    height: auto;
    max-width: none;
    overflow: visible;
    clip: auto;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 480px) {
  .contact-flow-page--message .form-grid,
  .planner-workspace .planner-form-grid--compact,
  .planner-workspace .planner-goal-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .planner-workspace .contact-form .planner-goal-grid label {
    min-height: 48px;
  }

  .planner-workspace .planner-actions--submit {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .planner-workspace .planner-actions--submit .button,
  .planner-workspace .planner-actions--submit .form-submit {
    width: 100%;
    margin-left: 0;
  }

  .planner-workspace .planner-actions--submit .form-submit .button {
    width: 100%;
  }
}

/* Mobile content layouts: desktop geometry is intentionally unchanged. */
@media (max-width: 760px) {
  :is(.subpage-hero__grid, .subpage-hero__center, .service-detail-layout,
      .case-split__grid, .branch-system__grid, .solution-case__grid,
      .guide-article__layout, .project-detail-body__grid, .project-evidence__head,
      .package-family__head, .family-comparison__grid, .about-page__heading) {
    min-width: 0;
    max-width: 100%;
  }

  :is(.subpage-hero__grid, .service-detail-layout, .case-split__grid,
      .branch-system__grid, .solution-case__grid, .guide-article__layout,
      .project-detail-body__grid, .package-family__head, .about-page__heading) > * {
    min-width: 0;
  }

  .subpage-hero:not(.packages-hero),
  .services-page .subpage-hero--services {
    min-height: 0;
    padding: 36px 18px 44px;
  }

  .subpage-hero__grid,
  .services-page .subpage-hero--services .subpage-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .subpage-hero__copy h1,
  .subpage-hero__center h1,
  .services-page .subpage-hero--services .subpage-hero__copy h1 {
    font-size: clamp(34px, 7.6vw, 52px);
    line-height: 1.08;
    letter-spacing: -0.045em;
    hyphens: none;
    overflow-wrap: anywhere;
  }

  .subpage-hero__copy > p:not(.section-index),
  .subpage-hero__center > p:not(.section-index) {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.6;
  }

  .subpage-hero__media,
  .services-page .subpage-hero--services .subpage-hero__media {
    height: clamp(240px, 48vw, 340px);
    min-height: 0;
  }

  .subpage-hero__media img {
    height: 100%;
  }

  .subpage-hero__media > div {
    inset-inline: 24px;
    bottom: 24px;
  }

  .subpage-hero__media strong {
    font-size: clamp(22px, 5vw, 28px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .seo-breadcrumb {
    gap: 6px;
    font-size: 11px;
    letter-spacing: 0.035em;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .anchor-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
  }

  .package-detail-page .detail-grid,
  .package-detail-page .case-split .check-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-page .case-split--compact .case-split__grid,
  .package-detail-page .case-split__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .services-page .detail-sticky .service-detail-link {
    min-height: 48px;
    font-size: 15px;
    line-height: 1.4;
  }

  .family-comparison,
  .package-family,
  .branch-system,
  .solution-case,
  .guide-article,
  .seo-related,
  .project-detail-body,
  .project-evidence,
  .project-next,
  .subpage-cta {
    padding-block: 48px;
  }

  .family-comparison__grid,
  .package-detail-page .plan-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .family-plan__title {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px 18px;
  }

  .family-plan__title h3 {
    flex: 1 1 100%;
    min-width: 0;
    font-size: 26px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .family-plan__title strong {
    font-size: 23px;
    line-height: 1.25;
  }

  .family-plan__title strong small {
    font-size: 12px;
  }

  .family-plan__body {
    padding: 22px;
  }

  .family-plan__body > p:not(.family-plan__eyebrow),
  .family-plan__body ul {
    font-size: 14px;
    line-height: 1.55;
  }

  .family-plan__difference,
  .package-family .plan-card > p {
    min-height: 0;
  }

  .family-plan__body .button {
    margin-top: 22px;
  }

  .package-comparison,
  .package-comparison details,
  .package-comparison__scroll {
    min-width: 0;
    max-width: 100%;
  }

  .package-comparison {
    margin-top: 36px;
  }

  .package-comparison__scroll {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gold) var(--paper-warm);
  }

  .package-comparison table {
    min-width: 740px;
    font-size: 13px;
  }

  .package-comparison th,
  .package-comparison td {
    min-width: 192px;
    padding: 14px 12px;
    overflow-wrap: anywhere;
  }

  .package-comparison th:first-child {
    width: 128px;
    min-width: 128px;
    max-width: 128px;
  }

  .package-comparison summary {
    min-height: 52px;
    padding: 16px 18px;
    gap: 12px;
    font-size: 16px;
  }

  .package-comparison__hint {
    display: block;
    margin: 0;
    padding: 0 18px 14px;
    font-size: 12px;
    line-height: 1.5;
  }

  .family-note,
  .package-comparison__note {
    font-size: 12px;
    line-height: 1.6;
  }

  .solution-case__grid {
    gap: 28px;
  }

  .solution-case__media--logo {
    height: clamp(240px, 54vw, 340px);
  }

  .solution-case__media--logo > img.project-logo {
    padding: 22px 22px 68px;
  }

  .solution-case :is(h2, dd),
  .project-facts li > *,
  .project-story :is(h2, p),
  .project-evidence__head h2,
  .project-next h2 {
    overflow-wrap: anywhere;
    hyphens: none;
  }

  .project-facts li {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    font-size: 14px;
  }

  .project-detail-hero {
    padding: 36px 18px 44px;
  }

  .project-detail-hero__grid {
    gap: 28px;
  }

  .project-detail-hero__media--brand {
    min-height: clamp(300px, 62vw, 420px);
  }

  .project-next .text-link {
    width: fit-content;
    max-width: 100%;
    margin: 20px auto 0;
    display: flex;
    justify-content: center;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .project-next .text-link span {
    flex-shrink: 0;
  }

  .guide-overview .seo-related__grid :is(article, .linked-card) {
    min-height: 0;
    padding: 22px;
  }

  .guide-overview .seo-related__grid :is(article, .linked-card) > img {
    width: 100%;
    height: 180px;
    margin: 0 0 20px;
  }

  .seo-related__grid p {
    font-size: 14px;
  }

  .seo-related__grid .card-link {
    min-height: 44px;
    padding-top: 20px;
    line-height: 1.45;
  }

  .guide-article__layout article {
    min-width: 0;
  }

  .guide-article article :is(h2, h3, p, a, li) {
    overflow-wrap: anywhere;
    hyphens: none;
  }

  .guide-article h2,
  .project-story h2,
  .project-next h2,
  .project-evidence__head h2,
  .subpage-cta h2 {
    font-size: clamp(30px, 7vw, 42px);
    line-height: 1.12;
  }

  .article-lead {
    font-size: 18px;
    line-height: 1.6;
  }

  .article-callout {
    padding: 20px;
  }

  .about-page__heading h1,
  .legal-page h1 {
    font-size: clamp(34px, 8vw, 48px);
    line-height: 1.08;
    overflow-wrap: anywhere;
    hyphens: none;
  }

  .team-member__role strong,
  .team-member__signature,
  .about-team__contact {
    overflow-wrap: anywhere;
  }

  .about-team__contact .button {
    max-width: 100%;
  }

  .legal-page {
    padding: 36px 18px 48px;
  }

  .legal-page__lead {
    margin: 22px 0 30px;
    font-size: 16px;
  }

  .legal-card {
    padding: 22px;
  }

  .legal-card p,
  .legal-card li {
    font-size: 15px;
    line-height: 1.7;
  }
}

@media (max-width: 480px) {
  .services-page .detail-grid--media .detail-card--media,
  .services-page #care.service-detail-section .detail-grid--media .detail-card--media {
    grid-template-columns: minmax(0, 1fr);
  }

  .services-page .detail-card--media > img,
  .services-page #care.service-detail-section .detail-grid--media .detail-card--media > img {
    height: 140px;
    min-height: 0;
  }

  .services-page .detail-card__media-copy,
  .services-page #care.service-detail-section .detail-grid--media .detail-card__media-copy {
    min-height: 0;
    padding: 18px;
  }

  .services-page .detail-card h3 {
    font-size: 20px;
    line-height: 1.2;
  }

  .services-page .detail-card p {
    font-size: 14px;
    line-height: 1.55;
  }

  .branch-card > div {
    padding: 22px;
  }

  .project-evidence__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-evidence__item,
  .project-evidence__item:first-child {
    height: 240px;
  }

  .team-member__portrait--initial {
    height: 180px;
  }

  .team-member__initial {
    font-size: 76px;
  }

  .team-member__signature {
    bottom: 26px;
    max-width: calc(100% - 48px);
    text-align: center;
  }

  .team-member__copy {
    padding: 22px;
  }

  .team-member__role {
    margin-bottom: 16px;
  }
}

/* Mobile Waben: direkte Touch-Rückmeldung ohne Verschiebung der Geometrie. */
@media (hover: none), (pointer: coarse) {
  .industry-hive__cell {
    -webkit-tap-highlight-color: rgb(215 182 103 / 24%);
  }

  .industry-hive__cell:active img {
    filter: saturate(1) contrast(1.04) brightness(1.08);
  }
}

@media (max-width: 560px) {
  .industry-hive__copy strong {
    font-size: clamp(14px, 3.65vw, 16px);
    line-height: 1.12;
  }
}

/* Project coverflow: large logo panels, real project links and a static fallback. */
.project-preview {
  overflow: hidden;
  background: #fff;
}

.client-logo-marquee {
  --client-logo-row-height: clamp(124px, 11vw, 150px);
  --client-logo-max-height: calc(var(--client-logo-row-height) - 16px);
  width: 100vw;
  height: var(--client-logo-row-height);
  margin: clamp(16px, 2.2vw, 28px) calc(50% - 50vw) 0;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.client-logo-marquee__track {
  display: flex;
  width: max-content;
  height: 100%;
  transform: translate3d(0, 0, 0);
  animation: client-logo-flow 30s linear infinite;
  will-change: transform;
}

.client-logo-marquee:hover .client-logo-marquee__track,
.client-logo-marquee:focus-within .client-logo-marquee__track {
  animation-play-state: paused;
}

.client-logo-marquee__group {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  height: 100%;
  gap: clamp(42px, 5vw, 76px);
  padding-inline: clamp(28px, 3.2vw, 52px);
}

.client-logo-marquee__item {
  flex: 0 0 clamp(190px, 18vw, 240px);
  width: clamp(190px, 18vw, 240px);
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  padding-block: 8px;
  display: grid;
  place-items: center;
  text-decoration: none;
}

.client-logo-marquee__item img {
  display: block;
  width: auto;
  height: auto;
  min-width: 0;
  max-width: 100%;
  max-height: var(--client-logo-max-height);
  object-fit: contain;
  mix-blend-mode: normal;
  transition: transform 260ms cubic-bezier(.2, .75, .25, 1), opacity 260ms ease;
}

.client-logo-marquee__item--pars img {
  width: auto;
  height: auto;
  max-width: 116px;
  max-height: min(116px, var(--client-logo-max-height));
  mix-blend-mode: normal;
}

.client-logo-marquee__item--malihe img {
  max-width: 112px;
  max-height: min(112px, var(--client-logo-max-height));
}

.client-logo-marquee__item--secplan img {
  max-width: 205px;
  max-height: min(118px, var(--client-logo-max-height));
  mix-blend-mode: normal;
}

.client-logo-marquee__item:hover img,
.client-logo-marquee__item:focus-visible img {
  opacity: .82;
  transform: scale(1.045);
}

.client-logo-marquee__item:focus-visible {
  outline: 2px solid var(--gold-text);
  outline-offset: 8px;
}

@keyframes client-logo-flow {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

.project-showcase { background: var(--paper-warm); }

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

.project-grid--showcase .project-card {
  min-height: 520px;
}

.project-grid--showcase .project-card--logo > img {
  padding: clamp(34px, 4vw, 58px);
  object-fit: contain;
  background: var(--project-logo-surface, transparent);
  mix-blend-mode: normal;
}

.project-grid--showcase .project-card--logo-dark > img {
  padding: clamp(42px, 4.5vw, 68px);
  background: var(--project-logo-surface, transparent);
  mix-blend-mode: normal;
}

.project-orbit {
  --orbit-card-width: clamp(280px, min(36vw, 50svh), 520px);
  --orbit-card-height: calc(var(--orbit-card-width) * 1.22);
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  padding-bottom: 12px;
  overflow: clip;
}

.project-orbit__stage {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  padding-block: 20px 36px;
}

.project-orbit__item { min-width: 0; margin: 0; }
.project-orbit__card {
  position: relative;
  display: block;
  height: 100%;
  min-width: 0;
  aspect-ratio: 1 / 1.22;
  overflow: hidden;
  border: 1px solid rgb(86 76 57 / 22%);
  border-radius: 12px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 24px 48px -22px rgb(28 24 16 / 36%);
  text-decoration: none;
  -webkit-tap-highlight-color: rgb(215 182 103 / 22%);
  transition: border-color 260ms ease, box-shadow 300ms ease;
}

.project-orbit__card:hover,
.project-orbit__card:focus-visible {
  border-color: var(--gold);
  box-shadow: 0 28px 64px -24px rgb(52 38 13 / 42%);
}
.project-orbit__card:focus-visible { outline: 3px solid var(--gold); outline-offset: -5px; }
.project-orbit__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--paper-warm);
  opacity: calc(1 - var(--orbit-alpha, 1));
  pointer-events: none;
}

.project-orbit__media {
  position: relative;
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
  padding: 12px;
  background: #fff;
}
.project-orbit__card--blume .project-orbit__media { background: #c9cecb; padding: 0; }
.project-orbit__card--krez .project-orbit__media { background: #fff; padding: 24px; }
.project-orbit__card--pars .project-orbit__media { background: #fff; }
.project-orbit__card--fahrschule .project-orbit__media { background: #1a1a18; }

.project-orbit__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.project-orbit__badge {
  position: absolute;
  inset: auto auto 20px 50%;
  transform: translateX(-50%);
  padding: 8px 13px;
  border: 1px solid rgb(215 182 103 / 30%);
  border-radius: 999px;
  color: var(--gold-bright);
  background: rgb(26 26 24 / 92%);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.is-orbit-ready .project-orbit__stage {
  display: block;
  height: calc(var(--orbit-card-height) + 70px);
  padding: 0;
  perspective: 1400px;
  perspective-origin: 50% 50%;
  touch-action: pan-y pinch-zoom;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
  pointer-events: auto;
}

.is-orbit-dragging .project-orbit__stage,
.is-orbit-dragging .project-orbit__card { cursor: grabbing; }

.is-orbit-ready .project-orbit__item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--orbit-card-width);
  height: var(--orbit-card-height);
  opacity: clamp(0, calc(var(--orbit-alpha, 1) * 3), 1);
  transform: translate3d(calc(-50% + var(--orbit-x, 0px)), -50%, var(--orbit-z, 0px)) rotateY(var(--orbit-tilt, 0deg)) scale(var(--orbit-scale, 1));
  transform-origin: center;
  will-change: transform, opacity;
  backface-visibility: hidden;
  pointer-events: auto;
}

.project-orbit__controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin: 8px auto 0;
  padding: 5px;
}
.project-orbit__controls[hidden] { display: none; }
.project-orbit__controls button {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  font: inherit;
  cursor: pointer;
  transition: background 240ms ease, color 240ms ease, box-shadow 240ms ease;
}
.project-orbit__controls button:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 3px; }
.project-orbit__controls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.project-orbit__controls .project-orbit__toggle { gap: 7px; padding-inline: 5px 9px; border-radius: 99px; font-size: 12px; font-weight: 650; }
.project-orbit__toggle:hover { color: var(--gold-text); }
.project-orbit__play-icon { display: none; }
.project-orbit.is-paused .project-orbit__pause-icon { display: none; }
.project-orbit.is-paused .project-orbit__play-icon { display: block; }
.project-orbit__navigation { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 3vw, 34px); }
.project-orbit__pagination { display: flex; align-items: center; gap: 4px; }
.project-orbit__controls .project-orbit__dot { min-width: 40px; width: 40px; border-radius: 99px; }
.project-orbit__dot > span { width: 7px; height: 7px; border-radius: 99px; background: #bfb9ac; transition: width 260ms ease, background 260ms ease; }
.project-orbit__dot[aria-pressed="true"] > span { width: 22px; background: var(--gold-text); }
.project-orbit__count { white-space: nowrap; color: #777065; font-size: 11px; font-variant-numeric: tabular-nums; }
.project-orbit__count strong { color: var(--ink); }
.project-orbit__controls .project-orbit__arrow { width: 52px; height: 52px; border: 1px solid var(--line); border-radius: 50%; background: #fff; }
.project-orbit__controls .project-orbit__arrow:hover { border-color: var(--gold-bright); color: var(--ink); background: var(--gold-bright); }
.project-orbit__hint { margin: 8px 16px 0; max-width: 46ch; color: var(--ink-soft); font-size: 13px; line-height: 1.5; text-align: center; }
.project-orbit__playback { display: flex; align-items: center; gap: 14px; }

/* Project details mirror the chosen logo panel, with information on the right. */
.project-detail-hero {
  padding-block: clamp(30px, 4vw, 64px) clamp(44px, 5vw, 80px);
  background: linear-gradient(135deg, #fff 40%, #f6f3ec);
}
.project-detail-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 88px);
  max-width: 1400px;
}
.project-detail-logo {
  display: grid;
  place-items: center;
  min-width: 0;
  margin: 0;
  padding: clamp(22px, 3vw, 44px);
  aspect-ratio: 1 / 1.05;
  overflow: hidden;
  border: 1px solid rgb(86 76 57 / 18%);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 70px -35px rgb(36 28 12 / 32%);
}
.project-detail-logo img { display: block; width: 100%; height: 100%; min-height: 0; max-height: 100%; object-fit: contain; }
.project-detail-logo--blume { background: #c9cecb; padding: 0; }
.project-detail-logo--pars { background: #fff; padding: 22px; }
.project-detail-logo--fahrschule { background: #1a1a18; padding: 22px; }
.project-detail-logo--malihe { background: #fffdf8; padding: clamp(38px, 5.5vw, 82px); }
.project-detail-hero__copy { min-width: 0; }
.project-detail-hero__copy .seo-breadcrumb { margin: 0 0 24px; flex-wrap: wrap; }
.project-detail-hero__copy .section-index { margin-block: 0 18px; }
.project-detail-hero__copy h1 {
  margin: 0 0 24px;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 650;
  line-height: 1.05;
  letter-spacing: -.045em;
  hyphens: none;
  overflow-wrap: break-word;
}
.project-detail-hero__copy > p:not(.section-index):not(.project-detail-status) {
  max-width: 51ch;
  margin: 0 0 16px;
  color: var(--ink-soft);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.65;
}
.project-detail-hero__copy .hero__actions { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 12px; margin-top: 28px; }
.project-detail-hero__copy .hero__actions .button { min-height: 52px; padding: 15px 23px; font-size: 14px; line-height: 1.35; text-align: center; }
.project-detail-hero__back { display: inline-flex; margin-top: 23px; }
.project-detail-hero__copy .hero__actions .project-detail-hero__back { margin-top: 0; }
.project-detail-status { display: inline-flex; align-items: center; gap: 9px; margin-top: 10px; padding: 9px 15px; border: 1px solid rgb(185 141 55 / 28%); border-radius: 99px; background: #f4e9cf; color: #755213; font-size: 14px; font-weight: 650; }
.project-detail-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

.project-client-points {
  max-width: 620px;
  margin: 22px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  list-style: none;
}

.project-client-points li {
  min-height: 38px;
  padding: 9px 13px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgb(82 72 52 / 16%);
  border-radius: 999px;
  background: rgb(255 255 255 / 78%);
  color: #4f4a42;
  font-size: 12px;
  font-weight: 620;
  line-height: 1.25;
  box-shadow: 0 8px 26px rgb(35 29 18 / 5%);
}

.project-client-points li::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--gold-bright);
  box-shadow: 0 0 0 4px rgb(189 143 55 / 10%);
}

.project-thanks {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 6vw, 86px) 24px;
  background:
    radial-gradient(circle at 82% 18%, rgb(215 172 83 / 18%), transparent 28%),
    linear-gradient(118deg, #0d0d0c, #1b1915 68%, #11100e);
  color: #fff;
  isolation: isolate;
}

.project-thanks::after {
  content: "";
  position: absolute;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  right: -15%;
  bottom: -95%;
  z-index: -1;
  border: 1px solid rgb(224 185 98 / 16%);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgb(224 185 98 / 4%), 0 0 0 92px rgb(224 185 98 / 3%);
}

.project-thanks--krez {
  background:
    radial-gradient(circle at 84% 20%, rgb(166 207 47 / 20%), transparent 30%),
    linear-gradient(118deg, #11130e, #1c2115 70%, #11130e);
}

.project-thanks--blume {
  background:
    radial-gradient(circle at 84% 20%, rgb(147 57 91 / 24%), transparent 30%),
    linear-gradient(118deg, #171011, #27171d 70%, #151011);
}

.project-thanks--pars {
  background:
    radial-gradient(circle at 84% 20%, rgb(221 184 87 / 23%), transparent 30%),
    linear-gradient(118deg, #050505, #17140d 70%, #050505);
}

.project-thanks--fahrschule {
  background:
    radial-gradient(circle at 87% 10%, rgb(185 35 51 / 20%), transparent 28%),
    radial-gradient(circle at 72% 100%, rgb(36 78 138 / 20%), transparent 32%),
    #111214;
}

.project-thanks--malihe {
  background:
    radial-gradient(circle at 84% 18%, rgb(217 171 82 / 24%), transparent 31%),
    radial-gradient(circle at 12% 100%, rgb(132 28 41 / 23%), transparent 34%),
    linear-gradient(118deg, #241112, #511823 72%, #2b1115);
}

.project-thanks__grid {
  display: grid;
  grid-template-columns: minmax(190px, .5fr) minmax(0, 1.5fr);
  align-items: start;
  gap: clamp(34px, 8vw, 120px);
}

.project-thanks .section-index {
  margin: 5px 0 0;
  color: var(--gold-bright);
}

.project-thanks__copy h2 {
  max-width: 950px;
  margin: 0;
  color: #fff;
  font-size: clamp(38px, 4.7vw, 68px);
  font-weight: 570;
  letter-spacing: -.052em;
  line-height: 1;
  text-wrap: balance;
}

.project-thanks__copy p {
  max-width: 760px;
  margin: 24px 0 0;
  color: rgb(255 255 255 / 72%);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.72;
}

@media (max-width: 900px) {
  .project-grid--showcase { grid-template-columns: minmax(0, 1fr); }
  .project-grid--showcase .project-card { min-height: 0; }
  .project-orbit__stage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-detail-hero__grid { gap: 28px; }
  .project-detail-hero__copy h1 { font-size: clamp(36px, 5vw, 52px); }
  .project-detail-hero__copy .hero__actions .button { padding-inline: 17px; }
}

@media (max-width: 760px) {
  .client-logo-marquee {
    --client-logo-row-height: 112px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  }
  .client-logo-marquee__group { gap: 34px; padding-inline: 22px; }
  .client-logo-marquee__item { flex-basis: 172px; width: 172px; }
  .client-logo-marquee__item--pars img { max-width: 88px; max-height: 88px; }
  .client-logo-marquee__item--malihe img { max-width: 84px; max-height: 84px; }
  .client-logo-marquee__item--secplan img { max-width: 156px; max-height: 92px; }
  .project-orbit {
    --orbit-card-width: clamp(224px, 68vw, 330px);
    --orbit-card-height: calc(var(--orbit-card-width) * 1.22);
    width: calc(100% + 32px);
    margin-inline: -16px;
  }
  .project-orbit__stage { grid-template-columns: minmax(0, 1fr); padding: 15px 22px 24px; gap: 20px; }
  .project-orbit__card { border-radius: 10px; }
  .project-orbit__media { padding: 10px; }
  .project-orbit__card--krez .project-orbit__media { padding: 16px; }
  .is-orbit-ready .project-orbit__stage { height: calc(var(--orbit-card-height) + 56px); }
  .project-orbit__controls { gap: 4px; padding: 4px; }
  .project-orbit__navigation { gap: 12px; }
  .project-orbit__controls .project-orbit__arrow { width: 46px; height: 46px; }
  .project-orbit__controls .project-orbit__dot { width: 36px; min-width: 36px; }
  .project-orbit__hint { max-width: 33ch; font-size: 12px; }
  .project-orbit__controls .project-orbit__toggle { gap: 4px; padding-inline: 2px; font-size: 11px; }
  .project-detail-hero { padding-block: 28px 44px; }
  .project-detail-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .project-detail-logo { width: min(100%, 480px); justify-self: center; aspect-ratio: 1 / 1; border-radius: 14px; }
  .project-detail-hero__copy .seo-breadcrumb { margin-bottom: 18px; }
  .project-detail-hero__copy h1 { font-size: clamp(36px, 9vw, 54px); margin-bottom: 20px; }
  .project-detail-hero__copy > p:not(.section-index):not(.project-detail-status) { font-size: 16px; }
  .project-detail-hero__copy .hero__actions { flex-direction: row; align-items: stretch; }
  .project-detail-hero__copy .hero__actions .button { flex: 1 1 160px; min-width: 0; }
  .project-client-points { display: grid; grid-template-columns: minmax(0, 1fr); }
  .project-client-points li { width: 100%; border-radius: 12px; }
  .project-thanks { padding: 42px 20px 48px; }
  .project-thanks__grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .project-thanks .section-index { margin: 0; }
  .project-thanks__copy h2 { font-size: clamp(34px, 10vw, 48px); }
  .project-thanks__copy p { margin-top: 18px; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .client-logo-marquee {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .client-logo-marquee__track { animation: none; transform: none; }
  .client-logo-marquee__group[aria-hidden="true"] { display: none; }
  .project-orbit *, .project-orbit *::before, .project-orbit *::after { transition: none !important; }
}

@media print {
  .project-orbit__controls { display: none !important; }
  .project-orbit { overflow: visible; }
  .is-orbit-ready .project-orbit__stage { display: grid; height: auto; perspective: none; }
  .is-orbit-ready .project-orbit__item { position: static; width: auto; height: auto; opacity: 1; transform: none; }
}
