@font-face {
  font-family: Editorial;
  src: local("Georgia");
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: #0b0d10;
  color: #f3f0e8;
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}
body.light {
  background: #eee9df;
  color: #101216;
}
a {
  color: inherit;
}
.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99;
  opacity: 0.08;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.shell {
  max-width: 1500px;
  margin: auto;
  padding: 0 38px;
}
.top {
  position: absolute;
  z-index: 20;
  inset: 0 0 auto;
  height: 88px;
  display: flex;
  align-items: center;
}
.top .shell {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo {
  text-decoration: none;
  font-size: 19px;
  letter-spacing: -0.02em;
  font-weight: 700;
}
.logo i {
  font-family: Editorial, serif;
  font-weight: 400;
}
.menu {
  display: flex;
  gap: 30px;
  align-items: center;
}
.menu a,
.menu button {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}
.menu .outline {
  border: 1px solid rgba(255, 255, 255, 0.55);
  padding: 13px 16px;
}
.hero {
  height: 100svh;
  min-height: 720px;
  position: relative;
  overflow: hidden;
  background: #111;
}
.hero video,
.hero .poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero:before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 6, 8, 0.66), rgba(4, 6, 8, 0.04) 68%),
    linear-gradient(0deg, rgba(4, 6, 8, 0.78), transparent 55%);
}
.hero-copy {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 44px;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 0.43fr;
  align-items: end;
  gap: 70px;
}
.overline {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #c9a36a;
  margin-bottom: 22px;
}
.display {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(62px, 8.7vw, 145px);
  font-weight: 400;
  line-height: 0.81;
  letter-spacing: -0.065em;
  margin: 0;
  max-width: 1100px;
}
.hero-side {
  padding-bottom: 7px;
}
.hero-side p {
  font-size: 18px;
  line-height: 1.45;
  margin: 0 0 24px;
}
.play {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  cursor: pointer;
  font-size: 19px;
  margin-right: 14px;
}
.cta {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  background: #c9a36a;
  color: #090b0e;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.ticker {
  height: 62px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
}
.ticker div {
  font-size: 12px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  animation: move 22s linear infinite;
}
.ticker span {
  color: #c9a36a;
  margin: 0 22px;
}
@keyframes move {
  to {
    transform: translateX(-50%);
  }
}
.intro {
  padding: 150px 0 130px;
  background: #e9e4da;
  color: #111318;
}
.intro-grid {
  display: grid;
  grid-template-columns: 0.28fr 1fr;
  gap: 70px;
}
.label {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.statement {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(42px, 5.5vw, 82px);
  line-height: 1.01;
  letter-spacing: -0.045em;
  margin: 0;
}
.statement em {
  font-style: italic;
  color: #c9a36a;
}
.substatement {
  margin: 58px 0 0 auto;
  max-width: 620px;
  font-size: 20px;
  line-height: 1.55;
  color: #4d4d49;
}
.feature {
  min-height: 105svh;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
}
.feature img,
.feature video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(5, 7, 10, 0.95),
    rgba(5, 7, 10, 0.03) 70%
  );
}
.feature-copy {
  position: relative;
  z-index: 2;
  padding: 75px 0;
}
.feature-row {
  display: grid;
  grid-template-columns: 1fr 0.45fr;
  gap: 80px;
  align-items: end;
}
.film-title {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(72px, 11vw, 175px);
  line-height: 0.76;
  letter-spacing: -0.07em;
  margin: 0;
}
.film-meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 32px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.feature-side p {
  font-size: 18px;
  line-height: 1.5;
}
.linkline {
  display: inline-block;
  margin-top: 20px;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-decoration: none;
  border-bottom: 1px solid;
  padding-bottom: 7px;
}
.routes {
  background: #0b0d10;
  padding: 140px 0;
}
.routes-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 60px;
}
.routes-head h2 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(50px, 7vw, 100px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.05em;
  margin: 0;
}
.routes-head p {
  max-width: 430px;
  color: #adaaa3;
  line-height: 1.5;
}
.route-list {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.route {
  position: relative;
  display: grid;
  grid-template-columns: 80px 1fr 0.4fr;
  gap: 30px;
  align-items: center;
  min-height: 210px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  text-decoration: none;
  overflow: hidden;
}
.route video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.58;
  transform: scale(1);
  transition: 0.5s;
}
.route:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(11, 13, 16, 0.94) 0%,
    rgba(11, 13, 16, 0.58) 55%,
    rgba(11, 13, 16, 0.16)
  );
  opacity: 1;
  transition: 0.4s;
}
.route > *:not(video) {
  position: relative;
  z-index: 2;
  min-width: 0;
}
.route p {
  padding-right: 12px;
}
.route:hover video,
.route.touch video {
  opacity: 0.88;
  transform: scale(1.025);
}
.route:hover:after,
.route.touch:after {
  opacity: 1;
}
.route .n {
  font-size: 11px;
  color: #c9a36a;
}
.route h3 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(34px, 5vw, 74px);
  font-weight: 400;
  letter-spacing: -0.045em;
  margin: 0;
}
.route p {
  color: #b7b3ab;
  line-height: 1.45;
  font-size: 14px;
}
.route b {
  font-weight: 400;
  color: #fff;
}
.directors {
  background: #d8d3c9;
  color: #111318;
  padding: 150px 0;
}
.director-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 16px;
  margin-top: 70px;
}
.director {
  min-height: 700px;
  position: relative;
  padding: 32px;
  border: 1px solid rgba(0, 0, 0, 0.24);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.director.primary {
  background: #16191e;
  color: #f4f0e8;
}
.director .ghost {
  position: absolute;
  right: -20px;
  bottom: -35px;
  font-family: Editorial, serif;
  font-size: 220px;
  color: rgba(255, 255, 255, 0.055);
  line-height: 0.8;
}
.director.primary .role {
  color: #c9a36a;
}
.role {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.director h3 {
  font-family: Editorial, Georgia, serif;
  font-weight: 400;
  font-size: clamp(46px, 6vw, 90px);
  line-height: 0.86;
  letter-spacing: -0.05em;
  margin: 0 0 24px;
}
.director p {
  max-width: 550px;
  line-height: 1.55;
  color: #bcb8b0;
}
.director:not(.primary) p {
  color: #53514c;
}
.fact {
  font-size: 78px;
  letter-spacing: -0.07em;
  font-weight: 700;
}
.fact small {
  font-size: 11px;
  display: block;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 8px;
}
.proof {
  padding: 140px 0;
  background: #e9e4da;
  color: #111318;
}
.proof-grid {
  display: grid;
  grid-template-columns: 0.58fr 1fr;
  gap: 80px;
}
.proof h2 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(48px, 7vw, 105px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.055em;
  margin: 0;
}
.proof-list {
  border-top: 1px solid #aaa59d;
}
.proof-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 22px;
  padding: 28px 0;
  border-bottom: 1px solid #aaa59d;
}
.proof-item b {
  font-size: 21px;
}
.proof-item p {
  margin: 8px 0 0;
  color: #5d5a54;
  line-height: 1.5;
}
.proof-item .check {
  color: #c9a36a;
}
.legalband {
  padding: 36px 0;
  background: #c9a36a;
  color: #111318;
}
.legalband .shell {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
}
.legalband b {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.legalband p {
  font-size: 13px;
  line-height: 1.45;
  margin: 9px 0 0;
}
.conversion {
  padding: 150px 0;
  background: #101216;
}
.conv-grid {
  display: grid;
  grid-template-columns: 1fr 0.72fr;
  gap: 100px;
}
.conversion h2 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(55px, 8vw, 120px);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: -0.06em;
  margin: 0;
}
.conversion h2 em {
  color: #c9a36a;
}
.form {
  display: grid;
  gap: 12px;
}
.form input,
.form textarea,
.form select {
  width: 100%;
  padding: 16px 0;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 0;
  outline: none;
  font: inherit;
}
.form textarea {
  min-height: 100px;
}
.form .cta {
  margin-top: 15px;
}
.micro {
  font-size: 11px;
  color: #8f8d87;
  line-height: 1.4;
}
.footer {
  padding: 28px 0;
  background: #080a0c;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer .shell {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #898781;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.modal {
  position: fixed;
  z-index: 200;
  inset: 0;
  background: rgba(0, 0, 0, 0.94);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 30px;
}
.modal.open {
  display: flex;
}
.modal-inner {
  position: relative;
  width: min(1180px, 100%);
}
.modal video {
  display: block;
  width: 100%;
  max-height: 82vh;
  background: #000;
}
.close {
  position: absolute;
  right: 0;
  top: -48px;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  background: none;
  color: #fff;
  font-size: 20px;
}
.route-hero {
  min-height: 88svh;
  position: relative;
  display: flex;
  align-items: end;
  overflow: hidden;
}
.route-hero video,
.route-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.route-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, #0b0d10, transparent 72%),
    linear-gradient(90deg, rgba(5, 7, 10, 0.65), transparent);
}
.route-hero .shell {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-bottom: 70px;
}
.route-hero h1 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(66px, 11vw, 160px);
  font-weight: 400;
  line-height: 0.78;
  letter-spacing: -0.065em;
  margin: 0;
  max-width: 1100px;
}
.route-hero p {
  font-size: 21px;
  max-width: 650px;
  line-height: 1.45;
}
.offer {
  padding: 120px 0;
}
.offer-grid {
  display: grid;
  grid-template-columns: 0.42fr 1fr;
  gap: 80px;
}
.offer h2 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(46px, 6vw, 86px);
  line-height: 0.94;
  font-weight: 400;
  letter-spacing: -0.05em;
  margin: 0;
}
.deliverables {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}
.deliverable {
  padding: 28px 25px 45px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.deliverable:nth-child(even) {
  padding-left: 25px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}
.deliverable b {
  font-size: 18px;
}
.deliverable p {
  color: #aaa7a1;
  line-height: 1.5;
}
.pricecard {
  margin-top: 45px;
  padding: 26px;
  background: #c9a36a;
  color: #111318;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pricecard strong {
  font-family: Editorial, serif;
  font-size: 42px;
  font-weight: 400;
}
.objections {
  background: #e9e4da;
  color: #111318;
  padding: 120px 0;
}
.objections details {
  border-top: 1px solid #aaa59d;
  padding: 25px 0;
}
.objections details:last-child {
  border-bottom: 1px solid #aaa59d;
}
.objections summary {
  font-family: Editorial, serif;
  font-size: 31px;
  cursor: pointer;
}
.objections p {
  max-width: 780px;
  margin-left: 32%;
  line-height: 1.55;
  color: #55524d;
}
@media (max-width: 850px) {
  .shell {
    padding: 0 20px;
  }
  .menu a:not(.outline) {
    display: none;
  }
  .top {
    height: 72px;
  }
  .hero {
    min-height: 760px;
  }
  .hero-grid,
  .feature-row,
  .intro-grid,
  .director-grid,
  .proof-grid,
  .conv-grid,
  .offer-grid {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    bottom: 32px;
  }
  .display {
    font-size: 62px;
  }
  .hero-side {
    padding-top: 28px;
  }
  .play {
    width: 66px;
    height: 66px;
  }
  .intro,
  .directors,
  .proof,
  .conversion,
  .routes {
    padding: 90px 0;
  }
  .substatement {
    margin-top: 35px;
  }
  .feature {
    min-height: 820px;
  }
  .feature-copy {
    padding-bottom: 42px;
  }
  .film-title {
    font-size: 74px;
  }
  .feature-side {
    padding-top: 28px;
  }
  .routes-head {
    display: block;
  }
  .routes-head p {
    margin-top: 25px;
  }
  .route {
    grid-template-columns: 35px 1fr;
    min-height: 180px;
  }
  .route p {
    grid-column: 2;
  }
  .director {
    min-height: 590px;
  }
  .legalband .shell {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .footer .shell {
    flex-direction: column;
    gap: 12px;
  }
  .route-hero h1 {
    font-size: 72px;
  }
  .deliverables {
    grid-template-columns: 1fr;
  }
  .deliverable:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }
  .objections p {
    margin-left: 0;
  }
  .pricecard {
    display: block;
  }
  .pricecard .cta {
    margin-top: 18px;
  }
}
@media (max-width: 450px) {
  .logo {
    font-size: 16px;
  }
  .menu .outline {
    padding: 11px 10px;
    font-size: 9px;
  }
  .display {
    font-size: 54px;
  }
  .hero-side p {
    font-size: 16px;
  }
  .statement {
    font-size: 42px;
  }
  .feature {
    min-height: 730px;
  }
  .film-title {
    font-size: 61px;
  }
  .route h3 {
    font-size: 38px;
  }
  .director {
    min-height: 540px;
  }
  .fact {
    font-size: 60px;
  }
  .route-hero {
    min-height: 760px;
  }
  .route-hero h1 {
    font-size: 58px;
  }
  .route-hero p {
    font-size: 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .ticker div {
    animation: none;
  }
  .route video {
    display: none;
  }
}

/* V3: image-led cases and director portraits */
.visual-cases {
  background: #e9e4da;
  color: #111318;
  padding: 140px 0;
}
.visual-cases .routes-head p {
  color: #55524d;
}
.visual-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  grid-template-rows: 360px 360px;
  gap: 14px;
}
.visual-card {
  position: relative;
  display: block;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background: #111;
}
.visual-card.wide {
  grid-row: span 2;
}
.visual-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}
.visual-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(4, 6, 8, 0.88),
    rgba(4, 6, 8, 0.04) 72%
  );
}
.visual-card > div {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 26px;
}
.visual-card span {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c9a36a;
}
.visual-card h3 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(30px, 4vw, 60px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.045em;
  margin: 10px 0;
}
.visual-card p {
  max-width: 520px;
  margin: 8px 0 0;
  color: #dedbd4;
}
.visual-card:hover img {
  transform: scale(1.035);
}
.director {
  isolation: isolate;
}
.director-photo {
  position: absolute;
  right: -5%;
  bottom: 0;
  width: 62%;
  height: 82%;
  object-fit: contain;
  object-position: right bottom;
  z-index: -1;
  filter: saturate(0.8);
}
.director:not(.primary) .director-photo {
  width: 72%;
  opacity: 0.88;
}
.director:after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, currentColor 0%, transparent 68%);
  opacity: 0.02;
}
.director > div:not(.fact) {
  max-width: 58%;
}
.director .fact {
  position: relative;
  z-index: 2;
}
.director.primary > div:not(.fact) {
  text-shadow: 0 2px 16px #16191e;
}
.director:not(.primary) > div:not(.fact) {
  max-width: 54%;
}
@media (max-width: 850px) {
  .visual-cases {
    padding: 90px 0;
  }
  .visual-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 520px 360px 360px;
  }
  .visual-card.wide {
    grid-row: auto;
  }
  .director-photo {
    width: 76%;
    height: 72%;
    opacity: 0.5;
  }
  .director:not(.primary) .director-photo {
    width: 82%;
    opacity: 0.46;
  }
  .director > div:not(.fact),
  .director:not(.primary) > div:not(.fact) {
    max-width: 82%;
  }
}
@media (max-width: 450px) {
  .visual-grid {
    grid-template-rows: 430px 300px 300px;
  }
  .visual-card > div {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }
  .visual-card h3 {
    font-size: 35px;
  }
  .director-photo {
    width: 88%;
    height: 65%;
    opacity: 0.42;
  }
  .director:not(.primary) .director-photo {
    width: 95%;
    opacity: 0.38;
  }
}
/* final motion-first pass */
.hero .play {
  width: auto;
  min-width: 82px;
  border-radius: 0;
  padding: 0 21px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.11em;
  transition:
    background 0.25s,
    color 0.25s;
}
.hero .play:hover {
  background: #fff;
  color: #0b0d10;
}
.route video {
  opacity: 0.5;
  transform: scale(1.015);
  animation: routeBreath 9s ease-in-out infinite alternate;
}
.route:after {
  opacity: 1;
  background: linear-gradient(
    90deg,
    rgba(11, 13, 16, 0.9) 0%,
    rgba(11, 13, 16, 0.46) 62%,
    rgba(11, 13, 16, 0.25)
  );
}
.route:hover video,
.route.touch video {
  opacity: 0.82;
}
.feature video {
  filter: saturate(0.9);
  animation: featureMove 15s ease-in-out infinite alternate;
}
.feature:after {
  z-index: 1;
}
.feature-copy {
  z-index: 2;
}
@keyframes routeBreath {
  to {
    transform: scale(1.055);
  }
}
@keyframes featureMove {
  to {
    transform: scale(1.035);
  }
}
@media (max-width: 850px) {
  .hero .play {
    width: 100%;
    height: 58px;
    margin: 0 0 10px;
  }
  .hero-side .cta {
    width: 100%;
  }
  .route {
    min-height: 235px;
  }
  .route video {
    opacity: 0.62;
  }
  .route:after {
    background: linear-gradient(
      0deg,
      rgba(11, 13, 16, 0.94),
      rgba(11, 13, 16, 0.24)
    );
  }
  .route h3 {
    align-self: end;
  }
  .feature video {
    object-position: center center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .route video,
  .feature video {
    animation: none;
  }
}
/* VIDEO BARRAGE — eight autonomous 10–15 second films */
.visual-card video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.04);
  transition:
    transform 0.7s ease,
    filter 0.5s ease;
}
.visual-card:hover video {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.02);
}
.route video {
  opacity: 0.68 !important;
  transform: scale(1.02);
  animation: shotPulse 12s ease-in-out infinite alternate;
}
.route:after {
  opacity: 1 !important;
  background: linear-gradient(
    90deg,
    rgba(11, 13, 16, 0.9),
    rgba(11, 13, 16, 0.18)
  ) !important;
}
.route:hover video {
  opacity: 0.9 !important;
}
.hero video {
  filter: saturate(0.92) contrast(1.06);
}
@keyframes shotPulse {
  to {
    transform: scale(1.07);
  }
}
@media (max-width: 850px) {
  .visual-card video {
    filter: saturate(0.95);
  }
  .route video {
    opacity: 0.74 !important;
  }
  .route:after {
    background: linear-gradient(
      0deg,
      rgba(11, 13, 16, 0.94),
      rgba(11, 13, 16, 0.16)
    ) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .route video {
    animation: none;
  }
}
/* v6 — HQ desktop / lightweight mobile, structured as a film edit */
.routes,
.visual-cases,
.feature,
.directors {
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}
.visual-grid {
  grid-template-columns: 1.45fr 0.8fr 0.8fr;
  gap: 4px;
}
.visual-card.wide {
  min-height: 680px;
}
.visual-card:not(.wide) {
  min-height: 680px;
}
.visual-card video {
  image-rendering: auto;
  backface-visibility: hidden;
}
.director-grid {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.director {
  min-height: 720px;
}
.director-photo {
  right: 0 !important;
  bottom: 0 !important;
  width: 49% !important;
  height: 68% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
}
.director:not(.primary) .director-photo {
  width: 52% !important;
  height: 65% !important;
  right: 1% !important;
}
.director p {
  max-width: 53% !important;
}
.director .fact {
  max-width: 55%;
}
.feature video,
.hero video,
.route video,
.visual-card video {
  transform: translateZ(0);
}
@media (max-width: 850px) {
  .visual-grid {
    grid-template-columns: 1fr;
  }
  .visual-card.wide,
  .visual-card:not(.wide) {
    min-height: 520px;
  }
  .director-grid {
    grid-template-columns: 1fr;
  }
  .director {
    min-height: 620px;
  }
  .director-photo,
  .director:not(.primary) .director-photo {
    width: 60% !important;
    height: 62% !important;
    right: -5% !important;
  }
  .director p {
    max-width: 64% !important;
  }
  .director .fact {
    max-width: 65%;
  }
}
/* final portrait correction and calmer editorial treatment */
.director.primary .director-photo {
  width: 56% !important;
  height: 56% !important;
  right: -1% !important;
  bottom: 3% !important;
  object-fit: contain !important;
  filter: saturate(0.86) contrast(1.03);
}
.director:not(.primary) .director-photo {
  filter: saturate(0.78) contrast(1.02);
}
@media (max-width: 850px) {
  .director.primary .director-photo {
    width: 66% !important;
    height: 54% !important;
    right: -9% !important;
    bottom: 2% !important;
  }
}
.display em {
  color: #c9a36a;
}
.trustline {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #e9e4da;
  color: #111318;
  border-bottom: 1px solid #bdb8ae;
}
.trustline > div {
  padding: 25px 3vw;
  border-right: 1px solid #bdb8ae;
}
.trustline b,
.trustline span {
  display: block;
}
.trustline span {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 7px;
  color: #625f59;
}
.craft {
  padding: 130px 0;
  background: #e9e4da;
  color: #111318;
}
.craft-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 80px;
}
.craft h2,
.story51 h2 {
  font:
    400 clamp(48px, 6vw, 92px)/0.94 Editorial,
    Georgia,
    serif;
  letter-spacing: -0.055em;
  margin: 32px 0;
}
.craft h2 em,
.story51 h2 em {
  color: #c9a36a;
}
.craft-lead {
  font-size: 19px;
  max-width: 620px;
  line-height: 1.55;
}
.craft-steps {
  border-top: 1px solid #aaa59d;
}
.craft-steps article {
  display: grid;
  grid-template-columns: 42px 1fr;
  padding: 22px 0;
  border-bottom: 1px solid #aaa59d;
}
.craft-steps i {
  font-style: normal;
  color: #c9a36a;
}
.craft-steps b {
  font-size: 18px;
}
.craft-steps p {
  grid-column: 2;
  color: #5a5751;
  margin: 7px 0 0;
}
.story51 {
  padding: 125px 0 0;
  background: #0b0d10;
}
.story-head {
  display: grid;
  grid-template-columns: 0.2fr 1fr 0.45fr;
  gap: 50px;
  align-items: end;
  margin-bottom: 55px;
}
.story-head h2 {
  margin: 0;
}
.story-head > p {
  color: #aaa7a1;
  line-height: 1.55;
}
.story-strip {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.85fr 1.15fr;
  gap: 3px;
}
.story-strip figure {
  height: 60vh;
  min-height: 460px;
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #111;
}
.story-strip video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story-strip figure:nth-child(2) video {
  object-position: 58% center;
}
.story-strip figure:nth-child(3) video {
  object-position: 45% center;
}
.story-strip figcaption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  font-size: 10px;
  letter-spacing: 0.15em;
}
.director-grid {
  grid-template-columns: 1fr 1fr;
}
.director-photo {
  object-position: center bottom !important;
}
@media (max-width: 850px) {
  .trustline {
    grid-template-columns: 1fr;
  }
  .trustline > div {
    padding: 16px 20px;
  }
  .craft {
    padding: 85px 0;
  }
  .craft-grid,
  .story-head {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .story-strip {
    grid-template-columns: 1fr 1fr;
  }
  .story-strip figure {
    height: 52vh;
    min-height: 400px;
  }
  .story-strip figure:nth-child(n + 3) {
    display: none;
  }
}

/* Final mobile copy-fit correction */
@media (max-width: 850px) {
  .director-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .director {
    min-height: 700px;
    width: 100%;
    padding: 32px;
    overflow: hidden;
  }
  .director h3 {
    font-size: clamp(52px, 15vw, 72px);
    max-width: 78%;
  }
  .director p,
  .director:not(.primary) p {
    max-width: 68% !important;
    font-size: 16px;
    line-height: 1.5;
  }
  .director .fact {
    max-width: 76% !important;
    font-size: 64px;
  }
  .director.primary .director-photo,
  .director:not(.primary) .director-photo {
    width: 68% !important;
    height: 52% !important;
    right: -10% !important;
    bottom: 0 !important;
    opacity: 0.48;
  }
}
@media (max-width: 450px) {
  .director {
    min-height: 720px;
  }
  .director h3 {
    font-size: 52px;
    max-width: 82%;
  }
  .director p,
  .director:not(.primary) p {
    max-width: 72% !important;
    font-size: 15px;
  }
  .director .fact {
    font-size: 58px;
  }
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.compare {
  background: #e9e4da;
  color: #111318;
  padding: 140px 0;
}
.compare .routes-head p {
  color: #55524d;
}
.compare-wrap {
  overflow-x: auto;
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}
.compare-table th,
.compare-table td {
  text-align: left;
  padding: 22px 18px;
  border-bottom: 1px solid #bdb8ae;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.45;
}
.compare-table thead th {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #625f59;
  padding-top: 0;
}
.compare-table tbody th {
  font-family: Editorial, Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.03em;
  width: 22%;
}
.compare-table td:last-child {
  color: inherit;
  font-weight: 700;
}
.compare-table thead th:last-child,
.compare-table td:last-child {
  background: transparent;
}
@media (max-width: 850px) {
  .form-row {
    grid-template-columns: 1fr;
  }
  .compare {
    padding: 90px 0;
  }
  .compare-table th,
  .compare-table td {
    padding: 16px 12px;
    font-size: 14px;
  }
  .compare-table tbody th {
    font-size: 18px;
  }
}

/* v8 pump: hollywood gold, glass CTA, 16:9 mosaic, 4-col compare */
.cta {
  background: transparent;
  color: #f3f0e8;
  border: 1px solid rgba(255, 255, 255, 0.55);
}
.cta.solid {
  background: #111318;
  color: #f3f0e8;
  border: 1px solid #111318;
}
.cta.glass,
.menu .outline.glass {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.72);
  color: #fff;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.hero .cta.glass {
  min-width: 220px;
}
.hero-copy {
  top: 18%;
  bottom: auto;
  transform: none;
}
.hero-grid {
  align-items: end;
}
.hero-line {
  max-width: 720px;
  font-size: 18px;
  line-height: 1.45;
  margin: 22px 0 0;
  color: rgba(243, 240, 232, 0.88);
}
.hero-side {
  padding-bottom: 4px;
}
.overline,
.label,
.display em,
.craft h2 em,
.story51 h2 em,
.conversion h2 em {
  color: #c9a36a;
}
.legalband {
  background: #111318;
  color: #f3f0e8;
}
.legalband p {
  color: #cfc9bd;
}
.mosaic-sec {
  background: #0b0d10;
  padding: 0;
}
.mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
}
.mosaic .tile {
  margin: 0;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #111;
}
.mosaic .tile.lg {
  grid-column: span 2;
  grid-row: span 2;
}
.mosaic .tile.wide {
  grid-column: span 2;
}
.mosaic video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.craft-steps article {
  display: block;
  padding: 26px 0;
}
.craft-steps b {
  display: block;
  font-family: Editorial, Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.03em;
}
.craft-steps p {
  grid-column: auto;
  margin: 8px 0 0;
}
.story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
}
.story-grid figure {
  margin: 0;
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
  background: #111;
}
.story-grid video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.story-grid figcaption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.compare {
  background: #e9e4da;
  color: #111318;
  padding: 140px 0;
}
.compare-kicker {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #615e58;
  margin-bottom: 18px;
}
.compare h2 {
  font:
    400 clamp(48px, 7vw, 104px)/0.9 Editorial,
    Georgia,
    serif;
  letter-spacing: -0.055em;
  margin: 0 0 22px;
}
.compare h2 em {
  color: #111318;
  font-style: italic;
}
.compare-lead {
  max-width: 640px;
  font-size: 18px;
  line-height: 1.5;
  color: #55524d;
  margin: 0 0 48px;
}
.compare-wrap {
  overflow-x: auto;
}
.compare-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
  table-layout: fixed;
}
.compare-table th,
.compare-table td {
  text-align: left;
  padding: 20px 16px;
  border-bottom: 1px solid #b9b4ab;
  vertical-align: top;
}
.compare-table thead th {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #615e58;
}
.compare-table tbody th {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  width: 16%;
}
.compare-table td b {
  display: block;
  font-size: 22px;
  letter-spacing: -0.03em;
  font-weight: 700;
  margin-bottom: 6px;
}
.compare-table td span {
  display: block;
  font-size: 13px;
  color: #5a5751;
  line-height: 1.35;
}
.compare-table .is-skaz {
  background: #111318;
  color: #f3f0e8;
}
.compare-table td.is-skaz span {
  color: #cfc9bd;
}
.compare-table thead .is-skaz {
  color: #c9a36a;
}
.route-hero {
  align-items: center;
}
.route-hero .shell {
  padding-top: 120px;
  padding-bottom: 80px;
}
.qa-grid {
  display: grid;
  grid-template-columns: 0.42fr 1fr;
  gap: 48px;
  align-items: start;
}
.qa-visual {
  min-height: 320px;
  position: relative;
  overflow: hidden;
  background: #111;
}
.qa-visual video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 850px) {
  .hero-copy {
    top: 22%;
  }
  .mosaic {
    grid-template-columns: 1fr 1fr;
  }
  .mosaic .tile.lg,
  .mosaic .tile.wide {
    grid-column: span 2;
    grid-row: auto;
  }
  .story-grid {
    grid-template-columns: 1fr;
  }
  .qa-grid {
    grid-template-columns: 1fr;
  }
  .compare {
    padding: 90px 0;
  }
  .route-hero .shell {
    padding-top: 96px;
  }
}

/* V8 text-upgraded: focused editorial additions */
.hero-line {
  max-width: 720px;
  margin: 34px 0 0;
  font-size: clamp(17px, 1.55vw, 23px);
  line-height: 1.35;
  color: #f3f0e8;
  text-wrap: balance;
}
.craft .label {
  color: #77736c;
}
.team-title {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(48px, 7vw, 104px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.055em;
  margin: 22px 0 64px;
  max-width: 1050px;
}
.team-secondary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
.team-card {
  min-height: 420px;
  border: 1px solid rgba(0, 0, 0, 0.22);
  display: grid;
  grid-template-columns: 0.48fr 0.52fr;
  overflow: hidden;
}
.team-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  background: #17191d;
}
.team-card > div {
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.team-card h3,
.team-advisors h3 {
  font-family: Editorial, Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.04em;
  margin: 14px 0;
}
.team-card h3 {
  font-size: clamp(32px, 3.2vw, 54px);
}
.team-card p,
.team-advisors p {
  color: #53514c;
  line-height: 1.55;
  margin: 0;
}
.team-advisors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  margin-top: 70px;
}
.team-advisors article {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 24px;
  padding: 34px 34px 34px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}
.team-advisors article:nth-child(2) {
  padding-left: 34px;
  border-left: 1px solid rgba(0, 0, 0, 0.25);
}
.advisor-mark {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  font-family: Editorial, Georgia, serif;
  font-size: 24px;
}
.team-advisors h3 {
  font-size: 32px;
}
.story-grid-8 {
  grid-template-columns: repeat(4, 1fr);
}
.story-grid-8 figure {
  min-height: 250px;
}
.compare-note {
  max-width: 760px;
  margin: 28px 0 0;
  color: #8e8a82;
  font-size: 13px;
  line-height: 1.55;
}
.faq {
  background: #15181c;
  padding: 140px 0;
}
.faq-grid {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: 90px;
}
.faq h2 {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(48px, 6vw, 92px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.055em;
  margin: 24px 0;
}
.faq h2 em {
  color: #c9a36a;
}
.faq-list {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}
.faq details {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.faq summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 27px 48px 27px 0;
  font-size: 20px;
  line-height: 1.3;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary:after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 22px;
  color: #c9a36a;
  font-size: 28px;
  font-weight: 300;
}
.faq details[open] summary:after {
  content: "–";
}
.faq details p {
  max-width: 760px;
  margin: 0;
  padding: 0 52px 28px 0;
  color: #aaa79f;
  line-height: 1.62;
  font-size: 15px;
}
.form-row.single {
  grid-template-columns: 1fr;
}
.compare-table b {
  line-height: 1.25;
}
.compare-table .is-skaz b {
  color: #f3f0e8;
}
@media (max-width: 900px) {
  .team-secondary {
    grid-template-columns: 1fr;
  }
  .team-card {
    min-height: 360px;
  }
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .story-grid-8 {
    grid-template-columns: repeat(2, 1fr);
  }
  .team-advisors {
    grid-template-columns: 1fr;
  }
  .team-advisors article:nth-child(2) {
    padding-left: 0;
    border-left: 0;
  }
}
@media (max-width: 700px) {
  .hero-line {
    font-size: 17px;
    line-height: 1.42;
    margin-top: 26px;
    max-width: 340px;
  }
  .team-title {
    margin-bottom: 38px;
  }
  .director-grid {
    grid-template-columns: 1fr;
  }
  .director {
    min-height: 620px;
  }
  .team-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .team-card img {
    height: 330px;
    object-position: center top;
  }
  .team-card > div {
    padding: 24px;
    min-height: 245px;
  }
  .team-advisors {
    margin-top: 42px;
  }
  .team-advisors article {
    grid-template-columns: 64px 1fr;
    gap: 16px;
    padding: 26px 0;
  }
  .advisor-mark {
    width: 56px;
    height: 56px;
    font-size: 18px;
  }
  .team-advisors h3 {
    font-size: 27px;
  }
  .story-grid-8 {
    grid-template-columns: 1fr 1fr;
  }
  .story-grid-8 figure {
    min-height: 190px;
  }
  .faq {
    padding: 90px 0;
  }
  .faq summary {
    font-size: 17px;
    padding: 23px 42px 23px 0;
  }
  .faq details p {
    padding-right: 8px;
  }
  .compare-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .compare-table {
    min-width: 760px;
  }
  .routes-head h2 br {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .ticker div {
    animation: none;
  }
  .route video {
    transition: none;
  }
}

/* QA fixes: render deferred sections and contain long editorial type */
body {
  max-width: 100%;
  overflow-x: hidden;
}
.directors {
  content-visibility: visible !important;
  contain: none !important;
}
.director,
.team-card,
.team-advisors article {
  min-width: 0;
}
.director h3,
.team-card h3,
.team-advisors h3 {
  overflow-wrap: anywhere;
}
.director.primary .director-photo,
.director:not(.primary) .director-photo {
  right: 0 !important;
  max-width: 66% !important;
}
.compare-table .is-skaz b {
  color: #f3f0e8;
}
@media (max-width: 700px) {
  .director h3 {
    font-size: 46px !important;
    max-width: 72% !important;
  }
  .director p,
  .director:not(.primary) p {
    max-width: 64% !important;
    font-size: 14px !important;
  }
  .director.primary .director-photo,
  .director:not(.primary) .director-photo {
    right: 0 !important;
    width: 62% !important;
    max-width: 62% !important;
  }
  .shell {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Final containment */
.director .ghost {
  right: 0 !important;
}
.story-grid-8,
.story-grid-8 figure,
.story-grid-8 video {
  min-width: 0;
  max-width: 100%;
}
.compare {
  overflow: hidden;
}
.compare-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
@media (max-width: 700px) {
  .story-grid-8 {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .story-grid-8 figure {
    width: auto !important;
  }
  .story-grid-8 video {
    width: 100% !important;
  }
  .director {
    max-width: 100%;
  }
  .director h3 {
    font-size: 42px !important;
    max-width: 68% !important;
  }
  .director .fact {
    font-size: 50px !important;
    max-width: 68% !important;
  }
}

/* FINAL CLIENT REVISION */
.hero-copy {
  top: 15%;
}
.craft-label {
  color: #4a4741 !important;
}
.story-head {
  grid-template-columns: 1fr 0.48fr;
  max-width: 1180px;
  margin-left: 0;
}
.story-head h2 {
  grid-column: 1;
}
.story-head > p {
  grid-column: 2;
}
.feature-copy {
  padding-bottom: 10vh;
}
.team-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.team-line .team-card {
  display: flex;
  flex-direction: column;
  min-height: 590px;
}
.team-line .team-card img {
  height: 330px;
  min-height: 330px;
  object-fit: cover;
  object-position: center 20%;
}
.team-line .team-card > div {
  flex: 1;
  padding: 24px;
  justify-content: flex-start;
}
.team-line .team-card h3 {
  font-size: clamp(30px, 2.5vw, 46px);
}
.compare {
  padding: 125px 0;
  background: #e9e4da;
}
.compare-head {
  display: grid;
  grid-template-columns: 1fr 0.42fr;
  gap: 72px;
  align-items: end;
  margin-bottom: 48px;
}
.compare-head h2 {
  margin: 0;
}
.compare-head p {
  font-size: 18px;
  line-height: 1.5;
  color: #55524d;
  margin: 0 0 5px;
}
.compare-wrap {
  border-top: 1px solid #8f8a82;
  border-bottom: 1px solid #8f8a82;
}
.compare-table {
  min-width: 1120px;
}
.compare-table th,
.compare-table td {
  border-right: 1px solid #c6c0b6;
  padding: 21px 17px;
}
.compare-table .is-skaz {
  background: #111318 !important;
  color: #fff !important;
}
.compare-table thead .is-skaz {
  color: #c9a36a !important;
}
.compare-swipe {
  display: none;
}
.routes-head p {
  max-width: 480px;
}
.route {
  grid-template-columns: 80px 1fr 0.36fr 160px;
}
.route-go {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c9a36a;
  text-align: right;
  padding-right: 8px;
}
.route:focus-visible {
  outline: 2px solid #c9a36a;
  outline-offset: 4px;
}
.form-submit {
  background: #c9a36a !important;
  color: #090b0e !important;
  border: 1px solid #c9a36a !important;
}
@media (max-width: 900px) {
  .team-line {
    grid-template-columns: 1fr;
  }
  .team-line .team-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 0.48fr 0.52fr;
  }
  .team-line .team-card img {
    height: 100%;
    min-height: 360px;
  }
  .story-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .story-head h2,
  .story-head > p {
    grid-column: 1;
  }
  .compare-head {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .compare-swipe {
    display: block;
    margin: 0 0 12px;
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #666159;
  }
  .route {
    grid-template-columns: 42px 1fr;
  }
  .route p,
  .route-go {
    grid-column: 2;
    text-align: left;
  }
  .route-go {
    padding: 0 0 24px;
  }
}
@media (max-width: 700px) {
  .hero-copy {
    top: 19%;
  }
  .hero-line {
    max-width: 300px;
  }
  .feature-copy {
    padding-bottom: 7vh;
  }
  .team-line .team-card {
    display: flex;
  }
  .team-line .team-card img {
    height: 350px;
    min-height: 350px;
    width: 100%;
    object-fit: cover;
    object-position: center 18%;
  }
  .team-line .team-card > div {
    min-height: 230px;
  }
  .mosaic .tile {
    min-height: 0;
  }
  .mosaic video {
    background: #17191d;
  }
  .compare {
    padding: 88px 0;
  }
  .compare-head h2 {
    font-size: 56px;
  }
  .routes-head p {
    font-size: 14px;
  }
  .route-go {
    display: block;
  }
}
/* Final typography containment */
.director-grid .director h3 {
  font-size: clamp(44px, 4.8vw, 72px) !important;
  max-width: 76% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.director-grid .director > div:not(.fact) {
  max-width: 62%;
}
@media (max-width: 700px) {
  .director-grid .director h3 {
    font-size: 42px !important;
    max-width: 76% !important;
  }
  .director-grid .director > div:not(.fact) {
    max-width: 66%;
  }
}

/* FINAL5 correction pass */
.hero-copy {
  top: 20%;
  bottom: auto;
}
.hero-grid {
  display: block;
  max-width: 1220px;
}
.hero .display {
  max-width: 1180px;
  line-height: 0.86;
}
.hero .display em {
  display: block;
  margin-top: 0.13em;
}
.hero .overline {
  margin-bottom: 34px;
  transform: translateY(8px);
}
.top .menu {
  gap: 34px;
}
.directors {
  background: #ded9cf;
}
.team-title {
  font-size: clamp(58px, 7.4vw, 108px);
  line-height: 0.88;
  margin: 24px 0 64px;
}
.director-grid {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 0;
}
.director {
  min-height: 720px;
}
.director-copy {
  max-width: 56% !important;
}
.director-copy h3 {
  font-size: clamp(48px, 5.7vw, 82px);
  text-wrap: balance;
}
.director-copy p {
  text-wrap: pretty;
}
.director.tech {
  background: #eeeae1;
  color: #111318;
}
.director.tech p {
  color: #4e4b46 !important;
}
.director.tech .director-photo {
  width: 50% !important;
  height: 72% !important;
  object-fit: contain !important;
  object-position: right bottom !important;
}
.director.tech .fact {
  color: #111318;
}
.team-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 70px;
}
.team-line .team-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border: 0;
  background: transparent !important;
  overflow: visible;
}
.team-line .team-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1.04;
  min-height: 0;
  object-fit: contain;
  object-position: center bottom;
  background: transparent !important;
}
.team-line .team-card:first-child img {
  object-fit: contain;
}
.team-line .team-card > div {
  padding: 24px 2px 0;
  min-height: 0;
  justify-content: flex-start;
}
.team-line .team-card h3 {
  font-size: clamp(34px, 3vw, 48px);
  line-height: 0.96;
  overflow-wrap: normal;
  text-wrap: balance;
}
.team-line .team-card p {
  font-size: 15px;
  line-height: 1.55;
  text-wrap: pretty;
}
.story-single {
  display: block;
  max-width: 1250px;
  margin: 0 auto 58px;
}
.story-single h2 {
  font-size: clamp(58px, 7.8vw, 118px);
  line-height: 0.9;
  margin: 0;
}
.story-single h2 span {
  color: #f3f0e8;
}
.story-single h2 em {
  color: #c9a36a;
}
.compare {
  background: #f7f5ef !important;
  color: #111318;
  padding: 145px 0;
}
.compare-kicker {
  font-size: 11px;
  letter-spacing: 0.22em;
  color: #6c675f;
  margin-bottom: 40px;
}
.compare-head {
  display: block;
  margin-bottom: 55px;
}
.compare-head h2 {
  font:
    400 clamp(68px, 9vw, 132px)/0.78 Editorial,
    Georgia,
    serif;
  letter-spacing: -0.065em;
  margin: 0;
  max-width: 1100px;
}
.compare-head h2 em {
  color: #756044;
  font-style: italic;
}
.compare-rule {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #8f8a82;
  border-bottom: 1px solid #8f8a82;
  padding: 18px 0;
  margin-bottom: 28px;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.16em;
}
.compare-rule b {
  font-weight: 700;
}
.compare-wrap {
  overflow-x: auto;
  border: 0;
}
.compare-table {
  min-width: 1120px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.compare-table th,
.compare-table td {
  padding: 24px 20px;
  border-right: 1px solid #d0cbc2;
  border-bottom: 1px solid #c3bdb3;
  vertical-align: top;
}
.compare-table thead th {
  border-top: 1px solid #8f8a82;
  font-size: 10px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #6a655d;
}
.compare-table tbody th {
  font-size: 10px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  width: 15%;
  color: #6a655d;
}
.compare-table td b {
  display: block;
  font:
    400 24px/1.05 Editorial,
    Georgia,
    serif;
  letter-spacing: -0.025em;
  margin-bottom: 8px;
}
.compare-table td span {
  display: block;
  font-size: 13px;
  line-height: 1.42;
  color: #5c5851;
}
.compare-table .skaz-col {
  background: #111318 !important;
  color: #f6f2e9 !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
.compare-table thead .skaz-col {
  color: #c9a36a !important;
}
.compare-table td.skaz-col span {
  color: #c8c2b7;
}
.compare-note {
  color: #706c64;
}
.compare-swipe {
  display: none;
}
@media (max-width: 900px) {
  .hero-copy {
    top: 22%;
  }
  .team-line {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .team-line .team-card {
    display: grid;
    grid-template-columns: minmax(150px, 0.44fr) 1fr;
    gap: 22px;
    align-items: center;
  }
  .team-line .team-card img {
    height: auto;
    aspect-ratio: 1/1.08;
  }
  .team-line .team-card > div {
    padding: 0;
  }
  .director-copy {
    max-width: 60% !important;
  }
  .story-single h2 br:first-of-type {
    display: none;
  }
  .compare {
    padding: 100px 0;
  }
  .compare-head h2 {
    font-size: 72px;
  }
  .compare-swipe {
    display: block;
    margin: 0 0 12px;
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #666159;
  }
}
@media (max-width: 700px) {
  .top .menu {
    display: none;
  }
  .hero-copy {
    top: 23%;
  }
  .hero .overline {
    margin-bottom: 28px;
  }
  .hero .display {
    font-size: 56px;
    line-height: 0.88;
  }
  .hero .display em {
    margin-top: 0.16em;
  }
  .director-copy {
    max-width: 66% !important;
  }
  .team-line .team-card {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .team-line .team-card img {
    width: 88%;
    margin: auto;
    aspect-ratio: 1/1.02;
  }
  .team-line .team-card > div {
    padding-top: 18px;
  }
  .story-single h2 {
    font-size: 54px;
    line-height: 0.92;
  }
  .story-single h2 br:first-of-type {
    display: block;
  }
  .compare-head h2 {
    font-size: 58px;
    line-height: 0.82;
  }
  .compare-rule {
    font-size: 8px;
    gap: 12px;
  }
  .compare-table th,
  .compare-table td {
    padding: 18px 14px;
  }
}

/* FINAL6.2 — requested correction pass */
/* quieter opening label placement */
.hero .overline {
  transform: translateY(18px);
  margin-bottom: 42px;
}
/* one clean sentence, white lead + gold continuation */
.story-single {
  max-width: 1370px;
}
.story-single h2 {
  font-size: clamp(54px, 7vw, 104px);
  line-height: 0.94;
  text-wrap: balance;
}
/* portraits: preserve proportions; Rustam source artwork is rebuilt at 1.8x */
.team-line .team-card img {
  object-fit: contain !important;
  object-position: center bottom !important;
}
.team-line .team-card:nth-child(3) img {
  width: 100%;
  aspect-ratio: 1/1.04;
}
/* comparison: remove decorative triple-rule effect, retain one structural table rule */
.compare-kicker {
  margin-bottom: 26px;
  color: #756044;
  font-weight: 700;
}
.compare-head {
  margin-bottom: 34px;
}
.compare-rule {
  border: 0;
  padding: 0;
  margin: 0 0 34px;
  color: #6c675f;
}
.compare-rule b {
  color: #111318;
}
.compare-table thead th {
  border-top: 1px solid #8f8a82;
}
.compare-table td b:first-letter {
  color: #9b7846;
}
.compare-table td.skaz-col b:first-letter {
  color: #d5ad72;
}
@media (max-width: 900px) {
  .story-single h2 {
    font-size: clamp(46px, 8vw, 72px);
  }
  .hero .overline {
    transform: translateY(10px);
    margin-bottom: 34px;
  }
}
@media (max-width: 700px) {
  .story-single h2 {
    font-size: 47px;
  }
  .team-line .team-card:nth-child(3) img {
    width: 100%;
  }
  .compare-rule {
    align-items: flex-start;
    line-height: 1.35;
  }
  .compare-head {
    margin-bottom: 28px;
  }
}

/* Round 2: user-directed typography, team, comparison and routes */
.hero-copy {
  top: 23%;
  left: 0;
  right: 0;
}
.hero-grid {
  max-width: 1280px;
  margin: 0 auto;
}
.hero .display {
  max-width: 1120px;
  line-height: 0.87;
}
.hero .display em {
  margin-top: 0.22em;
}
.director-copy {
  max-width: 62% !important;
}
.director-copy p {
  max-width: 390px !important;
  font-size: 16px;
  line-height: 1.58;
  text-wrap: pretty;
  hyphens: none;
}
.director .director-photo {
  width: 42% !important;
  right: 1% !important;
}
.director.tech .director-photo {
  width: 43% !important;
  right: 1% !important;
}
.director-copy h3 {
  font-size: clamp(46px, 5.3vw, 76px);
  text-wrap: balance;
}
.routes-head {
  display: block;
  margin-bottom: 54px;
}
.route {
  grid-template-columns: 74px minmax(0, 1fr) minmax(250px, 0.42fr) 170px;
  gap: 28px;
}
.route .n {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(201, 163, 106, 0.8);
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
  color: #e2bf87;
  background: rgba(11, 13, 16, 0.38);
  backdrop-filter: blur(8px);
}
.route .n:after {
  content: "";
  position: absolute;
  left: 45px;
  top: 50%;
  width: 22px;
  height: 1px;
  background: linear-gradient(90deg, #c9a36a, transparent);
}
.route-go {
  justify-self: end;
  position: relative !important;
  padding: 0 26px 8px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.65);
  color: #fff !important;
}
.route-go:after {
  content: "↗";
  position: absolute;
  right: 0;
  top: -4px;
  color: #c9a36a;
  font-size: 16px;
}
.compare-rule {
  border: 0 !important;
  padding: 0 !important;
  margin-bottom: 30px !important;
}
.compare-table thead th {
  border-top: 0 !important;
}
.compare-table td b:first-letter,
.compare-table td.skaz-col b:first-letter {
  color: inherit !important;
}
.compare-table td b {
  color: #413e39 !important;
}
.compare-table td.skaz-col b {
  color: #f6f2e9 !important;
}
@media (max-width: 900px) {
  .director-copy {
    max-width: 64% !important;
  }
  .director .director-photo,
  .director.tech .director-photo {
    width: 40% !important;
  }
  .route {
    grid-template-columns: 56px 1fr;
  }
  .route .n:after {
    width: 12px;
  }
  .route p,
  .route-go {
    grid-column: 2;
  }
  .route-go {
    justify-self: start;
    margin-bottom: 26px;
  }
  .hero-grid {
    margin: 0;
  }
}
@media (max-width: 700px) {
  .hero-copy {
    top: 22%;
  }
  .hero .display {
    font-size: 52px;
    max-width: 340px;
  }
  .hero .display em {
    margin-top: 0.24em;
  }
  .director-copy {
    max-width: 68% !important;
  }
  .director-copy p {
    font-size: 14px;
    line-height: 1.52;
  }
  .director .director-photo,
  .director.tech .director-photo {
    width: 43% !important;
  }
  .route {
    grid-template-columns: 48px 1fr;
    gap: 14px 16px;
  }
  .route .n {
    width: 40px;
    height: 40px;
  }
  .route .n:after {
    left: 39px;
    width: 9px;
  }
  .route h3 {
    font-size: 36px;
  }
  .route p {
    font-size: 13px;
  }
  .route-go {
    font-size: 9px;
  }
  .compare-table thead th {
    border-top: 0 !important;
  }
}
@media (max-width: 700px) {
  .routes-head h2 {
    font-size: 52px;
    line-height: 0.92;
    letter-spacing: -0.045em;
  }
  .routes-head h2 br {
    display: block !important;
  }
  .route h3 {
    font-size: 34px;
    line-height: 0.96;
    overflow-wrap: normal;
    text-wrap: balance;
  }
  .route {
    padding-right: 14px;
  }
}

/* Round 3 — full-bleed routes, centered hero, aligned team */
.hero-copy {
  top: 22%;
  text-align: center;
}
.hero-grid {
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  place-items: center;
}
.hero .overline {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.hero .display {
  max-width: 1220px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-wrap: balance;
}
.director-copy {
  max-width: 60% !important;
}
.director-copy p {
  max-width: 410px !important;
}
.director .director-photo,
.director.tech .director-photo {
  width: 44% !important;
  height: 70% !important;
  right: 0 !important;
}
.director.primary .director-photo {
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 10px,
    #000 100%
  );
  mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 100%);
}
.director.tech .director-copy h3 {
  font-size: clamp(48px, 5.6vw, 82px);
}
.route-list {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}
.route {
  width: 100%;
  padding-left: max(38px, calc((100vw - 1424px) / 2 + 38px));
  padding-right: max(38px, calc((100vw - 1424px) / 2 + 38px));
  grid-template-columns: 74px minmax(0, 1fr) minmax(270px, 0.4fr) 170px;
  opacity: 0;
  transform: translateY(22px);
  animation: routeEnter 0.8s cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
}
.route:nth-child(2) {
  animation-delay: 0.12s;
}
.route:nth-child(3) {
  animation-delay: 0.24s;
}
.route .n {
  transition:
    transform 0.35s ease,
    background 0.35s ease,
    color 0.35s ease;
}
.route .n:after {
  transition:
    width 0.4s ease,
    opacity 0.4s ease;
}
.route:hover .n {
  transform: scale(1.08);
  background: #c9a36a;
  color: #0b0d10;
}
.route:hover .n:after {
  width: 38px;
  opacity: 1;
}
.route-go {
  transition:
    padding-right 0.3s ease,
    border-color 0.3s ease;
}
.route:hover .route-go {
  padding-right: 34px !important;
  border-color: #c9a36a;
}
.route h3 {
  font-size: clamp(45px, 4.7vw, 70px);
  line-height: 0.97;
  text-wrap: balance;
}
@keyframes routeEnter {
  to {
    opacity: 1;
    transform: none;
  }
}
.compare-table {
  border-top: 0 !important;
}
.compare-table thead th {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  vertical-align: middle !important;
  border-top: 0 !important;
  border-right: 1px solid #c5beb3 !important;
}
.compare-table thead th:first-child {
  border-left: 0 !important;
}
.compare-table thead .skaz-col {
  background: #080a0d !important;
  color: #d9b87f !important;
  padding-top: 20px !important;
}
.compare-table td.skaz-col {
  background: #080a0d !important;
}
@media (max-width: 900px) {
  .route {
    padding-left: 20px;
    padding-right: 20px;
    grid-template-columns: 56px 1fr;
  }
  .route h3 {
    font-size: 42px;
  }
  .director-copy {
    max-width: 64% !important;
  }
  .director .director-photo,
  .director.tech .director-photo {
    width: 42% !important;
  }
}
@media (max-width: 700px) {
  .hero-copy {
    top: 21%;
  }
  .hero .display {
    font-size: 49px;
    max-width: 360px;
  }
  .hero .overline {
    max-width: 330px;
    line-height: 1.5;
  }
  .route {
    grid-template-columns: 48px 1fr;
    padding-left: 20px;
    padding-right: 20px;
  }
  .route h3 {
    font-size: 34px;
    line-height: 0.96;
  }
  .route h3 br {
    display: none;
  }
  .director-copy {
    max-width: 68% !important;
  }
  .director .director-photo,
  .director.tech .director-photo {
    width: 43% !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .route {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .route * {
    transition: none !important;
  }
}

/* FINAL R4 — unified type, secondary heroes, aligned portraits and interaction */
:root {
  --ink: #0b0d10;
  --paper: #f2eee5;
  --gold: #d0aa70;
  --line: rgba(255, 255, 255, 0.22);
}
html {
  background: var(--ink);
}
body {
  font-family: Arial, Helvetica, sans-serif;
}
h1,
h2,
h3,
.display,
.team-title,
.film-title,
.statement,
.fact {
  font-family: Editorial, Georgia, serif;
}
.page-transition {
  position: fixed;
  z-index: 999;
  inset: 0;
  background: #080a0d;
  pointer-events: none;
  transform: scaleY(0);
  transform-origin: bottom;
  opacity: 0;
}
body.route-leaving .page-transition {
  opacity: 1;
  transform: scaleY(1);
  transition:
    transform 0.32s cubic-bezier(0.7, 0, 0.3, 1),
    opacity 0.15s;
}
body:not(.route-leaving) .page-transition {
  animation: cutReveal 0.5s cubic-bezier(0.7, 0, 0.3, 1) both;
}
@keyframes cutReveal {
  0% {
    opacity: 1;
    transform: scaleY(1);
    transform-origin: top;
  }
  100% {
    opacity: 1;
    transform: scaleY(0);
    transform-origin: top;
  }
}
/* centered opening with controlled line length */
.hero-copy {
  top: 50% !important;
  transform: translateY(-42%) !important;
  text-align: center;
}
.hero-grid {
  display: grid !important;
  place-items: center !important;
  max-width: 1320px !important;
}
.hero .overline {
  transform: none !important;
  margin: 0 auto 34px !important;
  text-align: center;
}
.hero .display {
  font-size: clamp(64px, 8.2vw, 126px) !important;
  line-height: 0.86 !important;
  max-width: 1180px !important;
  margin: auto !important;
  text-align: center !important;
}
.hero .display em {
  display: block;
  margin-top: 0.14em !important;
  color: var(--gold);
}
/* secondary pages: same centered cinematic grammar, intentionally smaller */
.route-hero {
  min-height: 88svh;
  align-items: center !important;
  text-align: center;
}
.route-hero:after {
  background:
    linear-gradient(0deg, rgba(8, 10, 13, 0.88), rgba(8, 10, 13, 0.12) 72%),
    linear-gradient(
      90deg,
      rgba(8, 10, 13, 0.28),
      transparent 50%,
      rgba(8, 10, 13, 0.28)
    );
}
.route-hero .shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 120px !important;
  padding-bottom: 80px !important;
}
.route-hero .overline {
  margin: 0 0 28px;
}
.route-hero h1 {
  font-size: clamp(54px, 7.4vw, 106px) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.055em !important;
  max-width: 1040px !important;
  text-wrap: balance;
}
.route-hero p {
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.48 !important;
  max-width: 760px !important;
  margin: 28px auto 0;
  text-wrap: balance;
}
/* offer: four clear production stages */
.offer {
  padding: 112px 0 128px;
}
.offer-grid {
  display: block !important;
}
.offer .label {
  color: var(--gold);
  margin-bottom: 18px;
}
.offer h2 {
  font-size: clamp(48px, 6vw, 86px);
  max-width: 900px;
  margin-bottom: 56px !important;
  text-wrap: balance;
}
.deliverables {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}
.deliverable {
  position: relative;
  padding: 28px 28px 42px !important;
  border: 0 !important;
  border-left: 1px solid var(--line) !important;
  min-height: 270px;
}
.deliverable:first-child {
  border-left: 0 !important;
}
.deliverable:after {
  content: "→";
  position: absolute;
  right: -10px;
  top: 31px;
  z-index: 2;
  color: var(--gold);
  background: var(--ink);
  padding: 0 4px;
}
.deliverable:last-child:after {
  display: none;
}
.deliverable-n {
  display: block;
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--gold);
  margin-bottom: 58px;
}
.deliverable b {
  display: block;
  font:
    400 26px/1.05 Editorial,
    Georgia,
    serif;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.deliverable p {
  font-size: 14px;
  line-height: 1.55;
  color: #aaa7a1;
  margin: 16px 0 0;
  text-wrap: pretty;
}
/* FAQ occupies two-thirds, not the whole page */
.faq > .shell {
  display: grid;
  grid-template-columns: minmax(230px, 0.36fr) minmax(0, 0.64fr);
  gap: 64px 92px;
  align-items: start;
}
.faq > .shell > .label {
  grid-column: 1;
  grid-row: 1;
  color: var(--gold);
  padding-top: 9px;
}
.faq h2 {
  grid-column: 1;
  grid-row: 1;
  margin: 42px 0 0 !important;
  font-size: clamp(46px, 5vw, 76px) !important;
  max-width: 480px;
}
.faq-list {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.faq summary {
  font-size: 19px;
  text-wrap: pretty;
}
.faq details p {
  max-width: 700px;
  font-size: 16px;
  line-height: 1.65;
  text-wrap: pretty;
}
/* main team: aligned baselines and explicit portrait controls */
.director {
  min-height: 720px;
}
.director .director-photo,
.director.tech .director-photo {
  bottom: 0 !important;
  object-position: center bottom !important;
}
.director.primary .director-photo {
  width: 47% !important;
  height: 74% !important;
  right: -1% !important;
}
.director.tech .director-photo {
  width: 53% !important;
  height: 80% !important;
  right: -1% !important;
}
.director.primary .director-photo {
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 10px,
    #000 100%
  );
  mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 100%);
}
.director-copy h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance;
}
.team-line {
  align-items: start;
}
.team-line .team-card {
  overflow: hidden !important;
}
.team-line .team-card img {
  display: block !important;
  width: 100% !important;
  height: 390px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform-origin: center bottom !important;
}
.team-line .team-card.rustam img {
  transform: translateY(var(--rustam-y)) scale(var(--rustam-scale)) !important;
}
.team-line .team-card.rustam {
  isolation: isolate;
}
.team-line .team-card.rustam > div {
  position: relative;
  z-index: 2;
  background: #ded9cf;
}
.team-line .team-card p {
  max-width: 42ch;
  text-wrap: pretty;
}
/* routes: full bleed, unmistakably interactive, no side rails */
.routes {
  overflow: hidden;
}
.route-list {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}
.route {
  min-height: 228px;
  transition:
    background 0.28s ease,
    filter 0.28s ease,
    transform 0.28s ease;
}
.route:before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(8, 10, 13, 0);
  transition: background 0.28s ease;
}
.route:hover:before,
.route:focus-visible:before {
  background: rgba(8, 10, 13, 0.16);
}
.route:hover video,
.route:focus-visible video {
  filter: brightness(1.12) saturate(1.05);
  transform: scale(1.055);
}
.route:active {
  transform: scale(0.996);
}
.route-go {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0 !important;
  padding: 12px 0 !important;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.route-go:after {
  content: "↗" !important;
  position: static !important;
  font-size: 18px !important;
  transition: transform 0.28s ease;
}
.route:hover .route-go:after {
  transform: translate(5px, -5px);
}
.route h3 {
  max-width: 760px;
}
/* comparison: one structural grid, even SKAZ header */
.compare {
  background: #f4f1ea !important;
}
.compare-wrap {
  border: 0 !important;
}
.compare-table {
  border-top: 0 !important;
}
.compare-table thead th {
  border-top: 0 !important;
  vertical-align: middle !important;
}
.compare-table .skaz-col {
  background: #090b0e !important;
}
.compare-table td b:first-letter {
  color: inherit !important;
}
.compare-kicker {
  margin-bottom: 30px !important;
}
.compare-head h2 {
  font-size: clamp(64px, 8vw, 112px) !important;
  line-height: 0.84 !important;
}
@media (max-width: 900px) {
  .deliverables {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .deliverable:nth-child(3) {
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
  .deliverable:nth-child(4) {
    border-top: 1px solid var(--line) !important;
  }
  .deliverable:nth-child(2):after {
    display: none;
  }
  .faq > .shell {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .faq > .shell > .label,
  .faq h2,
  .faq-list {
    grid-column: 1;
    grid-row: auto;
  }
  .faq h2 {
    margin: 0 !important;
    max-width: 620px;
  }
  .team-line .team-card img {
    height: 360px !important;
  }
}
@media (max-width: 700px) {
  .top {
    height: 68px;
  }
  .route-page .menu {
    display: flex !important;
  }
  .route-page .menu a:not(.outline) {
    display: none !important;
  }
  .route-page .menu .outline {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .hero {
    min-height: 700px;
  }
  .hero-copy {
    top: 47% !important;
    transform: translateY(-40%) !important;
  }
  .hero .overline {
    max-width: 300px;
    font-size: 9px;
    line-height: 1.5;
    margin-bottom: 24px !important;
  }
  .hero .display {
    font-size: clamp(45px, 13.2vw, 56px) !important;
    line-height: 0.91 !important;
    max-width: 360px !important;
  }
  .route-hero {
    min-height: 720px;
  }
  .route-hero .shell {
    padding-top: 94px !important;
    padding-bottom: 56px !important;
  }
  .route-hero h1 {
    font-size: clamp(48px, 14vw, 64px) !important;
    line-height: 0.91 !important;
    max-width: 360px !important;
  }
  .route-hero p {
    font-size: 17px !important;
    max-width: 340px !important;
    margin-top: 24px;
  }
  .offer {
    padding: 82px 0 90px;
  }
  .offer h2 {
    font-size: 48px;
    margin-bottom: 38px !important;
  }
  .deliverables {
    grid-template-columns: 1fr !important;
  }
  .deliverable {
    min-height: 0;
    padding: 24px 8px 32px !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
  .deliverable:first-child {
    border-top: 0 !important;
  }
  .deliverable:after {
    content: "↓";
    right: 8px;
    top: auto;
    bottom: -13px;
    background: var(--ink);
  }
  .deliverable-n {
    margin-bottom: 24px;
  }
  .faq {
    padding: 84px 0;
  }
  .faq h2 {
    font-size: 48px !important;
  }
  .faq summary {
    font-size: 17px;
  }
  .faq details p {
    font-size: 15px;
    padding-right: 0;
  }
  .director {
    min-height: 620px;
  }
  .director.primary .director-photo {
    width: 49% !important;
    height: 69% !important;
  }
  .director.tech .director-photo {
    width: 57% !important;
    height: 75% !important;
  }
  .director-copy {
    max-width: 66% !important;
  }
  .director-copy p {
    font-size: 14px !important;
  }
  .team-line .team-card img {
    height: 340px !important;
  }
  .team-line .team-card.rustam img {
    transform: translateY(var(--rustam-y)) scale(var(--rustam-scale)) !important;
  }
  .route {
    min-height: 250px;
  }
  .route h3 {
    font-size: 34px !important;
  }
  .route-go {
    min-height: 44px;
    font-size: 9px;
  }
  .compare-head h2 {
    font-size: 56px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-transition {
    display: none;
  }
  .route,
  .route video,
  .route-go:after {
    animation: none !important;
    transition: none !important;
  }
}

/* FINAL R5 — cinematic loader, hard-cut hero, precise team cards */
:root {
  --gold-bright: #e2c58f;
  --gold-deep: #a88149;
}
.cinema-loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: #050607;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  animation: loaderOut 1.65s cubic-bezier(0.16, 0.9, 0.3, 1) forwards;
}
.loader-lockup {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  animation: lockupOut 1.5s ease forwards;
}
.loader-lockup strong {
  font-family: Editorial, Georgia, serif;
  font-size: clamp(54px, 9vw, 124px);
  font-weight: 400;
  line-height: 0.78;
  letter-spacing: -0.06em;
  color: transparent;
  -webkit-text-stroke: 1px var(--gold-bright);
  text-shadow: 0 0 30px rgba(201, 163, 106, 0.2);
}
.loader-lockup span {
  font-size: 9px;
  color: var(--gold-bright);
  letter-spacing: 0.28em;
}
.loader-lockup i {
  display: block;
  width: min(240px, 54vw);
  height: 1px;
  margin-top: 12px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--gold-bright),
    transparent
  );
  transform-origin: center;
  animation: loaderLine 1.05s 0.08s ease both;
}
.loader-flash {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at center,
    rgba(226, 197, 143, 0.64),
    rgba(201, 163, 106, 0.12) 22%,
    transparent 58%
  );
  opacity: 0;
  animation: goldFlash 1.5s ease forwards;
}
@keyframes loaderLine {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 0.35;
  }
}
@keyframes goldFlash {
  0%,
  50% {
    opacity: 0;
  }
  63% {
    opacity: 0.95;
  }
  100% {
    opacity: 0;
  }
}
@keyframes lockupOut {
  0%,
  62% {
    opacity: 1;
    transform: scale(0.96);
  }
  82%,
  100% {
    opacity: 0;
    transform: scale(1.04);
  }
}
@keyframes loaderOut {
  0%,
  78% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.page-wipe {
  background: #050607 !important;
}
.page-wipe:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle,
    rgba(226, 197, 143, 0.48),
    transparent 42%
  );
  opacity: 0;
}
body.is-leaving .page-wipe:before {
  animation: exitFlash 0.58s ease forwards;
}
body.is-leaving .page-wipe span {
  color: transparent !important;
  -webkit-text-stroke: 1px var(--gold-bright);
  text-shadow: 0 0 30px rgba(201, 163, 106, 0.25);
}
@keyframes exitFlash {
  0%,
  45% {
    opacity: 0;
  }
  62% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.hero-copy {
  top: 50% !important;
  left: 0;
  right: 0;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  height: auto;
}
.hero-grid {
  width: 100%;
  place-items: center !important;
}
.hero .display {
  max-width: 1180px !important;
  text-align: center !important;
  text-wrap: balance;
}
.hero .display em,
.route-page .route-hero h1 em {
  color: rgba(201, 163, 106, 0.22) !important;
  -webkit-text-stroke: 1.35px var(--gold-bright);
  text-shadow:
    0 2px 28px rgba(0, 0, 0, 0.72),
    0 0 18px rgba(201, 163, 106, 0.12);
}
.hero:after {
  height: 10vh !important;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(11, 13, 16, 0.82)
  ) !important;
}
.route h3 {
  position: relative;
  display: inline;
  width: max-content;
  max-width: 100%;
  z-index: 2;
}
.route h3:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -8px;
  right: -8px;
  bottom: 0.04em;
  height: 0.34em;
  background: linear-gradient(90deg, var(--gold-deep), var(--gold-bright));
  transform: scaleX(0);
  transform-origin: left;
  opacity: 0.74;
  transition: transform 0.46s cubic-bezier(0.2, 0.75, 0.2, 1);
}
.route:hover h3:after,
.route:focus-visible h3:after {
  transform: scaleX(1);
}
.route-go {
  white-space: nowrap !important;
  min-width: 150px;
  justify-content: flex-start !important;
  border-color: rgba(201, 163, 106, 0.45) !important;
  color: #fff;
}
.route-go:after {
  content: "↗";
  margin-left: auto;
}
.route:hover .route-go {
  color: var(--gold-bright);
  box-shadow:
    0 0 0 1px rgba(201, 163, 106, 0.2),
    0 0 24px rgba(201, 163, 106, 0.12);
}
.director {
  min-height: 620px !important;
  padding: 30px !important;
}
.director-copy {
  transform: translateY(20px);
}
.director-copy h3 {
  margin-bottom: 16px !important;
}
.director-copy p {
  line-height: 1.45 !important;
  margin-bottom: 8px;
}
.oleg-card .director-photo {
  bottom: -12px !important;
  height: 76% !important;
  object-position: right bottom !important;
}
.stepnov-card .director-photo {
  bottom: -8px !important;
  height: 75% !important;
}
.rustam-card {
  position: relative;
  background: transparent !important;
}
.rustam-card img {
  background: transparent !important;
  transform: translate(var(--rustam-x), var(--rustam-y))
    scale(var(--rustam-scale)) !important;
  transform-origin: center bottom !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}
.scope {
  padding-top: 94px !important;
}
.scope-step {
  min-height: 282px !important;
  padding-top: 24px !important;
}
.scope-step span {
  margin-bottom: 34px !important;
}
.scope-time {
  display: block;
  width: max-content;
  margin: 0 0 12px;
  padding: 5px 9px;
  border: 1px solid rgba(17, 19, 24, 0.22);
  color: #756d61;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.form select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #c9a36a 50%),
    linear-gradient(135deg, #c9a36a 50%, transparent 50%);
  background-position:
    calc(100% - 15px) 22px,
    calc(100% - 10px) 22px;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.form select option {
  background: #101216;
  color: #fff;
}
.conversion .cta {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--gold);
  background: transparent;
  color: var(--gold-bright);
  transition: 0.35s;
}
.conversion .cta:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, var(--gold-deep), var(--gold-bright));
  transform: translateY(102%);
  transition: transform 0.42s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: -1;
}
.conversion .cta:hover:before {
  transform: none;
}
.conversion .cta:hover {
  color: #080a0c;
  box-shadow: 0 0 28px rgba(201, 163, 106, 0.22);
}
@media (max-width: 900px) {
  .route h3 {
    width: auto;
  }
  .route-go {
    grid-column: 2;
    min-width: 0;
    width: max-content;
  }
  .director {
    min-height: 600px !important;
  }
}
@media (max-width: 700px) {
  .loader-lockup strong {
    font-size: 68px;
  }
  .loader-lockup span {
    font-size: 8px;
    letter-spacing: 0.18em;
  }
  .hero-copy {
    transform: translateY(-50%) !important;
  }
  .hero .display em,
  .route-page .route-hero h1 em {
    -webkit-text-stroke: 1px var(--gold-bright);
  }
  .route h3:after {
    height: 0.24em;
  }
  .route-go {
    font-size: 9px !important;
  }
  .director {
    min-height: 570px !important;
  }
  .director-copy {
    transform: none;
  }
  .oleg-card .director-photo {
    bottom: -8px !important;
  }
  .rustam-card {
    min-height: 520px !important;
  }
  .rustam-card img {
    position: absolute !important;
    left: -4%;
    bottom: 0;
    width: 48% !important;
    height: 100% !important;
    transform: translate(var(--rustam-x), var(--rustam-y))
      scale(var(--rustam-scale)) !important;
  }
  .scope {
    padding-top: 72px !important;
  }
  .scope-step {
    min-height: 0 !important;
  }
  .scope-time {
    margin-bottom: 9px;
  }
  .conversion h2 {
    font-size: 44px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cinema-loader {
    display: none;
  }
  .route h3:after,
  .conversion .cta:before {
    transition: none !important;
  }
}

/* R5 portrait correction after mobile visual QA */
.rustam-card {
  overflow: hidden !important;
}
@media (max-width: 700px) {
  .rustam-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 610px !important;
  }
  .rustam-card > img {
    position: relative !important;
    inset: auto !important;
    order: 0;
    width: 100% !important;
    height: 300px !important;
    max-height: 300px !important;
    flex: 0 0 300px;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: translateY(6%) scale(1.28) !important;
    transform-origin: center bottom !important;
    -webkit-mask-image: linear-gradient(
      to bottom,
      #000 0,
      #000 88%,
      transparent 100%
    );
    mask-image: linear-gradient(to bottom, #000 0, #000 88%, transparent 100%);
  }
  .rustam-card > div {
    order: 1 !important;
    position: relative !important;
    z-index: 2;
    padding: 24px 0 0 !important;
    background: transparent !important;
  }
}


/* R6 — focused client corrections */
/* One restrained B2B ident: only SKAZ, one calm dissolve, no flashes. */
.cinema-loader{background:rgba(5,6,7,.94)!important;animation:r6LoaderOut .42s ease 1.18s forwards!important;backdrop-filter:blur(5px)}
.loader-flash,.loader-lockup span,.loader-lockup i{display:none!important}
.loader-lockup{animation:r6Lockup 1.18s cubic-bezier(.22,.75,.25,1) both!important}
.loader-lockup strong{font:400 clamp(74px,11vw,156px)/.8 Editorial,Georgia,serif!important;letter-spacing:-.065em!important;color:#f3f0e8!important;-webkit-text-stroke:0!important;text-shadow:none!important}
@keyframes r6Lockup{0%{opacity:0;transform:scale(.985)}28%,74%{opacity:1;transform:none}100%{opacity:0;transform:scale(1.01)}}
@keyframes r6LoaderOut{to{opacity:0;visibility:hidden}}

/* Main hero: solid copy at the optical centre of the entire frame. */
.hero-copy{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important}
.hero-grid{width:100%!important;display:grid!important;place-items:center!important;margin:0 auto!important;padding-top:0!important}
.hero .display{max-width:1260px!important;margin:0 auto!important;text-align:center!important;color:#f5f1e9!important;font-size:clamp(58px,8vw,122px)!important;line-height:.87!important;letter-spacing:-.06em!important;text-shadow:0 3px 28px rgba(0,0,0,.7)!important}
.hero .display em{color:inherit!important;-webkit-text-stroke:0!important;text-shadow:inherit!important}
.hero .overline{color:#d8b77f!important;font-weight:700!important;font-size:11px!important;letter-spacing:.22em!important;text-shadow:0 2px 12px rgba(0,0,0,.9)!important;margin-bottom:30px!important}

/* Restore Rustam's natural portrait proportions. */
.rustam-card{overflow:hidden!important;display:flex!important;flex-direction:column!important;background:transparent!important}
.rustam-card>img{position:relative!important;inset:auto!important;width:100%!important;height:390px!important;max-height:none!important;flex:0 0 390px!important;object-fit:contain!important;object-position:center bottom!important;transform:translate(var(--rustam-x),var(--rustam-y)) scale(var(--rustam-scale))!important;transform-origin:center bottom!important;mask-image:none!important;-webkit-mask-image:none!important;background:transparent!important}
.rustam-card>div{position:relative!important;z-index:2!important;background:#ded9cf!important}

/* One readable timeline; cards now contain only title + explanation. */
.offer-grid{grid-template-columns:.34fr 1fr!important;gap:64px!important;align-items:start!important}
.project-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px;position:relative}
.project-timeline:before{content:'';position:absolute;left:6%;right:6%;top:19px;height:1px;background:rgba(201,163,106,.48)}
.timeline-stage{position:relative;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px;min-width:0;padding-right:12px}
.timeline-stage i{position:relative;z-index:1;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(201,163,106,.72);border-radius:50%;background:#0b0d10;color:#d7b57e;font:700 10px/1 Arial,sans-serif;letter-spacing:.08em}
.timeline-stage span{position:relative;z-index:1;width:max-content;max-width:100%;padding:3px 6px;background:#0b0d10;color:#d7d2c8;font-size:11px;line-height:1.25;letter-spacing:.06em;text-transform:uppercase}
.deliverables{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;border:1px solid rgba(255,255,255,.19)!important;background:rgba(255,255,255,.018)!important}
.deliverable{min-height:230px!important;padding:28px 22px!important;border:0!important;border-right:1px solid rgba(255,255,255,.16)!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
.deliverable:last-child{border-right:0!important}
.deliverable b{font:400 23px/1.08 Editorial,Georgia,serif!important;margin:0 0 18px!important}
.deliverable p{font-size:14px!important;line-height:1.55!important;color:#aaa7a1!important;margin:0!important}

/* Routes: three information units only — title, explanation, directional cue. */
.route{grid-template-columns:minmax(0,1fr) minmax(280px,.43fr)!important;gap:44px!important;min-height:220px!important}
.route .n,.route-go{display:none!important}
.route h3{grid-column:1!important;display:inline!important;width:auto!important;max-width:880px!important;justify-self:start!important;background-image:linear-gradient(90deg,rgba(201,163,106,.82),rgba(201,163,106,.82))!important;background-repeat:no-repeat!important;background-position:0 100%!important;background-size:0% .18em!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-size .5s cubic-bezier(.16,1,.3,1)!important}
.route:hover h3,.route:focus-visible h3{background-size:100% .18em!important}
.route h3:after,.route .n:after{display:none!important}
.route p{grid-column:2!important;padding:0!important;margin:0!important;align-self:center!important}
.route:before{content:'↗'!important;position:absolute!important;right:max(38px,calc((100vw - 1424px)/2 + 38px))!important;bottom:22px!important;left:auto!important;top:auto!important;inset:auto max(38px,calc((100vw - 1424px)/2 + 38px)) 22px auto!important;background:none!important;color:#d3ae73!important;font-size:20px!important;transform:none!important;opacity:.82!important;transition:transform .3s ease!important}
.route:hover:before{transform:translate(4px,-4px)!important}

/* Full-screen secondary heroes with a soft, continuous fade. */
.route-hero{width:100vw!important;max-width:none!important;min-height:100svh!important;height:100svh!important;margin:0!important;align-items:center!important;background:#0b0d10!important}
.route-hero video,.route-hero img{width:100vw!important;height:100%!important;object-fit:cover!important;filter:none!important}
.route-hero:after{background:linear-gradient(180deg,rgba(5,7,10,.24) 0%,rgba(5,7,10,.16) 48%,rgba(11,13,16,.58) 100%)!important}
.route-hero .shell{padding-top:100px!important;padding-bottom:64px!important}
.route-hero .overline{color:#e1bf87!important;font-weight:700!important;font-size:11px!important;letter-spacing:.21em!important;text-shadow:0 2px 14px rgba(0,0,0,.92)!important}
.route-hero h1{font-size:clamp(52px,7vw,100px)!important;text-shadow:0 3px 28px rgba(0,0,0,.68)!important}
.route-hero p{color:#f1eee7!important;text-shadow:0 2px 14px rgba(0,0,0,.9)!important}

@media(max-width:1000px){.offer-grid{grid-template-columns:1fr!important}.project-timeline,.deliverables{grid-template-columns:repeat(2,minmax(0,1fr))!important}.timeline-stage{margin-bottom:14px}.project-timeline:before{display:none}.deliverable:nth-child(2){border-right:0!important}.deliverable:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)!important}.route{grid-template-columns:1fr!important}.route h3,.route p{grid-column:1!important}.route p{max-width:620px!important}.route:before{right:20px!important}}
@media(max-width:700px){.loader-lockup strong{font-size:76px!important}.hero .display{font-size:clamp(43px,12.2vw,53px)!important;line-height:.92!important;max-width:360px!important}.hero .overline{font-size:9px!important;max-width:310px!important}.rustam-card>img{height:315px!important;flex-basis:315px!important;transform:translate(0,0) scale(1.08)!important}.rustam-card>div{padding-top:22px!important}.project-timeline{grid-template-columns:1fr!important;gap:10px}.timeline-stage{grid-template-columns:36px 1fr;margin:0}.timeline-stage i{width:36px;height:36px}.timeline-stage span{width:auto}.deliverables{grid-template-columns:1fr!important}.deliverable{min-height:0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important}.route{padding:32px 48px 32px 20px!important;gap:18px!important;min-height:250px!important}.route h3{font-size:34px!important}.route p{font-size:14px!important}.route-hero .overline{font-size:9px!important;line-height:1.5!important}.route-hero{min-height:100svh!important;height:100svh!important}}
@media(prefers-reduced-motion:reduce){.cinema-loader{display:none!important}.route h3{transition:none!important}.route:hover h3{background-size:0!important}}
/* Optical size correction after desktop QA */
.hero .display{font-size:clamp(56px,6.55vw,96px)!important;max-width:1360px!important;line-height:.9!important}
@media(max-width:700px){.hero .display{font-size:clamp(41px,11.4vw,49px)!important;max-width:360px!important;line-height:.94!important}}
/* Rustam final natural-size correction */
.rustam-card>img{transform:translate(0,0) scale(1)!important}
@media(max-width:700px){.rustam-card>img{transform:translate(0,0) scale(1)!important}}


/* R7 — client-directed refinement, built on R6 */
/* Calm black-to-picture ident: white SKAZ, slower optical dissolve. */
.cinema-loader{background:#050607!important;backdrop-filter:none!important;animation:r7LoaderOut .72s cubic-bezier(.4,0,.2,1) 1.62s forwards!important}
.loader-lockup{animation:r7Lockup 1.72s cubic-bezier(.16,1,.3,1) both!important}
.loader-lockup strong{color:#f7f5ef!important;font-size:clamp(78px,10.5vw,150px)!important;letter-spacing:-.055em!important}
@keyframes r7Lockup{0%{opacity:0;filter:blur(9px);transform:scale(.975)}24%{opacity:1;filter:blur(0);transform:scale(1)}72%{opacity:1;filter:blur(0);transform:scale(1)}100%{opacity:0;filter:blur(5px);transform:scale(1.018)}}
@keyframes r7LoaderOut{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}

/* Hero lockup sits on the true optical centre as one unit. */
.hero-copy{inset:50% 0 auto!important;transform:translateY(-50%)!important;text-align:center!important}
.hero-grid{min-height:0!important;display:flex!important;justify-content:center!important;align-items:center!important}
.hero-grid>div{width:min(1360px,94vw)!important;margin:auto!important}
.hero .overline{display:block!important;margin:0 auto 24px!important;text-align:center!important}
.hero .display{margin:0 auto!important;text-align:center!important;text-wrap:balance!important}

/* Director pair: roughly one quarter shorter, with role and copy pulled into one composition. */
.director-grid{align-items:stretch!important}
.director.oleg-card,.director.stepnov-card{min-height:470px!important;height:470px!important;padding:24px 28px!important}
.director.oleg-card .role,.director.stepnov-card .role{position:relative!important;z-index:4!important;display:block!important;margin:0!important;max-width:46%!important;line-height:1.35!important}
.director.oleg-card .director-photo{height:84%!important;bottom:-10px!important}
.director.stepnov-card .director-photo{height:83%!important;bottom:-8px!important}
.director.oleg-card .director-copy,.director.stepnov-card .director-copy{transform:none!important;bottom:24px!important;max-width:53%!important}
.director.oleg-card .director-copy h3,.director.stepnov-card .director-copy h3{margin-bottom:10px!important}
.director.oleg-card .director-copy p,.director.stepnov-card .director-copy p{font-size:13px!important;line-height:1.42!important;margin:0!important}
.director.oleg-card .fact,.director.stepnov-card .fact{bottom:22px!important;right:24px!important}

/* Keep Rustam's image fixed; lift only the text block toward the portrait. */
.rustam-card>div{transform:translateY(-30px)!important;margin-bottom:-30px!important;padding-top:18px!important}

/* First decision route keeps its film visible and reads as the primary action. */
.route-featured{min-height:clamp(430px,62vh,680px)!important;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)!important;align-content:end!important;padding-top:160px!important;padding-bottom:46px!important;border-top:1px solid rgba(255,255,255,.34)!important;border-bottom:1px solid rgba(255,255,255,.34)!important}
.route-featured video{opacity:.72!important;filter:saturate(.84) contrast(1.04)!important;transform:scale(1.015)!important}
.route-featured:after{opacity:1!important;background:linear-gradient(180deg,rgba(7,9,12,.12),rgba(7,9,12,.34) 45%,rgba(7,9,12,.9))!important}
.route-featured h3{font-size:clamp(48px,6vw,92px)!important;line-height:.92!important;max-width:900px!important;text-shadow:0 3px 26px rgba(0,0,0,.72)!important}
.route-featured p{color:#f1eee7!important;text-shadow:0 2px 16px rgba(0,0,0,.9)!important}

/* Landing heroes: centered lockup with one clear axis. */
.capacity-page .route-hero>.shell{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding-top:86px!important}
.capacity-page .route-hero .overline,.capacity-page .route-hero h1,.capacity-page .route-hero p{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.capacity-page .route-hero p{max-width:720px!important}

/* SOSTAV RESHENIYA: grounded editorial timeline, not floating badges. */
.offer{padding-top:112px!important;padding-bottom:124px!important}
.offer-grid{grid-template-columns:minmax(240px,.31fr) minmax(0,1fr)!important;gap:72px!important}
.offer .label{margin-bottom:18px!important}
.offer h2{max-width:360px!important}
.project-timeline{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important;border-top:1px solid rgba(218,184,128,.74)!important}
.project-timeline:before{display:none!important}
.timeline-stage{display:block!important;padding:0 18px 22px 0!important;min-height:88px!important}
.timeline-stage:before{content:'';display:block;width:1px;height:18px;background:#d8b780;margin:0 0 14px!important}
.timeline-stage i{display:block!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;color:#d8b780!important;font:700 10px/1.2 Arial,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin-bottom:8px!important}
.timeline-stage span{display:block!important;width:auto!important;padding:0!important;background:transparent!important;color:#f2efe8!important;font:400 15px/1.25 Editorial,Georgia,serif!important;letter-spacing:0!important;text-transform:none!important}
.deliverables{border:0!important;border-top:1px solid rgba(255,255,255,.36)!important;border-bottom:1px solid rgba(255,255,255,.36)!important;background:transparent!important}
.deliverable{position:relative!important;min-height:250px!important;padding:30px 22px 34px 0!important;border-right:0!important;border-bottom:0!important}
.deliverable+ .deliverable{padding-left:22px!important;border-left:1px solid rgba(255,255,255,.18)!important}
.deliverable:after{content:''!important;position:absolute!important;left:0!important;right:22px!important;bottom:0!important;height:3px!important;background:linear-gradient(90deg,#d2aa6d,rgba(210,170,109,.08))!important}
.deliverable:last-child:after{right:0!important}
.deliverable b{font-size:clamp(22px,2vw,29px)!important;line-height:1.02!important;margin-bottom:18px!important}
.deliverable p{max-width:30ch!important}

@media(max-width:900px){
  .director.oleg-card,.director.stepnov-card{height:auto!important;min-height:540px!important}
  .offer-grid{grid-template-columns:1fr!important;gap:44px!important}
  .offer h2{max-width:620px!important}
  .route-featured{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .hero-grid>div{width:92vw!important}
  .hero .overline{margin-bottom:18px!important}
  .director.oleg-card,.director.stepnov-card{min-height:510px!important;height:auto!important;padding:22px!important}
  .director.oleg-card .role,.director.stepnov-card .role{max-width:68%!important}
  .director.oleg-card .director-copy,.director.stepnov-card .director-copy{max-width:70%!important;bottom:22px!important}
  .director.oleg-card .director-photo,.director.stepnov-card .director-photo{height:74%!important}
  .rustam-card>div{transform:translateY(-18px)!important;margin-bottom:-18px!important}
  .route-featured{min-height:520px!important;padding:180px 48px 34px 20px!important}
  .route-featured h3{font-size:43px!important}
  .project-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-top:0!important;gap:0 20px!important}
  .timeline-stage{border-top:1px solid rgba(218,184,128,.74)!important}
  .deliverables{grid-template-columns:1fr!important}
  .deliverable,.deliverable+ .deliverable{padding:26px 0!important;border-left:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .deliverable:after{right:0!important}
}
@media(prefers-reduced-motion:reduce){.loader-lockup{animation:none!important}.cinema-loader{display:none!important}}

/* R7 QA corrections: content boxes may grow; only cinematic media clips. */
.director.oleg-card,.director.stepnov-card{box-sizing:border-box!important;overflow:hidden!important}
.routes,.route-list{height:auto!important;max-height:none!important;overflow:visible!important}
.route{box-sizing:border-box!important;overflow:hidden!important}
@media(max-width:700px){.routes,.route-list{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.route-list{display:flex!important;flex-direction:column!important}.route{flex:none!important}.director.oleg-card,.director.stepnov-card{min-height:522px!important}}

/* R8 — focused client corrections */
/* Hero: readable copy without a heavy shadow on the service line. */
.hero-copy:before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(1120px,96vw);height:430px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(3,5,8,.58) 0%,rgba(3,5,8,.24) 52%,transparent 76%);pointer-events:none}
.hero .display{color:#fff!important;text-shadow:0 3px 34px rgba(0,0,0,.98),0 1px 3px rgba(0,0,0,.92)!important;font-weight:400!important}
.hero .overline,.route-hero .overline{color:#c9bba4!important;text-shadow:none!important;opacity:1!important}

/* Director cards: remove eyebrow roles; shift key copy and facts right. */
.director.oleg-card,.director.stepnov-card{padding-top:28px!important}
.director.oleg-card .director-copy,.director.stepnov-card .director-copy{left:20px!important;max-width:54%!important}
.director.oleg-card .director-copy h3,.director.stepnov-card .director-copy h3{margin-bottom:22px!important}
.director.oleg-card .fact,.director.stepnov-card .fact{right:12px!important;bottom:20px!important;text-align:left!important}

/* Rustam image stays fixed; only the caption rises to match the other portraits. */
.rustam-card>div{transform:translateY(-48px)!important;margin-bottom:-48px!important;padding-top:10px!important}

/* All three routes use the same cinematic full-width scale and white explanatory copy. */
.route-list{width:100vw!important;margin-left:calc(50% - 50vw)!important}
.route{min-height:clamp(430px,62vh,680px)!important;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)!important;align-content:end!important;padding-top:160px!important;padding-bottom:46px!important}
.route video{opacity:.7!important;filter:saturate(.86) contrast(1.04)!important;transform:scale(1.015)!important}
.route:after{background:linear-gradient(180deg,rgba(7,9,12,.12),rgba(7,9,12,.34) 45%,rgba(7,9,12,.9))!important}
.route h3{font-size:clamp(48px,6vw,92px)!important;line-height:.92!important;max-width:930px!important;text-shadow:0 3px 26px rgba(0,0,0,.78)!important}
.route p,.route p b{color:#fff!important;opacity:1!important;text-shadow:0 2px 16px rgba(0,0,0,.94)!important}

/* Offer: one-line heading, proportional day track, no duplicate day labels or crossing rules. */
.offer-grid{display:block!important}
.offer h2{max-width:none!important;white-space:nowrap!important;margin-bottom:64px!important}
.project-timeline{display:grid!important;gap:0!important;border-top:1px solid rgba(218,184,128,.78)!important;border-bottom:1px solid rgba(255,255,255,.22)!important;margin:0 0 34px!important}
.project-timeline:before{display:none!important}
.timeline-phase{position:relative;min-width:0;padding:20px 18px 22px!important;border-right:1px solid rgba(255,255,255,.17)!important}
.timeline-phase:first-child{padding-left:0!important}
.timeline-phase:last-child{border-right:0!important;padding-right:0!important}
.timeline-phase i{display:block;color:#d8b780;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.16em;margin-bottom:12px;font-style:normal}
.timeline-phase i:before{content:"ДЕНЬ ";font-size:9px}
.timeline-phase:not(:first-child) i:before{content:"ДНИ "}
.timeline-phase span{display:block;color:#f3efe7;font:400 clamp(17px,1.55vw,23px)/1.08 Editorial,Georgia,serif;letter-spacing:-.02em}
.deliverables{border-top:1px solid rgba(255,255,255,.38)!important;border-bottom:1px solid rgba(255,255,255,.38)!important}
.deliverable:after{display:none!important}

/* Quiet legal footer and clear form feedback. */
.footer .shell{gap:18px 34px!important;flex-wrap:wrap!important}
.footer-legal{color:#8f8b84!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.form-status{grid-column:1/-1;margin:10px 0 0;color:#d8b780;font-size:13px;line-height:1.45;min-height:1.45em}
.form-submit.is-sent{background:#d8b780!important;color:#0b0d10!important}

@media(max-width:900px){
 .route{grid-template-columns:1fr!important}
 .offer h2{white-space:normal!important}
 .director.oleg-card .director-copy,.director.stepnov-card .director-copy{left:10px!important}
}
@media(max-width:700px){
 .hero-copy:before{height:330px}
 .director.oleg-card .director-copy,.director.stepnov-card .director-copy{left:4px!important;max-width:72%!important}
 .director.oleg-card .director-copy h3,.director.stepnov-card .director-copy h3{margin-bottom:17px!important}
 .director.oleg-card .fact,.director.stepnov-card .fact{right:10px!important}
 .rustam-card>div{transform:translateY(-34px)!important;margin-bottom:-34px!important;padding-top:8px!important}
 .route{min-height:520px!important;padding:180px 42px 36px 20px!important}
 .route h3{font-size:43px!important}
 .project-timeline{grid-template-columns:1fr!important;border-top:0!important}
 .timeline-phase,.timeline-phase:first-child,.timeline-phase:last-child{padding:16px 0!important;border-top:1px solid rgba(218,184,128,.74)!important;border-right:0!important}
 .timeline-phase i{margin-bottom:8px}
 .offer h2{font-size:clamp(45px,12vw,60px)!important;white-space:normal!important;margin-bottom:44px!important}
}

/* R8 final QA alignment */
.director.oleg-card .fact,.director.stepnov-card .fact{left:44px!important;right:auto!important}
.timeline-phase i:before{content:""!important}
.form-submit{height:auto!important;min-height:56px!important;white-space:normal!important}


/* R9 — supplied brand mark, proportional day scale, editorial polish */
.logo{width:66px;height:52px;display:flex!important;align-items:center!important;text-shadow:none!important}
.logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.loader-lockup img{display:block;width:clamp(150px,20vw,290px);height:auto;filter:none!important}
.loader-lockup strong{display:none!important}
.loader-lockup{display:grid!important;place-items:center!important}

/* Team hierarchy: names move right; proof points align with the body-copy edge. */
.director.oleg-card .director-copy,.director.stepnov-card .director-copy{margin-left:8%!important;max-width:48%!important}
.director.oleg-card .fact,.director.stepnov-card .fact{left:8%!important;right:auto!important;text-align:left!important}
.director.oleg-card .fact small,.director.stepnov-card .fact small{margin-left:0!important;margin-right:0!important;text-align:left!important}

/* Exact three-column legal footer; route home link remains optically centered. */
.footer .shell{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;align-items:center!important;gap:24px!important}
.footer .shell>*:nth-child(2){text-align:center!important}
.footer .shell>*:nth-child(3){text-align:right!important}
.footer a{text-decoration:none;border-bottom:1px solid rgba(201,163,106,.5);padding-bottom:3px;justify-self:center}

/* One timeline: proportional 13-day scale, labels appear only once. */
.project-timeline,.deliverables{display:none!important}
.project-plan{--grid:repeat(13,minmax(0,1fr));width:100%;padding-top:4px}
.plan-axis{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:end;color:#8f8b83;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.plan-axis>span{padding-bottom:9px;color:#d8b780;font-weight:700}
.plan-ticks{display:grid;grid-template-columns:var(--grid);border-bottom:1px solid rgba(216,183,128,.72)}
.plan-ticks i{position:relative;padding:0 0 9px;font:400 9px/1 Arial,sans-serif;text-align:center;color:#97938b}
.plan-ticks i:after{content:'';position:absolute;left:50%;bottom:-4px;width:1px;height:8px;background:rgba(216,183,128,.72)}
.plan-bars,.plan-stages{display:grid;grid-template-columns:44px var(--grid)}
.plan-bars{height:34px;margin-bottom:22px}
.plan-mark{grid-column:calc(var(--start) + 1)/span var(--span);position:relative;border-bottom:3px solid #d8b780}
.plan-mark:before,.plan-mark:after{content:'';position:absolute;bottom:-3px;width:1px;height:12px;background:#d8b780}
.plan-mark:before{left:0}.plan-mark:after{right:0}
.plan-mark strong{position:absolute;left:8px;bottom:7px;font:700 10px/1 Arial,sans-serif;color:#e1bf87;letter-spacing:.08em}
.plan-stages{row-gap:0}
.plan-stage{grid-column:calc(var(--start) + 1)/span var(--span);grid-row:1;min-width:0;padding:0 22px 8px 8px;border-left:1px solid rgba(255,255,255,.14)}
.plan-stage b{display:block;font:400 clamp(19px,1.7vw,27px)/1.04 Editorial,Georgia,serif;color:#f3f0e8;margin-bottom:14px}
.plan-stage p{max-width:30ch;margin:0;color:#a9a69f;font-size:13px;line-height:1.5}

/* No highlighter touching letters; hover is restrained color only. */
.route h3,.route-list .route h3{background-image:none!important;background-size:0!important;transition:color .28s ease!important}
.route h3:after,.route-list .route h3:after{display:none!important}
.route:hover h3,.route:focus-visible h3{color:#e0ba78!important}

/* Soft atmospheric seam between light and dark sections. */
.directors,.craft,.routes,.faq,.offer{position:relative}
.directors:after{content:'';position:absolute;z-index:3;left:0;right:0;bottom:-46px;height:48px;pointer-events:none;background:linear-gradient(180deg,rgba(216,211,201,1),rgba(216,211,201,.52) 32%,rgba(11,13,16,0));filter:blur(1px)}
.route-page .route-hero:after{background:linear-gradient(180deg,rgba(4,6,8,.24),rgba(4,6,8,.12) 42%,rgba(11,13,16,.78))!important}
.route-hero h1 span{color:#dfbb7b}
.capacity-page .route-hero p{color:#f7f3ea!important}
.capacity-page .route-hero h1{max-width:1180px!important}

@media(max-width:900px){
 .director.oleg-card .director-copy,.director.stepnov-card .director-copy{margin-left:4%!important;max-width:62%!important}
 .director.oleg-card .fact,.director.stepnov-card .fact{left:4%!important}
 .project-plan{overflow-x:auto;padding-bottom:12px}
 .plan-axis,.plan-bars,.plan-stages{min-width:840px}
}
@media(max-width:700px){
 .logo{width:54px;height:44px}
 .footer .shell{grid-template-columns:1fr!important;text-align:center!important;gap:14px!important}
 .footer .shell>*:nth-child(n){text-align:center!important;justify-self:center!important}
 .director.oleg-card .director-copy,.director.stepnov-card .director-copy{margin-left:2%!important;max-width:68%!important}
 .director.oleg-card .fact,.director.stepnov-card .fact{left:2%!important}
 .plan-stage b{font-size:20px}
}

/* R9 QA: keep descriptions readable while the bar above remains proportional. */
.plan-stages{grid-template-columns:44px repeat(4,minmax(0,1fr))!important}
.plan-stage{grid-column:auto!important;grid-row:1!important}
.plan-stage:first-child{grid-column:2!important}
@media(max-width:900px){.plan-stages{grid-template-columns:44px repeat(4,minmax(190px,1fr))!important}}
/* R9 QA correction: deterministic four-column copy row. */
.plan-stage:nth-child(1){grid-column:2!important}
.plan-stage:nth-child(2){grid-column:3!important}
.plan-stage:nth-child(3){grid-column:4!important}
.plan-stage:nth-child(4){grid-column:5!important}
/* R9 final accent */
.hero .display>span{color:#dfbb7b!important}

/* R10 — trust-first revision */
.cinema-loader{animation-duration:2.2s!important}.loader-lockup{animation:loaderHold 2.2s ease both!important}@keyframes loaderHold{0%,18%{opacity:0;transform:scale(.985)}35%,68%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.01)}}
.proof-rail{display:grid;grid-template-columns:repeat(4,1fr);background:#0b0d10;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.proof-rail>div{padding:24px 20px;border-right:1px solid rgba(255,255,255,.14);text-align:center}.proof-rail>div:last-child{border:0}.proof-rail b,.proof-rail span{display:block}.proof-rail b{font:700 12px/1.2 Arial,sans-serif;letter-spacing:.14em;color:#f2efe8}.proof-rail span{margin-top:7px;color:#9f9a91;font-size:11px}
.solution-flow{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:26px}.solution-flow:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#d8b780}.solution-step{min-height:230px;padding:24px 22px 34px;border:1px solid rgba(216,183,128,.55);border-right:0;background:rgba(255,255,255,.018)}.solution-step:last-child{border-right:1px solid rgba(216,183,128,.55)}.solution-days{display:block;color:#d8b780;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:30px}.solution-step b{display:block;color:#f3efe7;font:400 22px/1.05 Editorial,Georgia,serif;margin-bottom:16px}.solution-step p{color:#aaa59c;font-size:14px;line-height:1.55}
.routes-instruction{max-width:560px;margin:22px 0 0;color:#c8c3ba;font-size:15px;line-height:1.55}.route p{color:#f2efe8!important;text-shadow:0 2px 18px rgba(0,0,0,.9)}
.backstage{padding:110px 0;background:#090b0d}.backstage-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin:20px 0 42px}.backstage h2{font:400 clamp(42px,5vw,78px)/.95 Editorial,Georgia,serif}.backstage h2 em{color:#d8b780}.backstage-head p{color:#aaa59c;line-height:1.65;max-width:540px}.backstage-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.backstage-grid article{border:1px solid rgba(255,255,255,.16);background:#0d0f12}.backstage-grid video{width:100%;aspect-ratio:16/9;display:block;background:#000}.backstage-grid article>div{padding:26px}.backstage-grid span{color:#d8b780;font:700 10px Arial;letter-spacing:.15em}.backstage-grid h3{font:400 34px Editorial,Georgia,serif;margin:12px 0}.backstage-grid p{color:#aaa59c;line-height:1.6}
@media(max-width:700px){.proof-rail{grid-template-columns:1fr 1fr}.proof-rail>div:nth-child(2){border-right:0}.proof-rail>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}.solution-flow{grid-template-columns:1fr}.solution-step{min-height:0;border-right:1px solid rgba(216,183,128,.55);border-bottom:0}.solution-step:last-child{border-bottom:1px solid rgba(216,183,128,.55)}.solution-flow:after{display:none}.backstage{padding:72px 0}.backstage-head,.backstage-grid{grid-template-columns:1fr}.backstage-head{gap:24px}.backstage-grid{gap:16px}}


/* R11 — exact client corrections and production-proof merge */
.hero-grid>div{display:flex!important;flex-direction:column!important;align-items:center!important}
.hero-support{max-width:870px;margin:28px auto 0;color:#f5f2ec;font-size:clamp(14px,1.18vw,18px);line-height:1.55;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.95);text-wrap:balance}
.director.oleg-card,.director.stepnov-card{padding:28px 28px 26px!important}
.director.oleg-card .director-copy,.director.stepnov-card .director-copy{top:28px!important;bottom:auto!important;margin-left:5%!important;max-width:52%!important}
.director.oleg-card .fact,.director.stepnov-card .fact{left:5%!important;bottom:24px!important;white-space:nowrap;font-size:clamp(28px,3vw,46px)!important}
.director.stepnov-card .fact{font-size:clamp(20px,2.25vw,34px)!important;letter-spacing:-.035em!important}
.director.oleg-card .fact small,.director.stepnov-card .fact small{white-space:normal;max-width:190px;margin-top:8px!important}

.production-proof{background:#080a0c;color:#f3efe7;padding:108px 0 0;overflow:hidden}
.production-intro{display:grid;grid-template-columns:.28fr .72fr;gap:34px 64px;align-items:end;padding-bottom:58px}
.production-intro .label{grid-column:1/-1}
.production-intro h2{font:400 clamp(50px,6.5vw,102px)/.9 Editorial,Georgia,serif;letter-spacing:-.045em;max-width:820px}
.production-intro h2 em{color:#d8b780}
.production-thesis{max-width:620px;color:#b8b3aa;font-size:clamp(16px,1.4vw,21px);line-height:1.62;margin:0 0 4px}
.production-thesis b{display:block;color:#f4f0e8;font-weight:500;margin-bottom:12px}
.production-panel{position:relative;width:100vw;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;border-top:1px solid rgba(255,255,255,.16)}
.production-panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.production-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.9) 0%,rgba(5,7,9,.55) 38%,rgba(5,7,9,.12) 72%),linear-gradient(0deg,rgba(5,7,9,.8),transparent 56%)}
.production-copy{position:relative;z-index:2;width:100%;padding-bottom:clamp(48px,7vw,100px)}
.production-index{display:block;color:#d8b780;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.16em;margin-bottom:20px}
.production-copy h3{font:400 clamp(44px,6vw,92px)/.92 Editorial,Georgia,serif;letter-spacing:-.045em;max-width:920px;text-wrap:balance}
.production-copy>p{max-width:620px;margin:24px 0 28px;color:#e3ded5;font-size:clamp(15px,1.35vw,20px);line-height:1.58}
.production-points{display:flex;flex-wrap:wrap;gap:8px 0;border-top:1px solid rgba(216,183,128,.52);max-width:850px}
.production-points span{padding:13px 24px 0 0;margin-right:24px;color:#f4f0e8;font:700 11px/1.35 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.production-stages{display:grid;grid-template-columns:repeat(4,1fr);padding-top:64px;padding-bottom:110px}
.production-stages article{padding:26px 28px 12px;border-top:1px solid rgba(216,183,128,.65);border-right:1px solid rgba(255,255,255,.15)}
.production-stages article:first-child{padding-left:0}.production-stages article:last-child{border-right:0;padding-right:0}
.production-stages b{display:block;color:#f3efe7;font:400 28px/1 Editorial,Georgia,serif;margin-bottom:16px}
.production-stages p{color:#a9a49b;font-size:14px;line-height:1.55;max-width:29ch}
.reveal-copy{opacity:1;transform:none}
.js .reveal-copy{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.js .reveal-copy.is-visible{opacity:1;transform:none}
.routes-head{display:block!important}
.route-action{position:relative;z-index:3;grid-column:2;align-self:end;justify-self:start;margin-top:22px;color:#dfbb7b;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:transform .28s ease,color .28s ease}
.route:hover .route-action,.route:focus-visible .route-action{transform:translate(5px,-2px);color:#f3d39c}
.route:focus-visible{outline:2px solid #dfbb7b;outline-offset:-4px}
.solution-days{min-height:25px}

@media(max-width:900px){
 .production-intro{grid-template-columns:1fr;gap:26px}.production-intro .label{grid-column:auto}
 .production-panel{min-height:78svh}.production-shade{background:linear-gradient(0deg,rgba(5,7,9,.93) 0%,rgba(5,7,9,.48) 54%,rgba(5,7,9,.08) 100%)}
 .production-stages{grid-template-columns:repeat(2,1fr)}.production-stages article:nth-child(2){border-right:0}.production-stages article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
 .route-action{grid-column:1}
}
@media(max-width:700px){
 .hero-support{max-width:340px;margin-top:20px;font-size:14px;line-height:1.48}
 .director.oleg-card .director-copy,.director.stepnov-card .director-copy{top:24px!important;margin-left:0!important;left:0!important;max-width:72%!important}
 .director.oleg-card .fact,.director.stepnov-card .fact{left:22px!important;bottom:20px!important}
 .director.stepnov-card .fact{font-size:21px!important}
 .production-proof{padding-top:72px}.production-intro{padding-bottom:42px}.production-panel{min-height:72svh}
 .production-copy{padding-bottom:34px}.production-copy h3{font-size:clamp(39px,11vw,52px)}.production-copy>p{margin:18px 0 22px}
 .production-points{display:block}.production-points span{display:block;padding-top:9px}
 .production-stages{grid-template-columns:1fr;padding-top:36px;padding-bottom:70px}.production-stages article,.production-stages article:first-child,.production-stages article:last-child{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
 .route-action{font-size:10px;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.js .reveal-copy{opacity:1;transform:none;transition:none}}


/* R12 — consolidated client brief */
.team-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}
.team-heading .team-title{margin-bottom:0!important}
.team-promise{width:190px;min-height:132px;border:1px solid rgba(24,25,27,.24);display:flex;align-items:flex-end;gap:14px;padding:18px;color:#17191b}
.team-promise b{font:400 64px/.75 Editorial,Georgia,serif}
.team-promise span{font:700 10px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.director.oleg-card .director-copy,.director.stepnov-card .director-copy{left:0!important;margin-left:0!important;max-width:54%!important;text-align:left!important}
.director.oleg-card .fact,.director.stepnov-card .fact{left:28px!important;text-align:left!important}
.director.oleg-card .director-copy h3,.director.stepnov-card .director-copy h3{margin-bottom:30px!important}
.director.oleg-card .fact small,.director.stepnov-card .fact small{font-weight:700!important;letter-spacing:.08em!important;line-height:1.35!important}
.production-screens{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.production-screens .production-panel{width:auto;min-height:76svh;border:1px solid rgba(255,255,255,.16)}
.production-screens .production-copy{padding:0 34px 42px!important}
.production-screens .production-copy h3{font-size:clamp(36px,4.4vw,68px);max-width:12ch}
.production-screens .production-copy>p{font-size:16px;max-width:49ch}
.production-screens .production-shade{background:linear-gradient(0deg,rgba(5,7,9,.96),rgba(5,7,9,.42) 58%,rgba(5,7,9,.04))}
.production-stage-label{padding-top:62px;color:#d8b780;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.production-stages{padding-top:20px}
.routes-head h2{white-space:nowrap;font-size:clamp(48px,6.3vw,96px)!important}
.route{align-content:end!important}
.route h3,.route p,.route-action{align-self:end!important;justify-self:start!important;text-align:left!important}
.route-action{grid-column:2!important;margin:0 0 0!important;border-bottom:1px solid rgba(223,187,123,.55);padding-bottom:6px}
.route-menu .home-link{color:#dfbb7b!important}
.form [data-route-field]{color:#d8b780!important;font-weight:700!important}
@media(max-width:1000px){.routes-head h2{white-space:normal}.route-action{grid-column:1!important;margin-top:12px!important}.production-screens{grid-template-columns:1fr}.production-screens .production-panel{min-height:70svh}}
@media(max-width:700px){.team-heading{align-items:stretch;flex-direction:column}.team-promise{width:100%;min-height:104px}.team-promise b{font-size:52px}.director.oleg-card .director-copy,.director.stepnov-card .director-copy{max-width:72%!important}.director.oleg-card .fact,.director.stepnov-card .fact{left:22px!important}.production-screens{gap:12px}.production-screens .production-panel{min-height:68svh}.production-screens .production-copy{padding:0 20px 30px!important}.production-screens .production-copy h3{font-size:40px}.production-stages{padding-top:16px}.routes-head h2{font-size:clamp(40px,12vw,56px)!important}.route-menu a:not(.home-link):not(.outline){display:none!important}}
/* R12 QA corrections */
html,body{overflow-x:clip}
.route:before{display:none!important}
.offer h2{white-space:normal!important;overflow-wrap:anywhere}
.form-submit{overflow:hidden!important}
/* R12 mobile title/navigation correction */
@media(max-width:700px){
 .route-menu .home-link{display:inline-flex!important}
 .capacity-page .route-hero h1{width:100%!important;max-width:350px!important;font-size:clamp(38px,10.6vw,44px)!important;line-height:.96!important;overflow-wrap:anywhere!important;text-wrap:balance!important}
 .capacity-page .route-hero h1 span{display:inline!important}
}
.form-submit:before{display:none!important}
@media(max-width:700px){body.route-page .menu a.home-link{display:inline-flex!important}}

/* R13 — four-film production board and route alignment */
.production-four{padding:0 0 96px!important;background:#080a0c!important;overflow:clip!important}
.production-four .production-intro{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(320px,.55fr)!important;gap:32px 72px!important;align-items:end!important;padding-top:84px!important;padding-bottom:40px!important;min-height:0!important}
.production-four .production-intro .label{grid-column:1/-1!important}
.production-four .production-intro h2{font-size:clamp(48px,5.8vw,88px)!important;max-width:840px!important}
.production-four .production-thesis{max-width:570px!important;margin:0 0 4px!important;color:#d1ccc3!important}
.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1280px!important}
.process-card{position:relative;aspect-ratio:16/9;overflow:hidden;background:#050607;border:1px solid rgba(255,255,255,.16);isolation:isolate}
.process-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.012);filter:saturate(.82) contrast(1.08) brightness(.8)}
.process-card:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(3,5,7,.04) 28%,rgba(3,5,7,.42) 64%,rgba(3,5,7,.96) 100%)}
.process-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px 26px 22px;color:#f4f0e8}
.process-overlay>span{display:block;color:#dfbb7b;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.16em;margin-bottom:10px}
.process-overlay h3{font:400 clamp(31px,3vw,48px)/.95 Editorial,Georgia,serif;letter-spacing:-.035em;margin:0 0 9px}
.process-overlay p{max-width:52ch;color:#f1ede5;font-size:14px;line-height:1.46;margin:0}
.process-overlay small{display:block;margin-top:13px;padding-top:11px;border-top:1px solid rgba(216,183,128,.54);color:#d2cdc4;font:700 9px/1.35 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}

.routes{padding-top:0!important;background:#090b0e!important}
.routes>.shell{max-width:none!important;padding:0!important}
.routes-head{width:100%!important;min-height:clamp(210px,28vw,360px);display:flex!important;align-items:flex-end!important;padding:64px max(24px,calc((100vw - 1344px)/2)) 48px!important;background:radial-gradient(circle at 78% 22%,rgba(201,163,106,.18),transparent 32%),linear-gradient(115deg,#e9e4da 0%,#d5cfc4 58%,#b8b1a6 100%);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(11,13,16,.3)}
.routes-head h2{margin:0!important;color:#101216!important;text-shadow:none!important;white-space:normal!important;font-size:clamp(48px,7vw,104px)!important;line-height:.88!important;letter-spacing:-.05em!important}
.route-list{width:100%!important;margin:0!important}
.route{min-height:clamp(330px,34vw,490px)!important;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(360px,.65fr)!important;grid-template-rows:1fr auto auto!important;gap:12px 72px!important;align-items:end!important;padding:44px max(28px,calc((100vw - 1344px)/2)) 38px!important;border-bottom:1px solid rgba(255,255,255,.2)!important}
.route h3{grid-column:1!important;grid-row:2/4!important;align-self:end!important;justify-self:start!important;margin:0!important;max-width:850px!important;font-size:clamp(43px,5.2vw,78px)!important;line-height:.92!important;text-align:left!important}
.route p{grid-column:2!important;grid-row:2!important;align-self:end!important;justify-self:start!important;margin:0!important;max-width:500px!important;text-align:left!important;font-size:15px!important;line-height:1.55!important}
.route-action{grid-column:2!important;grid-row:3!important;align-self:end!important;justify-self:start!important;margin:12px 0 0!important;padding:0 0 5px!important;border-bottom:1px solid rgba(223,187,123,.58)}
.route video{filter:saturate(.82) contrast(1.08) brightness(.76)!important}
.route:after{background:linear-gradient(90deg,rgba(5,7,9,.82) 0%,rgba(5,7,9,.42) 56%,rgba(5,7,9,.66)),linear-gradient(0deg,rgba(5,7,9,.86),transparent 72%)!important}
.route-page .route-menu{display:flex!important;gap:18px!important}.route-page .route-menu .home-link{display:inline-flex!important;color:#fff!important;border-bottom:1px solid rgba(223,187,123,.68);padding-bottom:4px}
.route-page .conversion h2{max-width:860px!important;text-wrap:balance}
.faq details p{max-width:72ch!important;line-height:1.62!important}
.footer .shell>span:first-child{letter-spacing:.16em!important;font-weight:700!important}

@media(max-width:1000px){
 .production-four .production-intro{grid-template-columns:1fr!important;gap:22px!important}
 .production-four .production-intro .label{grid-column:auto!important}
 .process-grid{gap:10px;padding-left:20px!important;padding-right:20px!important}
 .route{grid-template-columns:1fr!important;grid-template-rows:1fr auto auto auto!important;gap:14px!important}
 .route h3{grid-column:1!important;grid-row:2!important}.route p{grid-column:1!important;grid-row:3!important;max-width:620px!important}.route-action{grid-column:1!important;grid-row:4!important}
}
@media(max-width:700px){
 .production-four{padding-bottom:66px!important}
 .production-four .production-intro{padding-top:64px!important;padding-bottom:30px!important}
 .production-four .production-intro h2{font-size:clamp(44px,12.2vw,58px)!important}
 .process-grid{grid-template-columns:1fr!important;gap:10px!important}
 .process-card{aspect-ratio:16/10}
 .process-overlay{padding:20px 18px 17px}.process-overlay h3{font-size:34px}.process-overlay p{font-size:13px;line-height:1.4}.process-overlay small{font-size:8px}
 .routes-head{min-height:230px;padding:54px 20px 34px!important}.routes-head h2{font-size:clamp(43px,12.5vw,58px)!important;max-width:8ch}
 .route{min-height:470px!important;padding:120px 20px 28px!important}
 .route h3{font-size:clamp(38px,11vw,48px)!important;max-width:9ch!important}.route p{font-size:14px!important}.route-action{font-size:10px!important}
 .route-page .route-menu .outline{display:none!important}.route-page .route-menu{margin-left:auto!important}.route-page .route-menu .home-link{font-size:10px!important}
 .faq details p{font-size:14px!important;line-height:1.58!important}
}
@media(prefers-reduced-motion:reduce){.process-card video{display:none}.process-card{background:#11151a}}

/* R14 — client-requested final pass */
.team-heading{display:block!important;margin-bottom:38px!important}.team-promise{display:none!important}
.production-four{padding-bottom:54px!important}.production-four .production-intro{padding-top:72px!important;padding-bottom:34px!important}
.process-overlay small{display:none!important}.process-overlay>span{font-size:12px!important;letter-spacing:.2em!important;margin-bottom:12px!important}.process-overlay p{max-width:46ch!important}.process-card{aspect-ratio:16/9!important}
.story51{padding-top:58px!important}.story-single{padding-top:0!important;padding-bottom:34px!important;margin-top:0!important}.story-single h2{max-width:1100px!important}
.route h3 br{display:block}.route-menu .home-link{min-height:44px;align-items:center}
.form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.file-fields{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.file-fields>label{display:flex;justify-content:space-between;gap:12px;color:#f2eee6;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.file-fields>label span{color:#a6a198;font-weight:400}.file-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.file-grid input[type=file]{min-height:52px;height:auto;padding:13px!important;color:#aaa59c!important;font-size:12px!important}.consent{grid-column:1/-1;display:flex!important;gap:12px;align-items:flex-start;color:#aaa59c;font-size:13px;line-height:1.45}.consent input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:1px 0 0!important;accent-color:#d8b780}.form-status.success{color:#b9e58c!important}.form-status.error{color:#ff9e9e!important}
.route-page .route-hero h1 br{display:block}.footer a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:700px){.production-four{padding-bottom:42px!important}.production-four .production-intro{padding-top:52px!important;padding-bottom:24px!important}.process-card{aspect-ratio:16/10!important}.story51{padding-top:38px!important}.story-single{padding-bottom:24px!important}.story-single h2{font-size:clamp(38px,11vw,50px)!important}.file-grid{grid-template-columns:1fr}.file-fields>label{display:block}.file-fields>label span{display:block;margin-top:4px}.route h3{max-width:12ch!important}.route-page .route-hero h1{font-size:clamp(42px,12vw,58px)!important}}

/* R15 — loader replay, dark route decision header, reliable first mosaic */
.cinema-loader,.cinema-loader.is-replaying{animation:r15LoaderOut .48s ease 1.34s forwards!important;visibility:visible;opacity:1}
.loader-lockup,.cinema-loader.is-replaying .loader-lockup{animation:r15Logo 1.34s cubic-bezier(.16,1,.3,1) both!important}
@keyframes r15Logo{0%{opacity:0;transform:scale(.985)}20%,72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.012)}}
@keyframes r15LoaderOut{to{opacity:0;visibility:hidden}}
.routes-head{background:#090b0e!important;border-top:1px solid rgba(255,255,255,.18)!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
.routes-head h2{color:#f3efe7!important}.routes-head h2::first-line{color:#dfbb7b}
.mosaic .tile.lg{background:#11151a url("assets/hero-flyovers.jpg") center/cover no-repeat!important}
.mosaic .tile.lg video{display:block!important;opacity:1!important;visibility:visible!important;background:transparent!important}
@media(max-width:700px){.routes-head{min-height:190px!important;padding-top:40px!important}.routes-head h2{max-width:9ch!important}}
