/* Apple pin/scrub landing layer for azo.uz */
:root {
  --az-hero-scale: 1;
  --az-hero-opacity: 1;
  --az-hero-y: 0px;
  --az-brand-h: 100%;
  --az-svc-opacity: 0;
  --az-svc-y: 16px;
  --az-svc-scale: 0.992;
  --az-header-bg: rgba(255, 255, 255, 0.35);
  --az-hint-opacity: 0;
  --az-slogan-y: 0px;
  --az-slogan-mt: 128px;
  --az-scroll-p: 0;
  --az-scroll-shrink: 0;
  --az-dots-energy: 0;
  --az-dots-speed: 1;
  --az-dots-scroll-dir: 1;
  --az-dots-twist: 0deg;
  --az-ring-rot: 0deg;
  --az-dots-pulse: 1;
  --az-dots-glow: 0.35;
}

/* azo-no-dark-flash */
html,
html body,
html #app,
.landing-page,
.landing-page:not(.is-inside),
.landing-home,
html:has(.landing-page:not(.is-inside)),
html:has(.landing-page:not(.is-inside)) body,
html:has(.landing-page:not(.is-inside)) #app,
html.az-booting,
html.az-booting body,
html.az-booting #app,
html.az-intro,
html.az-intro body,
html.az-intro #app {
  background: #fff !important;
}

html.az-booting,
html.az-booting body,
html.az-intro,
html.az-intro body {
  overflow: hidden !important;
  height: 100% !important;
  max-height: 100dvh !important;
}

html.az-booting .az-scroll-hint,
html.az-intro .az-scroll-hint {
  opacity: 0 !important;
}

/* PC: hide page scrollbar (scroll still works) */
@media (min-width: 901px) {
  html:has(.landing-page:not(.is-inside)),
  html:has(.landing-page:not(.is-inside)) body {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* legacy Edge */
  }

  html:has(.landing-page:not(.is-inside))::-webkit-scrollbar,
  html:has(.landing-page:not(.is-inside)) body::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }
}

.landing-page:not(.is-inside) {
  background: #fff !important;
}

.landing-page:not(.is-inside) .az-apple-brand.brand-stage,
.landing-page:not(.is-inside) .brand-stage {
  background: #fff !important;
}

/* Intro: keep first-screen layout (no 100dvh jump on refresh) */
html.az-booting .az-apple-brand.brand-stage,
html.az-intro .az-apple-brand.brand-stage,
html.az-booting .brand-stage,
html.az-intro .brand-stage {
  background: #fff !important;
}

/* Boot: logo+text stay visible — opacity hide caused blink */
html.az-booting .brand-lockup,
html.az-booted .brand-lockup {
  opacity: 1 !important;
  transition: none !important;
}
html.az-booting:not(.az-dots-ready) .brand-lockup {
  visibility: hidden !important;
}
html.az-booting.az-dots-ready .brand-lockup,
html.az-booted .brand-lockup {
  visibility: visible !important;
}
html.az-booting .brand-lockup,
html.az-intro .brand-lockup {
  transform: scale(var(--az-hero-scale, 1)) !important;
  translate: none;
}

html.az-booting .brand-slogan,
html.az-intro .brand-slogan,
html.az-booting .az-apple-brand .brand-slogan,
html.az-intro .az-apple-brand .brand-slogan {
  /* Under outer dots on the white first screen */
  margin-top: var(--az-slogan-mt, clamp(116px, 13vw, 156px)) !important;
  margin-bottom: 0 !important;
  transform: none !important;
  min-height: 1.35em;
  transition: none !important;
}

html.az-booting .az-apple-services.services-stage,
html.az-intro .az-apple-services.services-stage,
html.az-booting .services-stage,
html.az-intro .services-stage {
  visibility: hidden !important;
  opacity: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  pointer-events: none !important;
}


/* Kill Vue card/header reaction transitions */
.top-controls,
.top-text-btn,
.icon-btn,
.service-card,
.az-apple-services.services-stage,
.brand-lockup,
.az-apple-brand .brand-slogan {
  transition: none !important;
  animation: none !important;
}

@media (min-width: 901px) {
  .service-card:hover,
  .service-card.is-active {
    transform: translate3d(0, var(--az-card-y, 0px), 0) scale(var(--az-card-s, 1)) !important;
    box-shadow: none !important;
  }
}

.top-controls {
  background: var(--az-header-bg) !important;
  /* Instant when scrub snaps home — avoids border/button “refresh pump” */
  transition: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  backdrop-filter: saturate(180%) blur(22px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(22px) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  box-shadow: none !important;
  transition: none !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  padding: 10px clamp(14px, 3vw, 28px) !important;
  min-height: 52px;
}
.top-controls .az-header-brand {
  display: none !important;
}
.top-controls .az-header-brand img {
  display: none !important;
}
.top-controls .az-header-nav {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-wrap: nowrap;
  margin-left: 0;
}
.top-text-btn {
  color: #1d1d1f !important;
  opacity: 0.72;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  padding: 0 12px !important;
  min-height: 34px !important;
  font-size: clamp(0.78rem, 1.4vw, 0.92rem) !important;
}
.top-text-btn:hover {
  opacity: 1 !important;
  color: #000 !important;
  background: rgba(0, 0, 0, 0.05) !important;
}
.icon-btn {
  color: #1d1d1f !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  opacity: 0.85;
}
.icon-btn:hover {
  opacity: 1 !important;
  background: rgba(0, 0, 0, 0.05) !important;
}

/* Keep slogan readable — sits under the outer dot ring */
.brand-slogan,
.az-apple-brand .brand-slogan {
  color: var(--az-slogan-color, #1d1d1f) !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
  opacity: var(--az-slogan-opacity, 1) !important;
  margin: 0 !important;
  margin-top: var(--az-slogan-mt, clamp(116px, 13vw, 156px)) !important;
  transform: translateY(var(--az-slogan-y, 0px)) !important;
  transition: none !important;
  min-height: 1.35em;
}

@media (min-width: 901px) {
  .az-apple-brand.brand-stage {
    flex: 0 0 var(--az-brand-h) !important;
    max-height: var(--az-brand-h) !important;
  }

  .az-apple-brand .brand-lockup {
    gap: 4px !important;
    width: min(42vw, 380px) !important;
  }

  .az-apple-brand .azo-brand-mark {
    margin: 4px auto 0 !important;
    padding-bottom: 0 !important;
  }

  .az-apple-brand .brand-image,
  .az-apple-brand .azo-brand-mark > .brand-image {
    width: min(22vw, 240px) !important;
  }

  .az-apple-brand .brand-slogan {
    margin-top: var(--az-slogan-mt, clamp(116px, 13vw, 156px)) !important;
    transform: translateY(var(--az-slogan-y, 0px)) !important;
    max-height: none;
    overflow: visible;
    opacity: var(--az-slogan-opacity, 1) !important;
    font-size: clamp(2.1rem, 4vw, 3.4rem) !important;
    line-height: 1.12 !important;
    transition: none !important;
  }
}

/* Soften “coming soon” so it doesn’t look broken */
.service-card.is-coming-soon .service-image {
  filter: blur(3px) saturate(0.85) brightness(0.72) !important;
  transform: none !important;
}
.service-soon {
  background: rgba(0, 0, 0, 0.42) !important;
  font-weight: 650 !important;
  letter-spacing: 0.02em !important;
}

/* Tighter scroll canvas — less empty mid-page void */
.az-scroll-track {
  position: relative;
  height: 230vh !important;
}
.az-scroll-sticky {
  position: sticky;
  top: 0;
  height: 100dvh;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.az-apple-brand.brand-stage {
  flex: 0 0 var(--az-brand-h);
  min-height: 0 !important;
  transition: none !important;
  overflow: hidden !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  /* Header clearance only — vertical middle is handled in JS between header & black */
  padding-top: var(--az-header-h, calc(52px + env(safe-area-inset-top, 0px))) !important;
  padding-bottom: 0 !important;
  padding-left: clamp(20px, 3.5vw, 48px) !important;
  padding-right: clamp(20px, 3.5vw, 48px) !important;
  z-index: 6;
  box-sizing: border-box !important;
  isolation: isolate;
}
/* no logo scale tween */
.brand-lockup {
  transform: translate3d(0, var(--az-hero-y), 0) scale(var(--az-hero-scale)) !important;
  opacity: var(--az-hero-opacity) !important;
  transition: none !important;
  will-change: transform, opacity;
  transform-origin: center center !important;
  margin-bottom: 0 !important;
  max-width: 100%;
}
/* Dots live inside white only — parent overflow clips any spill */
.az-apple-brand .azo-brand-dots,
.az-apple-brand .azo-brand-mark {
  overflow: visible;
}

.az-apple-services.services-stage {
  flex: 1 1 auto;
  min-height: 0 !important;
  opacity: var(--az-svc-opacity) !important;
  transform: translate3d(0, var(--az-svc-y), 0) scale(var(--az-svc-scale)) !important;
  transition: none !important;
  pointer-events: none;
  will-change: transform, opacity;
  box-shadow: 0 -40px 80px rgba(0, 0, 0, 0.45) !important;
  z-index: 4;
  overflow: hidden;
}
.az-apple-services.services-stage.az-interactive {
  pointer-events: auto;
}

.service-card {
  opacity: var(--az-card-opacity, 0);
  transform: translate3d(0, var(--az-card-y, 10px), 0) scale(var(--az-card-s, 0.992));
  transition: none !important;
  will-change: transform, opacity;
}

.az-scroll-hint {
  position: fixed;
  bottom: max(28px, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  opacity: var(--az-hint-opacity);
  pointer-events: none;
}

/* PC: no scroll-down cue */
@media (min-width: 901px) {
  .az-scroll-hint {
    display: none !important;
  }
}
.az-scroll-hint span {
  display: none !important;
}
.az-chevron {
  width: 12px;
  height: 12px;
  border-right: 1.5px solid #86868b;
  border-bottom: 1.5px solid #86868b;
  transform: rotate(45deg);
  animation: az-bounce 1.7s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
@keyframes az-bounce {
  0%, 100% { transform: rotate(45deg) translate(-3px, -3px); opacity: 0.45; }
  50% { transform: rotate(45deg) translate(3px, 3px); opacity: 1; }
}

.info-page,
.service-page.partners-page {
  z-index: 200 !important;
}
/* PC: quiet Partners return — no slide, no card pump */
@media (min-width: 901px) {
  .service-page.partners-page,
  .service-page.partners-page.is-leaving {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .landing-page.is-inside .top-controls {
    /* Keep mounted under Partners (z-index lower) — no remount on back */
    transition: none !important;
    animation: none !important;
  }

  .az-apple-services.services-stage,
  .az-apple-services.services-stage .service-card,
  .service-card {
    transition: none !important;
    animation: none !important;
  }

  .service-card:hover,
  .service-card.is-active {
    transform: translate3d(0, var(--az-card-y, 0px), 0) scale(var(--az-card-s, 1)) !important;
    box-shadow: none !important;
  }
}


/* Partners/info: lock document; Partners text column is the only scroller */
html:has(.landing-page.is-inside),
html:has(.landing-page.is-inside) body,
html:has(.landing-page.is-inside) #app {
  overflow: hidden !important;
  height: 100% !important;
  max-height: 100dvh !important;
  overscroll-behavior: none;
}

.landing-page.is-inside {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

.service-page.partners-page,
.service-page,
.info-page {
  overscroll-behavior: contain;
}

/* Shell fills the viewport — no page-level empty scroll */
.service-page.partners-page {
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

.service-page.partners-page .service-page-main,
.service-page.partners-page .azo-instr-pane-partners-main.service-page-main {
  padding-bottom: clamp(24px, 3vw, 40px) !important;
}

/* PC: only the text column scrolls, tight to content end */
@media (min-width: 901px) {
  .service-page.partners-page .service-page-side {
    height: 100dvh !important;
    max-height: 100dvh !important;
    position: relative !important;
    top: auto !important;
    overflow: hidden !important;
    align-self: stretch !important;
  }

  .service-page.partners-page .azo-instr-main-stage {
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: none !important;
    align-self: stretch !important;
    scroll-behavior: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .service-page.partners-page .azo-instr-main-stage.az-text-scroll {
    /* Soft custom wheel inertia — hide harsh native edge bounce */
    overscroll-behavior-y: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
  }

  .service-page.partners-page .azo-instr-main-stage.az-text-scroll::-webkit-scrollbar {
    width: 6px;
  }

  .service-page.partners-page .azo-instr-main-stage.az-text-scroll::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.22);
    border-radius: 99px;
  }

  .service-page.partners-page:not([data-instr-step]) .azo-instr-track {
    align-items: flex-start !important;
    min-height: 0 !important;
    height: auto !important;
    width: 300% !important;
  }

  .service-page.partners-page:not([data-instr-step]) .azo-instr-pane-partners-main {
    min-height: 0 !important;
    height: auto !important;
  }

  .service-page.partners-page:not([data-instr-step]) .azo-instr-pane-choose,
  .service-page.partners-page:not([data-instr-step]) .azo-instr-pane-present {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Guide step: same — scroll inside text column only */
  .service-page.partners-page[data-instr-step="2"] .azo-instr-main-stage {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
  }
}

.landing-page.is-inside .az-scroll-hint {
  opacity: 0 !important;
}

@media (max-width: 900px) {
  /* Phone: boot classes must not flash the page */
  html.az-booting .brand-lockup,
  html.az-booting:not(.az-dots-ready) .brand-lockup,
  html.az-booting .landing-home,
  html.az-booting .az-apple-brand.brand-stage,
  html.az-booting .top-controls {
    visibility: visible !important;
    opacity: 1 !important;
  }
  html.az-booting .az-apple-services.services-stage,
  html.az-booting .services-stage {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: #111 !important;
  }

  /*
   * Phone home: one screen, no page scroll.
   * Service buttons keep original size/spacing (not squashed).
   */
  html:has(.landing-page:not(.is-inside) #az-scroll-track),
  html:has(.landing-page:not(.is-inside) #az-scroll-track) body,
  html.az-phone-static,
  html.az-phone-static body {
    /* svh = stable on iOS Safari refresh (dvh jumps with chrome) */
    height: 100vh !important;
    max-height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html:has(.landing-page:not(.is-inside) #az-scroll-track) #app,
  html.az-phone-static #app {
    height: 100vh !important;
    max-height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }

  .landing-page:not(.is-inside):has(#az-scroll-track),
  html.az-phone-static .landing-page.az-phone-one-page {
    height: 100vh !important;
    max-height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    height: 100svh !important;
    max-height: 100svh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .landing-page:not(.is-inside):has(#az-scroll-track) .landing-home,
  html.az-phone-static .landing-page.az-phone-one-page .landing-home {
    height: 100vh !important;
    max-height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    height: 100svh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }

  .landing-page:not(.is-inside):has(#az-scroll-track) .site-footer,
  html.az-phone-static .landing-page.az-phone-one-page .site-footer {
    display: none !important;
  }

  .az-scroll-track {
    height: 100vh !important;
    height: 100dvh !important;
    height: 100svh !important;
    min-height: 0 !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    max-height: 100svh !important;
    overflow: hidden !important;
  }

  .az-scroll-sticky {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    height: 100svh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    max-height: 100svh !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .az-apple-brand.brand-stage {
    flex: 0 0 auto !important;
    max-height: var(--az-phone-brand-max, 44dvh) !important;
    height: auto !important;
    min-height: var(--az-phone-brand-min, 0px) !important;
    /* Header bar + white pad so upper dots sit under the header line */
    padding-top: calc(
      var(--az-header-h, calc(48px + env(safe-area-inset-top, 0px)))
      + var(--az-dots-clearance, 28px)
    ) !important;
    padding-bottom: var(--az-phone-brand-pad-b, 10px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    overflow: visible !important;
    display: grid !important;
    place-items: center !important;
    align-content: start !important;
    z-index: 2;
    pointer-events: none !important;
    background: #fff !important;
  }

  .az-apple-brand .brand-lockup {
    width: min(68vw, 260px) !important;
    gap: 4px !important;
    justify-self: center !important;
    align-self: start !important;
    margin-top: 4px !important;
    transform: scale(var(--az-hero-scale, 1)) !important;
    transform-origin: top center !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  .az-apple-brand .azo-brand-mark {
    margin: 6px auto 0 !important;
    padding-bottom: 0 !important;
    overflow: visible;
  }

  /* Phone: rings start beyond logo; container fits outer ring */
  .az-apple-brand .azo-brand-dots,
  html:has(#az-scroll-track) .az-apple-brand .azo-brand-dots.is-in.is-alive {
    width: 120% !important;
    padding-bottom: 120% !important;
    transform: translate(-50%, -50%) scale(var(--az-dots-ring-scale, 0.9)) !important;
    transform-origin: center center !important;
    transition: none !important;
  }

  .az-apple-brand .brand-image,
  .az-apple-brand .azo-brand-mark > .brand-image {
    width: min(26vw, 108px) !important;
  }

  .az-apple-brand .azo-brand-dot.is-tiny {
    width: 2px !important;
    height: 2px !important;
  }

  .az-apple-brand .azo-brand-dot.is-small {
    width: 3px !important;
    height: 3px !important;
  }

  .az-apple-brand .azo-brand-dot.is-big {
    width: 4.5px !important;
    height: 4.5px !important;
  }

  /* Phone dots: same motion as PC — no opacity/animation kill */
  .az-apple-brand .azo-brand-dot,
  .azo-brand-dots.is-in.is-alive .azo-brand-dot {
    filter: none;
  }

  .az-apple-brand .brand-slogan {
    margin-top: var(--az-slogan-mt, 22px) !important;
    transform: none !important;
    font-size: clamp(1.35rem, 5vw, 1.7rem) !important;
    line-height: 1.12 !important;
  }

  /* Original service button layout — image left, text right */
  .az-apple-services.services-stage {
    position: relative;
    z-index: 8;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-shadow: none !important;
    background: #111 !important;
    pointer-events: auto !important;
    padding: 12px 14px max(16px, env(safe-area-inset-bottom)) !important;
  }

  .service-grid {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 1 auto !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    height: auto !important;
    max-height: 100% !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }

  .service-card {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 6px 4px !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    text-align: left !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  .service-card.is-coming-soon {
    cursor: default !important;
  }

  .service-card:hover,
  .service-card.is-active {
    transform: none !important;
    box-shadow: none !important;
  }

  .service-card .service-image {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    border-radius: clamp(14px, 3vw, 22px) !important;
    pointer-events: none !important;
  }

  .service-card .service-copy {
    pointer-events: none !important;
  }

  .service-card .service-title {
    font-size: clamp(1.05rem, 4vw, 1.25rem) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    pointer-events: none !important;
  }

  .service-card .service-text {
    font-size: clamp(0.78rem, 3vw, 0.92rem) !important;
    line-height: 1.25 !important;
    margin: 4px 0 0 !important;
    pointer-events: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  .az-scroll-hint {
    display: none !important;
  }

  .top-controls {
    gap: 6px !important;
    padding: 8px 10px !important;
    min-height: 48px;
  }

  .top-text-btn {
    padding: 0 8px !important;
    font-size: 0.72rem !important;
    min-height: 32px !important;
  }

  html:has(.landing-page.is-inside),
  html:has(.landing-page.is-inside) body,
  html:has(.landing-page.is-inside) #app {
    height: 100% !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  .landing-page.is-inside .service-page,
  .landing-page.is-inside .partners-page,
  .landing-page.is-inside .info-page {
    position: fixed !important;
    inset: 0 !important;
    z-index: 220 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    pointer-events: auto !important;
    overscroll-behavior: contain !important;
  }

  .landing-page.is-inside .partners-page .azo-instr-main-stage {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    max-height: none !important;
    min-height: 0 !important;
    height: auto !important;
    flex: 1 1 auto !important;
  }

  .landing-page.is-inside .partners-page {
    display: flex !important;
    flex-direction: column !important;
  }

  .landing-page.is-inside .partners-page .service-page-side {
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
  }

  .landing-page.is-inside .info-actions,
  .landing-page.is-inside .info-btn,
  .landing-page.is-inside a,
  .landing-page.is-inside button {
    pointer-events: auto !important;
  }

  .landing-page.is-inside .az-scroll-track,
  .landing-page.is-inside .az-scroll-sticky {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .az-apple-brand .brand-lockup {
    width: min(70vw, 260px) !important;
  }

  .az-apple-brand .brand-image,
  .az-apple-brand .azo-brand-mark > .brand-image {
    width: min(26vw, 110px) !important;
  }

  .az-apple-brand .brand-slogan {
    font-size: clamp(1.25rem, 5.2vw, 1.55rem) !important;
  }

  .service-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 4px 2px !important;
  }

  .service-grid {
    gap: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .az-scroll-track { height: auto; }
  .az-scroll-sticky { position: relative; height: auto; }
  .brand-lockup,
  .services-stage,
  .service-card {
    opacity: 1 !important;
    transform: none !important;
  }
  .az-scroll-hint { display: none; }
}
