/* Final mode layer: the site now resolves to desktop landscape or portrait/square. */
@media (orientation: landscape) {
  header {
    background: transparent;
    border-bottom: 0;
    backdrop-filter: none;
  }

  .nav {
    display: grid;
    grid-template-columns: minmax(124px, 1fr) auto minmax(132px, 1fr);
    grid-template-areas: none;
    align-items: center;
    gap: clamp(8px, 3vw, 64px);
    width: min(1780px, 86vw);
    padding: clamp(20px, 3.6vw, 64px) 0 0;
  }

  .brand {
    grid-area: auto;
    justify-self: start;
    gap: clamp(6px, 0.7vw, 14px);
    transform: translateX(-20%);
  }

  .main-footer-brand {
    gap: clamp(6px, 0.7vw, 14px);
  }

  .brand img {
    width: clamp(22px, 2vw, 40px);
  }

  .main-footer-brand img {
    width: clamp(22px, 2vw, 40px);
  }

  .brand b {
    font-size: clamp(22px, 2.35vw, 48px);
  }

  .main-footer-brand span {
    font-size: clamp(22px, 2.35vw, 48px);
  }

  .menu {
    display: contents;
  }

  .menu-links {
    grid-area: auto;
    display: flex;
    justify-self: center;
    justify-content: center;
    gap: clamp(8px, 3.2vw, 62px);
    width: auto;
  }

  .menu-links a {
    min-height: clamp(26px, 1.8vw, 34px);
    padding: clamp(5px, 0.6vw, 10px) clamp(4px, 0.75vw, 14px);
  }

  .menu a {
    font-size: clamp(11px, 1.05vw, 20px);
  }

  .menu-actions {
    grid-area: auto;
    display: flex;
    justify-self: end;
    gap: clamp(7px, 1.4vw, 24px);
    transform: translateX(20%);
  }

  .menu-actions .lang-toggle {
    display: flex;
  }

  .menu-actions {
    --nav-contact-width: clamp(118px, 10.7vw, 218px);
    --nav-contact-height: clamp(34.64px, 3.141vw, 64px);
    --nav-contact-fallback-font-size: clamp(9.53px, 0.864vw, 17.6px);
    --lang-toggle-button-size: clamp(17.32px, 1.5705vw, 32px);
    --lang-toggle-font-size: clamp(6.5px, 0.589vw, 12px);
  }

  .lang-only,
  .hamburger,
  #mobileMenu {
    display: none !important;
  }

  body.menu-open {
    overflow: visible;
  }

  .hero,
  .hero-shell {
    min-height: max(560px, calc(100svh - 64px));
  }

  .hero-shell {
    width: min(1780px, 92vw);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .hero-kicker {   font-size: clamp(12px, 1.1vw, 20px);
    transform: translateX(-50%);
  }

  .hero-tape {
    --hero-tape-font: clamp(16px, 2vw, 38px); transform: rotate(-8deg);
    translate: 0 0;
  }

  .hero-title {
    width: 100%;
    margin: 0 auto;    line-height: 0.82;  }

  .hero-line {
    white-space: nowrap;
  }

  .hero-title .hero-line:not(.hero-line-accent) {
    white-space: nowrap;  }

  .hero-line-accent {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0;
    margin-top: 0;
    line-height: inherit;
  }

  .hero-line-accent em {
    display: inline;
    order: 0;
  }

  .hero-line-accent em:first-of-type,
  .hero-line-accent em:last-of-type {
    order: 0;
  }

  .hero-photo-frame {
    order: 0;
    width: clamp(140px, 17vw, 330px);
    height: clamp(60px, 6.8vw, 132px);
    margin: 0 clamp(10px, 2.3vw, 42px);
    transform: translate(var(--hero-card-x, 0px), var(--hero-card-y, 0px)) rotate(-2.5deg) translateY(0.06em);
  }

  .hero-photo-frame img {
    bottom: -42%;
    height: 116%;
    max-width: none;
  }

  .hero-stamp {transform: rotate(-8deg);
  }

  .hero-bottom .btn {
    --hero-cta-reference-font-size: clamp(10px, 0.95vw, 18px);
  }

  .social-proof {
    overflow-x: clip;
    padding: clamp(44px, 6vw, 100px) 0 clamp(76px, 8vw, 124px);
  }

  .social-proof-shell {
    width: min(1720px, 92vw);
  }

  .social-proof .proof-title {
    margin-bottom: clamp(0px, 0.6vw, 12px);
    font-size: var(--section-heading-size);
    line-height: 0.82;
  }

  .proof-field {
    --proof-coalescence-bleed: 180px;
    --proof-coalescence-bleed-total: 360px;
    display: block;   margin-inline: 0;
  }

  .proof-bubble {
    position: absolute;
    inset: auto;
    order: 0;
  }

  .proof-bubble-views {
    top: 0; }

  .faq-shell {
    --faq-content-width: min(100%, 1220px);
    width: min(1300px, 96vw);
  }

  .faq-title {
    width: var(--faq-content-width);
    margin-bottom: clamp(44px, 5.4vw, 88px);
    font-size: var(--section-heading-size);
    line-height: 0.82;
  }

  .faq-title .t {
    white-space: nowrap;
  }

  .faq-list {
    width: var(--faq-content-width);
  }

  .faq-question {   min-height: clamp(112px, 10.5vw, 152px);
    padding: clamp(26px, 3.2vw, 46px) 0;
  }

  .faq-question-text {
    max-width: none;
    font-size: clamp(1.6125rem, 2.5125vw, 3.525rem);
  }

  .faq-toggle {    border-width: 2px;
  }

  .global-map-shell {
    width: 100vw;
    max-width: none;
    overflow-x: visible;
  }

  .dotted-map-card {
    width: 90vw;
    min-height: clamp(387px, 44.1vw, 738px);
    transform: translateX(-4.14%);
  }

  .dotted-map-svg {
    min-height: clamp(378px, 43.2vw, 720px);
  }

  .case-gallery {
    padding: clamp(44px, 4.4vw, 80px) 0 clamp(52px, 5vw, 88px);
    overflow: hidden;
  }

  .case-gallery-shell {
    width: min(1680px, 94vw);
    transform: translateY(clamp(24px, 2vw, 40px));
  }

  .case-gallery-heading {
    width: min(1500px, 92vw);   line-height: 0.82;
    transform: translateY(clamp(12px, 1vw, 20px));
  }

  .case-deck {    margin-top: clamp(-18px, -0.8vw, -8px);
  }

  .case-card-stage {    min-width: 0;
    border-radius: 0;  }

  .case-deck-action {    justify-content: flex-start;
    width: min(380px, max(220px, calc(var(--case-card-pixel-width) * 0.42)));
    font-size: clamp(28px, 2.85vw, 42px);
  }

  .lang-ru .case-deck-action {
    font-size: clamp(28px, 2.85vw, 42px);
  }

  .case-deck-action-next {
    left: max(22px, calc(50% - (var(--case-card-pixel-width) * 0.5)));
  }

  .case-deck-action-open {
    right: max(22px, calc(50% - (var(--case-card-pixel-width) * 0.5)));
  }

  .touch-orbit-section {
    padding: clamp(36px, 6vw, 96px) 0 clamp(74px, 8vw, 132px);
    overflow-x: visible;
  }

  .touch-orbit-shell {
    min-height: min(64vw, 660px);
  }

  .touch-orbit {
    width: min(76vw, 590px);
  }

  .touch-orbit-disc {
    inset: 13.5%;
    --portrait-left: 52%;
    --portrait-bottom: -18%;
    --portrait-width: 88%;
  }

  .touch-orbit-copy text {
    font-size: 38px;
    letter-spacing: 0.18em;
  }

  .services-orbit-section {
    margin-top: clamp(-84px, -4.8vw, -44px);
    padding-top: clamp(24px, 4vw, 64px);
    overflow: visible;
  }

  .services-orbit-shell {   --services-orbit-gap: min(12vw, 152px);
    --services-block-shift-x: clamp(56px, 4.2vw, 92px);
    --services-content-shift-x: clamp(72px, 4.4vw, 120px);
    --services-copy-nudge-x: -18px;
    width: min(1900px, 94vw);
    grid-template-columns: var(--services-orbit-size) minmax(360px, 660px);
    column-gap: var(--services-orbit-gap);
    row-gap: clamp(16px, 4vw, 78px);  }

  body.lang-ru .services-orbit-shell {
    --services-copy-nudge-x: -18px;
  }

  .services-copy-block {
    top: clamp(-147.42px, -7.371vw, -90.72px);
    left: calc(var(--services-content-shift-x) + var(--services-copy-nudge-x));
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    width: min(100%, 760px);
  }

  .services-side-heading {
    width: auto;  }

  .services-side-copy {
    width: min(620px, var(--services-heading-text-width, 620px));
    max-width: min(620px, var(--services-heading-text-width, 620px));
    margin-top: calc(var(--services-heading-accent-height, 56px) * 1.5 - var(--services-heading-accent-lift, 0px));
    font-size: clamp(19px, 1.33vw, 25px);
  }

  .services-phone-stage {
    left: calc(var(--services-block-shift-x) + var(--services-content-shift-x) + var(--services-heading-gap-x, 0px) + var(--services-edge-guard-x, 0px) + var(--services-right-edge-guard-x, 0px));
    grid-column: 2;
    grid-row: 1;
    justify-self: end;    min-width: 396px;
    overflow: visible;
  }

  .services-three-shell {
    --services-render-bleed-x: clamp(64px, 7vw, 112px);
    --services-render-bleed-y: clamp(120px, 12vw, 210px);
  }

  .services-orbit-shell .touch-orbit {
    grid-column: 1 / -1;
    grid-row: 2;
    width: var(--services-orbit-display-size);
  }

  .services-orbit-shell .touch-orbit-disc {
    --portrait-left: 55%;
    --portrait-bottom: -23%;
    --portrait-width: 94%;
  }

  .contact-orbit-section {
    --contact-orbit-section-reserved-height: calc(min(82.8vw, 874px) + clamp(64px, 8vw, 124px) + clamp(92px, 10vw, 168px));
    padding: clamp(64px, 8vw, 124px) 0 clamp(92px, 10vw, 168px);
  }

  .contact-orbit-shell {   min-height: var(--contact-orbit-shell-height);
  }

  .contact-orbit-shell .touch-orbit {
    width: var(--contact-orbit-size);
  }

  .contact-orbit-shell .touch-orbit-disc {
    --portrait-left: 55%;
    --portrait-bottom: -23%;
    --portrait-width: 119%;
  }
}

@media (max-aspect-ratio: 1/1) {
  header {    border-bottom: 0;
    backdrop-filter: none;
  }

  .nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand actions"
      "links links";
    align-items: center;
    row-gap: clamp(8px, 2.2vw, 18px);
    column-gap: clamp(8px, 2.4vw, 18px);    padding-top: clamp(12px, 2.7vw, 28px);
  }

  .brand {
    grid-area: brand;
    min-width: 0;
    gap: clamp(6px, 1vw, 10px);
    transform: none;
  }

  .main-footer-brand {
    gap: clamp(6px, 1vw, 10px);
  }

  .brand img {
    width: clamp(23px, 4vw, 36px);
  }

  .main-footer-brand img {
    width: clamp(23px, 4vw, 36px);
  }

  .brand b {
    font-size: clamp(22px, 5.5vw, 38px);
  }

  .main-footer-brand span {
    font-size: clamp(22px, 5.5vw, 38px);
  }

  .menu {
    display: contents;
  }

  .menu-links {
    grid-area: links;
    display: flex;
    align-items: center;   width: 100%;
  }

  .menu-links a {
    min-height: 28px;
    padding: 5px 2px;
  }

  .menu a {
    font-size: clamp(10px, 3vw, 15px);
  }

  .menu-actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-self: end;
    gap: clamp(6px, 1.8vw, 14px);
    transform: none;
  }

  .menu-actions .lang-toggle {
    display: flex;
  }

  .menu-actions {
    --nav-contact-width: clamp(112px, 28vw, 182px);
    --nav-contact-height: clamp(32.88px, 8.219vw, 53.43px);
    --nav-contact-fallback-font-size: clamp(9.04px, 2.261vw, 14.7px);
    --lang-toggle-button-size: clamp(23.02px, 5.753vw, 37.4px);
    --lang-toggle-font-size: clamp(8.63px, 2.157vw, 14.02px);
  }

  .lang-only,
  .hamburger,
  #mobileMenu {
    display: none !important;
  }

  body.menu-open {
    overflow: visible;
  }

  .hero-shell {
    width: min(1040px, 90vw);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .hero-kicker {  transform: translateX(-50%);
  }

  .hero-title {    margin: 0 auto;}

  .hero-line-accent {
    display: grid;
    justify-items: center;   margin-top: clamp(4px, 1vw, 12px);
    line-height: 0.82;
  }

  .hero-line-accent em {
    display: block;
  }

  .hero-line-accent em:first-of-type {
    order: 1;
  }

  .hero-photo-frame {
    order: 2;  transform: translate(var(--hero-card-x, 0px), var(--hero-card-y, 0px)) rotate(-2.5deg);
  }

  .hero-photo-frame img {
    bottom: -36%; }

  .hero-line-accent em:last-of-type {
    order: 3;
  }

  .hero-stamp { transform: rotate(-8deg);
  }

  .social-proof {
    overflow-x: clip;
    padding: clamp(42px, 8vw, 72px) 0 clamp(62px, 9vw, 100px);
  }

  .social-proof .proof-title {
    margin-bottom: clamp(10px, 2vw, 22px);
    font-size: clamp(44px, 10vw, 78px);
    line-height: 0.86;
  }

  .proof-field {
    --proof-coalescence-bleed: 64px;
    --proof-coalescence-bleed-total: 128px;
    display: block;   margin-inline: auto;
  }

  .proof-bubble {
    position: absolute;
    inset: auto;
    order: 0;
  }

  .global-map {
    padding-top: clamp(42px, 8vw, 62px);
  }

  .global-map-shell {    overflow-x: clip;
  }

  .case-gallery {
    padding: clamp(44px, 8vw, 74px) 0 clamp(70px, 10vw, 96px);
    overflow: hidden;
  }

  .case-gallery-shell {
    width: min(100%, 94vw);
    transform: none;
  }

  .case-gallery-heading {
    width: min(100%, 92vw);    font-size: clamp(42px, 10vw, 78px);
    line-height: 0.94;
    transform: none;
  }

  .case-card-stage {    min-width: 0;
    border-radius: 8px;  }

  .case-deck-action {    justify-content: flex-start;
    width: min(180px, max(118px, calc(var(--case-card-pixel-width) * 0.4)));
    font-size: clamp(17px, 5.2vw, 30px);
  }

  .lang-ru .case-deck-action {
    font-size: clamp(17px, 5.2vw, 30px);
  }

  .case-deck-action-next {
    left: max(14px, 4vw);
  }

  .case-deck-action-open {
    right: max(14px, 4vw);
  }

  .touch-orbit-section {
    padding: clamp(34px, 8vw, 72px) 0 clamp(74px, 10vw, 108px);
    overflow-x: clip;
  }

  .touch-orbit-shell {
    min-height: min(96vw, 560px);
  }

  .touch-orbit {
    width: min(92vw, 520px);
  }

  .touch-orbit-disc {
    inset: 12.5%;
    --portrait-left: 51%;
    --portrait-bottom: -20%;
    --portrait-width: 94%;
  }

  .touch-orbit-copy text {
    font-size: clamp(34px, 8vw, 40px);
    letter-spacing: 0.16em;
  }

  .services-orbit-section {
    margin-top: clamp(-48px, -7vw, -20px);
    padding-top: clamp(24px, 6vw, 44px);
    overflow-x: clip;
  }

  .services-orbit-shell {
    --services-orbit-size: min(92vw, 600px);
    --services-orbit-display-size: min(92vw, 750px);
    --services-block-shift-x: 0px;
    --services-content-shift-x: 0px;
    --services-copy-nudge-x: 0px;
    width: min(100%, 720px);
    grid-template-columns: 1fr;
    gap: clamp(26px, 7vw, 42px);
    min-height: auto;
  }

  body.lang-ru .services-orbit-shell {
    --services-copy-nudge-x: 0px;
  }

  .services-copy-block {
    top: 0;
    left: 0;
    grid-column: auto;
    grid-row: auto;
    justify-self: start;  }

  .services-side-copy {   font-size: clamp(16px, 4.25vw, 21px);
  }

  .services-phone-stage {
    left: 0;
    grid-column: auto;
    grid-row: auto;
    justify-self: center;    min-width: 0;
    overflow: visible;
  }

  .services-orbit-shell .touch-orbit {
    grid-column: auto;
    grid-row: auto;
    width: var(--services-orbit-display-size);
  }

  .services-orbit-shell .touch-orbit-disc {
    --portrait-left: 55%;
    --portrait-bottom: -24%;
    --portrait-width: 99%;
  }

  .contact-orbit-section {
    --contact-orbit-section-reserved-height: calc(min(96vw, 560px) + clamp(52px, 10vw, 92px) + clamp(76px, 12vw, 128px));
    padding: clamp(52px, 10vw, 92px) 0 clamp(76px, 12vw, 128px);
    overflow-x: clip;
  }

  .contact-orbit-shell {   min-height: var(--contact-orbit-shell-height);
  }

  .contact-orbit-shell .touch-orbit {
    width: var(--contact-orbit-size);
  }

  .contact-orbit-shell .touch-orbit-disc {
    --portrait-left: 55%;
    --portrait-bottom: -23%;
    --portrait-width: 119%;
  }

  .faq-shell {
    --faq-content-width: min(100%, 860px);
    width: min(900px, 90vw);
  }

  .faq-title {
    width: var(--faq-content-width);
    margin-bottom: clamp(34px, 7vw, 58px);
    font-size: clamp(42px, 10vw, 78px);
    line-height: 0.9;
  }

  .faq-title .t {
    white-space: normal;
  }

  .faq-title .faq-title-line {
    display: block;
  }

  .faq-list {
    width: var(--faq-content-width);
  }

  .faq-question {
    grid-template-columns: minmax(0, 1fr) clamp(48px, 10vw, 64px);
    gap: clamp(18px, 5vw, 42px);
    min-height: clamp(96px, 18vw, 124px);
    padding: clamp(22px, 4vw, 32px) 0;
  }

  .faq-question-text {
    font-size: clamp(1.2375rem, 4.6vw, 2.4rem);
    line-height: 1.08;
  }

  .faq-toggle {
    width: clamp(48px, 10vw, 64px);
  }
}

/* Orientation polish: keep only the landscape and portrait/square behaviors authoritative. */
@media (orientation: landscape) {
  .hero-stamp {
    --hero-stamp-size: clamp(83.6px, min(9.35vw, 20.35vh), 180.4px);
    right: clamp(18px, 6vw, 96px);
    bottom: max(calc(var(--hero-stamp-size) * 0.5), clamp(54px, 8.6vh, 108px));
    width: var(--hero-stamp-size);
    height: var(--hero-stamp-size);
  }

  .hero-bottom {
    bottom: max(clamp(26px, 5.6vh, 62px), clamp(42px, 8vh, 92px));
  }

  .hero-bottom .btn {
    --hero-cta-reference-font-size: clamp(10px, 0.95vw, 18px);
  }

  .proof-field {
    width: min(1720px, 92vw);
    min-height: clamp(620px, 84vh, 980px);
  }

  .proof-bubble-views {
    right: 6.41%;
    --proof-size: clamp(300px, min(32vw, 58vh), 620px);
  }

  .proof-bubble-revenue {
    top: 40.48%;
    left: 17.27%;
    --proof-size: clamp(220px, min(20vw, 36vh), 390px);
  }

  .proof-bubble-channels {
    top: 56.04%;
    left: 41.33%;
    --proof-size: clamp(224px, min(20.4vw, 37vh), 400px);
  }

  .proof-bubble-clients {
    top: 22.43%;
    left: 38.81%;
    --proof-size: clamp(158px, min(13.6vw, 25vh), 272px);
  }

  .proof-bubble-watch {
    top: 15.1%;
    left: 26.32%;
    --proof-size: clamp(116px, min(9.35vw, 17vh), 187px);
  }

  .proof-bubble-ctr {
    top: 23.48%;
    left: 15.33%;
    --proof-size: clamp(90px, min(7.4vw, 13vh), 146px);
  }

  .proof-field.is-proof-landscape-proportional .proof-bubble {
    top: var(--proof-landscape-y);
    right: auto;
    left: var(--proof-landscape-x);
    --proof-size: var(--proof-landscape-size);
  }

  .case-gallery {
    padding-top: clamp(34px, 5vh, 80px);
    padding-bottom: calc(clamp(42px, 6vh, 88px) + var(--case-gallery-extra-bottom, 0px));
  }

  .case-gallery-heading {
    font-size: clamp(52px, min(6.3vw, 11vh), 142px);
    margin-bottom: clamp(12px, 2vh, 34px);
  }

  .case-deck {
    min-height: clamp(500px, 64vh, 1034px);
  }

  .case-card-stage {
    inset: clamp(-116px, -14vh, -72px) -18vw clamp(-100px, -12vh, -62px);
    transform: translate3d(0, calc(clamp(-42px, -3.2vh, -20px) + var(--case-card-stage-y-adjust, 0px)), 0);
  }

  .case-deck-action {
    bottom: clamp(18px, 3.8vh, 48px);
  }

  .services-orbit-shell {
    --services-orbit-size: min(54vw, 68vh, 684px);
    --services-orbit-display-size: min(67.5vw, 80vh, 855px);
    min-height: clamp(540px, 76vh, 760px);
  }

  .services-side-heading {
    font-size: clamp(34px, min(4.47678vw, 8.2vh), 84.854px);
  }

  .services-phone-stage {
    width: min(55vw, 68vh, 726px);
  }

  .faq-list {
    width: var(--faq-content-width);
  }

  .faq-question {
    grid-template-columns: minmax(0, 1fr) clamp(58px, 4.9vw, 74px);
    gap: clamp(44px, 7vw, 96px);
  }

  .faq-toggle {
    width: clamp(58px, 4.9vw, 74px);
  }

  .contact-orbit-shell {
    --contact-orbit-size: min(89.7vw, 76vh, 874px);
    --contact-orbit-shell-height: var(--contact-orbit-size);
  }
}

@media (max-aspect-ratio: 1/1) {
  .nav {
    width: min(1040px, 92vw);
  }

  .menu-links {
    justify-content: center;  }

  .hero-line-accent em {
    font-size: 1.2em;
  }

  .hero-photo-frame img {
    height: 106%;
    max-width: 103%;
  }

  .social-proof-shell {
    width: min(680px, 94vw);
  }

  .proof-field {    min-height: var(--proof-portrait-height, clamp(640px, 148vw, 1020px));
  }

  .proof-bubble-ctr {
    top: var(--proof-layout-y, 5%);
    left: var(--proof-layout-x, 18%);
    --proof-size: clamp(76px, 18.7vw, 126px);
  }

  .proof-bubble-watch {
    top: var(--proof-layout-y, 20%);
    left: var(--proof-layout-x, 8%);
    --proof-size: clamp(98px, 23.8vw, 158px);
  }

  .proof-bubble-views {
    top: var(--proof-layout-y, 10%);
    right: auto;
    left: var(--proof-layout-x, 54%);
    --proof-size: clamp(210px, 51vw, 340px);
  }

  .proof-bubble-revenue {
    top: var(--proof-layout-y, 43%);
    left: var(--proof-layout-x, 9%);
    --proof-size: clamp(192px, 46.8vw, 306px);
  }

  .proof-bubble-clients {
    top: var(--proof-layout-y, 39%);
    right: auto;
    left: var(--proof-layout-x, 64%);
    --proof-size: clamp(112px, 27.2vw, 180px);
  }

  .proof-bubble-channels {
    top: var(--proof-layout-y, 66%);
    right: auto;
    left: var(--proof-layout-x, 52%);
    --proof-size: clamp(174px, 42.5vw, 280px);
  }

  .services-three-shell {
    --services-render-bleed-x: clamp(14px, 4vw, 36px);
    --services-render-bleed-y: clamp(36px, 8vw, 84px);
  }

  .contact-orbit-shell {
    --contact-orbit-size: min(88vw, 620px);
    --contact-orbit-shell-height: var(--contact-orbit-size);
  }

  .main-footer-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 42vw);
    align-items: start;
    gap: clamp(18px, 5vw, 42px);
    width: min(1040px, 90vw);
  }

  .main-footer-brand-block {
    justify-items: start;
    width: auto;
    transform: none;
  }

  .main-footer-links {
    min-width: 0;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    justify-self: end;
    justify-content: end;
    transform: none;
    text-align: right;
  }

  .main-footer-column {
    justify-items: end;
    justify-content: end;
  }

  .main-footer-column > a,
  .main-footer-column > span {
    width: auto;
    max-width: none;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: wrap;
    text-align: right;
  }

  .main-footer-column .footer-word-spread,
  .main-footer-column .footer-word-spread .t {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: wrap;
  }

  .main-footer-column .footer-word {
    white-space: nowrap;
    text-wrap: nowrap;
  }

  .main-footer-column .footer-letter {
    display: inline;
    transform: none !important;
  }
}

/* Final orientation tuning requested after the two-mode split. */
@media (orientation: landscape) {
  .hero {
    z-index: 1;
    overflow: visible;
    margin-bottom: var(--landscape-hero-next-boundary-gap, 0px);
  }

  .social-proof {
    z-index: 0;
    background: transparent;
  }

  .hero-shell {
    --landscape-hero-title-size: clamp(65px, 8vw, 152px);
    --landscape-hero-title-offset: clamp(28px, 5.2vh, 72px);
  }

  .hero-title {
    font-size: var(--landscape-hero-title-size);
    transform: translateY(calc(var(--landscape-hero-title-offset) + var(--landscape-hero-boundary-shift, 0px)));
  }

  .hero-title .hero-line:not(.hero-line-accent) {
    transform: translateY(clamp(-58px, -5vh, -34px));
  }

  .hero-kicker {
    top: 31%;
    left: 50%;
  }

  .hero-tape {
    top: 28.5%;
    left: 2.2%;
    width: clamp(246px, 24.63vw, 468px);
    height: clamp(28px, 2.84vw, 54px);
  }
}

@media (orientation: landscape) and (max-width: 980px) {
  .services-orbit-section {
    overflow-x: clip;
  }

  .services-orbit-shell {
    --services-orbit-size: min(92vw, 600px);
    --services-orbit-display-size: min(92vw, 750px);
    --services-block-shift-x: 0px;
    --services-content-shift-x: 0px;
    --services-copy-nudge-x: 0px;
    width: min(100%, 720px);
    grid-template-columns: 1fr;
    gap: clamp(26px, 7vw, 42px);
    min-height: auto;
  }

  body.lang-ru .services-orbit-shell {
    --services-copy-nudge-x: 0px;
  }

  .services-copy-block {
    top: 0;
    left: 0;
    grid-column: auto;
    grid-row: auto;
    justify-self: start;
    width: min(88vw, 520px);
  }

  .services-phone-stage {
    left: calc(var(--services-edge-guard-x, 0px) + var(--services-right-edge-guard-x, 0px));
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    width: min(86vw, 470px);
    min-width: 0;
    margin-top: clamp(8px, 2.4vw, 20px);
  }
}

@media (orientation: landscape) and (max-width: 860px) {
  .case-deck {
    min-height: clamp(370px, 108vh, 440px);
  }
}

@media (orientation: landscape) and (min-width: 981px) and (max-width: 1180px) and (max-height: 640px) {
  .services-phone-stage {
    left: calc(var(--services-block-shift-x) + var(--services-content-shift-x) + var(--services-heading-gap-x, 0px) + var(--services-edge-guard-x, 0px) + var(--services-right-edge-guard-x, 0px) - clamp(44px, 4vw, 52px));
  }
}

@media (orientation: landscape) and (min-width: 1180px) and (max-width: 1366px) and (min-height: 641px) {
  .services-phone-stage {
    left: calc(var(--services-block-shift-x) + var(--services-content-shift-x) + var(--services-heading-gap-x, 0px) + var(--services-edge-guard-x, 0px) + var(--services-right-edge-guard-x, 0px) - clamp(22px, 2.2vw, 32px));
  }
}

@media (max-aspect-ratio: 1/1) {
  header {
    background: var(--bg);
  }

  .menu-links {
    gap: clamp(6.6px, 2.475vw, 22px);
  }

  .hero-line-accent {
    align-items: center;
    gap: clamp(8px, 1.8vw, 20px);
  }

  .hero-line-accent em:first-of-type {
    z-index: 1;
  }

  .hero-photo-frame {
    z-index: 2;
    width: calc(clamp(148px, 33vw, 292px) * var(--portrait-hero-title-fit, 1));
    height: calc(clamp(64px, 13.4vw, 112px) * var(--portrait-hero-title-fit, 1));
    margin: -0.02em 0 -0.1em;
  }

  .hero-line-accent em:last-of-type {
    z-index: 3;
  }

  .hero-stamp {    top: var(--portrait-stamp-top, calc(50% + clamp(96px, 17vw, 168px)));
    right: var(--portrait-stamp-right, clamp(24px, 7.8vw, 76px));
    bottom: auto; }

  .proof-field {
    width: min(100%, 672px);
  }

  .global-map-shell {
    width: 100vw;
  }

  .global-map {
    margin-bottom: var(--map-portrait-margin-bottom, 0px);
    padding-top: var(--map-portrait-padding-top, clamp(42px, 8vw, 62px));
    padding-bottom: var(--map-portrait-padding-bottom, clamp(74px, 8vw, 130px));
  }

  .dotted-map-card {
    width: 100vw;
    min-height: clamp(330px, 67vw, 650px);
    margin-top: 0;
    margin-left: 0;
    transform: translate3d(0, var(--map-portrait-card-y, 0px), 0);
  }

  .dotted-map-card.reveal {
    transition: opacity 0.7s ease;
  }

  .dotted-map-svg {
    min-height: clamp(320px, 65vw, 630px);
  }

  .case-gallery {
    padding-top: clamp(28px, 5vw, 58px);
    padding-bottom: 0;
  }

  .case-gallery.is-case-open-layer {
    z-index: 120;
    overflow: visible;
  }

  .case-gallery-heading {
    font-size: clamp(34px, 9.05vw, 78px);
    margin-bottom: 0.68em;
  }

  .case-deck {
    min-height: var(--case-portrait-deck-height, clamp(520px, 96vw, 840px));
  }

  .case-card-stage {
    inset: clamp(-42px, -6vw, -28px) -8vw clamp(-42px, -6vw, -28px);
    transform: translate3d(var(--case-portrait-card-x, 0px), calc(var(--case-portrait-card-y, 0px) + var(--case-card-stage-y-adjust, 0px)), 0) scale(var(--case-portrait-card-scale, 1.3325));
    transform-origin: center;
  }

  .case-gallery.is-case-open-layer .case-card-stage {
    inset: max(-320px, -24vh) -10vw max(-320px, -24vh);
    z-index: 220;
    transform: translate3d(0, calc(var(--case-portrait-card-y, 0px) + var(--case-card-stage-y-adjust, 0px)), 0) scale(var(--case-open-layer-stage-scale, 1));
  }

  .case-gallery.is-case-open-layer.is-case-panel-content-visible .case-card-stage {
    opacity: 1;
    pointer-events: auto;
    transition: none;
  }

  .case-gallery.is-case-open-layer .case-open-panel {
    z-index: 240;
    max-height: none;
  }

  .case-deck-action {
    top: var(--case-portrait-action-top, auto);
    bottom: auto;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.22s ease;
  }

  .services-orbit-shell {
    row-gap: clamp(12px, 3vw, 28px);
  }

  .services-copy-block {
    margin-left: auto;
    margin-right: auto;
    justify-self: center;
    width: min(calc(100% - clamp(36px, 9vw, 72px)), 620px);
    text-align: center;
  }

  .services-side-heading {
    margin-left: auto;
    margin-right: auto;
    width: min(calc(100vw - clamp(36px, 9vw, 72px)), 760px);
    font-size: clamp(24px, 6.55vw, 58px);
    text-align: center;
  }

  .services-side-heading .hero-line:last-child {
    white-space: nowrap;
  }

  .services-side-copy {
    max-width: min(88vw, 540px, var(--services-heading-text-width, 540px));
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(28px, 3.6vw, 56px);
    text-align: center;
    text-align-last: center;
  }

  .services-phone-stage {
    width: min(86vw, 470px);
    margin-top: clamp(10px, 3vw, 24px);
  }
}

/* Current portrait/square hero constraints. */
@media (max-aspect-ratio: 1/1) {
  .hero,
  .hero-shell {
    min-height: clamp(760px, 122vw, 1080px);
  }

  .social-proof {
    margin-top: calc(var(--portrait-social-proof-lift, 0px) * -1);
    padding-bottom: 0;
  }

  .hero-shell {
    --portrait-header-bottom: clamp(54px, 8.4vw, 82px);
    --portrait-tape-kicker-gap: clamp(14px, 3vw, 28px);
    --portrait-tape-height: clamp(28px, 2.84vw, 54px);
    --portrait-tape-top: calc(var(--portrait-header-bottom) + var(--portrait-tape-kicker-gap));
  }

  .hero-tape {
    --hero-tape-font: clamp(20px, 2vw, 38px);
    top: var(--portrait-tape-top);
    left: var(--portrait-tape-left, calc(50% - clamp(220px, 23vw, 252px)));
    width: var(--portrait-tape-width, clamp(246px, 24.63vw, 468px));
    height: var(--portrait-tape-height);
    transform: rotate(-8deg);
    translate: 0 0;
  }

  .hero-kicker {
    top: var(--portrait-kicker-top, calc(var(--portrait-tape-top) + var(--portrait-tape-height) + var(--portrait-tape-kicker-gap)));
    left: 50%;
    font-size: clamp(13px, 2.8vw, 19px);
  }

  .hero-title {
    width: min(100%, 98vw);
    font-size: calc(clamp(38px, 10.2vw, 100px) * var(--portrait-hero-title-fit, 1));
    line-height: 0.86;
    transform: translateY(calc(clamp(8px, 3vw, 38px) + var(--portrait-title-pull, 0px)));
  }

  .hero-line {
    white-space: nowrap;
  }

  .hero-title .hero-line:not(.hero-line-accent) {
    white-space: nowrap;
    transform: translateY(clamp(-12px, -1.1vw, -5px));
  }

  .hero-stamp {
    --hero-stamp-size: var(--portrait-stamp-size, clamp(74px, 15.3vw, 119px));
    width: var(--hero-stamp-size);
    height: var(--hero-stamp-size);
  }

  .hero-bottom {
    left: var(--portrait-hero-bottom-left, 50%);
    top: var(--portrait-hero-bottom-top, calc(50% + clamp(220px, 32vw, 342px)));
    bottom: auto;
    transform: translateX(-50%) scale(var(--portrait-hero-button-scale, 1));
    transform-origin: top center;
  }

  .hero-bottom .btn {
    --hero-cta-reference-font-size: clamp(13px, 0.95vw, 18px);
    letter-spacing: 0;
  }
}

/* Portrait header scale: 10% smaller controls without changing behavior. */
@media (max-aspect-ratio: 1/1) {
  .nav {
    row-gap: clamp(7.2px, 1.98vw, 16.2px);
    column-gap: clamp(7.2px, 2.16vw, 16.2px);
    padding-top: clamp(10.8px, 2.43vw, 25.2px);
  }

  .brand {
    gap: clamp(5.4px, 0.9vw, 9px);
  }

  .main-footer-brand {
    gap: clamp(5.4px, 0.9vw, 9px);
  }

  .brand img {
    width: clamp(20.7px, 3.6vw, 32.4px);
  }

  .main-footer-brand img {
    width: clamp(20.7px, 3.6vw, 32.4px);
  }

  .brand b {
    font-size: clamp(19.8px, 4.95vw, 34.2px);
  }

  .main-footer-brand span {
    font-size: clamp(19.8px, 4.95vw, 34.2px);
  }

  .menu-links a {
    min-height: 28px;
    padding: 5px 2px;
  }

  .menu a {
    font-size: clamp(10px, 3vw, 15px);
  }

  .menu-actions {
    gap: clamp(5.4px, 1.62vw, 12.6px);
  }

  .menu-actions .lang-toggle {
    gap: 5.4px;
  }

  .menu-actions .lang-toggle button {
    padding: 0;
    font-size: var(--lang-toggle-font-size);
  }

  .menu-actions {
    --nav-contact-width: clamp(100.8px, 25.2vw, 163.8px);
    --nav-contact-height: clamp(29.59px, 7.397vw, 48.09px);
    --nav-contact-fallback-font-size: clamp(8.14px, 2.035vw, 13.22px);
    --lang-toggle-button-size: clamp(20.71px, 5.178vw, 33.66px);
    --lang-toggle-font-size: clamp(7.77px, 1.942vw, 12.62px);
  }

  .nav-contact-track {
    gap: 0.756em;
  }
}

/* Portrait language parity: Russian copies inherit the same sizing system as English. */
@media (max-aspect-ratio: 1/1) {
  body.lang-ru .case-deck-action {
    font-size: clamp(17px, 5.2vw, 30px);
  }

  body.lang-ru .services-side-heading .t-ru .hero-line:last-child {
    font-weight: 850;
  }

  .contact-orbit-section .touch-orbit-disc {
    inset: 13.5%;
    --portrait-left: 55%;
    --portrait-bottom: -23%;
    --portrait-width: 119%;
  }

  .contact-orbit-section .touch-orbit-copy text {
    font-size: 38px;
    letter-spacing: 0.18em;
  }

  body.lang-ru .contact-orbit-section .touch-orbit-copy text {
    letter-spacing: 0.08em;
  }

  body.lang-ru .contact-orbit-section .touch-orbit-copy text.touch-orbit-dot-text,
  .contact-orbit-section .touch-orbit-copy text.touch-orbit-dot-text {
    letter-spacing: 0;
  }

  .services-side-copy {
    text-align: center;
    text-align-last: center;
  }
}

@media (max-aspect-ratio: 1/1) and (max-width: 520px) {
  body.lang-ru .main-footer-column > a,
  body.lang-ru .main-footer-column > span {
    font-size: clamp(15px, 4vw, 21px);
  }
}

/* Shared spacing contracts: keep final layout tied to stable container tokens. */
@media (orientation: landscape) {
  :root {
    --header-side-padding: clamp(12px, 7vw, 390px);
    --header-content-width: min(1780px, calc(100vw - (var(--header-side-padding) * 2)));
  }

  .nav {
    width: var(--header-content-width);
  }

  .hero-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(1780px, 92vw);
  }

  .hero-tape,
  .hero-kicker,
  .hero-title,
  .hero-bottom {
    grid-column: 1;
  }

  .hero-tape {
    position: absolute;
    top: 28.5%;
    left: 2.2%;
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    justify-self: auto;
    margin-left: 0;
  }

  .hero-kicker {
    position: absolute;
    top: 31%;
    left: 50%;
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    justify-self: auto;
    margin-bottom: 0;
    transform: translateX(-50%);
  }

  .hero-title {
    grid-row: auto;
  }

  .hero-bottom {
    position: absolute;
    left: 50%;
    bottom: max(clamp(26px, 5.6vh, 62px), clamp(42px, 8vh, 92px));
    grid-row: auto;
    align-self: auto;
    transform: translateX(-50%);
  }

  .dotted-map-card {
    min-height: clamp(387px, 44.1vw, 738px);
  }

  .dotted-map-svg {
    min-height: clamp(378px, 43.2vw, 720px);
  }

  .case-gallery {
    --case-vertical-gap: clamp(18px, 5vh, 44px);
  }

  .case-gallery-heading {
    margin-bottom: var(--case-vertical-gap);
  }

  .case-deck {
    margin-top: calc(var(--case-vertical-gap) * -0.36);
  }

  .case-deck-action {
    bottom: var(--case-vertical-gap);
  }

  .services-orbit-shell {
    --services-block-shift-x: clamp(28px, 2.1vw, 46px);
    --services-content-shift-x: clamp(36px, 2.2vw, 60px);
  }

  .services-copy-block {
    top: clamp(-118px, -5.6vw, -68px);
  }

  .contact-orbit-section {
    --contact-orbit-section-reserved-height: calc(min(82.8vw, 874px) + var(--section-gap-md) + var(--section-gap-lg));
    padding: var(--section-gap-md) 0 var(--section-gap-lg);
  }

  .main-footer {
    padding: var(--section-gap-lg) 0 var(--section-gap-md);
  }
}

@media (max-aspect-ratio: 1/1) {
  :root {
    --header-side-padding: clamp(12px, 4vw, 28px);
    --header-content-width-portrait: min(1040px, calc(100vw - (var(--header-side-padding) * 2)));
  }

  .nav {
    width: var(--header-content-width-portrait);
  }

  .hero-shell {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .hero-tape,
  .hero-kicker,
  .hero-title,
  .hero-bottom {
    grid-column: 1;
  }

  .hero-tape {
    position: absolute;
    top: var(--portrait-tape-top);
    left: var(--portrait-tape-left, calc(50% - clamp(220px, 23vw, 252px)));
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    justify-self: auto;
    margin-left: 0;
  }

  .hero-kicker {
    position: absolute;
    top: var(--portrait-kicker-top, calc(var(--portrait-tape-top) + var(--portrait-tape-height) + var(--portrait-tape-kicker-gap)));
    left: 50%;
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    justify-self: auto;
    margin-bottom: 0;
    transform: translateX(-50%);
  }

  .hero-title {
    grid-row: auto;
    transform: translateY(calc(clamp(8px, 3vw, 38px) + var(--portrait-title-pull, 0px)));
  }

  .hero-bottom {
    position: absolute;
    left: var(--portrait-hero-bottom-left, 50%);
    top: var(--portrait-hero-bottom-top, calc(50% + clamp(220px, 32vw, 342px)));
    bottom: auto;
    grid-row: auto;
    align-self: auto;
    transform: translateX(-50%) scale(var(--portrait-hero-button-scale, 1));
  }

  .dotted-map-card {
    min-height: clamp(330px, 67vw, 650px);
    transform: translate3d(0, var(--map-portrait-card-y, 0px), 0);
  }

  .dotted-map-card.reveal,
  .dotted-map-card.reveal.show {
    transform: translate3d(0, var(--map-portrait-card-y, 0px), 0);
  }

  .dotted-map-svg {
    min-height: clamp(320px, 65vw, 630px);
  }

  .case-gallery {
    --case-vertical-gap: clamp(18px, 5vw, 44px);
  }

  .case-gallery-heading {
    margin-bottom: var(--case-vertical-gap);
  }

  .case-deck {
    margin-top: 0;
  }

  .services-orbit-shell {
    row-gap: clamp(28px, 7vw, 56px);
    column-gap: 0;
  }

  .contact-orbit-section {
    --contact-orbit-section-reserved-height: calc(min(96vw, 560px) + var(--section-gap-md) + var(--section-gap-lg));
    padding: var(--section-gap-md) 0 var(--section-gap-lg);
  }

  .main-footer {
    padding: var(--section-gap-lg) 0 var(--section-gap-md);
  }

  .main-footer-inner {
    width: var(--header-content-width-portrait);
  }
}

@media (hover: none), (pointer: coarse) {
  header .nav:not([data-header-mask]) .menu-links a.is-section-active,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active:hover,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active:focus-visible,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active.is-nav-magnetic,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active .t {
    color: #ff2d55 !important;
  }

  header .nav:not([data-header-mask]) .menu-links a::before,
  header .nav:not([data-header-mask]) .menu-links a:hover::before,
  header .nav:not([data-header-mask]) .menu-links a:focus-visible::before,
  header .nav:not([data-header-mask]) .menu-links a.is-nav-magnetic::before,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active::before,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active:hover::before,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active:focus-visible::before,
  header .nav:not([data-header-mask]) .menu-links a.is-section-active.is-nav-magnetic::before {
    opacity: 0 !important;
    transform: scale(0.64) !important;
  }
}
