html.cinematic-home-root,
html.cinematic-quote-root,
html.cinematic-secondary-root {
  color-scheme: dark;
  --black: #020406;
  --white: #f7f8f6;
  --blue: #1464ff;
  --orange: #ff6b3d;
  --paper: #ecebe6;
  --touch-target: 44px;
  --header-height: 70px;
  --campaign-scroll-height: 300svh;
  --craft-scroll-height: 210svh;
  --highlights-scroll-height: 170svh;
  --origin-scroll-height: 165svh;
  --motion-ease: cubic-bezier(.2, .7, .2, 1);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-synthesis: none;
  scroll-behavior: smooth;
}

/* New-shoot campaign prototype: cinematic motion without scroll-scrubbing. */
body.campaign-prototype {
  --campaign-ink: #101411;
  --campaign-paper: #f2eee4;
  --campaign-paper-soft: #e8e4d9;
  --campaign-green: #183c2b;
  --campaign-acid: #d9ff57;
  --campaign-orange: #f1703d;
  --campaign-line: rgba(16, 20, 17, 0.18);
  --campaign-touch: 48px;
  margin: 0;
  overflow-x: hidden;
  background: var(--campaign-paper);
  color: var(--campaign-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

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

.campaign-prototype a {
  color: inherit;
}

.campaign-prototype .skip-link {
  position: fixed;
  z-index: 200;
  top: 12px;
  left: 12px;
  min-height: var(--campaign-touch);
  padding: 14px 18px;
  transform: translateY(-160%);
  background: #fff;
  color: #111;
}

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

.campaign-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: grid;
  width: 100%;
  min-height: 74px;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: 28px;
  padding: 14px 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  transition: background 240ms ease, border-color 240ms ease, color 240ms ease;
}

.campaign-header.is-scrolled {
  border-color: rgba(16, 20, 17, 0.12);
  background: rgba(242, 238, 228, 0.94);
  color: var(--campaign-ink);
  backdrop-filter: blur(18px);
}

.campaign-mark {
  display: grid;
  width: max-content;
  grid-template-columns: auto auto;
  align-items: baseline;
  column-gap: 7px;
  text-decoration: none;
}

.campaign-mark strong {
  font-size: 24px;
  font-weight: 900;
  line-height: 0.9;
}

.campaign-mark span {
  color: var(--campaign-acid);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: italic;
  line-height: 1;
}

.campaign-header.is-scrolled .campaign-mark span,
.campaign-footer .campaign-mark span {
  color: var(--campaign-orange);
}

.campaign-mark small {
  grid-column: 1 / -1;
  margin-top: 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

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

.campaign-header nav a {
  min-height: 44px;
  padding: 13px 0;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.campaign-header-cta {
  justify-self: end;
  min-height: var(--campaign-touch);
  padding: 14px 19px;
  border: 1px solid currentColor;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.campaign-header.is-scrolled .campaign-header-cta {
  border-color: var(--campaign-ink);
  background: var(--campaign-ink);
  color: #fff;
}

.campaign-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 94svh;
  align-items: flex-end;
  overflow: hidden;
  padding: 148px 7vw 136px;
  background: #111713 url("https://ekwxqbpeethxkzfkurnz.supabase.co/storage/v1/object/public/wolfies-public-media/v1/e1/e1947d620c66bb4cd8afb3a4fe32c9bde83e8f038c433cbf8db72a3d1d48de8f.webp") center / cover no-repeat;
  color: #fff;
}

.campaign-hero-video,
.campaign-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.campaign-hero-video {
  z-index: -3;
  object-fit: cover;
  object-position: center;
}

.campaign-hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(7, 11, 8, 0.82) 0%, rgba(7, 11, 8, 0.46) 42%, rgba(7, 11, 8, 0.06) 76%),
    linear-gradient(0deg, rgba(7, 11, 8, 0.9) 0%, rgba(7, 11, 8, 0.1) 48%, rgba(7, 11, 8, 0.4) 100%);
}

.campaign-hero::after {
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 7px;
  background: linear-gradient(90deg, var(--campaign-acid) 0 32%, var(--campaign-orange) 32% 47%, transparent 47%);
  content: "";
}

.campaign-hero-copy {
  width: min(780px, 70vw);
}

.campaign-locator,
.campaign-section-label {
  margin: 0 0 20px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.campaign-locator {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.82);
}

.campaign-locator i {
  width: 34px;
  height: 1px;
  background: var(--campaign-acid);
}

.campaign-hero h1 {
  display: flex;
  margin: 0;
  flex-direction: column;
  font-size: 92px;
  font-weight: 850;
  line-height: 0.88;
}

.campaign-hero h1 span,
.campaign-hero h1 strong,
.campaign-hero h1 em {
  display: block;
}

.campaign-hero h1 span {
  font-size: 0.44em;
  font-weight: 650;
  line-height: 1.15;
}

.campaign-hero h1 strong {
  margin: 6px 0 0 9%;
  color: var(--campaign-acid);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.campaign-hero h1 em {
  align-self: flex-end;
  font-style: normal;
  font-weight: 900;
}

.campaign-hero-note {
  max-width: 570px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  line-height: 1.55;
}

.campaign-hero-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
}

.campaign-primary {
  display: inline-flex;
  min-height: var(--campaign-touch);
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 15px 18px;
  background: var(--campaign-acid);
  color: var(--campaign-ink) !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.campaign-primary span {
  font-size: 19px;
}

.campaign-secondary,
.campaign-text-link {
  min-height: var(--campaign-touch);
  padding: 14px 0;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.campaign-secondary span {
  margin-left: 10px;
}

.campaign-price-line {
  position: absolute;
  right: 7vw;
  bottom: 38px;
  left: 7vw;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: end;
  gap: 34px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.campaign-price-line p {
  margin: 0;
}

.campaign-price-line span,
.campaign-price-line strong {
  display: block;
}

.campaign-price-line span {
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.campaign-price-line strong {
  color: #fff;
  font-size: 20px;
  line-height: 1.1;
}

.campaign-price-line .campaign-price-note {
  justify-self: end;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  line-height: 1.4;
}

.campaign-meet {
  display: grid;
  max-width: 1480px;
  min-height: 760px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  align-items: center;
  gap: 8vw;
  padding: 120px 7vw;
}

.campaign-meet-copy {
  max-width: 700px;
}

.campaign-section-label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--campaign-green);
}

.campaign-section-label::before {
  width: 38px;
  height: 6px;
  background: var(--campaign-orange);
  content: "";
}

.campaign-meet h2,
.campaign-film h2,
.campaign-decision h2 {
  margin: 0;
  font-size: 66px;
  line-height: 0.98;
}

.campaign-meet-copy > p:not(.campaign-section-label) {
  max-width: 600px;
  margin: 28px 0 42px;
  color: #4d554f;
  font-size: 18px;
  line-height: 1.65;
}

.campaign-meet dl {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--campaign-line);
  border-bottom: 1px solid var(--campaign-line);
}

.campaign-meet dl div {
  padding: 18px 20px 20px 0;
}

.campaign-meet dl div + div {
  padding-left: 20px;
  border-left: 1px solid var(--campaign-line);
}

.campaign-meet dt {
  margin-bottom: 6px;
  color: #7a827b;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.campaign-meet dd {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.campaign-meet-media {
  position: relative;
  margin: 0;
}

.campaign-meet-media::before {
  position: absolute;
  z-index: -1;
  right: -28px;
  bottom: -28px;
  width: 48%;
  height: 48%;
  background: var(--campaign-acid);
  content: "";
}

.campaign-meet-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 590px;
  object-fit: cover;
  object-position: center;
}

.campaign-meet-media figcaption,
.campaign-finish-shot figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  color: #616a62;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.campaign-meet-media figcaption span {
  color: var(--campaign-ink);
  font-weight: 900;
}

.campaign-meet-media figcaption i,
.campaign-finish-shot figcaption i {
  width: 24px;
  height: 1px;
  background: currentColor;
}

.campaign-film {
  overflow: hidden;
  padding: 120px 7vw 110px;
  background: var(--campaign-green);
  color: #fff;
}

.campaign-film-heading {
  display: grid;
  max-width: 1480px;
  margin: 0 auto 70px;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 6vw;
  align-items: end;
}

.campaign-film-heading .campaign-section-label {
  grid-column: 1 / -1;
  margin-bottom: -28px;
  color: var(--campaign-acid);
}

.campaign-film h2 {
  font-size: 78px;
}

.campaign-film h2 em,
.campaign-decision h2 em {
  color: var(--campaign-acid);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.campaign-film-heading > p:last-child {
  max-width: 500px;
  margin: 0 0 7px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 17px;
  line-height: 1.6;
}

.campaign-film-composition {
  position: relative;
  display: grid;
  max-width: 1480px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.42fr) minmax(270px, 0.58fr);
  gap: 26px;
  align-items: end;
}

.campaign-film-player {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #090d0a;
}

.campaign-film-player video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campaign-film-index {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: flex;
  min-width: 150px;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
  background: rgba(8, 12, 9, 0.78);
  backdrop-filter: blur(12px);
}

.campaign-film-index span {
  color: var(--campaign-acid);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-style: italic;
}

.campaign-film-index strong {
  font-size: 12px;
  text-transform: uppercase;
}

.campaign-finish-shot {
  position: relative;
  margin: 0 0 -52px;
}

.campaign-finish-shot::before {
  position: absolute;
  z-index: 1;
  top: 20px;
  right: 20px;
  width: 14px;
  height: 14px;
  background: var(--campaign-orange);
  content: "";
}

.campaign-finish-shot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.campaign-finish-shot figcaption {
  color: rgba(255, 255, 255, 0.64);
}

.campaign-film-steps {
  display: grid;
  max-width: 1480px;
  margin: 92px auto 0;
  padding: 0;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  list-style: none;
}

.campaign-film-steps li {
  position: relative;
  min-width: 0;
  padding: 22px 20px 0 0;
  opacity: 0.46;
  transition: opacity 260ms ease;
}

.campaign-film-steps li + li {
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.campaign-film-steps li::before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 0;
  height: 5px;
  background: var(--campaign-acid);
  content: "";
  transition: width 320ms ease;
}

.campaign-film-steps li[aria-current="step"] {
  opacity: 1;
}

.campaign-film-steps li[aria-current="step"]::before {
  width: 56%;
}

.campaign-film-steps span,
.campaign-film-steps strong,
.campaign-film-steps small {
  display: block;
}

.campaign-film-steps span {
  margin-bottom: 18px;
  color: var(--campaign-acid);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-style: italic;
}

.campaign-film-steps strong {
  margin-bottom: 6px;
  font-size: 15px;
}

.campaign-film-steps small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  line-height: 1.35;
}

.campaign-decision {
  display: grid;
  min-height: 600px;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  align-items: center;
  gap: 8vw;
  padding: 110px 7vw;
  background: var(--campaign-orange);
  color: var(--campaign-ink);
}

.campaign-decision .campaign-section-label {
  color: var(--campaign-ink);
}

.campaign-decision .campaign-section-label::before {
  background: var(--campaign-acid);
}

.campaign-decision h2 {
  font-size: 72px;
}

.campaign-decision h2 em {
  color: var(--campaign-ink);
}

.campaign-decision-copy {
  max-width: 520px;
}

.campaign-decision-copy > p {
  margin: 0 0 30px;
  font-size: 19px;
  line-height: 1.6;
}

.campaign-primary-light {
  background: var(--campaign-ink);
  color: #fff !important;
}

.campaign-text-link {
  display: block;
  width: max-content;
  margin-top: 18px;
}

.campaign-footer {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: 30px;
  padding: 36px 7vw;
  background: var(--campaign-paper);
  color: var(--campaign-ink);
}

.campaign-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 22px;
}

.campaign-footer nav a {
  min-height: 44px;
  padding: 13px 0;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

.campaign-footer > p {
  justify-self: end;
  margin: 0;
  color: #626a63;
  font-size: 12px;
}

.js .campaign-prototype [data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 720ms ease, transform 900ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.js .campaign-prototype [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js .campaign-prototype .campaign-hero-copy > * {
  opacity: 0;
  transform: translateY(22px);
  animation: campaign-intro 760ms cubic-bezier(0.2, 0.72, 0.2, 1) forwards;
}

.js .campaign-prototype .campaign-hero-copy > :nth-child(2) {
  animation-delay: 120ms;
}

.js .campaign-prototype .campaign-hero-copy > :nth-child(3) {
  animation-delay: 240ms;
}

.js .campaign-prototype .campaign-hero-copy > :nth-child(4) {
  animation-delay: 340ms;
}

@keyframes campaign-intro {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (hover: hover) {
  .campaign-primary,
  .campaign-header-cta,
  .campaign-secondary,
  .campaign-text-link,
  .campaign-header nav a,
  .campaign-footer nav a {
    transition: opacity 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
  }

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

  .campaign-header nav a:hover,
  .campaign-footer nav a:hover,
  .campaign-secondary:hover,
  .campaign-text-link:hover {
    opacity: 0.62;
  }
}

@media (max-width: 980px) {
  .campaign-header {
    grid-template-columns: 1fr auto;
  }

  .campaign-header nav {
    display: none;
  }

  .campaign-hero h1 {
    font-size: 74px;
  }

  .campaign-meet,
  .campaign-film-heading,
  .campaign-decision {
    gap: 52px;
  }

  .campaign-meet h2,
  .campaign-film h2,
  .campaign-decision h2 {
    font-size: 54px;
  }

  .campaign-film-composition {
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
  }

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

  .campaign-footer nav {
    display: none;
  }
}

@media (max-width: 760px) {
  .campaign-header {
    min-height: 66px;
    gap: 14px;
    padding: 10px 16px;
  }

  .campaign-mark strong {
    font-size: 21px;
  }

  .campaign-mark span {
    font-size: 16px;
  }

  .campaign-mark small {
    margin-top: 4px;
    font-size: 9px;
  }

  .campaign-header-cta {
    min-height: 44px;
    padding: 12px 14px;
    font-size: 12px;
  }

  .campaign-hero {
    min-height: 94svh;
    padding: 112px 20px 142px;
    background-image: url("https://ekwxqbpeethxkzfkurnz.supabase.co/storage/v1/object/public/wolfies-public-media/v1/f0/f0a9acb4d2e50c888a4b936006ee78ede0a59bf75cd251d535bd7d6c52012bdb.webp");
  }

  .campaign-hero-video {
    object-position: center;
  }

  .campaign-hero-shade {
    background:
      linear-gradient(0deg, rgba(7, 11, 8, 0.94) 0%, rgba(7, 11, 8, 0.24) 56%, rgba(7, 11, 8, 0.5) 100%),
      linear-gradient(90deg, rgba(7, 11, 8, 0.46), transparent 82%);
  }

  .campaign-hero-copy {
    width: 100%;
  }

  .campaign-locator {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .campaign-hero h1 {
    font-size: 52px;
    line-height: 0.92;
  }

  .campaign-hero h1 span {
    font-size: 0.48em;
  }

  .campaign-hero h1 strong {
    margin-top: 4px;
    margin-left: 4%;
  }

  .campaign-hero-note {
    max-width: 390px;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5;
  }

  .campaign-hero-actions {
    display: grid;
    margin-top: 22px;
    grid-template-columns: 1fr auto;
    gap: 16px;
  }

  .campaign-primary {
    padding: 14px 16px;
  }

  .campaign-secondary {
    font-size: 12px;
  }

  .campaign-price-line {
    right: 20px;
    bottom: 18px;
    left: 20px;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    padding-top: 14px;
  }

  .campaign-price-line strong {
    font-size: 16px;
  }

  .campaign-price-line .campaign-price-note {
    display: block;
    grid-column: 1 / -1;
    justify-self: start;
    font-size: 10px;
  }

  .campaign-meet {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 78px 20px 92px;
  }

  .campaign-meet h2,
  .campaign-film h2,
  .campaign-decision h2 {
    font-size: 42px;
  }

  .campaign-meet-copy > p:not(.campaign-section-label) {
    margin: 22px 0 30px;
    font-size: 16px;
  }

  .campaign-meet dl {
    grid-template-columns: 1fr;
  }

  .campaign-meet dl div,
  .campaign-meet dl div + div {
    padding: 14px 0;
    border-left: 0;
  }

  .campaign-meet dl div + div {
    border-top: 1px solid var(--campaign-line);
  }

  .campaign-meet-media {
    width: calc(100% - 14px);
  }

  .campaign-meet-media::before {
    right: -14px;
    bottom: -14px;
  }

  .campaign-meet-media img {
    max-height: none;
    aspect-ratio: 4 / 4.2;
  }

  .campaign-film {
    padding: 82px 20px 74px;
  }

  .campaign-film-heading {
    display: block;
    margin-bottom: 42px;
  }

  .campaign-film-heading .campaign-section-label {
    margin-bottom: 18px;
  }

  .campaign-film-heading > p:last-child {
    margin-top: 22px;
    font-size: 15px;
  }

  .campaign-film-composition {
    display: block;
  }

  .campaign-film-player {
    width: calc(100% - 36px);
    aspect-ratio: 9 / 16;
  }

  .campaign-film-index {
    right: 14px;
    bottom: 14px;
    min-width: 132px;
  }

  .campaign-finish-shot {
    width: 68%;
    margin: -32% 0 0 auto;
  }

  .campaign-finish-shot img {
    box-shadow: -14px -14px 0 var(--campaign-green), -16px -16px 0 rgba(255, 255, 255, 0.35);
  }

  .campaign-finish-shot figcaption {
    display: block;
    line-height: 1.45;
  }

  .campaign-finish-shot figcaption i {
    display: none;
  }

  .campaign-film-steps {
    margin-top: 56px;
    grid-template-columns: repeat(2, 1fr);
  }

  .campaign-film-steps li {
    min-height: 132px;
    padding: 18px 12px 18px 0;
  }

  .campaign-film-steps li + li {
    padding-left: 12px;
  }

  .campaign-film-steps li:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }

  .campaign-film-steps li:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.22);
  }

  .campaign-film-steps li:nth-child(n + 3)::before {
    top: -3px;
  }

  .campaign-film-steps span {
    margin-bottom: 12px;
  }

  .campaign-decision {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 82px 20px;
  }

  .campaign-decision-copy > p {
    font-size: 16px;
  }

  .campaign-footer {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 34px 20px;
  }

  .campaign-footer > p {
    justify-self: start;
  }
}

/* Cinematic concierge prototype: one question at a time, no live submission. */
.quote-concierge-preview {
  --concierge-ink: #f7f8f5;
  --concierge-muted: rgba(247, 248, 245, 0.66);
  --concierge-line: rgba(255, 255, 255, 0.24);
  --concierge-accent: #a8c0ff;
  --concierge-signal: #d9ff57;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
  background: #070a08;
  color: var(--concierge-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

.quote-concierge-preview *,
.quote-concierge-preview *::before,
.quote-concierge-preview *::after {
  box-sizing: border-box;
}

.quote-concierge-preview button,
.quote-concierge-preview input {
  font: inherit;
}

.concierge-skip {
  position: fixed;
  z-index: 200;
  top: 10px;
  left: 10px;
  padding: 12px 16px;
  transform: translateY(-160%);
  background: #fff;
  color: #111;
}

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

.concierge-header {
  position: fixed;
  z-index: 60;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  min-height: 72px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  padding: 12px 28px;
  border-bottom: 1px solid var(--concierge-line);
  background: rgba(7, 10, 8, 0.36);
  backdrop-filter: blur(16px);
}

.concierge-header a {
  color: #fff;
}

.concierge-header > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.concierge-header > a:last-child {
  justify-self: end;
  min-height: 44px;
  padding: 13px 0;
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.concierge-mark {
  display: grid;
  width: max-content;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 0 7px;
  text-decoration: none;
}

.concierge-mark strong {
  font-size: 23px;
  font-weight: 900;
  line-height: 0.9;
}

.concierge-mark span {
  color: var(--concierge-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: italic;
}

.concierge-mark small {
  grid-column: 1 / -1;
  margin-top: 4px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.concierge-shell {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
}

.concierge-film,
.concierge-grade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.concierge-film {
  z-index: -3;
  object-fit: cover;
  object-position: center;
  transition: filter 700ms ease, transform 900ms cubic-bezier(.2, .7, .2, 1);
}

.concierge-grade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(6, 9, 7, 0.94) 0%, rgba(6, 9, 7, 0.76) 48%, rgba(6, 9, 7, 0.22) 100%),
    linear-gradient(0deg, rgba(6, 9, 7, 0.82), transparent 55%, rgba(6, 9, 7, 0.46));
  transition: background 600ms ease;
}

.quote-concierge-preview[data-concierge-scene="2"] .concierge-film,
.quote-concierge-preview[data-concierge-scene="5"] .concierge-film {
  transform: scale(1.035);
  filter: saturate(0.82) contrast(1.08);
}

.quote-concierge-preview[data-concierge-scene="3"] .concierge-grade,
.quote-concierge-preview[data-concierge-scene="7"] .concierge-grade {
  background:
    linear-gradient(90deg, rgba(6, 9, 7, 0.96) 0%, rgba(12, 25, 18, 0.82) 58%, rgba(14, 42, 29, 0.42) 100%),
    linear-gradient(0deg, rgba(6, 9, 7, 0.88), transparent 62%);
}

.concierge-progress {
  position: absolute;
  z-index: 4;
  top: 102px;
  right: 34px;
  display: grid;
  width: 154px;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 9px 16px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.concierge-progress > div {
  grid-column: 1 / -1;
  height: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.22);
}

.concierge-progress i {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--concierge-signal);
  transition: transform 360ms ease;
}

.concierge-progress b {
  color: #fff;
  font-size: 9px;
}

.concierge-flow {
  min-height: 100svh;
  margin: 0;
}

.concierge-scene {
  display: flex;
  width: min(900px, calc(100% - 160px));
  min-height: 100svh;
  flex-direction: column;
  justify-content: center;
  padding: 124px 0 106px max(7vw, 72px);
}

.concierge-scene[hidden] {
  display: none;
}

.concierge-scene.is-entering > * {
  animation: concierge-enter 520ms cubic-bezier(.2, .7, .2, 1) both;
}

.concierge-scene.is-entering > :nth-child(2) {
  animation-delay: 45ms;
}

.concierge-scene.is-entering > :nth-child(3) {
  animation-delay: 90ms;
}

.concierge-scene.is-entering > :nth-child(4) {
  animation-delay: 135ms;
}

@keyframes concierge-enter {
  from { transform: translateY(22px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.concierge-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: var(--concierge-signal);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.concierge-kicker::after {
  width: 54px;
  height: 1px;
  background: currentColor;
  content: "";
}

.concierge-scene h1,
.concierge-scene h2 {
  max-width: 840px;
  margin: 0;
  font-size: 78px;
  font-weight: 900;
  line-height: 0.92;
}

.concierge-scene h1 em,
.concierge-scene h2 em {
  color: var(--concierge-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.concierge-lede,
.concierge-service-copy {
  max-width: 650px;
  margin: 28px 0 0;
  color: var(--concierge-muted);
  font-size: 17px;
  line-height: 1.6;
}

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

.concierge-actions button:first-child {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 16px 20px;
  border: 0;
  background: #fff;
  color: #101411;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.concierge-actions a,
.concierge-text-button {
  min-height: 46px;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.concierge-promise {
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
}

.concierge-answer-grid {
  display: grid;
  max-width: 900px;
  margin-top: 42px;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--concierge-line);
  border-bottom: 1px solid var(--concierge-line);
}

.concierge-answer-grid button {
  display: grid;
  min-height: 154px;
  grid-template-columns: 42px 1fr;
  align-content: center;
  gap: 7px 18px;
  padding: 22px 28px 22px 0;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.concierge-answer-grid button:nth-child(even) {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid var(--concierge-line);
}

.concierge-answer-grid button:nth-child(n + 3) {
  border-top: 1px solid var(--concierge-line);
}

.concierge-answer-grid button > span {
  grid-row: 1 / span 2;
  color: var(--concierge-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: italic;
}

.concierge-answer-grid button > strong {
  font-size: 19px;
}

.concierge-answer-grid button > small {
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  line-height: 1.45;
}

.concierge-answer-grid button.is-selected {
  background: #fff;
  color: #101411;
}

.concierge-answer-grid button.is-selected > small {
  color: rgba(16, 20, 17, 0.66);
}

.concierge-line-field {
  display: grid;
  max-width: 900px;
  margin-top: 34px;
  gap: 10px;
}

.concierge-line-field > span {
  color: rgba(255, 255, 255, 0.58);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.concierge-line-field input {
  width: 100%;
  min-height: 58px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--concierge-line);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-size: 24px;
}

.concierge-line-field input:focus {
  border-bottom-color: var(--concierge-signal);
}

.concierge-line-field input::placeholder {
  color: rgba(255, 255, 255, 0.38);
}

.concierge-recommendation h2 {
  color: #fff;
  font-size: 92px;
}

.concierge-price {
  margin: 14px 0 0;
  color: var(--concierge-signal);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  font-style: italic;
}

.concierge-recommendation-line {
  display: grid;
  max-width: 900px;
  margin-top: 38px;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--concierge-line);
  border-bottom: 1px solid var(--concierge-line);
}

.concierge-recommendation-line span {
  min-height: 74px;
  padding: 21px 20px 18px 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  line-height: 1.45;
}

.concierge-recommendation-line span + span {
  padding-left: 20px;
  border-left: 1px solid var(--concierge-line);
}

.concierge-photo-control {
  display: grid;
  max-width: 720px;
  min-height: 190px;
  margin-top: 38px;
  grid-template-columns: 68px 1fr;
  align-content: center;
  gap: 4px 24px;
  padding: 30px 34px;
  border: 1px solid var(--concierge-line);
  background: rgba(7, 10, 8, 0.28);
  cursor: pointer;
}

.concierge-photo-control input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.concierge-photo-control > span {
  grid-row: 1 / span 2;
  font-size: 52px;
  font-weight: 200;
}

.concierge-photo-control strong {
  align-self: end;
  font-size: 22px;
}

.concierge-photo-control small {
  color: var(--concierge-muted);
  font-size: 12px;
}

.concierge-contact-fields {
  display: grid;
  max-width: 900px;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.concierge-summary dl {
  display: grid;
  max-width: 900px;
  margin: 38px 0 0;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--concierge-line);
}

.concierge-summary dl div {
  display: grid;
  min-height: 82px;
  align-content: center;
  gap: 7px;
  padding: 16px 24px 16px 0;
  border-bottom: 1px solid var(--concierge-line);
}

.concierge-summary dl div:nth-child(even) {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid var(--concierge-line);
}

.concierge-summary dt {
  color: rgba(255, 255, 255, 0.5);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.concierge-summary dd {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
}

.concierge-summary-note {
  max-width: 720px;
  margin: 26px 0 0;
  color: var(--concierge-muted);
  font-size: 13px;
  line-height: 1.55;
}

.concierge-preview-stop {
  min-height: 48px;
  margin-top: 24px;
  padding: 14px 18px;
  border: 1px solid var(--concierge-line);
  background: transparent;
  color: rgba(255, 255, 255, 0.66);
}

.concierge-controls {
  position: absolute;
  z-index: 5;
  right: 32px;
  bottom: 20px;
  left: 32px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 10px;
}

.concierge-controls button {
  justify-self: start;
  min-height: 42px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.concierge-controls button:disabled {
  opacity: 0;
  pointer-events: none;
}

.concierge-controls p {
  margin: 0;
}

.concierge-controls > span {
  justify-self: end;
  text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
  .concierge-answer-grid button {
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  }

  .concierge-answer-grid button:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.1);
  }
}

@media (max-width: 900px) {
  .concierge-header {
    grid-template-columns: 1fr auto;
  }

  .concierge-header > p {
    display: none;
  }

  .concierge-progress {
    top: 94px;
    right: 20px;
  }

  .concierge-scene {
    width: calc(100% - 40px);
    padding-right: 0;
    padding-left: 0;
    margin: 0 auto;
  }
}

@media (max-width: 760px) {
  .quote-concierge-preview {
    overflow-y: auto;
  }

  .concierge-header {
    min-height: 64px;
    padding: 10px 16px;
  }

  .concierge-header > a:last-child {
    min-height: 42px;
  }

  .concierge-progress {
    top: 82px;
    right: 18px;
    width: 126px;
  }

  .concierge-shell,
  .concierge-flow,
  .concierge-scene {
    min-height: 100svh;
  }

  .concierge-film {
    position: fixed;
    object-position: 58% center;
  }

  .concierge-grade {
    position: fixed;
    background:
      linear-gradient(0deg, rgba(6, 9, 7, 0.97) 0%, rgba(6, 9, 7, 0.75) 56%, rgba(6, 9, 7, 0.42) 100%),
      linear-gradient(90deg, rgba(6, 9, 7, 0.42), transparent);
  }

  .concierge-scene {
    justify-content: flex-end;
    padding: 142px 0 114px;
  }

  .concierge-kicker {
    margin-bottom: 14px;
    font-size: 9px;
  }

  .concierge-scene h1,
  .concierge-scene h2 {
    font-size: 48px;
    line-height: 0.94;
  }

  .concierge-lede,
  .concierge-service-copy {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5;
  }

  .concierge-actions {
    display: grid;
    gap: 12px;
    margin-top: 24px;
  }

  .concierge-actions button:first-child {
    width: 100%;
  }

  .concierge-actions a,
  .concierge-text-button {
    width: max-content;
  }

  .concierge-promise {
    margin-top: 16px;
  }

  .concierge-answer-grid {
    max-height: 54svh;
    margin-top: 24px;
    grid-template-columns: 1fr;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .concierge-answer-grid button,
  .concierge-answer-grid button:nth-child(even) {
    min-height: 104px;
    padding: 16px 12px 16px 0;
    border-left: 0;
  }

  .concierge-answer-grid button + button,
  .concierge-answer-grid button:nth-child(n + 3) {
    border-top: 1px solid var(--concierge-line);
  }

  .concierge-answer-grid button > strong {
    font-size: 17px;
  }

  .concierge-line-field {
    margin-top: 22px;
  }

  .concierge-line-field input {
    min-height: 52px;
    font-size: 19px;
  }

  .concierge-recommendation h2 {
    font-size: 58px;
  }

  .concierge-price {
    font-size: 30px;
  }

  .concierge-recommendation-line {
    margin-top: 26px;
    grid-template-columns: 1fr;
  }

  .concierge-recommendation-line span {
    min-height: 0;
    padding: 12px 0;
  }

  .concierge-recommendation-line span + span {
    padding-left: 0;
    border-top: 1px solid var(--concierge-line);
    border-left: 0;
  }

  .concierge-photo-control {
    min-height: 150px;
    margin-top: 26px;
    grid-template-columns: 48px 1fr;
    padding: 22px;
  }

  .concierge-photo-control > span {
    font-size: 40px;
  }

  .concierge-contact-fields {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .concierge-summary dl {
    margin-top: 24px;
    grid-template-columns: 1fr;
  }

  .concierge-summary dl div,
  .concierge-summary dl div:nth-child(even) {
    min-height: 58px;
    padding: 10px 0;
    border-left: 0;
  }

  .concierge-controls {
    right: 18px;
    bottom: 12px;
    left: 18px;
    grid-template-columns: 1fr auto;
  }

  .concierge-controls p {
    display: none;
  }

  .concierge-controls > span {
    font-size: 8px;
  }
}

@media (max-width: 380px) {
  .concierge-scene h1,
  .concierge-scene h2 {
    font-size: 43px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .concierge-film,
  .concierge-grade,
  .concierge-progress i {
    transition: none;
  }

  .concierge-scene.is-entering > * {
    animation: none;
  }
}

@media (max-width: 360px) {
  .campaign-hero h1 {
    font-size: 46px;
  }

  .campaign-hero-actions {
    grid-template-columns: 1fr;
  }

  .campaign-secondary {
    width: max-content;
  }
}

/* Quote restraint pass: two decisions, quiet typography, and motion with less theater. */
.quote-cinematic-intro {
  min-height: 100svh;
  padding-right: clamp(24px, 6vw, 88px);
  padding-left: clamp(24px, 6vw, 88px);
}

.quote-intro-frame {
  display: none;
}

.quote-intro-scene {
  filter: saturate(.82) contrast(1.06) brightness(.7);
  transform: scale(1.015);
}

.quote-cinematic-intro.is-ready .quote-intro-scene {
  transform: scale(1.055);
}

.quote-intro-grade {
  background:
    linear-gradient(90deg, rgba(5,8,12,.88) 0%, rgba(5,8,12,.48) 46%, rgba(5,8,12,.08) 78%),
    linear-gradient(0deg, rgba(5,8,12,.78) 0%, transparent 58%);
}

.quote-intro-copy {
  width: min(760px, 67vw);
  margin: 0 0 10vh;
}

.quote-intro-kicker {
  margin-bottom: 24px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 650;
  text-transform: none;
}

.quote-intro-kicker i {
  width: 28px;
  background: rgba(255,255,255,.5);
}

.quote-intro-copy h1 {
  max-width: 10ch;
  font-size: clamp(62px, 7.4vw, 112px);
  font-weight: 650;
  line-height: .93;
}

.quote-intro-copy h1 span {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .76em;
  font-style: italic;
  font-weight: 400;
  white-space: normal;
  -webkit-text-stroke: 0;
}

.quote-intro-copy > p:not(.quote-intro-kicker) {
  max-width: 520px;
  margin-top: 28px;
  color: rgba(255,255,255,.76);
  font-size: 16px;
}

.quote-intro-actions {
  gap: 24px;
  margin-top: 28px;
}

.quote-intro-primary {
  width: 206px;
  background: #f3f1eb;
  box-shadow: none;
}

.quote-intro-primary:hover {
  background: #fff;
  color: #080d14 !important;
  transform: translateY(-1px);
}

.quote-intro-prices {
  top: calc(var(--header-height) + 38px);
  right: clamp(24px, 4vw, 58px);
  display: grid;
  width: min(390px, 38vw);
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(5,8,12,.34);
  backdrop-filter: blur(14px);
}

.quote-intro-prices p {
  gap: 6px;
  padding: 17px 20px;
  text-align: left;
}

.quote-intro-prices p + p {
  border-left: 1px solid rgba(255,255,255,.2);
}

.quote-intro-prices span {
  color: rgba(255,255,255,.66);
  font-size: 10px;
  letter-spacing: 0;
  text-transform: none;
}

.quote-intro-prices strong {
  font-size: 18px;
  font-weight: 650;
}

.quote-intro-prices small {
  grid-column: 1 / -1;
  padding: 11px 20px 13px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.58);
  font-size: 10px;
}

.quote-intro-promise {
  right: clamp(24px, 4vw, 58px);
  bottom: 36px;
  display: block;
  color: rgba(255,255,255,.68);
  font-size: 11px;
  font-weight: 600;
  text-align: right;
  text-transform: none;
}

.quote-intro-promise::before {
  display: inline-block;
  width: 24px;
  height: 1px;
  margin: 0 10px 3px 0;
  background: rgba(255,255,255,.46);
  content: "";
}

.public-site.booking-public.cinematic-quote .booking-quote-section {
  grid-template-columns: minmax(350px, 42vw) minmax(0, 1fr);
  background: #efede7;
  color: #171a18;
}

.quote-cinematic-story {
  border-right-color: rgba(255,255,255,.14);
}

.quote-story-grade {
  background: linear-gradient(0deg, rgba(5,8,10,.94) 0%, rgba(5,8,10,.12) 76%);
}

.quote-story-copy > p:first-child {
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 650;
  text-transform: none;
}

.quote-story-copy h2 {
  font-size: clamp(46px, 5.3vw, 78px);
  font-weight: 600;
  line-height: .96;
  text-transform: none;
}

.quote-story-copy h2 span {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.quote-cinematic-story dl {
  grid-template-columns: 1fr 1fr;
}

.quote-cinematic-workspace {
  padding: 104px clamp(34px, 6vw, 92px) 96px;
  background: #efede7;
}

.quote-cinematic-workspace::before {
  display: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head {
  border-color: rgba(23,26,24,.22);
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow {
  padding-left: 0;
  color: #5c6573;
  font-size: 11px;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow::before {
  display: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2,
.public-site.booking-public.cinematic-quote .quote-form-intro strong,
.public-site.booking-public.cinematic-quote .quote-stage-heading h3,
.public-site.booking-public.cinematic-quote .quote-form label,
.public-site.booking-public.cinematic-quote .quote-fieldset legend,
.public-site.booking-public.cinematic-quote .quote-step-field > span,
.public-site.booking-public.cinematic-quote .quote-photo-card label {
  color: #171a18;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2 {
  max-width: 620px;
  font-size: clamp(38px, 4.2vw, 62px);
  font-weight: 600;
  line-height: 1;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head > p:last-child,
.public-site.booking-public.cinematic-quote .quote-form-intro span,
.public-site.booking-public.cinematic-quote .quote-stage-heading p,
.public-site.booking-public.cinematic-quote .quote-form small {
  color: #646b67;
}

.public-site.booking-public.cinematic-quote .quote-form-intro,
.public-site.booking-public.cinematic-quote .quote-guide-actions,
.public-site.booking-public.cinematic-quote .quote-support-panel {
  border-color: rgba(23,26,24,.18);
}

.public-site.booking-public.cinematic-quote .quote-form-path {
  border-color: rgba(23,26,24,.2);
}

.public-site.booking-public.cinematic-quote .quote-form-path span {
  color: #7b807d;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-form-path span + span {
  border-left: 0;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-active {
  background: transparent;
  box-shadow: inset 0 -2px 0 #171a18;
  color: #171a18;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-done {
  color: #394c68;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-done::after {
  content: "";
}

.public-site.booking-public.cinematic-quote .quote-intent-note {
  border-left-color: #7989a3;
  color: #59605c;
}

.public-site.booking-public.cinematic-quote .quote-stage-heading > span,
.public-site.booking-public.cinematic-quote .smart-estimate-head > span {
  color: #65758e;
}

.public-site.booking-public.cinematic-quote .quote-guide-stage.is-entering {
  animation-duration: .36s;
}

@keyframes quote-stage-enter {
  from { opacity: 0; transform: translate3d(0, 12px, 0); }
  to { opacity: 1; transform: none; }
}

.public-site.booking-public.cinematic-quote .quote-form input:not([type="checkbox"]):not([type="file"]),
.public-site.booking-public.cinematic-quote .quote-form select,
.public-site.booking-public.cinematic-quote .quote-form textarea {
  border-color: rgba(23,26,24,.22);
  background: #fbfaf7;
  color: #171a18;
}

.public-site.booking-public.cinematic-quote .quote-form input::placeholder,
.public-site.booking-public.cinematic-quote .quote-form textarea::placeholder {
  color: #989d99;
}

.public-site.booking-public.cinematic-quote .quote-form select {
  color-scheme: light;
}

.public-site.booking-public.cinematic-quote .quote-form input:focus,
.public-site.booking-public.cinematic-quote .quote-form select:focus,
.public-site.booking-public.cinematic-quote .quote-form textarea:focus {
  border-color: #65758e;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(101,117,142,.12);
}

.public-site.booking-public.cinematic-quote .quote-fieldset,
.public-site.booking-public.cinematic-quote .smart-quote-panel,
.public-site.booking-public.cinematic-quote .quote-photo-card,
.public-site.booking-public.cinematic-quote .photo-preview-panel,
.public-site.booking-public.cinematic-quote .quote-guide-summary,
.public-site.booking-public.cinematic-quote .quote-submit-note,
.public-site.booking-public.cinematic-quote .smart-estimate-card,
.public-site.booking-public.cinematic-quote .quote-assurance,
.public-site.booking-public.cinematic-quote .quote-support-drawer {
  border-color: rgba(23,26,24,.16);
  background: rgba(255,255,255,.42);
  color: #171a18;
}

.public-site.booking-public.cinematic-quote .quote-fieldset label,
.public-site.booking-public.cinematic-quote .smart-quote-panel > span,
.public-site.booking-public.cinematic-quote .smart-quote-panel p,
.public-site.booking-public.cinematic-quote .smart-quote-panel li,
.public-site.booking-public.cinematic-quote .quote-photo-card span,
.public-site.booking-public.cinematic-quote .smart-estimate-card p,
.public-site.booking-public.cinematic-quote .smart-estimate-card small,
.public-site.booking-public.cinematic-quote .quote-assurance span {
  color: #626965;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel {
  border-left-color: #7989a3;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel strong,
.public-site.booking-public.cinematic-quote .quote-photo-card strong,
.public-site.booking-public.cinematic-quote .smart-estimate-head strong,
.public-site.booking-public.cinematic-quote .quote-assurance strong,
.public-site.booking-public.cinematic-quote .quote-support-drawer summary {
  color: #171a18;
}

.public-site.booking-public.cinematic-quote .service-upgrade-button {
  border-color: #171a18;
  background: #171a18;
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-guide-next,
.public-site.booking-public.cinematic-quote .quote-submit-button {
  background: #171a18;
  color: #fff;
  box-shadow: none;
}

.public-site.booking-public.cinematic-quote .quote-guide-next:hover,
.public-site.booking-public.cinematic-quote .quote-submit-button:hover {
  background: #303633;
}

.public-site.booking-public.cinematic-quote .quote-guide-back {
  border-color: rgba(23,26,24,.3);
  color: #171a18;
}

.public-site.booking-public.cinematic-quote .smart-estimate-card .smart-estimate-tags span {
  border-color: rgba(101,117,142,.24);
  background: rgba(101,117,142,.08);
  color: #52627a;
}

.js .cinematic-quote [data-quote-reveal] {
  transform: translate3d(0, 20px, 0);
}

@media (max-width: 760px) {
  .quote-cinematic-intro {
    min-height: 780px;
    padding-right: 18px;
    padding-left: 18px;
  }

  .quote-intro-scene {
    filter: saturate(.82) contrast(1.06) brightness(.64);
  }

  .quote-intro-prices {
    top: calc(var(--header-height) + 18px);
    right: 18px;
    left: 18px;
    width: auto;
  }

  .quote-intro-prices p {
    padding: 13px 15px;
  }

  .quote-intro-prices small {
    padding: 9px 15px 11px;
  }

  .quote-intro-copy {
    width: 100%;
    margin: 0 0 104px;
    padding: 0 10px;
  }

  .quote-intro-copy h1 {
    max-width: 9.5ch;
    font-size: clamp(48px, 14vw, 64px);
    line-height: .94;
  }

  .quote-intro-copy h1 span {
    font-size: .72em;
  }

  .quote-intro-actions {
    gap: 16px;
  }

  .quote-intro-promise {
    right: 28px;
    bottom: 34px;
  }

  .quote-cinematic-workspace {
    padding-top: 66px;
    background: #efede7;
  }

  .public-site.booking-public.cinematic-quote .quote-guide-actions {
    border-color: rgba(23,26,24,.16);
    background: rgba(239,237,231,.92);
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-prototype *,
  .campaign-prototype *::before,
  .campaign-prototype *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .js .campaign-prototype [data-reveal],
  .js .campaign-prototype .campaign-hero-copy > * {
    opacity: 1;
    transform: none;
  }
}

/* Quote journey study. The production quote page remains untouched for review. */
.quote-journey-preview .quote-cinematic-intro {
  display: none;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section {
  min-height: 100svh;
  grid-template-columns: minmax(360px, 0.76fr) minmax(620px, 1.24fr);
  align-items: stretch;
  background: #eeece6;
}

.quote-journey-preview .quote-cinematic-story {
  position: sticky;
  top: 0;
  min-height: 100svh;
  align-self: start;
}

.quote-journey-preview .quote-cinematic-story video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quote-journey-preview .quote-story-grade {
  background:
    linear-gradient(0deg, rgba(7, 11, 8, 0.94) 0%, rgba(7, 11, 8, 0.28) 58%, rgba(7, 11, 8, 0.54) 100%),
    linear-gradient(90deg, rgba(7, 11, 8, 0.42), transparent 82%);
}

.quote-journey-preview .quote-story-copy {
  top: auto;
  right: 38px;
  bottom: 132px;
  left: 38px;
  transform: none;
}

.quote-journey-preview .quote-story-copy > p:first-child {
  color: var(--campaign-acid);
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .quote-story-copy h2 {
  font-size: 56px;
}

.quote-journey-preview .quote-story-copy h2 span {
  color: #a8c0ff;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.quote-journey-preview .quote-cinematic-workspace {
  padding: 112px max(5vw, 58px) 100px;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head {
  max-width: 820px;
  padding-bottom: 30px;
  border-bottom: 0;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head .flow-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #315b9d;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head h2 {
  font-size: 62px;
  line-height: 0.94;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head > p:last-of-type {
  max-width: 640px;
  margin-top: 18px;
}

.quote-preview-choices {
  display: grid;
  margin-top: 34px;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(16, 20, 17, 0.28);
  border-bottom: 1px solid rgba(16, 20, 17, 0.28);
}

.quote-preview-choices button {
  min-width: 0;
  min-height: 174px;
  padding: 25px 28px 24px 0;
  border: 0;
  background: transparent;
  color: #101411;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.quote-preview-choices button + button {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid rgba(16, 20, 17, 0.28);
}

.quote-preview-choices button > span,
.quote-preview-choices button > strong,
.quote-preview-choices button > b,
.quote-preview-choices button > small {
  display: block;
}

.quote-preview-choices button > span {
  margin-bottom: 18px;
  color: #68706d;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.quote-preview-choices button > strong {
  font-size: 24px;
  line-height: 1;
}

.quote-preview-choices button > b {
  margin-top: 8px;
  color: #315b9d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-style: italic;
  font-weight: 400;
}

.quote-preview-choices button > small {
  margin-top: 14px;
  color: #646b67;
  font-size: 12px;
  line-height: 1.45;
}

.quote-preview-choices button[aria-pressed="true"] {
  background: #101411;
  color: #fff;
}

.quote-preview-choices button[aria-pressed="true"] > span,
.quote-preview-choices button[aria-pressed="true"] > small {
  color: rgba(255, 255, 255, 0.64);
}

.quote-preview-choices button[aria-pressed="true"] > b {
  color: var(--campaign-acid);
}

.quote-preview-unsure {
  min-height: 44px;
  margin-top: 10px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: #555d59;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.quote-preview-unsure[aria-pressed="true"] {
  border-bottom-color: #101411;
  color: #101411;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-form {
  max-width: 820px;
  margin-top: 30px;
}

.quote-journey-preview .quote-form-intro {
  padding-bottom: 11px;
}

.quote-journey-preview .quote-form-path {
  margin-top: 16px;
}

.quote-journey-preview .quote-guide {
  margin-top: 30px;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .quote-stage-heading h3 {
  font-size: 35px;
}

.quote-journey-preview .quote-guide-actions {
  position: sticky;
  z-index: 4;
  bottom: 0;
  margin-right: -12px;
  margin-left: -12px;
  padding: 14px 12px;
  background: rgba(238, 236, 230, 0.94);
  backdrop-filter: blur(14px);
}

.quote-journey-preview .quote-support-panel {
  max-width: 820px;
}

.quote-journey-preview [data-quote-preview-form] .quote-submit-button {
  cursor: default;
}

@media (hover: hover) and (pointer: fine) {
  .quote-preview-choices button {
    transition: background 180ms ease, color 180ms ease;
  }

  .quote-preview-choices button:hover {
    background: rgba(16, 20, 17, 0.06);
  }

  .quote-preview-choices button[aria-pressed="true"]:hover {
    background: #101411;
  }
}

@media (max-width: 980px) {
  .public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section {
    grid-template-columns: 1fr;
  }

  .quote-journey-preview .quote-cinematic-story {
    position: relative;
    min-height: 48svh;
  }

  .quote-journey-preview .quote-story-copy {
    bottom: 94px;
  }

  .quote-journey-preview .quote-cinematic-workspace {
    padding: 78px 8vw 90px;
  }
}

@media (max-width: 760px) {
  .quote-journey-preview .quote-cinematic-story {
    min-height: 44svh;
  }

  .quote-journey-preview .quote-story-copy {
    right: 20px;
    bottom: 78px;
    left: 20px;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-story-copy h2 {
    font-size: 40px;
  }

  .quote-journey-preview .quote-story-copy > p:last-child {
    display: none;
  }

  .quote-journey-preview .quote-cinematic-story dl {
    right: 20px;
    bottom: 18px;
    left: 20px;
  }

  .quote-journey-preview .quote-cinematic-workspace {
    padding: 66px 18px 88px;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head h2 {
    font-size: 45px;
  }

  .quote-preview-choices {
    display: block;
    margin-top: 28px;
  }

  .quote-preview-choices button,
  .quote-preview-choices button + button {
    width: 100%;
    min-height: 132px;
    padding: 20px 18px;
    border-left: 0;
  }

  .quote-preview-choices button + button {
    border-top: 1px solid rgba(16, 20, 17, 0.28);
  }

  .quote-preview-choices button > span {
    margin-bottom: 12px;
  }

  .quote-preview-choices button > small {
    margin-top: 9px;
  }

  .quote-preview-unsure {
    width: 100%;
    text-align: left;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-form {
    margin-top: 24px;
  }

  .quote-journey-preview .quote-guide-actions {
    margin-right: -18px;
    margin-left: -18px;
    padding-right: 18px;
    padding-left: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .quote-preview-choices button {
    transition: none;
  }
}

.motion-lite .campaign-prototype [data-reveal],
.motion-lite .campaign-prototype .campaign-hero-copy > * {
  opacity: 1;
  transform: none;
  animation: none;
}

.cinematic-home,
.cinematic-home * { box-sizing: border-box; }
.cinematic-home { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--black); color: var(--white); letter-spacing: 0; }
.cinematic-home a { color: inherit; text-decoration: none; }
.cinematic-home img { display: block; max-width: 100%; }
.cinematic-home a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.cinematic-home .skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; background: #fff; color: #111; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.masthead { position: fixed; z-index: 30; top: 0; left: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; height: var(--header-height); padding: env(safe-area-inset-top) max(30px, env(safe-area-inset-right)) 0 max(30px, env(safe-area-inset-left)); border-bottom: 1px solid rgba(255,255,255,.17); background: rgba(2,4,6,.68); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.mini-mark { display: flex; align-items: center; gap: 8px; width: max-content; min-height: var(--touch-target); }
.mini-mark strong { font-size: 18px; font-weight: 900; }
.mini-mark span { display: grid; place-items: center; width: 27px; height: 20px; border: 1px solid rgba(255,255,255,.62); font-size: 8px; font-weight: 900; }
.masthead > p { margin: 0; color: rgba(255,255,255,.63); font-size: 10px; }
.masthead > a:last-child { justify-self: end; display: grid; place-items: center; min-height: var(--touch-target); padding: 0 16px; border: 1px solid rgba(255,255,255,.78); font-size: 11px; font-weight: 850; transition: background .2s ease, color .2s ease; }
.masthead > a:last-child:hover { background: #fff; color: #080b0e; }

.scene-rail { position: fixed; z-index: 24; top: 50%; right: 23px; display: grid; gap: 2px; width: 92px; padding: 10px 11px; border-left: 1px solid rgba(255,255,255,.34); background: rgba(2,4,6,.48); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transform: translateY(-50%); }
.scene-rail a { display: grid; grid-template-columns: 8px 1fr; align-items: center; gap: 7px; min-height: 30px; color: rgba(255,255,255,.56); font-size: 8px; font-weight: 850; text-transform: uppercase; transition: color .18s ease; }
.scene-rail a::before { width: 3px; height: 3px; background: currentColor; content: ""; transition: width .18s ease; }
.scene-rail a:hover,
.scene-rail a[aria-current="step"] { color: #fff; }
.scene-rail a[aria-current="step"]::before { width: 8px; background: #8fb3ff; }
.scene-rail .scene-rail-quote { margin-top: 3px; color: #fff; }
.scene-rail .scene-rail-quote::before { background: var(--orange); }
.scene-anchor { position: absolute; left: 0; width: 1px; height: 1px; pointer-events: none; scroll-margin-top: var(--header-height); }
.scene-anchor-work { top: 90svh; }
.scene-anchor-interior { top: 72svh; }
.scene-anchor-finish { top: 0; }

.campaign { position: relative; height: var(--campaign-scroll-height); background: var(--black); }
.campaign-pin { position: sticky; top: 0; isolation: isolate; height: 100svh; overflow: hidden; touch-action: pan-y; }
.scene { position: absolute; z-index: -4; inset: 0; width: 100%; height: 100%; }
.scene-picture,
.scene-layer,
.scene-grade { position: absolute; inset: 0; width: 100%; height: 100%; }
.scene-picture:nth-of-type(1) { z-index: 0; }
.scene-picture:nth-of-type(2) { z-index: 1; }
.scene-picture:nth-of-type(3) { z-index: 2; }
.scene-layer { object-fit: cover; object-position: 51% 57%; will-change: opacity, transform, clip-path; }
.scene-before { opacity: 1; filter: saturate(.4) contrast(1.22) brightness(.53); transform: translate3d(var(--before-x, -28px), var(--before-y, 46px), 0) scale(var(--before-scale, 2.08)); }
.scene-foam { opacity: var(--foam-opacity, 0); filter: saturate(.3) contrast(1.23) brightness(.63); transform: translate3d(0, var(--foam-y, 24px), 0) scale(var(--foam-scale, 1.28)); }
.scene-after { object-position: 51% 53%; clip-path: polygon(0 0, var(--after-top, 0%) 0, var(--after-bottom, 0%) 100%, 0 100%); filter: saturate(.52) contrast(1.22) brightness(.62); transform: translate3d(var(--after-x, 18px), 0, 0) scale(var(--after-scale, 1.13)); }
.scene-grade { z-index: 3; background: linear-gradient(90deg, rgba(2,4,6,.82) 0%, rgba(2,4,6,.2) 48%, rgba(2,4,6,.18) 100%); opacity: var(--grade-opacity, 1); }

.frame { position: absolute; inset: 94px 24px 24px; pointer-events: none; }
.frame i { position: absolute; width: 23px; height: 23px; border-color: rgba(255,255,255,.43); }
.frame i:nth-child(1) { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.frame i:nth-child(2) { top: 0; right: 0; border-top: 1px solid; border-right: 1px solid; }
.frame i:nth-child(3) { right: 0; bottom: 0; border-right: 1px solid; border-bottom: 1px solid; }
.frame i:nth-child(4) { bottom: 0; left: 0; border-bottom: 1px solid; border-left: 1px solid; }

.campaign-brand { position: absolute; z-index: 3; left: 6.5vw; bottom: 15vh; width: min(980px, 78vw); opacity: var(--brand-opacity, 1); transform: translateY(var(--brand-y, 0)) scale(var(--brand-scale, 1)); transform-origin: left bottom; will-change: opacity, transform; }
.campaign-brand > p { margin: 0 0 17px 4px; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.campaign-brand h1 { position: relative; height: 150px; margin: 0; overflow: visible; font-size: 185px; font-weight: 900; line-height: .78; }
.campaign-brand h1 span { position: absolute; inset: 0 auto auto 0; }
.wolf-top { clip-path: polygon(0 0, 100% 0, 100% 49%, 0 49%); transform: translate3d(var(--wolf-top-x, -24px), 0, 0); }
.wolf-bottom { clip-path: polygon(0 51%, 100% 51%, 100% 100%, 0 100%); color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.94); transform: translate3d(var(--wolf-bottom-x, 44px), 0, 0); }
.brand-base { display: flex; align-items: center; gap: 14px; margin: 12px 0 0 5px; }
.brand-base strong { font-size: 16px; }
.brand-base b { display: grid; place-items: center; width: 35px; height: 25px; border: 1px solid rgba(255,255,255,.65); font-size: 9px; }
.brand-base span { color: rgba(255,255,255,.64); font-size: 10px; }

.campaign-stage { position: absolute; left: 6.5vw; bottom: 17vh; opacity: 0; transform: translateY(36px); will-change: opacity, transform; }
.campaign-stage > p { margin: 0 0 18px 3px; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.campaign-stage h2 { display: grid; margin: 0; font-size: 116px; font-weight: 900; line-height: .82; }
.campaign-stage h2 strong { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.94); }
.stage-work { opacity: var(--work-opacity, 0); transform: translateY(var(--work-y, 36px)); }
.stage-result { opacity: var(--result-opacity, 0); transform: translateY(var(--result-y, 36px)); }
.stage-inspection { opacity: var(--inspection-opacity, 0); transform: translateY(var(--inspection-y, 28px)); }
.campaign-stage > p { display: flex; align-items: center; gap: 10px; }
.campaign-stage > p i { width: 38px; height: 1px; background: rgba(255,255,255,.55); }

.campaign-primary { display: flex; align-items: center; justify-content: space-between; width: 190px; min-height: 49px; margin: 27px 0 0 5px; padding: 0 17px; background: #fff; color: #080b0e !important; font-size: 11px; font-weight: 850; }

.progress { position: absolute; top: 102px; right: 39px; display: grid; grid-template-columns: auto 42px auto 42px auto; align-items: center; gap: 9px; color: rgba(255,255,255,.44); font-size: 9px; font-weight: 850; }
.progress i { width: 42px; height: 1px; background: rgba(255,255,255,.26); }
.progress > b { grid-column: 1 / -1; justify-self: end; color: #fff; font-size: 9px; text-transform: uppercase; }
.price-lockup { position: absolute; right: 42px; bottom: 38px; display: flex; gap: 30px; opacity: var(--price-opacity, 1); transform: translate3d(0, var(--price-y, 0), 0); }
.price-lockup p { display: grid; gap: 3px; margin: 0; font-size: 9px; }
.price-lockup strong { font-size: 17px; }
.scroll-note { position: absolute; left: 43px; bottom: 38px; display: flex; align-items: center; gap: 10px; margin: 0; font-size: 9px; font-weight: 850; opacity: var(--scroll-opacity, 1); }
.scroll-note b { font-size: 17px; }
.cinematic-home .campaign-quote { position: absolute; right: 42px; bottom: 34px; display: flex; align-items: center; justify-content: space-between; gap: 50px; min-height: 50px; padding: 0 18px; background: #fff; color: #080b0e; font-size: 12px; font-weight: 850; opacity: var(--quote-opacity, 0); pointer-events: var(--quote-events, none); transform: translate3d(0, var(--quote-y, 14px), 0); }

.craft { position: relative; height: var(--craft-scroll-height); background: #07090b; }
.craft-pin { position: sticky; top: 0; isolation: isolate; height: 100svh; overflow: hidden; }
.craft-copy { position: absolute; z-index: 3; top: 24vh; left: 5vw; width: 33vw; opacity: var(--craft-copy-opacity, 1); }
.craft-copy > p:first-child { display: flex; align-items: center; gap: 10px; margin: 0 0 26px; color: #8eabdf; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.craft-copy > p:first-child i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.craft-copy h2 { margin: 0; font-size: clamp(58px, 5.5vw, 84px); font-weight: 900; line-height: .85; }
.craft-copy h2 span { color: transparent; -webkit-text-stroke: 1.4px rgba(255,255,255,.94); }
.craft-note { max-width: 390px; margin: 29px 0 0; color: #a5adb5; font-size: 14px; line-height: 1.6; }
.craft-track { position: absolute; z-index: 1; top: 116px; left: 43vw; display: flex; align-items: stretch; gap: 2vw; height: calc(100svh - 166px); transform: translate3d(var(--craft-x, 0px), var(--craft-y, 0px), 0); will-change: transform; }
.craft-shot { position: relative; flex: 0 0 41vw; height: 100%; margin: 0; overflow: hidden; background: #111; }
.craft-shot picture,
.craft-shot img { width: 100%; height: 100%; }
.craft-shot img { object-fit: cover; filter: saturate(.66) contrast(1.08) brightness(.76); transform: scale(1.035); }
.craft-condition { flex-basis: 34vw; }
.craft-wash { align-self: end; flex-basis: 36vw; height: 84%; }
.craft-cabin { align-self: end; flex-basis: 32vw; height: 79%; }
.craft-process { z-index: 5; align-self: start; flex-basis: 38vw; height: 89%; transform: translate3d(var(--craft-final-x, 0px), var(--craft-final-y, 0px), 0) scale(var(--craft-final-scale, 1)); transform-origin: center; will-change: transform; }
.craft-condition img { object-position: 50% 58%; }
.craft-wash img { object-position: 50% 52%; }
.craft-cabin img { object-position: 50% 57%; }
.craft-process img { object-position: 50% 48%; filter: saturate(var(--craft-final-saturation, .66)) contrast(1.08) brightness(var(--craft-final-brightness, .76)); }
.craft-process::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(180deg, rgba(2,4,6,.72) 0%, rgba(2,4,6,.18) 43%, rgba(2,4,6,.58) 100%); opacity: var(--craft-final-shade, 0); pointer-events: none; }
.craft-shot figcaption { position: absolute; right: 19px; bottom: 17px; left: 19px; display: flex; align-items: end; justify-content: space-between; gap: 20px; font-style: normal; text-transform: uppercase; }
.craft-shot figcaption span { color: rgba(255,255,255,.68); font-size: 9px; font-weight: 800; }
.craft-shot figcaption strong { font-size: 13px; }
.craft-process figcaption { z-index: 2; opacity: var(--craft-caption-opacity, 1); }
.craft-finale { position: absolute; z-index: 7; top: 22vh; left: 5vw; width: min(920px, 84vw); opacity: var(--craft-finale-opacity, 0); pointer-events: none; transform: translate3d(0, var(--craft-finale-y, 46px), 0); will-change: opacity, transform; }
.craft-finale > p { display: flex; align-items: center; gap: 11px; margin: 0 0 26px; color: #a9c5ff; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.craft-finale > p i { width: 56px; height: 1px; background: currentColor; }
.craft-finale h3 { margin: 0; font-size: clamp(70px, 8.8vw, 138px); font-weight: 900; line-height: .82; }
.craft-finale h3 span { color: transparent; -webkit-text-stroke: 1.6px rgba(255,255,255,.96); }
.craft-progress { position: absolute; z-index: 8; right: 30px; bottom: 19px; left: 30px; display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.58); font-size: 9px; font-weight: 850; text-transform: uppercase; opacity: var(--craft-progress-opacity, 1); }
.craft-progress i { width: 54px; height: 1px; background: rgba(255,255,255,.32); }
.craft-progress b { color: #fff; }
.craft-progress em { margin-left: auto; color: #fff; font-style: normal; }

.highlights { position: relative; height: var(--highlights-scroll-height); background: var(--black); }
.highlights-pin { position: sticky; top: 0; isolation: isolate; height: 100svh; overflow: hidden; }
.result-product { position: absolute; z-index: -1; inset: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,var(--result-border, 0)); transform: translate3d(var(--result-x, 0), var(--result-y, 0), 0) scale(var(--result-scale, 1)); transform-origin: center; will-change: transform; }
.result-product picture,
.result-product img { display: block; width: 100%; height: 100%; }
.result-product img { object-fit: cover; object-position: 51% 53%; filter: saturate(.52) contrast(1.2) brightness(.61); transform: scale(1.08); }
.result-product::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(2,4,6,.12), rgba(2,4,6,.45)); opacity: var(--result-shade, 0); }
.result-product figcaption { position: absolute; z-index: 2; right: 18px; bottom: 15px; display: flex; align-items: center; gap: 10px; margin: 0; color: rgba(255,255,255,.76); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.result-product figcaption i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.highlights-copy { position: absolute; top: 50%; right: 7vw; width: min(520px, 39vw); opacity: var(--highlights-opacity, 0); transform: translate3d(var(--highlights-x, 50px), -50%, 0); will-change: opacity, transform; }
.highlights-copy > p:first-child { margin: 0 0 22px; color: #8eabdf; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.highlights-copy h2 { margin: 0; font-size: 59px; font-weight: 900; line-height: .88; }
.highlights-copy h2 span { color: transparent; -webkit-text-stroke: 1.2px rgba(255,255,255,.92); }
.highlights-copy dl { margin: 44px 0 0; border-top: 1px solid rgba(255,255,255,.35); }
.highlights-copy dl div { display: flex; align-items: baseline; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.highlights-copy dt { font-size: 13px; font-weight: 750; }
.highlights-copy dd { margin: 0; font-size: 33px; font-weight: 900; }
.highlights-note { margin: 23px 0 0; color: #9fa8b4; font-size: 12px; line-height: 1.55; }
.highlights-copy > a { display: flex; align-items: center; justify-content: space-between; width: 205px; min-height: 51px; margin-top: 28px; padding: 0 17px; background: #fff; color: #080b0e; font-size: 12px; font-weight: 850; }
.highlight-progress { position: absolute; right: 35px; bottom: 24px; display: flex; align-items: center; gap: 9px; color: #7d8792; font-size: 9px; text-transform: uppercase; }
.highlight-progress i { width: 54px; height: 1px; background: #48515b; }
.highlight-progress b { color: #fff; }

.origin { position: relative; height: var(--origin-scroll-height); background: var(--black); }
.origin-pin { position: sticky; top: 0; isolation: isolate; height: 100svh; overflow: hidden; }
.origin-media { position: absolute; z-index: -1; inset: 0; margin: 0; overflow: hidden; transform: translate3d(var(--origin-image-x, 0), var(--origin-image-y, 0), 0) scale(var(--origin-image-scale, 1.12)); transform-origin: center; will-change: transform; }
.origin-media picture,
.origin-media img { width: 100%; height: 100%; }
.origin-media img { object-fit: cover; object-position: 50% 56%; filter: saturate(.76) contrast(1.08) brightness(.72); }
.origin-media::after { position: absolute; inset: 0; content: ""; background: rgba(2,4,6,var(--origin-shade, .08)); }
.origin-media figcaption { position: absolute; right: 25px; bottom: 22px; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.76); font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.origin-media figcaption i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.origin-marker { position: absolute; z-index: 2; top: 102px; left: 30px; display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.origin-marker i { width: 54px; height: 1px; background: rgba(255,255,255,.42); }
.origin-marker b { color: var(--orange); }
.origin-panel { position: absolute; top: var(--header-height); right: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; width: 48%; padding: 7vh 6vw 5vh; background: #070a09; transform: translate3d(var(--origin-panel-x, 100%), 0, 0); will-change: transform; }
.origin-panel > p:first-child { display: flex; align-items: center; gap: 10px; margin: 0 0 30px; color: var(--orange); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.origin-panel > p:first-child i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.origin-panel h2 { margin: 0; font-size: clamp(58px, 5.7vw, 88px); font-weight: 900; line-height: .85; opacity: var(--origin-copy-opacity, 0); transform: translate3d(var(--origin-copy-x, 42px), 0, 0); will-change: opacity, transform; }
.origin-panel h2 span { color: transparent; -webkit-text-stroke: 1.4px rgba(255,255,255,.94); }
.origin-copy { max-width: 510px; margin: 34px 0 0; color: #afb5b1; font-size: 15px; line-height: 1.65; opacity: var(--origin-copy-opacity, 0); transform: translate3d(var(--origin-copy-x, 42px), 0, 0); }
.origin-panel dl { margin: 46px 0 0; border-top: 1px solid rgba(255,255,255,.24); opacity: var(--origin-facts-opacity, 0); }
.origin-panel dl div { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.origin-panel dt { color: #727b76; font-size: 10px; text-transform: uppercase; }
.origin-panel dd { margin: 0; font-size: 13px; font-weight: 800; }

.decision { min-height: 820px; padding: 135px 8vw; background: var(--paper); color: #10151a; content-visibility: auto; contain-intrinsic-size: 820px; }
.decision > div { display: grid; grid-template-columns: .55fr 1.45fr; gap: 8vw; align-items: end; }
.decision > div > p { margin: 0 0 9px; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.decision h2 { margin: 0; font-size: 76px; font-weight: 900; line-height: .88; }
.decision h2 span { color: transparent; -webkit-text-stroke: 1.3px #10151a; }
.decision dl { margin: 80px 0 0; border-top: 1px solid #858c88; }
.decision dl div { display: flex; align-items: baseline; justify-content: space-between; padding: 23px 0; border-bottom: 1px solid #bdc0bb; }
.decision dt { font-size: 18px; font-weight: 800; }
.decision dd { margin: 0; font-size: 48px; font-weight: 900; }
.decision-note { max-width: 610px; margin: 28px 0 0 auto; color: #616966; font-size: 14px; line-height: 1.6; }
.decision > a { display: flex; align-items: center; justify-content: space-between; width: 230px; min-height: 53px; margin: 35px 0 0 auto; padding: 0 18px; background: #10151a; color: #fff; font-size: 12px; font-weight: 850; }

.cinematic-footer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 44px; min-height: 180px; padding: 50px 8vw; border-top: 1px solid rgba(255,255,255,.16); background: #070a09; }
.cinematic-footer nav { display: flex; justify-content: center; gap: clamp(18px, 3vw, 42px); }
.cinematic-footer nav a { min-height: var(--touch-target); display: grid; place-items: center; color: rgba(255,255,255,.68); font-size: 11px; font-weight: 750; }
.cinematic-footer nav a:hover { color: #fff; }
.cinematic-footer > p { margin: 0; color: rgba(255,255,255,.52); font-size: 10px; }

@media (max-width: 760px) {
  html.cinematic-home-root { --header-height: calc(62px + env(safe-area-inset-top)); --campaign-scroll-height: 270svh; --craft-scroll-height: 200svh; --highlights-scroll-height: 155svh; --origin-scroll-height: 155svh; }
  .masthead { grid-template-columns: 1fr auto; padding: env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left)); }
  .masthead > p { display: none; }
  .scene-rail { top: var(--header-height); right: 0; left: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; width: auto; min-height: 42px; padding: 0 max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left)); border-left: 0; border-bottom: 1px solid rgba(255,255,255,.18); background: rgba(2,4,6,.78); transform: none; }
  .scene-rail a { display: flex; justify-content: center; gap: 5px; min-width: 0; min-height: 42px; font-size: 7px; }
  .scene-rail a::before { flex: 0 0 auto; }
  .scene-rail .scene-rail-quote { margin-top: 0; }
  .scene-anchor-work { top: 76svh; }
  .scene-anchor-interior { top: 67svh; }
  .scene-layer { object-position: 50% 55%; }
  .scene-after { object-position: 50% 52%; }
  .scene-before { transform: translate3d(var(--before-x, -18px), var(--before-y, 38px), 0) scale(var(--before-scale, 2.22)); }
  .scene-grade { background: linear-gradient(180deg, rgba(2,4,6,.12) 0%, rgba(2,4,6,.28) 38%, rgba(2,4,6,.94) 100%); }
  .frame { inset: calc(var(--header-height) + 56px) max(12px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .frame i { width: 17px; height: 17px; }
  .campaign-brand { right: 18px; bottom: 154px; left: 18px; width: auto; }
  .campaign-brand > p { margin-bottom: 14px; font-size: 8px; }
  .campaign-brand h1 { height: 79px; font-size: 96px; }
  .wolf-top { transform: translate3d(var(--wolf-top-x, -13px), 0, 0); }
  .wolf-bottom { transform: translate3d(var(--wolf-bottom-x, 27px), 0, 0); }
  .brand-base { gap: 9px; margin-top: 10px; }
  .brand-base strong { font-size: 12px; }
  .brand-base b { width: 29px; height: 21px; font-size: 8px; }
  .brand-base span { font-size: 9px; }
  .campaign-primary { width: 178px; min-height: 46px; margin-top: 18px; }
  .campaign-stage { right: 18px; bottom: 157px; left: 18px; }
  .campaign-stage h2 { font-size: 67px; }
  .progress { display: none; }
  .progress i { width: 27px; }
  .price-lockup { right: max(18px, env(safe-area-inset-right)); bottom: calc(38px + env(safe-area-inset-bottom)); left: max(18px, env(safe-area-inset-left)); justify-content: space-between; gap: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.38); }
  .price-lockup strong { font-size: 15px; }
  .scroll-note { right: 18px; bottom: 115px; left: auto; display: flex; }
  .campaign-quote { right: max(18px, env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); left: max(18px, env(safe-area-inset-left)); min-height: 54px; }
  .craft-copy { top: calc(var(--header-height) + 51px); right: 18px; left: 18px; width: auto; }
  .craft-copy > p:first-child { margin-bottom: 18px; font-size: 9px; }
  .craft-copy h2 { font-size: 46px; }
  .craft-note { max-width: 330px; margin-top: 18px; font-size: 12px; }
  .craft-track { top: 300px; left: 18px; gap: 14px; height: calc(100svh - 350px); min-height: 340px; max-height: 520px; }
  .craft-shot,
  .craft-condition,
  .craft-wash,
  .craft-cabin,
  .craft-process { align-self: stretch; flex-basis: calc(100vw - 36px); height: 100%; }
  .craft-shot figcaption { right: 14px; bottom: 13px; left: 14px; }
  .craft-shot figcaption strong { font-size: 11px; }
  .craft-finale { top: calc(var(--header-height) + 56px); right: 18px; left: 18px; width: auto; }
  .craft-finale > p { margin-bottom: 20px; font-size: 8px; }
  .craft-finale > p i { width: 30px; }
  .craft-finale h3 { font-size: clamp(46px, 13.5vw, 58px); line-height: .84; }
  .craft-progress { right: 18px; bottom: calc(17px + env(safe-area-inset-bottom)); left: 18px; }
  .craft-progress i { width: 30px; }
  .result-product { transform-origin: center top; }
  .result-product img { object-position: 50% 52%; }
  .result-product figcaption { right: 13px; bottom: 11px; }
  .highlights-copy { top: auto; right: 18px; bottom: 50px; left: 18px; width: auto; transform: translate3d(0, var(--highlights-y, 40px), 0); }
  .highlights-copy h2 { font-size: 43px; }
  .highlights-copy dl { margin-top: 28px; }
  .highlights-copy dd { font-size: 28px; }
  .highlights-note { font-size: 11px; }
  .highlights-copy > a { width: 100%; min-height: 54px; }
  .highlight-progress { display: none; }
  .origin-media { transform-origin: center top; }
  .origin-media img { object-position: 47% 49%; }
  .origin-media figcaption { top: calc(var(--header-height) + 24px); right: 18px; bottom: auto; }
  .origin-marker { top: calc(var(--header-height) + 23px); left: 18px; }
  .origin-marker i { width: 28px; }
  .origin-panel { top: auto; left: 0; width: 100%; height: 62svh; min-height: 510px; padding: 38px 20px calc(28px + env(safe-area-inset-bottom)); transform: translate3d(0, var(--origin-panel-y, 100%), 0); }
  .origin-panel > p:first-child { margin-bottom: 23px; font-size: 9px; }
  .origin-panel h2 { font-size: 49px; transform: translate3d(0, var(--origin-copy-y, 32px), 0); }
  .origin-copy { margin-top: 24px; font-size: 13px; transform: translate3d(0, var(--origin-copy-y, 32px), 0); }
  .origin-panel dl { margin-top: 28px; }
  .origin-panel dl div { grid-template-columns: 105px 1fr; padding: 11px 0; }
  .origin-panel dd { font-size: 12px; }
  .decision { min-height: 760px; padding: 95px 21px 90px; }
  .decision > div { display: block; }
  .decision > div > p { margin-bottom: 26px; }
  .decision h2 { font-size: 48px; }
  .decision dl { margin-top: 58px; }
  .decision dd { font-size: 39px; }
  .decision-note { font-size: 13px; }
  .decision > a { width: 100%; }
  .cinematic-footer { grid-template-columns: 1fr; justify-items: start; gap: 24px; padding: 44px 21px calc(44px + env(safe-area-inset-bottom)); }
  .cinematic-footer nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; width: 100%; gap: 4px 20px; }
  .cinematic-footer nav a { justify-items: start; }
}

@media (max-width: 350px) {
  .campaign-brand h1 { font-size: 88px; }
  .origin-panel h2 { font-size: 43px; }
}

.no-js .campaign,
.motion-lite .campaign { height: 100svh; min-height: 720px; }
.no-js .scene-before,
.no-js .scene-foam,
.no-js .campaign-stage,
.no-js .progress,
.no-js .scroll-note,
.motion-lite .scene-before,
.motion-lite .scene-foam,
.motion-lite .campaign-stage,
.motion-lite .progress,
.motion-lite .scroll-note { display: none; }
.no-js .scene-after,
.motion-lite .scene-after { clip-path: none; transform: scale(1.1); }
.no-js .campaign-brand,
.motion-lite .campaign-brand { opacity: 1; transform: none; }
.no-js .wolf-top,
.motion-lite .wolf-top { transform: none; }
.no-js .wolf-bottom,
.motion-lite .wolf-bottom { transform: translateX(16px); }
.no-js .highlights,
.motion-lite .highlights,
.no-js .craft,
.motion-lite .craft,
.no-js .origin,
.motion-lite .origin { height: auto; }
.no-js .craft-pin,
.motion-lite .craft-pin { position: relative; height: auto; min-height: 900px; padding: 120px 5vw 70px; overflow: visible; }
.no-js .craft-copy,
.motion-lite .craft-copy { position: relative; top: auto; left: auto; width: 100%; max-width: 650px; opacity: 1; }
.no-js .craft-track,
.motion-lite .craft-track { position: relative; top: auto; left: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; height: 560px; margin-top: 55px; transform: none; }
.no-js .craft-shot,
.motion-lite .craft-shot { width: auto; height: 100%; }
.no-js .craft-progress,
.motion-lite .craft-progress,
.no-js .craft-finale,
.motion-lite .craft-finale { display: none; }
.no-js .highlights-pin,
.motion-lite .highlights-pin { position: relative; display: grid; min-height: 1050px; padding: 70px 7vw; overflow: visible; }
.no-js .result-product,
.motion-lite .result-product { position: relative; z-index: 0; inset: auto; width: 52%; height: 720px; transform: none; }
.no-js .highlights-copy,
.motion-lite .highlights-copy { position: absolute; top: 50%; right: 7vw; width: 39vw; opacity: 1; transform: translateY(-50%); }
.no-js .origin-pin,
.motion-lite .origin-pin { position: relative; display: grid; grid-template-columns: 58% 42%; min-height: 900px; overflow: visible; }
.no-js .origin-media,
.motion-lite .origin-media { position: relative; z-index: 0; grid-column: 1; height: 900px; transform: none; }
.no-js .origin-panel,
.motion-lite .origin-panel { position: relative; top: auto; right: auto; bottom: auto; grid-column: 2; width: 100%; height: auto; transform: none; }
.no-js .origin-panel h2,
.no-js .origin-copy,
.motion-lite .origin-panel h2,
.motion-lite .origin-copy { opacity: 1; transform: none; }
.no-js .origin-panel dl,
.motion-lite .origin-panel dl { opacity: 1; }
.no-js .origin-marker,
.motion-lite .origin-marker { display: none; }

@media (max-width: 760px) {
  .no-js .wolf-bottom,
  .motion-lite .wolf-bottom { transform: translateX(8px); }
  .no-js .highlights-pin,
  .motion-lite .highlights-pin { display: block; min-height: 1180px; padding: 92px 18px; }
  .no-js .craft-pin,
  .motion-lite .craft-pin { min-height: 1800px; padding: 96px 18px 70px; }
  .no-js .craft-track,
  .motion-lite .craft-track { display: block; height: auto; margin-top: 44px; }
  .no-js .craft-shot,
  .motion-lite .craft-shot { width: 100%; height: 470px; margin-top: 14px; }
  .no-js .result-product,
  .motion-lite .result-product { width: 100%; height: 510px; }
  .no-js .highlights-copy,
  .motion-lite .highlights-copy { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 100%; margin-top: 62px; opacity: 1; transform: none; }
  .no-js .origin-pin,
  .motion-lite .origin-pin { display: block; min-height: 1100px; }
  .no-js .origin-media,
  .motion-lite .origin-media { width: 100%; height: 590px; }
  .no-js .origin-panel,
  .motion-lite .origin-panel { min-height: 560px; }
}

@media (prefers-reduced-motion: reduce) {
  html.cinematic-home-root { scroll-behavior: auto; }
  .campaign { height: 100svh; min-height: 720px; }
  .scene-before,
  .scene-foam,
  .campaign-stage,
  .progress,
  .scroll-note { display: none; }
  .scene-after { clip-path: none; transform: scale(1.1); }
  .campaign-brand { opacity: 1; transform: none; }
  .wolf-top { transform: none; }
  .wolf-bottom { transform: translateX(16px); }
  .highlights,
  .craft,
  .origin { height: auto; }
  .craft-pin { position: relative; height: auto; min-height: 900px; padding: 120px 5vw 70px; overflow: visible; }
  .craft-copy { position: relative; top: auto; left: auto; width: 100%; max-width: 650px; opacity: 1; }
  .craft-track { position: relative; top: auto; left: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; height: 560px; margin-top: 55px; transform: none; }
  .craft-shot { width: auto; height: 100%; }
  .craft-progress,
  .craft-finale { display: none; }
  .highlights-pin { position: relative; display: grid; min-height: 1050px; padding: 70px 7vw; overflow: visible; }
  .result-product { position: relative; z-index: 0; inset: auto; width: 52%; height: 720px; transform: none; }
  .highlights-copy { position: absolute; top: 50%; right: 7vw; width: 39vw; opacity: 1; transform: translateY(-50%); }
  .origin-pin { position: relative; display: grid; grid-template-columns: 58% 42%; min-height: 900px; overflow: visible; }
  .origin-media { position: relative; z-index: 0; grid-column: 1; height: 900px; transform: none; }
  .origin-panel { position: relative; top: auto; right: auto; bottom: auto; grid-column: 2; width: 100%; height: auto; transform: none; }
  .origin-panel h2,
  .origin-copy { opacity: 1; transform: none; }
  .origin-panel dl { opacity: 1; }
  .origin-marker { display: none; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .wolf-bottom { transform: translateX(8px); }
  .highlights-pin { display: block; min-height: 1180px; padding: 92px 18px; }
  .craft-pin { min-height: 1800px; padding: 96px 18px 70px; }
  .craft-track { display: block; height: auto; margin-top: 44px; }
  .craft-shot { width: 100%; height: 470px; margin-top: 14px; }
  .result-product { width: 100%; height: 510px; }
  .highlights-copy { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 100%; margin-top: 62px; opacity: 1; transform: none; }
  .origin-pin { display: block; min-height: 1100px; }
  .origin-media { width: 100%; height: 590px; }
  .origin-panel { min-height: 560px; }
}

/* 11D-R2: cinematic Home / Quote pairing. The form contract remains in script.js. */
.cinematic-quote,
.cinematic-quote * { box-sizing: border-box; }
.cinematic-quote { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--black); color: var(--white); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 0; }
.cinematic-quote a { color: inherit; text-decoration: none; }
.cinematic-quote img { display: block; max-width: 100%; }
.cinematic-quote .skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; background: #fff; color: #111; transform: translateY(-160%); }
.cinematic-quote .skip-link:focus { transform: translateY(0); }
.cinematic-quote :where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.cinematic-quote .booking-flow { padding: 0; }
.cinematic-quote .quote-masthead { color: var(--white); }
.cinematic-quote .quote-masthead .mini-mark,
.cinematic-quote .quote-masthead > a:last-child { color: #fff; }
.cinematic-quote .quote-masthead .mini-mark strong,
.cinematic-quote .quote-masthead .mini-mark span { color: #fff; }
.cinematic-quote .mini-mark small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.quote-cinematic-intro { position: relative; isolation: isolate; display: flex; min-height: 92svh; padding: calc(var(--header-height) + 34px) 5vw 48px; overflow: hidden; background: #040607; }
.quote-intro-scene,
.quote-intro-scene img,
.quote-intro-grade,
.quote-intro-sweep { position: absolute; inset: 0; width: 100%; height: 100%; }
.quote-intro-scene { z-index: -4; }
.quote-intro-scene img { object-fit: cover; object-position: 51% 54%; filter: saturate(.55) contrast(1.18) brightness(.57); transform: scale(1.06); }
.quote-intro-grade { z-index: -3; background: linear-gradient(90deg, rgba(2,4,6,.92) 0%, rgba(2,4,6,.62) 40%, rgba(2,4,6,.08) 74%), linear-gradient(0deg, rgba(2,4,6,.78) 0%, transparent 44%); }
.quote-intro-frame { position: absolute; z-index: 2; inset: calc(var(--header-height) + 24px) 24px 24px; pointer-events: none; }
.quote-intro-frame i { position: absolute; width: 24px; height: 24px; border-color: rgba(255,255,255,.48); }
.quote-intro-frame i:nth-child(1) { top: 0; left: 0; border-top: 1px solid; border-left: 1px solid; }
.quote-intro-frame i:nth-child(2) { top: 0; right: 0; border-top: 1px solid; border-right: 1px solid; }
.quote-intro-frame i:nth-child(3) { right: 0; bottom: 0; border-right: 1px solid; border-bottom: 1px solid; }
.quote-intro-frame i:nth-child(4) { bottom: 0; left: 0; border-bottom: 1px solid; border-left: 1px solid; }
.quote-intro-copy { z-index: 1; align-self: end; width: min(900px, 72vw); margin: 0 0 8vh 1.5vw; }
.quote-intro-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: #a9c5ff; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.quote-intro-kicker i { width: 54px; height: 1px; background: currentColor; }
.quote-intro-copy h1 { margin: 0; color: #fff; font-size: clamp(68px, 8.2vw, 132px); font-weight: 900; line-height: .81; }
.quote-intro-copy h1 span { display: block; color: transparent; font-size: .76em; white-space: nowrap; -webkit-text-stroke: 1.6px rgba(255,255,255,.96); }
.quote-intro-copy > p:not(.quote-intro-kicker) { max-width: 590px; margin: 32px 0 0; color: #d2d5d7; font-size: 16px; line-height: 1.65; }
.quote-intro-actions { display: flex; align-items: center; gap: 30px; margin-top: 32px; }
.quote-intro-actions a { display: flex; align-items: center; justify-content: space-between; min-height: 52px; font-size: 12px; font-weight: 850; }
.quote-intro-primary { width: 220px; padding: 0 18px; background: #fff; color: #080b0e !important; }
.quote-intro-actions a:last-child { border-bottom: 1px solid rgba(255,255,255,.64); }
.public-site.booking-public.cinematic-quote .quote-intro-actions a:last-child { color: #fff; }
.quote-intro-prices { position: absolute; z-index: 2; top: calc(var(--header-height) + 44px); right: 44px; display: flex; align-items: center; gap: 24px; }
.quote-intro-prices p { display: grid; gap: 3px; margin: 0; text-align: right; }
.quote-intro-prices span { color: rgba(255,255,255,.6); font-size: 9px; text-transform: uppercase; }
.quote-intro-prices strong { font-size: 16px; }
.public-site.booking-public.cinematic-quote .quote-intro-prices span { color: rgba(255,255,255,.68); }
.public-site.booking-public.cinematic-quote .quote-intro-prices strong { color: #fff; }
.quote-intro-prices > i { width: 1px; height: 35px; background: rgba(255,255,255,.25); }
.quote-intro-promise { position: absolute; right: 44px; bottom: 44px; display: grid; gap: 7px; color: rgba(255,255,255,.82); font-size: 9px; font-weight: 800; text-align: right; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .quote-intro-promise span { color: rgba(255,255,255,.82); }
.quote-intro-promise span::before { display: inline-block; width: 4px; height: 4px; margin: 0 8px 2px 0; border-radius: 50%; background: var(--blue); content: ""; }
.quote-scroll-cue { position: absolute; bottom: 24px; left: 44px; display: flex; align-items: center; gap: 11px; min-height: 44px; color: rgba(255,255,255,.78); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .quote-scroll-cue { color: rgba(255,255,255,.82); }
.quote-scroll-cue b { font-size: 15px; }

.public-site.booking-public.cinematic-quote .booking-quote-section { display: grid; grid-template-columns: minmax(340px, 38vw) minmax(0, 1fr); align-items: start; width: 100%; max-width: none; margin: 0; padding: 0; background: var(--paper); color: #11161a; }
.quote-cinematic-story { position: relative; isolation: isolate; align-self: stretch; min-height: 860px; overflow: hidden; background: #07090b; color: #fff; }
.public-site.booking-public.cinematic-quote #quote { scroll-margin-top: 0; }
.quote-cinematic-story picture,
.quote-cinematic-story picture img,
.quote-story-grade { position: absolute; inset: 0; width: 100%; height: 100%; }
.quote-cinematic-story picture { z-index: 0; }
.quote-cinematic-story img { object-fit: cover; object-position: 51% 55%; filter: saturate(.72) contrast(1.08) brightness(.66); }
.quote-story-grade { z-index: 1; background: linear-gradient(0deg, rgba(2,4,6,.94) 0%, rgba(2,4,6,.2) 68%), linear-gradient(90deg, rgba(2,4,6,.25), transparent); }
.quote-story-copy { position: absolute; z-index: 2; right: 34px; bottom: 148px; left: 34px; }
.quote-story-copy > p:first-child { margin: 0 0 20px; color: #a9c5ff; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .quote-story-copy h2 { margin: 0; color: #fff; font-size: clamp(44px, 4.4vw, 72px); font-weight: 900; line-height: .84; }
.quote-story-copy h2 span { color: transparent; -webkit-text-stroke: 1.2px rgba(255,255,255,.96); }
.quote-story-copy > p:last-child { max-width: 470px; margin: 24px 0 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.6; }
.quote-cinematic-story dl { position: absolute; z-index: 2; right: 34px; bottom: 30px; left: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; border-top: 1px solid rgba(255,255,255,.28); }
.quote-cinematic-story dl div { display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; }
.quote-cinematic-story dt { color: rgba(255,255,255,.58); font-size: 10px; text-transform: uppercase; }
.quote-cinematic-story dd { margin: 0; font-size: 13px; font-weight: 850; }

.quote-cinematic-workspace { min-width: 0; padding: 112px clamp(34px, 6vw, 96px) 100px; }
.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head { max-width: 760px; margin: 0; padding: 0 0 44px; border-bottom: 1px solid #aaaea9; }
.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow { margin: 0 0 17px; color: #315b9d; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2 { max-width: 750px; margin: 0; color: #10151a; font-size: clamp(45px, 4.6vw, 68px); font-weight: 900; line-height: .92; }
.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head > p:last-child { max-width: 690px; margin: 25px 0 0; color: #5d6563; font-size: 14px; line-height: 1.65; }
.public-site.booking-public.cinematic-quote .booking-quote-section .quote-form { width: 100%; max-width: 760px; margin: 42px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.public-site.booking-public.cinematic-quote .quote-form-intro { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 14px; border-bottom: 1px solid #bfc2bd; }
.public-site.booking-public.cinematic-quote .quote-form-intro strong { color: #10151a; font-size: 11px; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .quote-form-intro span { color: #68706d; font-size: 12px; }
.public-site.booking-public.cinematic-quote .quote-form-path { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 24px 0 0; border-top: 1px solid #bfc2bd; border-bottom: 1px solid #bfc2bd; }
.public-site.booking-public.cinematic-quote .quote-form-path span { position: relative; min-width: 0; padding: 14px 7px; color: #777e7a; font-size: 9px; font-weight: 850; text-align: center; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .quote-form-path span + span { border-left: 1px solid #bfc2bd; }
.public-site.booking-public.cinematic-quote .quote-form-path span.is-active { background: #10151a; color: #fff; }
.public-site.booking-public.cinematic-quote .quote-guide { margin-top: 46px; }
.public-site.booking-public.cinematic-quote .quote-stage-heading > span { color: #315b9d; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .quote-stage-heading h3 { margin: 10px 0 0; color: #10151a; font-size: clamp(30px, 3vw, 43px); font-weight: 900; line-height: 1; }
.public-site.booking-public.cinematic-quote .quote-stage-heading p { max-width: 600px; margin: 14px 0 0; color: #636b68; font-size: 13px; line-height: 1.6; }
.public-site.booking-public.cinematic-quote .quote-stage-grid { gap: 28px 18px; margin-top: 32px; }
.public-site.booking-public.cinematic-quote .quote-form label,
.public-site.booking-public.cinematic-quote .quote-fieldset legend { color: #202723; font-size: 11px; font-weight: 850; }
.public-site.booking-public.cinematic-quote .quote-form input:not([type="checkbox"]):not([type="file"]),
.public-site.booking-public.cinematic-quote .quote-form select,
.public-site.booking-public.cinematic-quote .quote-form textarea { min-height: 50px; border: 0; border-bottom: 1px solid #8f9691; border-radius: 0; background: rgba(255,255,255,.34); color: #11161a; box-shadow: none; }
.public-site.booking-public.cinematic-quote .quote-form textarea { min-height: 116px; }
.public-site.booking-public.cinematic-quote .quote-form input:focus,
.public-site.booking-public.cinematic-quote .quote-form select:focus,
.public-site.booking-public.cinematic-quote .quote-form textarea:focus { border-color: var(--blue); background: #fff; box-shadow: inset 0 -2px 0 var(--blue); }
.public-site.booking-public.cinematic-quote .smart-quote-panel,
.public-site.booking-public.cinematic-quote .quote-photo-card,
.public-site.booking-public.cinematic-quote .photo-preview-panel,
.public-site.booking-public.cinematic-quote .quote-guide-summary,
.public-site.booking-public.cinematic-quote .quote-submit-note { border: 1px solid #b7bbb6; border-radius: 0; background: rgba(255,255,255,.28); box-shadow: none; }
.public-site.booking-public.cinematic-quote .smart-quote-panel { border-left: 3px solid var(--blue); }
.public-site.booking-public.cinematic-quote .quote-guide-actions { margin-top: 36px; padding-top: 22px; border-top: 1px solid #bfc2bd; }
.public-site.booking-public.cinematic-quote .quote-guide-actions button,
.public-site.booking-public.cinematic-quote .quote-submit-button { min-height: 52px; border-radius: 0; font-size: 11px; font-weight: 850; }
.public-site.booking-public.cinematic-quote .quote-guide-next,
.public-site.booking-public.cinematic-quote .quote-submit-button { background: #10151a; color: #fff; }
.public-site.booking-public.cinematic-quote .quote-guide-back { border: 1px solid #8d938f; background: transparent; color: #10151a; }
.public-site.booking-public.cinematic-quote .quote-support-panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; width: 100%; max-width: 760px; margin: 58px 0 0; padding: 0; border-top: 1px solid #929994; background: transparent; box-shadow: none; }
.public-site.booking-public.cinematic-quote .smart-estimate-card,
.public-site.booking-public.cinematic-quote .quote-assurance,
.public-site.booking-public.cinematic-quote .quote-support-drawer { margin: 0; padding: 25px 22px; border: 0; border-right: 1px solid #bfc2bd; border-bottom: 1px solid #bfc2bd; border-radius: 0; background: transparent; box-shadow: none; }
.public-site.booking-public.cinematic-quote .quote-assurance { border-right: 0; }
.public-site.booking-public.cinematic-quote .quote-support-drawer { grid-column: 1 / -1; border-right: 0; }
.public-site.booking-public.cinematic-quote .smart-estimate-head > span { color: #315b9d; font-size: 9px; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .smart-estimate-head strong { color: #10151a; font-size: 22px; }
.public-site.booking-public.cinematic-quote .smart-estimate-card p,
.public-site.booking-public.cinematic-quote .smart-estimate-card small,
.public-site.booking-public.cinematic-quote .quote-assurance span { color: #5d6563; }
.public-site.booking-public.cinematic-quote .smart-estimate-card .smart-estimate-tags span { border-color: rgba(49,91,157,.28); background: rgba(49,91,157,.08); color: #315b9d; }
.public-site.booking-public.cinematic-quote .quote-assurance strong { color: #10151a; }
.public-site.booking-public.cinematic-quote .quote-output { width: 100%; max-width: 760px; margin-top: 32px; }

.public-site.booking-public.cinematic-quote .booking-after,
.public-site.booking-public.cinematic-quote .booking-faq,
.public-site.booking-public.cinematic-quote .booking-fallback { padding: 120px 8vw; }
.public-site.booking-public.cinematic-quote .booking-after { background: #07090b; color: #fff; }
.public-site.booking-public.cinematic-quote .booking-faq { background: #ecebe6; color: #10151a; }
.public-site.booking-public.cinematic-quote .booking-fallback { background: #101828; color: #fff; }
.public-site.booking-public.cinematic-quote .booking-after-grid,
.public-site.booking-public.cinematic-quote .booking-faq-grid,
.public-site.booking-public.cinematic-quote .booking-fallback-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 9vw; max-width: 1240px; margin: 0 auto; }
.public-site.booking-public.cinematic-quote .booking-after-heading h2,
.public-site.booking-public.cinematic-quote .booking-faq-heading h2,
.public-site.booking-public.cinematic-quote .booking-fallback h2 { margin: 0; font-size: clamp(48px, 5vw, 74px); font-weight: 900; line-height: .9; }
.public-site.booking-public.cinematic-quote .flow-eyebrow { margin: 0 0 19px; color: #8eabdf; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.public-site.booking-public.cinematic-quote .booking-after-list { margin: 0; padding: 0; list-style: none; counter-reset: booking-after; }
.public-site.booking-public.cinematic-quote .booking-after-list li { display: grid; grid-template-columns: 58px 1fr; gap: 0 22px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.2); counter-increment: booking-after; }
.public-site.booking-public.cinematic-quote .booking-after-list li::before { grid-row: 1 / span 2; color: #8eabdf; content: "0" counter(booking-after); font-size: 12px; font-weight: 850; }
.public-site.booking-public.cinematic-quote .booking-after-list strong { font-size: 17px; }
.public-site.booking-public.cinematic-quote .booking-after-list span { margin-top: 7px; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.55; }
.public-site.booking-public.cinematic-quote .booking-faq-heading { position: sticky; top: calc(var(--header-height) + 36px); align-self: start; }
.public-site.booking-public.cinematic-quote .booking-faq-heading p:last-child { color: #626a66; line-height: 1.6; }
.public-site.booking-public.cinematic-quote .booking-faq-list details { margin: 0; padding: 23px 0; border: 0; border-top: 1px solid #a9aea8; border-radius: 0; background: transparent; box-shadow: none; }
.public-site.booking-public.cinematic-quote .booking-faq-list details:last-child { border-bottom: 1px solid #a9aea8; }
.public-site.booking-public.cinematic-quote .booking-faq-list summary { color: #10151a; font-size: 17px; font-weight: 850; }
.public-site.booking-public.cinematic-quote .booking-faq-list details p { max-width: 650px; color: #626a66; line-height: 1.6; }
.public-site.booking-public.cinematic-quote .booking-fallback p { max-width: 560px; color: rgba(255,255,255,.7); line-height: 1.65; }
.public-site.booking-public.cinematic-quote .booking-fallback .flow-button { display: flex; align-items: center; justify-content: center; width: max-content; min-height: 52px; margin-top: 26px; padding: 0 20px; border-radius: 0; background: #fff; color: #10151a; font-size: 11px; font-weight: 850; }
.public-site.booking-public.cinematic-quote .mobile-cta-bar { display: none !important; }
.quote-cinematic-footer { color: #fff; }

@media (max-width: 940px) {
  .quote-cinematic-intro { min-height: 850px; }
  .quote-intro-copy { width: min(760px, 82vw); }
  .public-site.booking-public.cinematic-quote .booking-quote-section { grid-template-columns: 1fr; }
  .quote-cinematic-story { min-height: 620px; }
  .quote-story-copy { max-width: 720px; }
  .quote-cinematic-workspace { padding: 100px 8vw; }
}

@media (max-width: 760px) {
  html.cinematic-quote-root { --header-height: calc(62px + env(safe-area-inset-top)); }
  .quote-cinematic-intro { min-height: 760px; padding: calc(var(--header-height) + 28px) 18px 34px; }
  .quote-intro-scene img { object-position: 52% 54%; filter: saturate(.5) contrast(1.2) brightness(.51); }
  .quote-intro-grade { background: linear-gradient(0deg, rgba(2,4,6,.95) 0%, rgba(2,4,6,.5) 55%, rgba(2,4,6,.2) 100%); }
  .quote-intro-frame { inset: calc(var(--header-height) + 16px) 12px 12px; }
  .quote-intro-prices {
    top: calc(var(--header-height) + 30px);
    right: 24px;
    left: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .quote-intro-prices p { text-align: left; }
  .quote-intro-prices > i { display: none; }
  .quote-intro-prices strong { font-size: 13px; }
  .quote-intro-copy { align-self: end; width: 100%; margin: 0 0 102px; padding: 0 12px; }
  .quote-intro-kicker { margin-bottom: 17px; font-size: 9px; }
  .quote-intro-kicker i { width: 34px; }
  .quote-intro-copy h1 { font-size: clamp(48px, 15.2vw, 74px); line-height: .84; }
  .quote-intro-copy h1 span { font-size: .74em; white-space: normal; -webkit-text-stroke-width: 1.1px; }
  .quote-intro-copy > p:not(.quote-intro-kicker) { margin-top: 22px; font-size: 14px; line-height: 1.55; }
  .quote-intro-actions { align-items: stretch; gap: 18px; margin-top: 25px; }
  .quote-intro-actions a { font-size: 10px; }
  .quote-intro-primary { width: 170px; }
  .quote-intro-promise { right: auto; bottom: 48px; left: 30px; gap: 5px; text-align: left; }
  .quote-scroll-cue { right: 24px; bottom: 13px; left: 24px; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.24); }
  .quote-cinematic-workspace { order: 1; }
  .quote-cinematic-story { order: 2; min-height: 560px; }
  .quote-cinematic-story img { object-position: 51% 52%; }
  .quote-story-copy { right: 24px; bottom: 126px; left: 24px; }
  .quote-story-copy h2 { font-size: clamp(41px, 12vw, 58px); }
  .quote-story-copy > p:last-child { margin-top: 18px; font-size: 12px; }
  .quote-cinematic-story dl { right: 24px; bottom: 22px; left: 24px; }
  .quote-cinematic-story dl div { display: grid; }
  .quote-cinematic-workspace { padding: 64px 18px 78px; }
  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head { padding-bottom: 32px; }
  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2 { font-size: clamp(40px, 12vw, 57px); }
  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-form { margin-top: 34px; }
  .public-site.booking-public.cinematic-quote .quote-form-intro { display: grid; gap: 7px; }
  .public-site.booking-public.cinematic-quote .quote-form-path { margin-top: 19px; }
  .public-site.booking-public.cinematic-quote .quote-form-path span { padding: 12px 3px; font-size: 8px; }
  .public-site.booking-public.cinematic-quote .quote-guide { margin-top: 36px; }
  .public-site.booking-public.cinematic-quote .quote-stage-heading h3 { font-size: 31px; }
  .public-site.booking-public.cinematic-quote .quote-support-panel { grid-template-columns: 1fr; margin-top: 48px; }
  .public-site.booking-public.cinematic-quote .smart-estimate-card,
  .public-site.booking-public.cinematic-quote .quote-assurance,
  .public-site.booking-public.cinematic-quote .quote-support-drawer { border-right: 0; }
  .public-site.booking-public.cinematic-quote .booking-after,
  .public-site.booking-public.cinematic-quote .booking-faq,
  .public-site.booking-public.cinematic-quote .booking-fallback { padding: 82px 18px; }
  .public-site.booking-public.cinematic-quote .booking-after-grid,
  .public-site.booking-public.cinematic-quote .booking-faq-grid,
  .public-site.booking-public.cinematic-quote .booking-fallback-grid { grid-template-columns: 1fr; gap: 54px; }
  .public-site.booking-public.cinematic-quote .booking-after-heading h2,
  .public-site.booking-public.cinematic-quote .booking-faq-heading h2,
  .public-site.booking-public.cinematic-quote .booking-fallback h2 { font-size: clamp(40px, 12vw, 56px); }
  .public-site.booking-public.cinematic-quote .booking-faq-heading { position: static; }
  .quote-cinematic-footer { grid-template-columns: 1fr; gap: 24px; padding: 42px 18px; }
  .quote-cinematic-footer nav { justify-content: flex-start; flex-wrap: wrap; gap: 8px 22px; }
}

@media (max-width: 380px) {
  .quote-cinematic-intro { min-height: 740px; }
  .quote-intro-copy { margin-bottom: 110px; }
  .quote-intro-copy h1 { font-size: 47px; }
  .quote-intro-actions { flex-direction: column; gap: 13px; }
  .quote-intro-primary { width: 100%; }
  .quote-intro-actions a:last-child { width: max-content; min-height: 36px; }
  .quote-intro-prices { right: 24px; }
  .quote-intro-prices > i { height: 28px; }
  .quote-story-copy h2 { font-size: 39px; }
  .quote-cinematic-workspace { padding-right: 15px; padding-left: 15px; }
  .public-site.booking-public.cinematic-quote .quote-form-path span { font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  html.cinematic-quote-root { scroll-behavior: auto; }
  .quote-intro-scene img { transform: scale(1.06); }
}

/* Quote experience alignment: carry the campaign system through the full handoff. */
.cinematic-quote {
  --campaign-ink: #101411;
  --campaign-paper: #f2eee4;
  --campaign-acid: #d9ff57;
  --campaign-orange: #f1703d;
  background: #070b11;
}

.cinematic-quote .quote-campaign-header {
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
}

.cinematic-quote .quote-campaign-header > p {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.cinematic-quote .quote-campaign-header > p i {
  width: 40px;
  height: 1px;
  background: currentColor;
}

.cinematic-quote .quote-campaign-header .campaign-header-cta {
  justify-self: end;
}

.cinematic-quote .quote-campaign-header.is-scrolled > p {
  color: rgba(16,20,17,.62);
}

.cinematic-quote .quote-campaign-header:not(.is-scrolled) .campaign-mark span {
  color: #82a8ff;
}

.cinematic-quote .quote-campaign-header:not(.is-scrolled) .campaign-mark strong,
.cinematic-quote .quote-campaign-header:not(.is-scrolled) .campaign-mark small {
  color: #fff;
}

.quote-cinematic-intro {
  min-height: 100svh;
}

.quote-intro-scene {
  object-fit: cover;
  object-position: center;
  filter: saturate(.72) contrast(1.1) brightness(.66);
  transform: scale(1.025);
  transition: transform 8s cubic-bezier(.2,.7,.2,1), filter 1.2s ease;
}

.quote-cinematic-intro.is-ready .quote-intro-scene {
  transform: scale(1.075);
}

.quote-intro-grade {
  background:
    linear-gradient(90deg, rgba(2,4,8,.92) 0%, rgba(2,4,8,.54) 46%, rgba(2,4,8,.13) 76%),
    linear-gradient(0deg, rgba(2,4,8,.86) 0%, transparent 56%);
}

.quote-intro-copy,
.quote-intro-prices,
.quote-intro-promise,
.quote-scroll-cue {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .8s var(--motion-ease), transform .8s var(--motion-ease);
}

.quote-cinematic-intro.is-ready .quote-intro-copy {
  opacity: 1;
  transform: none;
  transition-delay: .12s;
}

.quote-cinematic-intro.is-ready .quote-intro-prices {
  opacity: 1;
  transform: none;
  transition-delay: .28s;
}

.quote-cinematic-intro.is-ready .quote-intro-promise,
.quote-cinematic-intro.is-ready .quote-scroll-cue {
  opacity: 1;
  transform: none;
  transition-delay: .42s;
}

.quote-intro-primary {
  box-shadow: inset 0 -3px 0 #1464ff;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.quote-intro-primary:hover {
  background: #1464ff;
  color: #fff !important;
  transform: translateY(-2px);
}

.public-site.booking-public.cinematic-quote .booking-quote-section {
  grid-template-columns: minmax(360px, 38vw) minmax(0, 1fr);
  background: #080d14;
  color: #f6f7f5;
}

.quote-cinematic-story {
  position: sticky;
  top: 0;
  min-height: 100svh;
  border-right: 1px solid rgba(255,255,255,.12);
}

.quote-cinematic-story img {
  filter: saturate(.76) contrast(1.12) brightness(.6);
  transform: scale(1.075);
  transition: transform 1.4s var(--motion-ease);
}

.quote-cinematic-story.is-visible img {
  transform: scale(1.015);
}

.quote-story-grade {
  background:
    linear-gradient(0deg, rgba(3,7,12,.97) 0%, rgba(3,7,12,.26) 70%),
    linear-gradient(90deg, rgba(20,100,255,.16), transparent 46%);
}

.quote-story-copy > p:first-child,
.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow,
.public-site.booking-public.cinematic-quote .quote-stage-heading > span,
.public-site.booking-public.cinematic-quote .smart-estimate-head > span {
  color: #82a8ff;
}

.quote-cinematic-workspace {
  position: relative;
  padding: 112px clamp(34px, 6vw, 96px) 100px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(20,100,255,.11), transparent 32%),
    #080d14;
}

.public-site.booking-public.cinematic-quote .quote-intent-note {
  margin: 0;
  border-left: 2px solid #82a8ff;
  padding: 10px 0 10px 14px;
  color: rgba(247,248,246,.74);
  font-size: .78rem;
  line-height: 1.55;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow {
  position: relative;
  padding-left: 32px;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 1px;
  background: #82a8ff;
  content: "";
}

.quote-cinematic-workspace::before {
  position: absolute;
  top: 0;
  right: clamp(34px, 6vw, 96px);
  left: clamp(34px, 6vw, 96px);
  height: 3px;
  background: linear-gradient(90deg, #1464ff 0 34%, #f1703d 34% 58%, rgba(255,255,255,.2) 58%);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s var(--motion-ease);
}

.quote-cinematic-workspace.is-visible::before {
  transform: scaleX(1);
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head {
  border-color: rgba(255,255,255,.2);
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2 {
  max-width: 780px;
  color: #f7f8f6;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head > p:last-child {
  color: rgba(247,248,246,.64);
}

.public-site.booking-public.cinematic-quote .quote-form-intro {
  border-color: rgba(255,255,255,.18);
}

.public-site.booking-public.cinematic-quote .quote-form-intro strong {
  color: #f7f8f6;
}

.public-site.booking-public.cinematic-quote .quote-form-intro span {
  color: rgba(247,248,246,.54);
}

.public-site.booking-public.cinematic-quote .quote-form-path {
  position: relative;
  border-color: rgba(255,255,255,.2);
}

.public-site.booking-public.cinematic-quote .quote-form-path span {
  color: rgba(247,248,246,.48);
  transition: color 220ms ease, background 220ms ease;
}

.public-site.booking-public.cinematic-quote .quote-form-path span + span {
  border-color: rgba(255,255,255,.16);
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-active {
  background: #1464ff;
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-done {
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-done::after {
  color: #82a8ff;
  content: " /";
}

.public-site.booking-public.cinematic-quote .quote-guide-stage.is-entering {
  animation: quote-stage-enter .5s var(--motion-ease) both;
}

@keyframes quote-stage-enter {
  from { opacity: 0; transform: translate3d(28px, 0, 0); }
  to { opacity: 1; transform: none; }
}

.public-site.booking-public.cinematic-quote .quote-stage-heading h3,
.public-site.booking-public.cinematic-quote .quote-form label,
.public-site.booking-public.cinematic-quote .quote-fieldset legend {
  color: #f7f8f6;
}

.public-site.booking-public.cinematic-quote .quote-step-field > span,
.public-site.booking-public.cinematic-quote .quote-photo-card label {
  color: #f7f8f6;
}

.public-site.booking-public.cinematic-quote .quote-stage-heading p,
.public-site.booking-public.cinematic-quote .quote-form small {
  color: rgba(247,248,246,.58);
}

.public-site.booking-public.cinematic-quote .quote-form input:not([type="checkbox"]):not([type="file"]),
.public-site.booking-public.cinematic-quote .quote-form select,
.public-site.booking-public.cinematic-quote .quote-form textarea {
  border: 1px solid rgba(255,255,255,.2);
  background: #101722;
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-form input::placeholder,
.public-site.booking-public.cinematic-quote .quote-form textarea::placeholder {
  color: rgba(247,248,246,.36);
}

.public-site.booking-public.cinematic-quote .quote-form select {
  color-scheme: dark;
}

.public-site.booking-public.cinematic-quote .quote-form input:focus,
.public-site.booking-public.cinematic-quote .quote-form select:focus,
.public-site.booking-public.cinematic-quote .quote-form textarea:focus {
  border-color: #82a8ff;
  background: #151e2b;
  box-shadow: 0 0 0 3px rgba(20,100,255,.16);
}

.public-site.booking-public.cinematic-quote .quote-fieldset {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.025);
}

.public-site.booking-public.cinematic-quote .quote-fieldset label {
  color: rgba(247,248,246,.72);
}

.public-site.booking-public.cinematic-quote .smart-quote-panel,
.public-site.booking-public.cinematic-quote .quote-photo-card,
.public-site.booking-public.cinematic-quote .photo-preview-panel,
.public-site.booking-public.cinematic-quote .quote-guide-summary,
.public-site.booking-public.cinematic-quote .quote-submit-note {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.045);
  color: #f7f8f6;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel {
  border-left-color: #1464ff;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel > span,
.public-site.booking-public.cinematic-quote .smart-quote-panel p,
.public-site.booking-public.cinematic-quote .smart-quote-panel li,
.public-site.booking-public.cinematic-quote .quote-photo-card span {
  color: rgba(247,248,246,.62);
}

.public-site.booking-public.cinematic-quote .smart-quote-panel strong,
.public-site.booking-public.cinematic-quote .quote-photo-card strong {
  color: #fff;
}

.public-site.booking-public.cinematic-quote .service-upgrade-button {
  border-color: rgba(130,168,255,.46);
  background: #1464ff;
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-guide-actions {
  border-color: rgba(255,255,255,.18);
}

.public-site.booking-public.cinematic-quote .quote-guide-next,
.public-site.booking-public.cinematic-quote .quote-submit-button {
  background: #fff;
  color: #080d14;
  box-shadow: inset 0 -3px 0 #1464ff;
}

.public-site.booking-public.cinematic-quote .quote-guide-next:hover,
.public-site.booking-public.cinematic-quote .quote-submit-button:hover {
  background: #1464ff;
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-guide-back {
  border-color: rgba(255,255,255,.34);
  color: #fff;
}

.public-site.booking-public.cinematic-quote .quote-support-panel {
  border-color: rgba(255,255,255,.2);
}

.public-site.booking-public.cinematic-quote .smart-estimate-card,
.public-site.booking-public.cinematic-quote .quote-assurance,
.public-site.booking-public.cinematic-quote .quote-support-drawer {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.025);
}

.public-site.booking-public.cinematic-quote .smart-estimate-head strong,
.public-site.booking-public.cinematic-quote .quote-assurance strong,
.public-site.booking-public.cinematic-quote .quote-support-drawer summary {
  color: #fff;
}

.public-site.booking-public.cinematic-quote .smart-estimate-card p,
.public-site.booking-public.cinematic-quote .smart-estimate-card small,
.public-site.booking-public.cinematic-quote .quote-assurance span {
  color: rgba(247,248,246,.58);
}

.public-site.booking-public.cinematic-quote .smart-estimate-card .smart-estimate-tags span {
  border-color: rgba(130,168,255,.34);
  background: rgba(20,100,255,.13);
  color: #a9c5ff;
}

.js .cinematic-quote [data-quote-reveal] {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  transition: opacity .85s var(--motion-ease), transform .85s var(--motion-ease);
}

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

.public-site.booking-public.cinematic-quote .booking-after {
  background:
    linear-gradient(120deg, rgba(20,100,255,.13), transparent 38%),
    #05080d;
}

.public-site.booking-public.cinematic-quote .booking-faq {
  background: #f2eee4;
}

.public-site.booking-public.cinematic-quote .booking-fallback {
  background:
    linear-gradient(110deg, #0c1d39 0%, #07101d 58%, #07090b 100%);
}

.quote-cinematic-footer {
  color: #fff;
}

@media (max-width: 940px) {
  .quote-cinematic-story {
    position: relative;
    top: auto;
    min-height: 660px;
  }
}

@media (max-width: 760px) {
  .cinematic-quote .quote-campaign-header {
    min-height: var(--header-height);
    grid-template-columns: 1fr auto;
    padding: 11px 18px;
  }

  .cinematic-quote .quote-campaign-header > p {
    display: none;
  }

  .cinematic-quote .quote-campaign-header .campaign-header-cta {
    min-height: 42px;
    padding: 0 15px;
    font-size: 10px;
  }

  .quote-cinematic-intro {
    min-height: 810px;
  }

  .quote-intro-scene {
    object-position: 51% 52%;
    filter: saturate(.72) contrast(1.12) brightness(.58);
  }

  .public-site.booking-public.cinematic-quote .booking-quote-section {
    grid-template-columns: 1fr;
  }

  .quote-cinematic-workspace {
    padding-top: 72px;
    background:
      linear-gradient(150deg, rgba(20,100,255,.12), transparent 24%),
      #080d14;
  }

  .quote-cinematic-story {
    min-height: 600px;
    border-top: 1px solid rgba(255,255,255,.14);
    border-right: 0;
  }

  .public-site.booking-public.cinematic-quote .quote-form-path span.is-done::after {
    content: "";
  }

  .public-site.booking-public.cinematic-quote .quote-stage-grid {
    gap: 22px;
  }

  .public-site.booking-public.cinematic-quote .quote-guide-actions {
    position: sticky;
    z-index: 5;
    bottom: 10px;
    margin: 30px -8px 0;
    padding: 10px 8px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(8,13,20,.9);
    backdrop-filter: blur(16px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .quote-intro-scene,
  .quote-intro-copy,
  .quote-intro-prices,
  .quote-intro-promise,
  .quote-scroll-cue,
  .js .cinematic-quote [data-quote-reveal],
  .public-site.booking-public.cinematic-quote .quote-guide-stage.is-entering,
  .quote-cinematic-story img {
    animation: none !important;
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* 11D-R3: shared, low-motion visual system for decision and proof pages. */
html.cinematic-secondary-root { scroll-behavior: smooth; }
.public-site.cinematic-secondary,
.public-site.cinematic-secondary * { box-sizing: border-box; }
.public-site.cinematic-secondary { margin: 0; min-width: 320px; overflow-x: hidden; background: #050708; color: #f7f8f6; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 0; }
.public-site.cinematic-secondary :where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid #8eabdf; outline-offset: 3px; }
.public-site.cinematic-secondary .site-header { border-bottom: 1px solid rgba(255,255,255,.16); background: rgba(2,4,6,.88); color: #fff; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.public-site.cinematic-secondary .brand,
.public-site.cinematic-secondary .site-header nav a { color: #fff; }
.public-site.cinematic-secondary .brand-mark { border: 1px solid rgba(255,255,255,.62); border-radius: 0; background: transparent; color: #fff; }
.public-site.cinematic-secondary .brand small { color: rgba(255,255,255,.58); }
.public-site.cinematic-secondary .site-header nav a::after { background: #8eabdf; }
.public-site.cinematic-secondary .header-cta { border-radius: 0; background: #fff; color: #080b0e; }
.public-site.cinematic-secondary .site-footer { border-top: 1px solid rgba(255,255,255,.15); background: #070a09; color: #fff; }
.public-site.cinematic-secondary .site-footer p,
.public-site.cinematic-secondary .footer-nav a { color: rgba(255,255,255,.64); }
.public-site.cinematic-secondary .footer-cta { border-radius: 0; background: #fff; color: #080b0e; }
.public-site.cinematic-secondary .mobile-cta-bar { display: none !important; }

.public-site.services-public.cinematic-secondary .services-flow-intro { min-height: 82svh; padding: calc(var(--header-height) + 52px) 0 62px; background: #050708; color: #fff; }
.public-site.services-public.cinematic-secondary .services-intro-grid { grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); align-items: stretch; width: min(1440px, 100%); max-width: none; min-height: 660px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 74px); }
.public-site.services-public.cinematic-secondary .services-intro-copy { align-self: center; max-width: 650px; padding: 56px 4vw 56px 0; }
.public-site.services-public.cinematic-secondary .services-flow-breadcrumbs,
.public-site.services-public.cinematic-secondary .services-flow-breadcrumbs a { color: rgba(255,255,255,.56); }
.public-site.services-public.cinematic-secondary .flow-eyebrow { color: #8eabdf; }
.public-site.services-public.cinematic-secondary .services-intro-copy h1 { max-width: 680px; color: #fff; font-size: clamp(58px, 6.8vw, 104px); font-weight: 900; line-height: .86; }
.public-site.services-public.cinematic-secondary .services-intro-lead { max-width: 560px; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.65; }
.public-site.services-public.cinematic-secondary .services-intro-photo { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: #111; }
.public-site.services-public.cinematic-secondary .services-intro-photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(5,7,8,.26), transparent 58%), linear-gradient(0deg, rgba(5,7,8,.74), transparent 45%); pointer-events: none; }
.public-site.services-public.cinematic-secondary .services-intro-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; filter: saturate(.7) contrast(1.08) brightness(.76); }
.public-site.services-public.cinematic-secondary .services-intro-photo figcaption { z-index: 1; right: 24px; bottom: 21px; left: 24px; color: rgba(255,255,255,.78); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.public-site.services-public.cinematic-secondary .flow-button { min-height: 52px; border-radius: 0; }
.public-site.services-public.cinematic-secondary .flow-button-gold { background: #fff; color: #080b0e; }
.public-site.services-public.cinematic-secondary .flow-text-link { color: #fff; }

.public-site.services-public.cinematic-secondary .services-flow-compare { padding: 120px 0; background: #ecebe6; color: #10151a; }
.public-site.services-public.cinematic-secondary .services-flow-compare .flow-shell { width: min(1240px, calc(100% - 48px)); max-width: none; }
.public-site.services-public.cinematic-secondary .services-compare-heading { grid-template-columns: 1.15fr .85fr; gap: 8vw; margin-bottom: 54px; }
.public-site.services-public.cinematic-secondary .services-compare-heading h2 { max-width: 720px; color: #10151a; font-size: clamp(48px, 5.6vw, 82px); font-weight: 900; line-height: .9; }
.public-site.services-public.cinematic-secondary .services-compare-heading > p { align-self: end; max-width: 470px; color: #5d6563; line-height: 1.65; }
.public-site.services-public.cinematic-secondary .services-compare-grid { gap: 0; border-top: 1px solid #949b96; border-bottom: 1px solid #949b96; }
.public-site.services-public.cinematic-secondary .services-choice { min-height: 620px; border: 0; border-radius: 0; background: transparent; color: #10151a; box-shadow: none; }
.public-site.services-public.cinematic-secondary .services-choice + .services-choice { border-left: 1px solid #aeb3ae; }
.public-site.services-public.cinematic-secondary .services-choice-extra { background: #101828; color: #fff; }
.public-site.services-public.cinematic-secondary .services-choice-copy { display: flex; flex-direction: column; min-height: 100%; padding: clamp(38px, 5vw, 72px); }
.public-site.services-public.cinematic-secondary .services-choice h3 { color: inherit; font-size: clamp(45px, 4.5vw, 68px); font-weight: 900; line-height: .9; }
.public-site.services-public.cinematic-secondary .services-choice-price { color: #315b9d; font-size: 18px; font-weight: 850; }
.public-site.services-public.cinematic-secondary .services-choice-extra .services-choice-price { color: #a9c5ff; }
.public-site.services-public.cinematic-secondary .services-choice-copy > p:not([class]),
.public-site.services-public.cinematic-secondary .services-choice li { color: #59615e; }
.public-site.services-public.cinematic-secondary .services-choice-extra .services-choice-copy > p:not([class]),
.public-site.services-public.cinematic-secondary .services-choice-extra li { color: rgba(255,255,255,.68); }
.public-site.services-public.cinematic-secondary .services-choice .flow-button { width: max-content; margin-top: auto; }
.public-site.services-public.cinematic-secondary .services-choice-extra .flow-button { background: #fff; color: #10151a; }

.public-site.services-public.cinematic-secondary .services-flow-proof { padding: 120px 0; background: #050708; color: #fff; }
.public-site.services-public.cinematic-secondary .services-flow-proof .flow-shell { width: min(1400px, calc(100% - 48px)); max-width: none; }
.public-site.services-public.cinematic-secondary .services-r2-proof-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: end; margin-bottom: 54px; }
.public-site.services-public.cinematic-secondary .services-flow-proof h2 { max-width: 780px; color: #fff; font-size: clamp(50px, 6vw, 88px); font-weight: 900; line-height: .88; }
.public-site.services-public.cinematic-secondary .services-r2-proof-heading p { max-width: 490px; color: rgba(255,255,255,.62); line-height: 1.65; }
.public-site.services-public.cinematic-secondary .services-proof-examples { gap: 12px; }
.public-site.services-public.cinematic-secondary .services-proof-examples figure { border: 0; border-radius: 0; background: #111; box-shadow: none; }
.public-site.services-public.cinematic-secondary .services-proof-examples img { filter: saturate(.68) contrast(1.08) brightness(.8); }
.public-site.services-public.cinematic-secondary .services-proof-examples figcaption { background: #0d1115; color: #fff; }
.public-site.services-public.cinematic-secondary .services-proof-examples figcaption span { color: rgba(255,255,255,.58); }
.public-site.services-public.cinematic-secondary .services-flow-final { padding: 120px 0; background: #d8d5ca; color: #10151a; }
.public-site.services-public.cinematic-secondary .services-flow-final .flow-shell { width: min(1200px, calc(100% - 48px)); max-width: none; }
.public-site.services-public.cinematic-secondary .services-flow-final h2,
.public-site.services-public.cinematic-secondary .services-flow-final p,
.public-site.services-public.cinematic-secondary .services-flow-final .flow-text-link { color: #10151a; }

.public-site.results-public.cinematic-secondary .results-cinematic-hero { position: relative; isolation: isolate; display: flex; align-items: end; width: 100%; max-width: none; min-height: 82svh; margin: 0; padding: calc(var(--header-height) + 54px) 7vw 76px; overflow: hidden; background: #050708; color: #fff; }
.public-site.results-public.cinematic-secondary .results-cinematic-hero > picture,
.public-site.results-public.cinematic-secondary .results-cinematic-hero > picture img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.public-site.results-public.cinematic-secondary .results-cinematic-hero > picture img { object-fit: cover; object-position: 50% 52%; filter: saturate(.55) contrast(1.18) brightness(.54); }
.public-site.results-public.cinematic-secondary .results-cinematic-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(2,4,6,.92), rgba(2,4,6,.35) 62%, rgba(2,4,6,.12)), linear-gradient(0deg, rgba(2,4,6,.82), transparent 55%); }
.public-site.results-public.cinematic-secondary .results-hero-copy { width: min(850px, 82vw); }
.public-site.results-public.cinematic-secondary .results-hero-copy .breadcrumbs,
.public-site.results-public.cinematic-secondary .results-hero-copy .breadcrumbs a { color: rgba(255,255,255,.58); }
.public-site.results-public.cinematic-secondary .results-hero-copy .eyebrow { color: #a9c5ff; }
.public-site.results-public.cinematic-secondary .results-hero-copy h1 { max-width: 830px; margin: 16px 0 0; color: #fff; font-size: clamp(65px, 8vw, 124px); font-weight: 900; line-height: .84; }
.public-site.results-public.cinematic-secondary .results-hero-copy > p:last-of-type { max-width: 590px; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.65; }
.public-site.results-public.cinematic-secondary .results-hero-cta { display: flex; align-items: center; justify-content: space-between; width: 205px; min-height: 52px; margin-top: 28px; padding: 0 17px; background: #fff; color: #080b0e; font-size: 11px; font-weight: 850; }
.public-site.results-public.cinematic-secondary .comparison-section { background: #ecebe6; color: #10151a; }
.public-site.results-public.cinematic-secondary .comparison-tool { border-radius: 0; box-shadow: none; }
.public-site.results-public.cinematic-secondary .results { background: #050708; color: #fff; }
.public-site.results-public.cinematic-secondary .results .section-heading h2 { color: #fff; }
.public-site.results-public.cinematic-secondary .results .section-heading p,
.public-site.results-public.cinematic-secondary .gallery-filter-summary { color: rgba(255,255,255,.62); }
.public-site.results-public.cinematic-secondary .gallery-toolbar { border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.public-site.results-public.cinematic-secondary .gallery-toolbar button { border: 0; border-radius: 0; background: transparent; color: rgba(255,255,255,.66); }
.public-site.results-public.cinematic-secondary .gallery-toolbar button.is-active { background: #fff; color: #080b0e; }
.public-site.results-public.cinematic-secondary .result-grid { gap: 14px; }
.public-site.results-public.cinematic-secondary .result-card { border: 0; border-radius: 0; background: #0d1115; color: #fff; box-shadow: none; }
.public-site.results-public.cinematic-secondary .result-card img { filter: saturate(.72) contrast(1.06) brightness(.84); }
.public-site.results-public.cinematic-secondary .result-card > span { color: #a9c5ff; }
.public-site.results-public.cinematic-secondary .result-card h2 { color: #fff; }
.public-site.results-public.cinematic-secondary .result-card p { color: rgba(255,255,255,.58); }
.public-site.results-public.cinematic-secondary .testimonials,
.public-site.results-public.cinematic-secondary main > .section:not(.comparison-section):not(.results) { background: #ecebe6; color: #10151a; }
.public-site.results-public.cinematic-secondary .quote-band { border-radius: 0; background: #101828; color: #fff; }

@media (max-width: 800px) {
  html.cinematic-secondary-root { scroll-behavior: auto; }
  .public-site.services-public.cinematic-secondary .services-flow-intro { min-height: 0; padding-top: calc(var(--header-height) + 22px); }
  .public-site.services-public.cinematic-secondary .services-intro-grid { position: relative; isolation: isolate; grid-template-columns: 1fr; min-height: 760px; padding: 0; overflow: hidden; }
  .public-site.services-public.cinematic-secondary .services-intro-copy { z-index: 1; align-self: end; padding: 190px 20px 66px; background: linear-gradient(0deg, rgba(5,7,8,.96) 0%, rgba(5,7,8,.72) 65%, transparent 100%); }
  .public-site.services-public.cinematic-secondary .services-intro-copy h1 { font-size: clamp(52px, 15vw, 72px); }
  .public-site.services-public.cinematic-secondary .services-intro-photo { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; min-height: 0; }
  .public-site.services-public.cinematic-secondary .services-flow-compare,
  .public-site.services-public.cinematic-secondary .services-flow-proof,
  .public-site.services-public.cinematic-secondary .services-flow-final { padding: 82px 0; }
  .public-site.services-public.cinematic-secondary .services-flow-compare .flow-shell,
  .public-site.services-public.cinematic-secondary .services-flow-proof .flow-shell,
  .public-site.services-public.cinematic-secondary .services-flow-final .flow-shell { width: calc(100% - 36px); }
  .public-site.services-public.cinematic-secondary .services-compare-heading,
  .public-site.services-public.cinematic-secondary .services-r2-proof-heading { grid-template-columns: 1fr; gap: 24px; }
  .public-site.services-public.cinematic-secondary .services-compare-grid { grid-template-columns: 1fr; }
  .public-site.services-public.cinematic-secondary .services-choice { min-height: 560px; }
  .public-site.services-public.cinematic-secondary .services-choice + .services-choice { border-top: 1px solid #aeb3ae; border-left: 0; }
  .public-site.services-public.cinematic-secondary .services-choice-copy { padding: 42px 22px; }
  .public-site.services-public.cinematic-secondary .services-proof-examples { grid-template-columns: 1fr; }
  .public-site.results-public.cinematic-secondary .results-cinematic-hero { min-height: 760px; padding: calc(var(--header-height) + 44px) 20px 62px; }
  .public-site.results-public.cinematic-secondary .results-hero-copy { width: 100%; }
  .public-site.results-public.cinematic-secondary .results-hero-copy h1 { font-size: clamp(56px, 15.5vw, 78px); }
  .public-site.results-public.cinematic-secondary .gallery-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-site.results-public.cinematic-secondary .gallery-toolbar button { min-width: 0; }
}

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

/* Keep the campaign CTA and skip link above legacy cinematic selectors. */
.campaign-prototype .skip-link {
  min-height: var(--campaign-touch);
  padding: 14px 18px;
  background: #fff;
  color: #111;
  transform: translateY(-160%);
}

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

.campaign-prototype .campaign-primary {
  display: inline-flex;
  width: auto;
  min-height: var(--campaign-touch);
  margin: 0;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 15px 18px;
  background: var(--campaign-acid);
  color: var(--campaign-ink) !important;
  font-size: 14px;
  font-weight: 900;
}

.campaign-prototype .campaign-primary-light {
  background: var(--campaign-ink);
  color: #fff !important;
}

/* Campaign v2: cobalt, graphite, and porcelain. Motion is edited, never scrubbed. */
body.campaign-v2 {
  --v2-ink: #090c12;
  --v2-ink-soft: #151a24;
  --v2-paper: #f4f3f0;
  --v2-paper-cool: #e7eaf0;
  --v2-silver: #b9c1cd;
  --v2-blue: #2f6fff;
  --v2-blue-bright: #6d98ff;
  --v2-line: rgba(9, 12, 18, 0.16);
  --v2-touch: 48px;
  margin: 0;
  overflow-x: hidden;
  background: var(--v2-paper);
  color: var(--v2-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

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

.campaign-v2 a {
  color: inherit;
}

.campaign-v2 .skip-link {
  position: fixed;
  z-index: 300;
  top: 12px;
  left: 12px;
  min-height: var(--v2-touch);
  padding: 14px 18px;
  transform: translateY(-160%);
  background: #fff;
  color: var(--v2-ink);
}

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

.film-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: grid;
  width: 100%;
  min-height: 74px;
  grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr);
  align-items: center;
  gap: 30px;
  padding: 14px 34px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  transition: background 240ms ease, border-color 240ms ease, color 240ms ease;
}

.film-header.is-scrolled {
  border-color: rgba(9, 12, 18, 0.12);
  background: rgba(244, 243, 240, 0.93);
  color: var(--v2-ink);
  backdrop-filter: blur(18px);
}

.wolf-signature {
  display: grid;
  width: max-content;
  grid-template-columns: auto auto;
  align-items: baseline;
  column-gap: 8px;
  text-decoration: none;
}

.wolf-signature strong {
  font-size: 25px;
  font-weight: 900;
  line-height: 0.9;
}

.wolf-signature span {
  color: var(--v2-blue-bright);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-style: italic;
  line-height: 1;
}

.film-header.is-scrolled .wolf-signature span,
.film-footer .wolf-signature span {
  color: var(--v2-blue);
}

.wolf-signature small {
  grid-column: 1 / -1;
  margin-top: 5px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.film-header nav,
.film-footer nav {
  display: flex;
  align-items: center;
  gap: 30px;
}

.film-header nav a,
.film-footer nav a {
  min-height: 44px;
  padding: 13px 0;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

.film-header-cta {
  justify-self: end;
  min-height: var(--v2-touch);
  padding: 14px 20px;
  border: 1px solid currentColor;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.film-header.is-scrolled .film-header-cta {
  border-color: var(--v2-blue);
  background: var(--v2-blue);
  color: #fff;
}

.film-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 94svh;
  align-items: flex-end;
  overflow: hidden;
  padding: 148px 7vw 142px;
  background: var(--v2-ink) url("https://ekwxqbpeethxkzfkurnz.supabase.co/storage/v1/object/public/wolfies-public-media/v1/e1/e1947d620c66bb4cd8afb3a4fe32c9bde83e8f038c433cbf8db72a3d1d48de8f.webp") center / cover no-repeat;
  color: #fff;
}

.film-hero-video,
.film-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.film-hero-video {
  z-index: -3;
  object-fit: cover;
  object-position: center;
}

.film-hero-shade {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5, 8, 15, 0.9) 0%, rgba(5, 8, 15, 0.48) 46%, rgba(5, 8, 15, 0.12) 80%),
    linear-gradient(0deg, rgba(5, 8, 15, 0.94) 0%, rgba(5, 8, 15, 0.08) 52%, rgba(5, 8, 15, 0.52) 100%);
}

.film-hero::after {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--v2-blue) 0 42%, rgba(255, 255, 255, 0.28) 42% 58%, transparent 58%);
  content: "";
}

.film-hero-copy {
  width: min(780px, 72vw);
}

.film-locator,
.film-section-label {
  margin: 0 0 20px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
}

.film-locator {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.76);
}

.film-locator i {
  width: 36px;
  height: 2px;
  background: var(--v2-blue-bright);
}

.film-hero h1 {
  display: flex;
  margin: 0;
  flex-direction: column;
  font-size: 92px;
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: 0;
}

.film-hero h1 span,
.film-hero h1 strong,
.film-hero h1 em {
  display: block;
}

.film-hero h1 span {
  font-size: 0.42em;
  font-weight: 650;
  line-height: 1.15;
}

.film-hero h1 strong {
  margin: 8px 0 0 8%;
  color: var(--v2-blue-bright);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.film-hero h1 em {
  align-self: flex-end;
  font-style: normal;
  font-weight: 900;
}

.film-hero-note {
  max-width: 570px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  line-height: 1.55;
}

.film-hero-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
}

.film-primary {
  display: inline-flex;
  min-height: var(--v2-touch);
  align-items: center;
  justify-content: center;
  gap: 26px;
  padding: 15px 19px;
  background: var(--v2-blue);
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.film-primary span {
  font-size: 19px;
}

.film-secondary,
.film-text-link,
.film-inline-link {
  display: inline-flex;
  min-height: var(--v2-touch);
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.film-secondary span,
.film-inline-link span {
  margin-left: 12px;
}

.film-price-line {
  position: absolute;
  right: 7vw;
  bottom: 34px;
  left: 7vw;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: end;
  gap: 40px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.film-price-line p {
  margin: 0;
}

.film-price-line span,
.film-price-line strong {
  display: block;
}

.film-price-line span {
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.film-price-line strong {
  font-size: 20px;
  line-height: 1.1;
}

.film-price-line .film-price-note {
  justify-self: end;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 1.4;
}

.film-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 7vw;
  border-bottom: 1px solid var(--v2-line);
  background: #fff;
}

.film-trust p {
  min-height: 104px;
  margin: 0;
  padding: 31px 28px 28px 0;
  color: #4d5360;
  font-size: 14px;
  line-height: 1.45;
}

.film-trust p + p {
  padding-left: 28px;
  border-left: 1px solid var(--v2-line);
}

.film-trust strong {
  display: block;
  margin-bottom: 4px;
  color: var(--v2-ink);
  font-size: 16px;
}

.film-meet {
  display: grid;
  max-width: 1480px;
  min-height: 780px;
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  align-items: center;
  gap: 8vw;
  padding: 128px 7vw;
}

.film-meet-copy {
  max-width: 720px;
}

.film-section-label {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #3f4755;
}

.film-section-label::before {
  width: 42px;
  height: 3px;
  background: var(--v2-blue);
  content: "";
}

.film-meet h2,
.process-heading h2,
.film-decision h2 {
  margin: 0;
  font-size: 66px;
  font-weight: 850;
  line-height: 0.98;
  letter-spacing: 0;
}

.film-meet-copy > p:not(.film-section-label) {
  max-width: 610px;
  margin: 28px 0 26px;
  color: #515966;
  font-size: 18px;
  line-height: 1.7;
}

.film-inline-link {
  color: var(--v2-blue);
}

.film-meet-media {
  position: relative;
  margin: 0;
}

.film-meet-media::before {
  position: absolute;
  z-index: -1;
  right: -24px;
  bottom: -24px;
  width: 46%;
  height: 46%;
  border: 1px solid rgba(47, 111, 255, 0.48);
  content: "";
}

.film-meet-media img {
  display: block;
  width: 100%;
  max-height: 600px;
  object-fit: cover;
  filter: saturate(0.88) contrast(1.04);
}

.film-meet-media figcaption,
.process-result figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  color: #69717e;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

.film-meet-media figcaption span {
  color: var(--v2-ink);
  font-weight: 900;
}

.film-meet-media figcaption i,
.process-result figcaption i {
  width: 24px;
  height: 1px;
  background: currentColor;
}

.process-story {
  overflow: hidden;
  scroll-margin-top: 74px;
  padding: 126px 7vw 140px;
  background: var(--v2-ink);
  color: #fff;
}

.process-heading {
  display: grid;
  max-width: 1480px;
  margin: 0 auto 66px;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 6vw;
  align-items: end;
}

.process-heading .film-section-label {
  grid-column: 1 / -1;
  margin-bottom: -28px;
  color: var(--v2-blue-bright);
}

.process-heading .film-section-label::before {
  background: var(--v2-blue-bright);
}

.process-heading h2 {
  font-size: 78px;
}

.process-heading h2 em,
.film-decision h2 em {
  color: var(--v2-blue-bright);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
}

.process-heading > p:last-child {
  max-width: 500px;
  margin: 0 0 7px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 17px;
  line-height: 1.6;
}

.process-stage {
  position: relative;
  isolation: isolate;
  max-width: 1480px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #05070a;
}

.process-stage video,
.process-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.process-stage video {
  z-index: -2;
  object-fit: cover;
}

.process-shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(4, 7, 12, 0.72) 0%, rgba(4, 7, 12, 0.1) 54%),
    linear-gradient(0deg, rgba(4, 7, 12, 0.88) 0%, transparent 52%);
}

.process-copy {
  position: absolute;
  top: 11%;
  left: 6%;
  display: grid;
  width: min(620px, 55%);
}

.process-copy span {
  color: var(--v2-blue-bright);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-style: italic;
}

.process-copy strong {
  margin-top: 6px;
  font-size: 84px;
  font-weight: 900;
  line-height: 0.95;
}

.process-copy small {
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.4;
}

.process-copy.is-changing {
  animation: process-title-in 420ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

@keyframes process-title-in {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.process-progress {
  position: absolute;
  right: 5%;
  bottom: 5%;
  left: 5%;
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  list-style: none;
}

.process-progress li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
  padding-top: 14px;
  border-top: 2px solid rgba(255, 255, 255, 0.28);
  color: rgba(255, 255, 255, 0.48);
  transition: border-color 240ms ease, color 240ms ease;
}

.process-progress li::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--v2-blue-bright);
  content: "";
  transition: width 360ms ease;
}

.process-progress li[aria-current="step"] {
  color: #fff;
}

.process-progress li[aria-current="step"]::before {
  width: 100%;
}

.process-progress span {
  color: var(--v2-blue-bright);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-style: italic;
}

.process-progress strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.process-result {
  display: grid;
  max-width: 1180px;
  margin: 126px auto 0;
  grid-template-columns: minmax(320px, 0.88fr) minmax(320px, 1.12fr);
  align-items: center;
  gap: 9vw;
}

.process-result figure {
  margin: 0;
}

.process-result img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.05);
}

.process-result figcaption {
  color: rgba(255, 255, 255, 0.56);
}

.process-result .film-section-label {
  color: var(--v2-blue-bright);
}

.process-result .film-section-label::before {
  background: var(--v2-blue-bright);
}

.process-result h3 {
  max-width: 590px;
  margin: 0;
  font-size: 56px;
  line-height: 1;
}

.process-result > div > p:last-child {
  max-width: 500px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 17px;
  line-height: 1.65;
}

.film-decision {
  display: grid;
  min-height: 610px;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  align-items: center;
  gap: 8vw;
  padding: 116px 7vw;
  background: var(--v2-blue);
  color: #fff;
}

.film-decision .film-section-label {
  color: rgba(255, 255, 255, 0.86);
}

.film-decision .film-section-label::before {
  background: #fff;
}

.film-decision h2 {
  font-size: 72px;
}

.film-decision h2 em {
  color: #fff;
}

.film-decision-copy {
  max-width: 530px;
}

.film-decision-copy > p {
  margin: 0 0 30px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 19px;
  line-height: 1.6;
}

.film-primary-light {
  background: #fff;
  color: var(--v2-ink) !important;
}

.film-text-link {
  width: max-content;
  margin-top: 18px;
}

.film-footer {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr);
  align-items: center;
  gap: 30px;
  padding: 38px 7vw;
  background: var(--v2-paper);
  color: var(--v2-ink);
}

.film-footer nav {
  justify-content: center;
  gap: 24px;
}

.film-footer nav a {
  font-size: 12px;
}

.film-footer > p {
  justify-self: end;
  margin: 0;
  color: #626a77;
  font-size: 12px;
}

.js .campaign-v2 [data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 720ms ease, transform 900ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.js .campaign-v2 [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js .campaign-v2 .film-hero-copy > * {
  opacity: 0;
  transform: translateY(22px);
  animation: film-intro 760ms cubic-bezier(0.2, 0.72, 0.2, 1) forwards;
}

.js .campaign-v2 .film-hero-copy > :nth-child(2) {
  animation-delay: 100ms;
}

.js .campaign-v2 .film-hero-copy > :nth-child(3) {
  animation-delay: 210ms;
}

.js .campaign-v2 .film-hero-copy > :nth-child(4) {
  animation-delay: 300ms;
}

@keyframes film-intro {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (hover: hover) {
  .film-primary,
  .film-header-cta,
  .film-secondary,
  .film-text-link,
  .film-inline-link,
  .film-header nav a,
  .film-footer nav a {
    transition: opacity 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
  }

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

  .film-header nav a:hover,
  .film-footer nav a:hover,
  .film-secondary:hover,
  .film-text-link:hover,
  .film-inline-link:hover {
    opacity: 0.62;
  }
}

@media (max-width: 980px) {
  .film-header {
    grid-template-columns: 1fr auto;
  }

  .film-header nav {
    display: none;
  }

  .film-hero h1 {
    font-size: 74px;
  }

  .film-meet,
  .process-heading,
  .film-decision {
    gap: 52px;
  }

  .film-meet h2,
  .process-heading h2,
  .film-decision h2 {
    font-size: 54px;
  }

  .process-copy strong {
    font-size: 66px;
  }

  .process-result h3 {
    font-size: 46px;
  }

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

  .film-footer nav {
    display: none;
  }
}

@media (max-width: 760px) {
  .film-header {
    min-height: 66px;
    gap: 14px;
    padding: 10px 16px;
  }

  .wolf-signature strong {
    font-size: 21px;
  }

  .wolf-signature span {
    font-size: 16px;
  }

  .wolf-signature small {
    margin-top: 4px;
    font-size: 9px;
  }

  .film-header-cta {
    min-height: 44px;
    padding: 12px 14px;
    font-size: 12px;
  }

  .film-hero {
    min-height: 94svh;
    padding: 108px 20px 140px;
    background-image: url("https://ekwxqbpeethxkzfkurnz.supabase.co/storage/v1/object/public/wolfies-public-media/v1/f0/f0a9acb4d2e50c888a4b936006ee78ede0a59bf75cd251d535bd7d6c52012bdb.webp");
  }

  .film-hero-shade {
    background:
      linear-gradient(0deg, rgba(5, 8, 15, 0.96) 0%, rgba(5, 8, 15, 0.18) 58%, rgba(5, 8, 15, 0.58) 100%),
      linear-gradient(90deg, rgba(5, 8, 15, 0.45), transparent 86%);
  }

  .film-hero-copy {
    width: 100%;
  }

  .film-locator {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .film-hero h1 {
    font-size: 52px;
    line-height: 0.92;
  }

  .film-hero h1 span {
    font-size: 0.48em;
  }

  .film-hero h1 strong {
    margin-top: 4px;
    margin-left: 4%;
  }

  .film-hero-note {
    max-width: 390px;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5;
  }

  .film-hero-actions {
    display: grid;
    margin-top: 22px;
    grid-template-columns: 1fr auto;
    gap: 16px;
  }

  .film-primary {
    padding: 14px 16px;
  }

  .film-secondary {
    font-size: 12px;
  }

  .film-price-line {
    right: 20px;
    bottom: 22px;
    left: 20px;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding-top: 14px;
  }

  .film-price-line strong {
    font-size: 16px;
  }

  .film-price-line .film-price-note {
    display: none;
  }

  .film-trust {
    grid-template-columns: 1fr;
    padding: 0 20px;
  }

  .film-trust p {
    min-height: 0;
    padding: 18px 0;
  }

  .film-trust p + p {
    padding-left: 0;
    border-top: 1px solid var(--v2-line);
    border-left: 0;
  }

  .film-trust strong {
    display: inline;
    margin-right: 4px;
    font-size: 14px;
  }

  .film-meet {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 82px 20px 98px;
  }

  .film-meet h2,
  .process-heading h2,
  .film-decision h2 {
    font-size: 42px;
  }

  .film-meet-copy > p:not(.film-section-label) {
    margin: 22px 0 20px;
    font-size: 16px;
  }

  .film-meet-media {
    width: calc(100% - 14px);
  }

  .film-meet-media::before {
    right: -14px;
    bottom: -14px;
  }

  .film-meet-media img {
    max-height: none;
    aspect-ratio: 4 / 4.3;
  }

  .process-story {
    scroll-margin-top: 66px;
    padding: 86px 20px 96px;
  }

  .process-heading {
    display: block;
    margin-bottom: 42px;
  }

  .process-heading .film-section-label {
    margin-bottom: 18px;
  }

  .process-heading > p:last-child {
    margin-top: 22px;
    font-size: 15px;
  }

  .process-stage {
    width: 100%;
    aspect-ratio: 9 / 16;
  }

  .process-shade {
    background:
      linear-gradient(0deg, rgba(4, 7, 12, 0.9) 0%, rgba(4, 7, 12, 0.04) 56%),
      linear-gradient(90deg, rgba(4, 7, 12, 0.54), transparent 78%);
  }

  .process-copy {
    top: 8%;
    left: 7%;
    width: 86%;
  }

  .process-copy span {
    font-size: 16px;
  }

  .process-copy strong {
    font-size: 58px;
  }

  .process-copy small {
    margin-top: 10px;
    font-size: 14px;
  }

  .process-progress {
    right: 7%;
    bottom: 4%;
    left: 7%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .process-progress li {
    display: block;
    padding-top: 10px;
  }

  .process-progress span {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
  }

  .process-progress strong {
    display: block;
    font-size: 9px;
  }

  .process-result {
    grid-template-columns: 1fr;
    gap: 48px;
    margin-top: 82px;
  }

  .process-result figure {
    width: 82%;
  }

  .process-result h3 {
    font-size: 42px;
  }

  .process-result > div > p:last-child {
    font-size: 15px;
  }

  .film-decision {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 86px 20px;
  }

  .film-decision-copy > p {
    font-size: 16px;
  }

  .film-footer {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 34px 20px;
  }

  .film-footer > p {
    justify-self: start;
  }
}

@media (max-width: 360px) {
  .film-hero h1 {
    font-size: 46px;
  }

  .film-hero-actions {
    grid-template-columns: 1fr;
  }

  .film-secondary {
    width: max-content;
  }

  .process-copy strong {
    font-size: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-v2 *,
  .campaign-v2 *::before,
  .campaign-v2 *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .js .campaign-v2 [data-reveal],
  .js .campaign-v2 .film-hero-copy > * {
    opacity: 1;
    transform: none;
  }
}

.motion-lite .campaign-v2 [data-reveal],
.motion-lite .campaign-v2 .film-hero-copy > * {
  opacity: 1;
  transform: none;
  animation: none;
}

/* Refined original direction: preserve the composition, remove the neon campaign skin. */
body.campaign-refined {
  --campaign-ink: #0d1015;
  --campaign-paper: #f1f0ed;
  --campaign-paper-soft: #e2e3e5;
  --campaign-green: #11151c;
  --campaign-acid: #f4f5f7;
  --campaign-orange: #b7bec8;
  --campaign-line: rgba(13, 16, 21, 0.17);
  background: var(--campaign-paper);
}

.campaign-refined .campaign-header.is-scrolled {
  border-color: rgba(13, 16, 21, 0.12);
  background: rgba(241, 240, 237, 0.94);
}

.campaign-refined .campaign-mark span,
.campaign-refined .campaign-header.is-scrolled .campaign-mark span,
.campaign-refined .campaign-footer .campaign-mark span {
  color: #8a93a0;
}

.campaign-refined .campaign-hero-shade {
  background:
    linear-gradient(90deg, rgba(6, 8, 12, 0.87) 0%, rgba(6, 8, 12, 0.44) 44%, rgba(6, 8, 12, 0.08) 78%),
    linear-gradient(0deg, rgba(6, 8, 12, 0.92) 0%, rgba(6, 8, 12, 0.08) 50%, rgba(6, 8, 12, 0.42) 100%);
}

.campaign-refined .campaign-hero::after {
  height: 5px;
  background: linear-gradient(90deg, #f4f5f7 0 31%, #9da5b0 31% 46%, transparent 46%);
}

.campaign-refined .campaign-locator i {
  background: #c8ced7;
}

.campaign-refined .campaign-hero h1 strong {
  color: #d6dbe2;
}

.campaign-refined .campaign-primary {
  background: #f4f5f7;
  color: #0d1015 !important;
}

.campaign-refined .campaign-header.is-scrolled .campaign-header-cta {
  border-color: #0d1015;
  background: #0d1015;
}

.campaign-refined .campaign-section-label {
  color: #424954;
}

.campaign-refined .campaign-section-label::before {
  height: 3px;
  background: #aeb5bf;
}

.campaign-refined .campaign-meet-media::before {
  right: -24px;
  bottom: -24px;
  border: 1px solid rgba(74, 82, 94, 0.46);
  background: transparent;
}

.campaign-refined .campaign-meet-media img,
.campaign-refined .campaign-finish-shot img {
  filter: saturate(0.84) contrast(1.05);
}

.campaign-refined .campaign-film {
  scroll-margin-top: 74px;
  background: #11151c;
}

.campaign-refined .campaign-film-heading .campaign-section-label,
.campaign-refined .campaign-film h2 em {
  color: #c9cfd8;
}

.campaign-film-player {
  isolation: isolate;
}

.campaign-film-scrim {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 8, 12, 0.7) 0%, rgba(6, 8, 12, 0.08) 58%),
    linear-gradient(0deg, rgba(6, 8, 12, 0.86) 0%, transparent 52%);
  pointer-events: none;
}

.campaign-refined .campaign-film-index-refined {
  z-index: 2;
  top: 9%;
  right: auto;
  bottom: auto;
  left: 6%;
  display: grid;
  min-width: 0;
  padding: 0;
  background: transparent;
  backdrop-filter: none;
}

.campaign-refined .campaign-film-index-refined span,
.campaign-refined .campaign-film-index-refined strong,
.campaign-refined .campaign-film-index-refined small {
  display: block;
}

.campaign-refined .campaign-film-index-refined span {
  color: #c9cfd8;
  font-size: 18px;
}

.campaign-refined .campaign-film-index-refined strong {
  margin-top: 5px;
  font-size: 58px;
  line-height: 0.95;
  text-transform: none;
}

.campaign-refined .campaign-film-index-refined small {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.35;
}

.campaign-refined .campaign-film-index-refined.is-changing {
  animation: campaign-chapter-in 420ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

@keyframes campaign-chapter-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.campaign-film-overlay-steps {
  position: absolute;
  z-index: 2;
  right: 5%;
  bottom: 5%;
  left: 5%;
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
}

.campaign-film-overlay-steps li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
  padding-top: 12px;
  border-top: 2px solid rgba(255, 255, 255, 0.26);
  color: rgba(255, 255, 255, 0.46);
  transition: border-color 220ms ease, color 220ms ease;
}

.campaign-film-overlay-steps li::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #d7dbe1;
  content: "";
  transition: width 320ms ease;
}

.campaign-film-overlay-steps li[aria-current="step"] {
  color: #fff;
}

.campaign-film-overlay-steps li[aria-current="step"]::before {
  width: 100%;
}

.campaign-film-overlay-steps span {
  color: #c9cfd8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
}

.campaign-film-overlay-steps strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.campaign-refined .campaign-finish-shot::before {
  background: #aeb5bf;
}

.campaign-refined .campaign-finish-shot img {
  box-shadow: none;
}

.campaign-refined .campaign-decision {
  background: #dfe1e4;
}

.campaign-refined .campaign-decision .campaign-section-label {
  color: #303640;
}

.campaign-refined .campaign-decision .campaign-section-label::before {
  background: #8f98a5;
}

.campaign-refined .campaign-decision h2 em {
  color: #6f7885;
}

.campaign-refined .campaign-primary-light {
  background: #0d1015;
  color: #fff !important;
}

@media (max-width: 760px) {
  .campaign-refined .campaign-hero-shade {
    background:
      linear-gradient(0deg, rgba(6, 8, 12, 0.95) 0%, rgba(6, 8, 12, 0.22) 58%, rgba(6, 8, 12, 0.5) 100%),
      linear-gradient(90deg, rgba(6, 8, 12, 0.42), transparent 84%);
  }

  .campaign-refined .campaign-film {
    scroll-margin-top: 66px;
  }

  .campaign-refined .campaign-film-index-refined {
    top: 7%;
    left: 7%;
  }

  .campaign-refined .campaign-film-index-refined strong {
    font-size: 48px;
  }

  .campaign-film-overlay-steps {
    right: 7%;
    bottom: 4%;
    left: 7%;
    gap: 6px;
  }

  .campaign-film-overlay-steps li {
    display: block;
    padding-top: 9px;
  }

  .campaign-film-overlay-steps span,
  .campaign-film-overlay-steps strong {
    display: block;
  }

  .campaign-film-overlay-steps span {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .campaign-film-overlay-steps strong {
    font-size: 8px;
  }

  .campaign-refined .campaign-finish-shot img {
    box-shadow: -14px -14px 0 #11151c, -16px -16px 0 rgba(255, 255, 255, 0.32);
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-refined .campaign-film-index-refined.is-changing {
    animation: none;
  }
}

/* The requested pass: original composition, approved cinematic palette, edited footage. */
body.campaign-directed {
  --campaign-ink: #10151a;
  --campaign-paper: #ecebe6;
  --campaign-paper-soft: #e0e1de;
  --campaign-green: #020406;
  --campaign-acid: #8fb3ff;
  --campaign-orange: #ff6b3d;
  --campaign-line: rgba(16, 21, 26, 0.18);
  background: var(--campaign-paper);
}

.campaign-directed .campaign-header.is-scrolled {
  border-color: rgba(16, 21, 26, 0.12);
  background: rgba(236, 235, 230, 0.94);
}

.campaign-directed .campaign-mark span,
.campaign-directed .campaign-header.is-scrolled .campaign-mark span,
.campaign-directed .campaign-footer .campaign-mark span {
  color: #1464ff;
}

.campaign-directed .campaign-hero-shade {
  background:
    linear-gradient(90deg, rgba(2, 4, 6, 0.88) 0%, rgba(2, 4, 6, 0.44) 44%, rgba(2, 4, 6, 0.08) 78%),
    linear-gradient(0deg, rgba(2, 4, 6, 0.93) 0%, rgba(2, 4, 6, 0.08) 50%, rgba(2, 4, 6, 0.42) 100%);
}

.campaign-directed .campaign-hero::after {
  height: 5px;
  background: linear-gradient(90deg, #1464ff 0 31%, #ff6b3d 31% 43%, rgba(255, 255, 255, 0.32) 43% 50%, transparent 50%);
}

.campaign-directed .campaign-locator i {
  background: #8fb3ff;
}

.campaign-directed .campaign-hero h1 strong {
  color: #8fb3ff;
}

.campaign-directed .campaign-primary {
  background: #fff;
  color: #080b0e !important;
}

.campaign-directed .campaign-primary span {
  color: #1464ff;
}

.campaign-directed .campaign-header.is-scrolled .campaign-header-cta {
  border-color: #10151a;
  background: #10151a;
}

.campaign-directed .campaign-section-label {
  color: #353d44;
}

.campaign-directed .campaign-section-label::before {
  height: 3px;
  background: #ff6b3d;
}

.campaign-directed .campaign-meet-media::before {
  right: -24px;
  bottom: -24px;
  border: 1px solid rgba(20, 100, 255, 0.58);
  background: transparent;
}

.campaign-directed .campaign-meet-media img,
.campaign-directed .campaign-finish-shot img {
  filter: saturate(0.9) contrast(1.04);
}

.campaign-directed .campaign-film {
  scroll-margin-top: 74px;
  background: #020406;
}

.campaign-directed .campaign-film-heading .campaign-section-label,
.campaign-directed .campaign-film h2 em {
  color: #8fb3ff;
}

.campaign-directed .campaign-film-heading .campaign-section-label::before {
  background: #ff6b3d;
}

.campaign-directed .campaign-film-player {
  isolation: isolate;
}

.campaign-directed-scrim {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 4, 6, 0.74) 0%, rgba(2, 4, 6, 0.06) 58%),
    linear-gradient(0deg, rgba(2, 4, 6, 0.88) 0%, transparent 52%);
  pointer-events: none;
}

.campaign-directed .campaign-directed-index {
  z-index: 2;
  top: 9%;
  right: auto;
  bottom: auto;
  left: 6%;
  display: grid;
  min-width: 0;
  padding: 0;
  background: transparent;
  backdrop-filter: none;
}

.campaign-directed .campaign-directed-index span,
.campaign-directed .campaign-directed-index strong,
.campaign-directed .campaign-directed-index small {
  display: block;
}

.campaign-directed .campaign-directed-index span {
  color: #8fb3ff;
  font-size: 18px;
}

.campaign-directed .campaign-directed-index strong {
  margin-top: 5px;
  font-size: 58px;
  line-height: 0.95;
  text-transform: none;
}

.campaign-directed .campaign-directed-index small {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  line-height: 1.35;
}

.campaign-directed .campaign-directed-index.is-changing {
  animation: directed-chapter-in 420ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

@keyframes directed-chapter-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.campaign-directed-steps {
  position: absolute;
  z-index: 2;
  right: 5%;
  bottom: 5%;
  left: 5%;
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
}

.campaign-directed-steps li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
  padding-top: 12px;
  border-top: 2px solid rgba(255, 255, 255, 0.28);
  color: rgba(255, 255, 255, 0.48);
  transition: border-color 220ms ease, color 220ms ease;
}

.campaign-directed-steps li::before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #8fb3ff;
  content: "";
  transition: width 320ms ease;
}

.campaign-directed-steps li[aria-current="step"] {
  color: #fff;
}

.campaign-directed-steps li[aria-current="step"]::before {
  width: 100%;
}

.campaign-directed-steps span {
  color: #8fb3ff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
}

.campaign-directed-steps strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.campaign-directed .campaign-finish-shot::before {
  background: #ff6b3d;
}

.campaign-directed .campaign-decision {
  background: #ecebe6;
}

.campaign-directed .campaign-decision .campaign-section-label {
  color: #333b42;
}

.campaign-directed .campaign-decision .campaign-section-label::before {
  background: #ff6b3d;
}

.campaign-directed .campaign-decision h2 em {
  color: #1464ff;
}

.campaign-directed .campaign-primary-light {
  background: #10151a;
  color: #fff !important;
}

.campaign-directed .campaign-primary-light span {
  color: #8fb3ff;
}

@media (max-width: 760px) {
  .campaign-directed .campaign-hero-shade {
    background:
      linear-gradient(0deg, rgba(2, 4, 6, 0.96) 0%, rgba(2, 4, 6, 0.22) 58%, rgba(2, 4, 6, 0.5) 100%),
      linear-gradient(90deg, rgba(2, 4, 6, 0.42), transparent 84%);
  }

  .campaign-directed .campaign-film {
    scroll-margin-top: 66px;
  }

  .campaign-directed .campaign-directed-index {
    top: 7%;
    left: 7%;
  }

  .campaign-directed .campaign-directed-index strong {
    font-size: 48px;
  }

  .campaign-directed-steps {
    right: 7%;
    bottom: 4%;
    left: 7%;
    gap: 6px;
  }

  .campaign-directed-steps li {
    display: block;
    padding-top: 9px;
  }

  .campaign-directed-steps span,
  .campaign-directed-steps strong {
    display: block;
  }

  .campaign-directed-steps span {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .campaign-directed-steps strong {
    font-size: 8px;
  }

  .campaign-directed .campaign-finish-shot img {
    box-shadow: -14px -14px 0 #020406, -16px -16px 0 rgba(143, 179, 255, 0.44);
  }

  .campaign-directed .campaign-finish-shot {
    width: 72%;
    margin: 30px 0 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-directed .campaign-directed-index.is-changing {
    animation: none;
  }
}

/* Process film: native widescreen on desktop, native vertical on mobile. */
.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;
}

.campaign-directed .campaign-process {
  padding: 118px 7vw 124px;
  background: #080b09;
}

.campaign-process .campaign-film-heading {
  margin-bottom: 58px;
}

.campaign-process .campaign-film-heading .campaign-section-label,
.campaign-process h2 em {
  color: #9fb5ff;
}

.campaign-process-frame {
  position: relative;
  isolation: isolate;
  width: min(100%, 1480px);
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #080b09;
}

.campaign-process-frame video {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.campaign-process-scrim {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 6, 5, 0.62) 0%, rgba(4, 6, 5, 0.08) 48%, transparent 72%),
    linear-gradient(0deg, rgba(4, 6, 5, 0.82) 0%, rgba(4, 6, 5, 0.08) 48%, rgba(4, 6, 5, 0.12) 100%);
  pointer-events: none;
}

.campaign-process-beat {
  position: absolute;
  z-index: 2;
  bottom: clamp(92px, 13%, 128px);
  left: clamp(24px, 5vw, 78px);
  display: grid;
  max-width: min(54%, 620px);
  color: #fff;
}

.campaign-process-beat span,
.campaign-process-beat strong,
.campaign-process-beat small {
  display: block;
}

.campaign-process-beat span {
  margin-bottom: 11px;
  color: #b9c8ff;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.campaign-process-beat strong {
  font-size: clamp(42px, 5.2vw, 82px);
  font-weight: 850;
  line-height: 0.92;
}

.campaign-process-beat small {
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 1.4;
}

.campaign-process-beat.is-changing {
  animation: campaign-process-beat-in 460ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

@keyframes campaign-process-beat-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.campaign-process-meta {
  position: absolute;
  z-index: 3;
  right: clamp(20px, 3vw, 44px);
  bottom: clamp(22px, 3.5%, 38px);
  left: clamp(20px, 3vw, 44px);
  display: flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.68);
  font-size: 10px;
  font-weight: 760;
  text-transform: uppercase;
}

.campaign-process-meta i {
  display: inline-block;
  width: 18px;
  height: 1px;
  margin: 0 9px 3px;
  background: currentColor;
}

.campaign-process-progress {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.18);
}

.campaign-process-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: #b9c8ff;
  transform: scaleX(0);
  transform-origin: left center;
}

@media (max-width: 760px) {
  .campaign-directed .campaign-process {
    padding: 80px 20px 86px;
  }

  .campaign-process .campaign-film-heading {
    margin-bottom: 38px;
  }

  .campaign-process-frame {
    width: calc(100% + 40px);
    margin-left: -20px;
    aspect-ratio: 9 / 16;
  }

  .campaign-process-scrim {
    background:
      linear-gradient(0deg, rgba(4, 6, 5, 0.88) 0%, rgba(4, 6, 5, 0.06) 52%, rgba(4, 6, 5, 0.2) 100%),
      linear-gradient(90deg, rgba(4, 6, 5, 0.36), transparent 76%);
  }

  .campaign-process-beat {
    bottom: 112px;
    left: 20px;
    max-width: calc(100% - 40px);
  }

  .campaign-process-beat span {
    margin-bottom: 8px;
    font-size: 10px;
  }

  .campaign-process-beat strong {
    font-size: clamp(46px, 15vw, 64px);
  }

  .campaign-process-beat small {
    max-width: 270px;
    margin-top: 10px;
    font-size: 14px;
  }

  .campaign-process-meta {
    right: 20px;
    bottom: 24px;
    left: 20px;
    font-size: 9px;
  }

  .campaign-process-meta i {
    width: 10px;
    margin-right: 5px;
    margin-left: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-process-beat.is-changing {
    animation: none;
  }

  .campaign-process-progress {
    display: none;
  }
}

/* Final quote-page restraint: photography first, two choices, no interface theater. */
.public-site.booking-public.cinematic-quote .quote-intro-kicker {
  gap: 10px;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-intro-kicker i {
  width: 24px;
  background: rgba(255, 255, 255, 0.46);
}

.public-site.booking-public.cinematic-quote .quote-intro-copy h1 {
  max-width: 720px;
  color: #fff;
  font-size: clamp(70px, 7.8vw, 118px);
  font-weight: 790;
  line-height: 0.88;
}

.public-site.booking-public.cinematic-quote .quote-intro-copy h1 span {
  margin-top: 12px;
  color: #f1eee6;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.7em;
  font-style: italic;
  font-weight: 400;
  line-height: 0.96;
  white-space: nowrap;
  -webkit-text-stroke: 0;
}

.public-site.booking-public.cinematic-quote .quote-intro-copy > p:not(.quote-intro-kicker) {
  max-width: 520px;
  margin-top: 30px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 16px;
  line-height: 1.62;
}

.public-site.booking-public.cinematic-quote .quote-intro-actions {
  gap: 24px;
  margin-top: 28px;
}

.public-site.booking-public.cinematic-quote .quote-intro-actions a {
  min-height: 50px;
  font-size: 12px;
  letter-spacing: 0;
}

.public-site.booking-public.cinematic-quote .quote-intro-primary {
  border: 0;
  background: #f5f2eb;
  box-shadow: none;
  color: #111;
}

.public-site.booking-public.cinematic-quote .quote-intro-primary::after {
  display: none;
}

.public-site.booking-public.cinematic-quote .quote-intro-actions a:last-child {
  border-color: rgba(255, 255, 255, 0.42);
}

.public-site.booking-public.cinematic-quote .quote-intro-prices {
  top: 48%;
  right: clamp(32px, 5vw, 76px);
  display: grid;
  grid-template-columns: repeat(2, minmax(118px, 1fr));
  gap: 16px 34px;
  width: min(330px, calc(100% - 64px));
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  transform: translateY(-50%);
}

.public-site.booking-public.cinematic-quote .quote-intro-prices p {
  gap: 6px;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.42);
  text-align: left;
}

.public-site.booking-public.cinematic-quote .quote-intro-prices p + p {
  border-left: 0;
}

.public-site.booking-public.cinematic-quote .quote-intro-prices span {
  color: rgba(255, 255, 255, 0.64);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-intro-prices strong {
  color: #fff;
  font-size: 20px;
  font-weight: 720;
}

.public-site.booking-public.cinematic-quote .quote-intro-prices small {
  grid-column: 1 / -1;
  max-width: none;
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  line-height: 1.45;
  text-align: left;
}

.public-site.booking-public.cinematic-quote .quote-intro-promise {
  display: block;
  color: rgba(255, 255, 255, 0.66);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-intro-promise::before {
  display: none;
}

.public-site.booking-public.cinematic-quote .quote-scroll-cue {
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-scroll-cue::before {
  display: none;
}

.public-site.booking-public.cinematic-quote .quote-workspace {
  background: #efede7;
}

.public-site.booking-public.cinematic-quote .quote-progress-button,
.public-site.booking-public.cinematic-quote .quote-step-label,
.public-site.booking-public.cinematic-quote .quote-panel-kicker {
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-panel,
.public-site.booking-public.cinematic-quote .quote-progress,
.public-site.booking-public.cinematic-quote .quote-helper {
  border-color: rgba(20, 22, 21, 0.14);
  box-shadow: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section {
  display: block;
  background: #efede7;
  color: #171916;
}

.public-site.booking-public.cinematic-quote .quote-cinematic-story {
  display: none;
}

.public-site.booking-public.cinematic-quote .quote-cinematic-workspace {
  width: 100%;
  padding: clamp(78px, 9vw, 132px) max(24px, calc((100vw - 1040px) / 2)) 120px;
  overflow: visible;
  background: #efede7;
}

.public-site.booking-public.cinematic-quote .quote-cinematic-workspace::before {
  display: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  align-items: end;
  gap: clamp(34px, 7vw, 90px);
  max-width: none;
  padding-bottom: 48px;
  border-color: rgba(23, 25, 22, 0.2);
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -16px;
  padding-left: 0;
  color: #59635c;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow::before {
  display: none;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2 {
  max-width: 720px;
  color: #171916;
  font-size: clamp(52px, 6vw, 82px);
  font-weight: 760;
  line-height: 0.94;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head > p:last-child {
  max-width: 380px;
  margin: 0 0 4px;
  color: #5f645f;
  font-size: 15px;
  line-height: 1.65;
}

.public-site.booking-public.cinematic-quote .booking-quote-section .quote-form {
  max-width: none;
  margin-top: 52px;
}

.public-site.booking-public.cinematic-quote .quote-form-intro {
  padding-bottom: 14px;
  border-color: rgba(23, 25, 22, 0.2);
}

.public-site.booking-public.cinematic-quote .quote-form-intro strong {
  color: #171916;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-form-intro span {
  color: #6d716c;
}

.public-site.booking-public.cinematic-quote .quote-form-path {
  display: flex;
  gap: 30px;
  margin-top: 24px;
  padding-bottom: 14px;
  border-top: 0;
  border-color: rgba(23, 25, 22, 0.2);
}

.public-site.booking-public.cinematic-quote .quote-form-path span {
  flex: 0 0 auto;
  padding: 0 0 7px;
  border-bottom: 2px solid transparent;
  color: #8a8e88;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-form-path span + span {
  border-left: 0;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-active {
  border-bottom: 2px solid #171916 !important;
  background: transparent;
  color: #171916;
  box-shadow: none;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-done {
  color: #171916;
}

.public-site.booking-public.cinematic-quote .quote-form-path span.is-done::after {
  display: none;
}

.public-site.booking-public.cinematic-quote .quote-intent-note {
  padding: 10px 0;
  border: 0;
  color: #666b65;
}

.public-site.booking-public.cinematic-quote .quote-stage-heading > span {
  color: #70756e;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.public-site.booking-public.cinematic-quote .quote-stage-heading h3,
.public-site.booking-public.cinematic-quote .quote-form label,
.public-site.booking-public.cinematic-quote .quote-fieldset legend,
.public-site.booking-public.cinematic-quote .quote-step-field > span,
.public-site.booking-public.cinematic-quote .quote-photo-card label {
  color: #171916;
}

.public-site.booking-public.cinematic-quote .quote-stage-heading h3 {
  max-width: 760px;
  color: #171916;
  font-size: clamp(38px, 4.7vw, 62px);
  line-height: 1;
}

.public-site.booking-public.cinematic-quote .quote-stage-heading p,
.public-site.booking-public.cinematic-quote .quote-form small {
  color: #71766f;
}

.public-site.booking-public.cinematic-quote .quote-form input:not([type="checkbox"]):not([type="file"]),
.public-site.booking-public.cinematic-quote .quote-form select,
.public-site.booking-public.cinematic-quote .quote-form textarea {
  border: 1px solid rgba(23, 25, 22, 0.2);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.58);
  color: #171916;
  box-shadow: none;
}

.public-site.booking-public.cinematic-quote .quote-form input::placeholder,
.public-site.booking-public.cinematic-quote .quote-form textarea::placeholder {
  color: #989b96;
}

.public-site.booking-public.cinematic-quote .quote-form select {
  color-scheme: light;
}

.public-site.booking-public.cinematic-quote .quote-form input:focus,
.public-site.booking-public.cinematic-quote .quote-form select:focus,
.public-site.booking-public.cinematic-quote .quote-form textarea:focus {
  border-color: #171916;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(23, 25, 22, 0.08);
}

.public-site.booking-public.cinematic-quote .quote-fieldset {
  border-color: rgba(23, 25, 22, 0.18);
  background: rgba(255, 255, 255, 0.34);
}

.public-site.booking-public.cinematic-quote .quote-fieldset label {
  color: #50554f;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel,
.public-site.booking-public.cinematic-quote .quote-photo-card,
.public-site.booking-public.cinematic-quote .photo-preview-panel,
.public-site.booking-public.cinematic-quote .quote-guide-summary,
.public-site.booking-public.cinematic-quote .quote-submit-note {
  border-color: rgba(23, 25, 22, 0.18);
  background: rgba(255, 255, 255, 0.46);
  color: #171916;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel {
  border-left-color: #171916;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel > span,
.public-site.booking-public.cinematic-quote .smart-quote-panel p,
.public-site.booking-public.cinematic-quote .smart-quote-panel li,
.public-site.booking-public.cinematic-quote .quote-photo-card span {
  color: #686d67;
}

.public-site.booking-public.cinematic-quote .smart-quote-panel strong,
.public-site.booking-public.cinematic-quote .quote-photo-card strong {
  color: #171916;
}

.public-site.booking-public.cinematic-quote .service-upgrade-button,
.public-site.booking-public.cinematic-quote .quote-guide-next,
.public-site.booking-public.cinematic-quote .quote-submit-button {
  border-color: #171916;
  background: #171916;
  color: #fff;
  box-shadow: none;
}

.public-site.booking-public.cinematic-quote .quote-guide-actions {
  border-color: rgba(23, 25, 22, 0.18);
}

@media (max-width: 760px) {
  .public-site.booking-public.cinematic-quote .quote-intro-copy {
    padding: 176px 22px 136px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-copy h1 {
    max-width: 330px;
    font-size: clamp(52px, 15vw, 72px);
    line-height: 0.9;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-copy h1 span {
    margin-top: 10px;
    font-size: 0.68em;
    line-height: 1;
    white-space: normal;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-copy > p:not(.quote-intro-kicker) {
    max-width: 330px;
    margin-top: 24px;
    font-size: 14px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-prices {
    top: 86px;
    right: 22px;
    left: 22px;
    width: auto;
    gap: 12px 24px;
    transform: none;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-prices strong {
    font-size: 16px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-actions {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-actions a {
    width: auto;
    min-height: 46px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-actions a:last-child {
    min-height: 36px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-promise {
    right: 22px;
    bottom: 34px;
    left: 22px;
    text-align: left;
  }

  .public-site.booking-public.cinematic-quote .quote-cinematic-workspace {
    padding: 72px 22px 96px;
  }

  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head {
    display: block;
    padding-bottom: 34px;
  }

  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head .flow-eyebrow {
    margin-bottom: 16px;
  }

  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head h2 {
    font-size: clamp(44px, 13vw, 60px);
  }

  .public-site.booking-public.cinematic-quote .booking-quote-section .quote-section-head > p:last-child {
    margin-top: 24px;
  }

  .public-site.booking-public.cinematic-quote .quote-form-path {
    justify-content: space-between;
    gap: 12px;
  }

  .public-site.booking-public.cinematic-quote .quote-guide-actions {
    bottom: 0;
    margin-right: -22px;
    margin-left: -22px;
    padding: 10px 22px;
    border: 0;
    border-top: 1px solid rgba(23, 25, 22, 0.16);
    background: rgba(239, 237, 231, 0.96);
    box-shadow: none;
    backdrop-filter: blur(12px);
  }

  .public-site.booking-public.cinematic-quote .quote-guide-back {
    border-color: rgba(23, 25, 22, 0.34);
    background: transparent;
    color: #171916;
  }

  .public-site.booking-public.cinematic-quote .quote-guide-next,
  .public-site.booking-public.cinematic-quote .quote-submit-button {
    box-shadow: none;
  }
}

@media (max-width: 430px) {
  .public-site.booking-public.cinematic-quote .quote-intro-copy {
    padding-top: 188px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-copy h1 {
    font-size: 50px;
  }

  .public-site.booking-public.cinematic-quote .quote-intro-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

/* Guided homepage study. Scoped so the approved homepage remains the control. */
.journey-preview .journey-progress {
  position: fixed;
  z-index: 140;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  pointer-events: none;
}

.journey-preview .journey-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: var(--campaign-acid);
  transition: transform 80ms linear;
}

.journey-rail {
  position: fixed;
  z-index: 90;
  top: 50%;
  left: 26px;
  display: grid;
  gap: 14px;
  transform: translateY(-50%);
  color: #fff;
  mix-blend-mode: difference;
}

.journey-rail a {
  display: grid;
  width: 64px;
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: 8px;
  opacity: 0.36;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 180ms ease, transform 180ms ease;
}

.journey-rail a span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  font-style: italic;
}

.journey-rail a[aria-current="step"] {
  transform: translateX(5px);
  opacity: 1;
}

.journey-steps {
  display: grid;
  min-height: 76svh;
  grid-template-columns: minmax(280px, 0.82fr) minmax(480px, 1.18fr);
  align-items: center;
  gap: 80px;
  padding: 120px max(7vw, 96px);
  background: #dde1d4;
}

.journey-steps h2,
.journey-choice h2 {
  max-width: 780px;
  margin: 16px 0 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 68px;
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0;
}

.journey-steps h2 em,
.journey-choice h2 em {
  color: var(--campaign-orange);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.journey-steps ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.journey-steps li {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 22px;
  padding: 26px 0;
  border-top: 1px solid rgba(16, 20, 17, 0.28);
}

.journey-steps li:last-child {
  border-bottom: 1px solid rgba(16, 20, 17, 0.28);
}

.journey-steps li > span {
  color: var(--campaign-orange);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-style: italic;
}

.journey-steps li strong {
  display: block;
  margin-bottom: 7px;
  font-size: 22px;
}

.journey-steps li p {
  max-width: 470px;
  margin: 0;
  color: rgba(16, 20, 17, 0.72);
  font-size: 15px;
  line-height: 1.55;
}

.journey-choice {
  padding: 132px max(7vw, 96px) 118px;
  background: var(--campaign-paper);
}

.journey-choice > header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  align-items: end;
  gap: 80px;
}

.journey-choice > header .campaign-section-label {
  grid-column: 1 / -1;
  margin-bottom: -52px;
}

.journey-choice > header > p:last-child {
  max-width: 500px;
  margin: 0 0 7px;
  color: rgba(16, 20, 17, 0.7);
  font-size: 17px;
  line-height: 1.6;
}

.journey-choice-options {
  display: grid;
  margin-top: 78px;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--campaign-line);
  border-bottom: 1px solid var(--campaign-line);
}

.journey-choice-options article {
  min-height: 390px;
  padding: 42px 48px 44px 0;
}

.journey-choice-options article + article {
  padding-right: 0;
  padding-left: 48px;
  border-left: 1px solid var(--campaign-line);
}

.journey-choice-options article > p:first-child {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 42px;
  color: rgba(16, 20, 17, 0.54);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.journey-choice-options article > p:first-child span {
  color: var(--campaign-orange);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: italic;
}

.journey-choice-options h3 {
  margin: 0;
  font-size: 40px;
  line-height: 1;
}

.journey-choice-options article > strong {
  display: block;
  margin: 12px 0 24px;
  color: var(--campaign-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  font-style: italic;
  font-weight: 400;
}

.journey-choice-options article > p:nth-of-type(2) {
  max-width: 430px;
  min-height: 52px;
  margin: 0 0 38px;
  color: rgba(16, 20, 17, 0.72);
  font-size: 15px;
  line-height: 1.55;
}

.journey-choice-options a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 18px;
  border-bottom: 2px solid var(--campaign-ink);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.journey-heavy-note {
  max-width: 760px;
  margin: 32px 0 0 auto;
  color: rgba(16, 20, 17, 0.68);
  font-size: 13px;
  line-height: 1.55;
  text-align: right;
}

.journey-heavy-note strong {
  color: var(--campaign-ink);
}

.journey-mobile-actions {
  display: none;
}

/* Local A/B review frame. It never ships as customer-facing navigation. */
.journey-compare {
  height: 100vh;
  margin: 0;
  overflow: hidden;
  background: #10130f;
  color: #f4f3ee;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.journey-compare > header {
  display: flex;
  height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.journey-compare > header div,
.journey-compare > header nav {
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.journey-compare > header strong {
  font-size: 14px;
}

.journey-compare > header span {
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
}

.journey-compare > header a {
  min-height: 38px;
  padding: 11px 14px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}

.journey-compare > main {
  display: grid;
  height: calc(100vh - 64px);
  grid-template-columns: 1fr 1fr;
}

.journey-compare section {
  display: grid;
  min-width: 0;
  grid-template-rows: 42px 1fr;
}

.journey-compare section + section {
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.journey-compare section > div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  background: #191d18;
}

.journey-compare section > div span {
  color: #d9ff57;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.journey-compare section > div strong {
  font-size: 12px;
}

.journey-compare iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #f2eee4;
}

@media (max-width: 1100px) {
  .journey-rail {
    display: none;
  }

  .journey-steps,
  .journey-choice {
    padding-right: 54px;
    padding-left: 54px;
  }
}

@media (max-width: 760px) {
  .journey-steps {
    display: block;
    min-height: 0;
    padding: 84px 20px 92px;
  }

  .journey-steps h2,
  .journey-choice h2 {
    font-size: 45px;
  }

  .journey-steps ol {
    margin-top: 52px;
  }

  .journey-steps li {
    grid-template-columns: 48px 1fr;
    gap: 16px;
    padding: 22px 0;
  }

  .journey-steps li > span {
    font-size: 20px;
  }

  .journey-steps li strong {
    font-size: 19px;
  }

  .journey-choice {
    padding: 88px 20px 104px;
  }

  .journey-choice > header {
    display: block;
  }

  .journey-choice > header .campaign-section-label {
    margin-bottom: 18px;
  }

  .journey-choice > header > p:last-child {
    margin-top: 26px;
    font-size: 15px;
  }

  .journey-choice-options {
    display: block;
    margin-top: 48px;
  }

  .journey-choice-options article,
  .journey-choice-options article + article {
    min-height: 0;
    padding: 32px 0 38px;
    border-left: 0;
  }

  .journey-choice-options article + article {
    border-top: 1px solid var(--campaign-line);
  }

  .journey-choice-options article > p:first-child {
    margin-bottom: 26px;
  }

  .journey-choice-options h3 {
    font-size: 34px;
  }

  .journey-choice-options article > p:nth-of-type(2) {
    min-height: 0;
    margin-bottom: 28px;
  }

  .journey-heavy-note {
    margin-top: 26px;
    padding-bottom: 18px;
    text-align: left;
  }

  .journey-mobile-actions {
    position: fixed;
    z-index: 120;
    right: 12px;
    bottom: 12px;
    left: 12px;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 8px;
    padding: 8px;
    transform: translateY(calc(100% + 28px));
    background: rgba(16, 20, 17, 0.94);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.24);
    opacity: 0;
    pointer-events: none;
    transition: transform 220ms ease, opacity 180ms ease;
    backdrop-filter: blur(16px);
  }

  .journey-mobile-actions.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .journey-mobile-actions a {
    display: grid;
    min-height: 46px;
    place-items: center;
    background: var(--campaign-acid);
    color: #101411;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
  }

  .journey-mobile-actions a + a {
    background: transparent;
    color: #fff;
  }

  .journey-compare {
    height: auto;
    min-height: 100vh;
    overflow: auto;
  }

  .journey-compare > header {
    height: auto;
    min-height: 76px;
    align-items: flex-start;
    padding: 14px 16px;
  }

  .journey-compare > header div {
    display: grid;
    gap: 4px;
  }

  .journey-compare > header div span,
  .journey-compare > header nav {
    display: none;
  }

  .journey-compare > main {
    display: block;
    height: auto;
  }

  .journey-compare section {
    height: 86vh;
  }

  .journey-compare section + section {
    border-top: 10px solid #10130f;
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .journey-preview .journey-progress span,
  .journey-rail a,
  .journey-mobile-actions {
    transition: none;
  }
}

/* Final cascade lock for the isolated quote proposal. */
.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section {
  display: grid;
  grid-template-columns: minmax(360px, 0.76fr) minmax(620px, 1.24fr);
  gap: 0;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .quote-cinematic-story {
  display: block;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .quote-cinematic-workspace {
  width: auto;
  padding: 112px max(5vw, 58px) 100px;
  background: #eeece6;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .quote-section-head .quote-preview-choices,
.public-site.booking-public.cinematic-quote.quote-journey-preview .quote-section-head .quote-preview-unsure {
  grid-column: 1 / -1;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head {
  display: block;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head .flow-eyebrow {
  margin-bottom: 18px;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head h2 {
  max-width: 660px;
}

.public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section .quote-section-head > p:last-of-type {
  max-width: 620px;
  margin: 18px 0 0;
}

@media (max-width: 980px) {
  .public-site.booking-public.cinematic-quote.quote-journey-preview .booking-quote-section {
    grid-template-columns: 1fr;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-cinematic-story {
    order: 0;
    min-height: 44svh;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-cinematic-workspace {
    order: 1;
    padding: 78px 8vw 90px;
  }
}

@media (max-width: 760px) {
  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-cinematic-story {
    min-height: 30svh;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-cinematic-workspace {
    padding: 50px 18px 88px;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-story-copy {
    bottom: 82px;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-story-copy > p:first-child {
    display: block;
    margin: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
  }

  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-story-copy h2,
  .public-site.booking-public.cinematic-quote.quote-journey-preview .quote-story-copy > p:last-child {
    display: none;
  }
}

/* Release QA: keep the live quote-support content legible on the light workspace. */
.public-site.booking-public.cinematic-quote.booking-directed .quote-support-panel {
  border-color: rgba(16, 21, 26, 0.24);
}

.public-site.booking-public.cinematic-quote.booking-directed .smart-estimate-card,
.public-site.booking-public.cinematic-quote.booking-directed .quote-assurance,
.public-site.booking-public.cinematic-quote.booking-directed .quote-support-drawer {
  border-color: rgba(16, 21, 26, 0.18);
  background: rgba(255, 255, 255, 0.22);
}

.public-site.booking-public.cinematic-quote.booking-directed .smart-estimate-head strong,
.public-site.booking-public.cinematic-quote.booking-directed .quote-assurance strong,
.public-site.booking-public.cinematic-quote.booking-directed .quote-support-drawer summary {
  color: #10151a;
}

.public-site.booking-public.cinematic-quote.booking-directed .smart-estimate-card p,
.public-site.booking-public.cinematic-quote.booking-directed .smart-estimate-card small,
.public-site.booking-public.cinematic-quote.booking-directed .quote-assurance span {
  color: #5d6563;
}

.public-site.booking-public.cinematic-quote.booking-directed .smart-estimate-card .smart-estimate-tags span {
  border-color: rgba(49, 91, 157, 0.28);
  background: rgba(49, 91, 157, 0.08);
  color: #315b9d;
}
