/* =====================================================================
   MOBILE — single coherent system for phones <= 767px
   ===================================================================== */
@media (max-width:767px){
  :root{
    --m-pad:16px;
    --m-gold:#d1ad70;
    --m-gold-2:#ead6aa;
    --m-ink:#17120d;
    --m-cream:#eee6da;
    --m-section-top:58px;
    --m-section-bottom:46px;
    --m-title:clamp(43px,11.5vw,52px);
    --m-title-line:.90;
    --m-body:14px;
    --m-button-h:48px;
    --m-button-fs:10.5px;
  }

  html,body{overflow-x:hidden!important}
  .container{width:calc(100% - 32px)!important;max-width:none!important}
  section{scroll-margin-top:76px!important}

  /* ---------- header ---------- */
  .topbar,.topbar.is-scrolled{
    position:fixed!important;
    left:10px!important;right:10px!important;top:10px!important;
    width:auto!important;transform:none!important;
    min-height:50px!important;
    padding:7px 8px 7px 11px!important;
    display:flex!important;align-items:center!important;gap:8px!important;
    border-radius:17px!important;
    background:rgba(14,13,12,.88)!important;
    border:1px solid rgba(255,255,255,.11)!important;
    box-shadow:0 14px 42px rgba(0,0,0,.26)!important;
    backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
    mix-blend-mode:normal!important;z-index:1000!important;
  }
  .brand-lockup{gap:7px!important;min-width:0!important;flex:1 1 auto!important}
  .brand-lockup .brand-mark{width:28px!important;height:27px!important;flex:0 0 28px!important}
  .brand-lockup .brand-word{min-width:0!important}
  .brand-lockup .brand-word small{font-size:5px!important;letter-spacing:.15em!important}
  .brand-lockup .brand-word strong{font-size:7.5px!important;letter-spacing:.10em!important}

  .nav-toggle{
    display:grid!important;place-items:center!important;gap:5px!important;
    width:39px!important;height:39px!important;flex:0 0 39px!important;margin-left:auto!important;
    border:1px solid rgba(209,173,112,.45)!important;border-radius:50%!important;
    background:rgba(255,255,255,.035)!important;color:#f7f2ea!important;z-index:4!important;
  }
  .nav-toggle span{display:block!important;width:16px!important;height:1px!important;background:currentColor!important}
  .topbar.nav-open .nav-toggle span:first-child{transform:translateY(3px) rotate(45deg)!important}
  .topbar.nav-open .nav-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)!important}
  .topbar .nav{
    position:absolute!important;top:calc(100% + 7px)!important;left:0!important;right:0!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;
    padding:9px!important;border-radius:17px!important;
    background:rgba(14,13,12,.98)!important;border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 22px 56px rgba(0,0,0,.42)!important;
    opacity:0!important;visibility:hidden!important;transform:translateY(-7px)!important;pointer-events:none!important;
  }
  .topbar.nav-open .nav{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .topbar .nav a{display:block!important;padding:13px 11px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;font-size:13px!important}
  .topbar .nav-cta{
    display:flex!important;width:100%!important;min-height:45px!important;margin-top:8px!important;
    justify-content:center!important;border-radius:999px!important;background:var(--m-gold)!important;
    color:var(--m-ink)!important;border-color:transparent!important;font-size:10px!important;font-weight:700!important;
  }

  /* ---------- global mobile type ---------- */
  .eyebrow,.kicker,.prep-practical-kicker{
    font-size:9px!important;line-height:1.2!important;letter-spacing:.17em!important;font-weight:700!important;
  }
  .about-hero-copy h2,.sixty-copy h2,.sticky-title h2,.prep-intro h2,.guests-head h2,.reviews-head h2,.final-content h2{
    font-family:var(--serif)!important;font-size:var(--m-title)!important;line-height:var(--m-title-line)!important;
    letter-spacing:-.048em!important;font-weight:400!important;
  }
  .about-hero-copy h2,.sixty-copy h2,.sticky-title h2,.prep-intro h2,.guests-head h2,.reviews-head h2{margin:8px 0 0!important}

  /* ---------- one CTA system ---------- */
  .btn-primary,.btn-accent,.submit,.final-date-submit,.mobile-sticky{
    width:max-content!important;inline-size:max-content!important;min-width:0!important;max-width:calc(100vw - 32px)!important;
    min-height:var(--m-button-h)!important;height:var(--m-button-h)!important;padding:0 14px 0 17px!important;
    border-radius:999px!important;border:1px solid rgba(23,18,13,.12)!important;background:var(--m-gold)!important;
    color:var(--m-ink)!important;font-family:var(--sans)!important;font-size:var(--m-button-fs)!important;
    line-height:1!important;font-weight:700!important;letter-spacing:.03em!important;text-transform:none!important;
    box-shadow:0 10px 28px rgba(0,0,0,.18)!important;display:inline-flex!important;align-items:center!important;
    justify-content:flex-start!important;gap:11px!important;
  }
  .btn-primary span,.btn-accent span,.submit span,.final-date-submit span{white-space:normal!important;line-height:1.08!important;text-align:left!important}
  .btn-primary i,.btn-accent i,.submit i,.final-date-submit i{
    width:27px!important;height:27px!important;flex:0 0 27px!important;border-radius:50%!important;
    display:grid!important;place-items:center!important;background:rgba(23,18,13,.08)!important;font-style:normal!important;font-size:12px!important;
  }
  .hero-actions .btn-ghost{
    width:max-content!important;min-height:42px!important;height:42px!important;padding:0 15px!important;
    border-radius:999px!important;border:1px solid rgba(209,173,112,.38)!important;background:rgba(8,8,7,.26)!important;
    color:#f7f2ea!important;font-family:var(--sans)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.045em!important;
  }
  .hero-actions .btn-ghost:after{content:'↗'!important;display:inline!important;margin-left:8px!important;color:var(--m-gold)!important}

  /* ---------- hero ---------- */
  .hero{min-height:92svh!important;display:block!important;position:relative!important;overflow:hidden!important}
  .hero-video{object-position:58% center!important}
  .hero-shade{background:linear-gradient(180deg,rgba(5,5,5,.18) 0%,rgba(5,5,5,.16) 28%,rgba(5,5,5,.65) 70%,rgba(5,5,5,.94) 100%),linear-gradient(90deg,rgba(5,5,5,.56),transparent 72%)!important}
  .hero-content{
    position:relative!important;width:100%!important;margin:0!important;
    padding:124px 16px 52px!important;opacity:1!important;transform:none!important;
  }
  .hero .eyebrow{margin-bottom:10px!important;max-width:290px!important}
  .hero h1{max-width:345px!important;font-size:clamp(50px,13.8vw,62px)!important;line-height:.84!important;letter-spacing:-.055em!important;margin:0!important}
  .hero-lead{margin:14px 0 18px!important;max-width:320px!important;font-size:18px!important;line-height:1.12!important}
  .hero-actions{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important}
  .hero-actions .btn-primary{width:max-content!important;max-width:305px!important;height:var(--m-button-h)!important}
  .hero-cta-note{margin-top:11px!important;font-size:9px!important;letter-spacing:.02em!important}
  .hero-scroll{display:none!important}

  /* ---------- shared section rhythm ---------- */
  .about-hero-feature,.sixty,.manifesto,.guests,.reviews,.final-portrait{padding-top:var(--m-section-top)!important;padding-bottom:var(--m-section-bottom)!important}
  .preparation{padding:0!important}
  .conversion-prompt,.date-strip{display:none!important}
  .about-feature-bg-number,.sixty-giant,.final-gold-word{display:none!important}

  /* ---------- about ---------- */
  .about-hero-feature{min-height:0!important}
  .about-hero-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(124px,38vw)!important;
    grid-template-rows:auto auto 184px auto auto!important;gap:0 12px!important;min-height:0!important;align-items:stretch!important;
  }
  .about-hero-copy{display:contents!important}
  .about-hero-copy .kicker{grid-column:1/-1!important;grid-row:1!important;margin-bottom:8px!important}
  .about-hero-copy h2{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin:0 0 20px!important}
  .about-hero-years{
    grid-column:1!important;grid-row:3!important;height:184px!important;margin:0!important;padding:18px 12px 18px 0!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:9px!important;
    border-top:1px solid rgba(255,255,255,.1)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;
  }
  .about-hero-years strong{font-size:61px!important;line-height:.70!important}
  .about-hero-years span{max-width:96px!important;font-size:8px!important;line-height:1.25!important;letter-spacing:.15em!important}
  .about-hero-photo{
    grid-column:2!important;grid-row:3!important;width:100%!important;height:184px!important;margin:0!important;
    display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:hidden!important;
    border-top:1px solid rgba(255,255,255,.1)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;transform:none!important;
  }
  .about-hero-photo img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important}
  .about-hero-meta{grid-column:1/-1!important;grid-row:4!important;margin:14px 0 0!important;padding:0!important;border:0!important;font-size:8px!important;line-height:1.45!important}
  .about-hero-feature .about-feature-rail{
    display:block!important;grid-column:1/-1!important;grid-row:5!important;width:100%!important;max-width:none!important;
    margin:17px 0 0!important;padding:11px 0 0!important;overflow:hidden!important;border-top:1px solid rgba(255,255,255,.1)!important;position:relative!important;z-index:8!important;
  }
  .about-hero-feature .media-rail-label{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin-bottom:5px!important}
  .about-hero-feature .media-rail-label span{font-size:7px!important;letter-spacing:.16em!important}
  .about-hero-feature .media-rail-label b{display:block!important;font-size:6.5px!important;letter-spacing:.1em!important;color:rgba(247,242,234,.33)!important}
  .about-hero-feature .media-rail-window{width:100%!important;min-height:54px!important;overflow:hidden!important;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important}
  .about-hero-feature .media-rail-track{animation:mediaRailMove 20s linear infinite!important;max-width:none!important}
  .about-hero-feature .media-rail-set{gap:24px!important;padding-right:24px!important}
  .about-hero-feature .media-rail-set .rail-dfm{height:34px!important}
  .about-hero-feature .media-rail-set .rail-energy{height:31px!important}
  .about-hero-feature .media-rail-set .rail-rusradio{height:30px!important;transform:scale(1.22)!important;margin-inline:8px!important}
  .about-hero-feature .media-rail-set .rail-terra{height:29px!important}
  .about-hero-feature .media-rail-set .rail-mir{height:34px!important}
  .about-hero-feature .media-rail-set .rail-first{height:36px!important}
  .about-hero-rule{display:none!important}

  /* ---------- 60 sec ---------- */
  .sixty{min-height:0!important}
  .sixty-layout{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;min-height:0!important}
  .sixty-copy{padding:0!important}
  .sixty-copy .large-copy{margin:14px 0 0!important;max-width:340px!important;font-size:16px!important;line-height:1.28!important}
  .sixty-media{min-height:0!important;padding:0!important;display:grid!important;place-items:center!important}
  .sixty-poster{width:min(70vw,296px)!important;margin:0 auto!important;border-radius:18px!important;padding:6px!important}
  .sixty-poster .play-button{width:58px!important;height:58px!important}

  /* ---------- approach ---------- */
  .manifesto{overflow:hidden!important}
  .manifesto-grid{display:block!important}
  .sticky-title{position:relative!important;top:auto!important;width:100%!important;opacity:1!important;transform:none!important}
  .sticky-title .kicker{margin-bottom:8px!important}
  .stories-word span{opacity:1!important;transform:none!important;background-position:0 0!important}
  .stories-word:after{transform:scaleX(1)!important;opacity:.7!important}
  .manifesto-copy{padding-top:28px!important;width:100%!important}
  .quote{font-family:var(--serif)!important;font-size:29px!important;line-height:1.04!important;margin:0 0 26px!important}
  .format-card{grid-template-columns:28px 1fr!important;gap:12px!important;width:100%!important;margin:0!important;padding:18px 0!important}
  .format-card h3{font-size:25px!important;line-height:1.02!important;margin:0 0 7px!important}
  .format-card p{font-size:13.5px!important;line-height:1.52!important;margin:0!important}

  .approach-reel-wrap{margin-top:44px!important;overflow:hidden!important}
  .approach-reel-head{width:calc(100% - 32px)!important;margin:0 16px 12px!important;padding:0!important}
  .approach-reel-head span{font-size:8px!important;letter-spacing:.17em!important}
  .approach-reel-head small{display:block!important;font-size:7px!important;letter-spacing:.10em!important}
  .approach-reel-viewport{overflow:hidden!important;width:100%!important;touch-action:pan-y!important;cursor:grab!important}
  .approach-reel-viewport.is-dragging{cursor:grabbing!important}
  .approach-reel-track{gap:12px!important;padding:0 16px 10px!important;will-change:transform!important}
  .approach-reel-card,.approach-reel-card.is-clone{display:block!important;flex:0 0 82vw!important;width:82vw!important;min-width:0!important;scroll-snap-align:none!important}
  .approach-reel-video{border-radius:15px!important}
  .approach-reel-card .watch-badge{display:none!important}
  .approach-play{width:56px!important;height:56px!important;font-size:14px!important;pointer-events:auto!important}
  .approach-reel-caption{grid-template-columns:27px 1fr!important;gap:9px!important;padding:12px 2px 0!important}
  .approach-reel-caption>span{font-size:8px!important}
  .approach-reel-caption strong{font-size:22px!important;color:var(--m-gold)!important;line-height:1.02!important}
  .approach-reel-caption p{font-size:12px!important;line-height:1.42!important;margin:5px 0 0!important}

  /* ---------- preparation ---------- */
  .preparation{overflow:hidden!important;background:linear-gradient(180deg,#eee6da 0%,#e6dccf 100%)!important}
  .prep-scroll{height:auto!important;min-height:0!important}
  .prep-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:var(--m-section-top) 0 18px!important}
  .prep-intro h2{margin-bottom:24px!important}
  .prep-stage{display:block!important;margin-top:0!important}
  .prep-timeline{display:block!important;overflow:visible!important;margin:0!important;padding:0!important;touch-action:auto!important;position:relative!important}
  .prep-timeline:before{content:'';position:absolute;left:14px;top:28px;bottom:30px;width:1px;background:rgba(94,67,40,.18)}
  .prep-rail,.prep-interaction-hint{display:none!important}
  .prep-step,.prep-stage.visible .prep-step,.prep-step.is-active,.prep-step.is-locked{
    display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-areas:'num title' '. body'!important;
    gap:5px 12px!important;width:100%!important;min-height:0!important;margin:0!important;padding:15px 0 16px!important;
    border:0!important;border-bottom:1px solid rgba(45,34,25,.12)!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;opacity:1!important;transform:none!important;color:#171411!important;cursor:default!important;
  }
  .prep-step:first-of-type{border-top:1px solid rgba(45,34,25,.12)!important}
  .prep-step:before,.prep-step:after{display:none!important}
  .prep-step small{grid-area:num!important;width:28px!important;height:28px!important;margin:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#e7d5be!important;color:#805c35!important;font-size:8px!important;line-height:1!important;position:relative!important;z-index:2!important}
  .prep-step strong,.prep-step.is-active strong{grid-area:title!important;align-self:center!important;margin:0!important;font-family:var(--serif)!important;font-size:22px!important;line-height:1!important;font-weight:400!important;color:#3b2c20!important}
  .prep-step p,.prep-step.is-active p{grid-area:body!important;display:block!important;max-height:none!important;margin:3px 0 0!important;opacity:.68!important;font-size:13px!important;line-height:1.48!important;color:#3c3027!important}
  .prep-note{display:none!important}
  .prep-practical{display:block!important;margin-top:22px!important;padding:34px 0 var(--m-section-bottom)!important}
  .prep-practical-head{position:relative!important;top:auto!important;margin-bottom:18px!important}
  .prep-practical-head h3{font-family:var(--serif)!important;font-size:34px!important;line-height:.94!important;letter-spacing:-.035em!important;margin:7px 0 0!important}
  .faq-question{min-height:62px!important;padding:0!important}
  .faq-question span{font-size:19px!important;line-height:1.08!important}
  .faq-answer p{font-size:13px!important;line-height:1.5!important}
  .faq-item.is-open .faq-answer p{padding:0 34px 18px 0!important}

  /* ---------- floating mini gallery ---------- */
  .guests{overflow:hidden!important}
  .guests-head .kicker{margin-bottom:8px!important}
  .photo-table-wrap{width:100%!important;max-width:none!important;margin-top:24px!important;padding:0!important;overflow:visible!important}
  .photo-table{position:relative!important;display:block!important;width:100%!important;height:540px!important;min-height:540px!important;padding:0!important;overflow:visible!important;touch-action:pan-y!important}
  .photo-card,.photo-table.is-ready .photo-card,.photo-card:nth-child(n){position:absolute!important;flex:none!important;width:auto!important;max-width:none!important;margin:0!important;opacity:1!important;transition:none!important;cursor:default!important;touch-action:pan-y!important;z-index:2!important}
  .photo-card:nth-child(1){left:2%!important;top:1%!important;width:36vw!important;transform:rotate(-3deg)!important}
  .photo-card:nth-child(2){left:56%!important;top:0!important;width:34vw!important;transform:rotate(2deg)!important}
  .photo-card:nth-child(3){left:16%!important;top:23%!important;width:39vw!important;transform:rotate(-2deg)!important}
  .photo-card:nth-child(4){left:62%!important;top:25%!important;width:32vw!important;transform:rotate(3deg)!important}
  .photo-card:nth-child(5){left:1%!important;top:47%!important;width:29vw!important;transform:rotate(2deg)!important}
  .photo-card:nth-child(6){left:36%!important;top:49%!important;width:40vw!important;transform:rotate(-3deg)!important}
  .photo-card:nth-child(7){left:7%!important;top:73%!important;width:29vw!important;transform:rotate(2deg)!important}
  .photo-card:nth-child(8){left:52%!important;top:72%!important;width:40vw!important;transform:rotate(-2deg)!important}
  .photo-card .photo-float{width:100%!important;height:auto!important;display:block!important;overflow:visible!important;border-radius:11px!important;background:#111!important;box-shadow:0 14px 38px rgba(0,0,0,.28)!important;animation:cloudFloatA 11s ease-in-out infinite alternate!important;will-change:transform!important}
  .photo-card:nth-child(2) .photo-float{animation-name:cloudFloatB!important;animation-duration:13s!important;animation-delay:-4s!important}
  .photo-card:nth-child(3) .photo-float{animation-name:cloudFloatC!important;animation-duration:10.5s!important;animation-delay:-6s!important}
  .photo-card:nth-child(4) .photo-float{animation-name:cloudFloatD!important;animation-duration:14s!important;animation-delay:-2s!important}
  .photo-card:nth-child(5) .photo-float{animation-name:cloudFloatB!important;animation-duration:12s!important;animation-delay:-7s!important}
  .photo-card:nth-child(6) .photo-float{animation-name:cloudFloatD!important;animation-duration:11.5s!important;animation-delay:-5s!important}
  .photo-card:nth-child(7) .photo-float{animation-name:cloudFloatA!important;animation-duration:15s!important;animation-delay:-9s!important}
  .photo-card:nth-child(8) .photo-float{animation-name:cloudFloatC!important;animation-duration:13.5s!important;animation-delay:-5s!important}
  .photo-card img,.ceremony-gallery-card img{display:block!important;width:100%!important;height:auto!important;max-height:128px!important;object-fit:contain!important;object-position:center!important;border-radius:11px!important}
  .photo-table-hint,.mobile-gallery-meta{display:none!important}

  /* ---------- reviews ---------- */
  .reviews{overflow:hidden!important}
  .reviews-head .kicker{margin-bottom:8px!important}
  .mobile-reviews-meta{width:calc(100% - 32px)!important;margin:18px 16px 10px!important;padding:0!important}
  .mobile-reviews-meta span,.mobile-reviews-meta small{font-size:8px!important;letter-spacing:.12em!important}
  .reviews-viewport{padding:4px 0 12px!important;mask-image:none!important;-webkit-mask-image:none!important}
  .reviews-track{gap:12px!important}
  .review-slide{flex:0 0 57vw!important;width:57vw!important;max-width:245px!important;border-radius:15px!important}
  .review-play{width:50px!important;height:50px!important;font-size:13px!important}

  /* ---------- final ---------- */
  .final-portrait{min-height:0!important;overflow:hidden!important}
  .final-split{display:grid!important;grid-template-columns:minmax(0,1fr) 112px!important;grid-template-rows:auto auto auto auto auto auto!important;gap:10px 10px!important;min-height:0!important}
  .final-portrait .final-content{display:contents!important}
  .final-content .kicker{grid-column:1/-1!important;grid-row:1!important;margin:0 0 2px!important}
  .final-content h2{grid-column:1/-1!important;grid-row:2!important;margin:0 0 8px!important;position:relative!important;z-index:3!important}
  .final-content>h2+p{grid-column:1!important;grid-row:3!important;font-size:14px!important;line-height:1.35!important;max-width:225px!important;margin:0!important}
  .final-portrait-wrap{grid-column:2!important;grid-row:3!important;width:112px!important;height:150px!important;margin:0!important;align-self:end!important;justify-self:end!important;overflow:hidden!important;z-index:2!important}
  .final-portrait-wrap img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important}
  .final-date-entry{grid-column:1/-1!important;grid-row:4!important;margin-top:18px!important}
  .final-date-entry label{font-size:9px!important;letter-spacing:.12em!important}
  .final-date-row{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center!important}
  .final-date-row input{min-width:0!important;height:48px!important;border-radius:14px!important;padding:0 12px!important;font-size:14px!important}
  .final-date-submit{justify-self:start!important;height:48px!important}
  .final-no-date{margin-top:10px!important;font-size:11px!important}
  .final-cta-note{grid-column:1/-1!important;grid-row:5!important;margin:12px 0 0!important;font-size:9px!important}
  .final-content .socials{grid-column:1/-1!important;grid-row:6!important;margin-top:12px!important;gap:14px!important}
  .final-content .socials a{font-size:11px!important}

  .mobile-sticky{left:50%!important;right:auto!important;bottom:12px!important;transform:translateX(-50%)!important;width:max-content!important;min-width:0!important;padding-inline:17px!important;z-index:950!important}

  /* ---------- modal ---------- */
  .video-modal-card{width:calc(100vw - 20px)!important;max-width:none!important}
  .video-modal-card.is-portrait{width:min(88vw,440px)!important}
  .quiz-card{width:calc(100vw - 20px)!important;min-height:0!important;max-height:92svh!important;overflow:auto!important;padding:28px 20px 24px!important;border-radius:18px!important}
}

@media (max-width:389px){
  :root{--m-title:41px;--m-section-top:54px;--m-section-bottom:42px}
  .hero-content{padding-top:116px!important}
  .hero h1{font-size:48px!important}
  .about-hero-grid{grid-template-columns:minmax(0,1fr) 114px!important;grid-template-rows:auto auto 168px auto auto!important}
  .about-hero-years,.about-hero-photo{height:168px!important}
  .about-hero-years strong{font-size:55px!important}
  .approach-reel-card,.approach-reel-card.is-clone{flex-basis:84vw!important;width:84vw!important}
  .photo-table{height:500px!important;min-height:500px!important}
  .photo-card img,.ceremony-gallery-card img{max-height:116px!important}
  .review-slide{flex-basis:60vw!important;width:60vw!important}
  .final-split{grid-template-columns:minmax(0,1fr) 100px!important}
  .final-portrait-wrap{width:100px!important;height:138px!important}
  .final-date-row{grid-template-columns:1fr!important}
}


/* =====================================================================
   V24 FINAL MOBILE COMPOSITION
   Wins over every previous phone experiment.
   ===================================================================== */
@media (max-width:767px){

  :root{
    --m-gutter:16px;
    --m-section-top:62px;
    --m-section-bottom:50px;
    --m-title:clamp(43px,11.4vw,52px);
    --m-button-h:50px;
    --m-button-fs:12.5px;
  }

  /* ---- consistent page rhythm ---- */
  .about-hero-feature,
  .sixty,
  .manifesto,
  .guests,
  .reviews,
  .final-portrait{
    padding-top:var(--m-section-top)!important;
    padding-bottom:var(--m-section-bottom)!important;
  }
  .prep-sticky{
    padding-top:var(--m-section-top)!important;
  }
  .about-hero-copy h2,
  .mobile-about-copy h2,
  .sixty-copy h2,
  .sticky-title h2,
  .prep-intro h2,
  .guests-head h2,
  .reviews-head h2,
  .final-content h2{
    font-size:var(--m-title)!important;
    line-height:.90!important;
    letter-spacing:-.046em!important;
  }

  /* ---- header: no awkward circles ---- */
  .nav-toggle{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    border-radius:12px!important;
    border:1px solid rgba(209,173,112,.38)!important;
  }
  .topbar .nav a{
    font-size:14px!important;
    line-height:1.2!important;
  }
  .topbar .nav-cta{
    min-height:48px!important;
    height:48px!important;
    font-size:12px!important;
    letter-spacing:.02em!important;
    border-radius:14px!important;
  }

  /* ---- buttons: one visible premium system ---- */
  .btn-primary,
  .btn-accent,
  .submit,
  .final-date-submit,
  .mobile-sticky{
    min-height:var(--m-button-h)!important;
    height:var(--m-button-h)!important;
    padding:0 18px!important;
    border-radius:999px!important;
    font-size:var(--m-button-fs)!important;
    line-height:1!important;
    letter-spacing:.015em!important;
    font-weight:700!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }
  .btn-primary span,
  .btn-accent span,
  .submit span,
  .final-date-submit span{
    font-size:inherit!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .btn-primary i,
  .btn-accent i,
  .submit i,
  .final-date-submit i{
    width:auto!important;
    height:auto!important;
    flex:0 0 auto!important;
    border-radius:0!important;
    background:none!important;
    display:inline!important;
    font-size:15px!important;
    line-height:1!important;
    margin:0!important;
  }
  .hero-actions .btn-primary{
    width:min(100%,318px)!important;
    max-width:318px!important;
  }
  .hero-actions .btn-ghost{
    min-height:46px!important;
    height:46px!important;
    padding:0 17px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
  }
  .mobile-sticky{
    font-size:12.5px!important;
    padding-inline:20px!important;
  }

  /* ---- hero: section height follows content; no empty tail ---- */
  .hero{
    min-height:0!important;
    height:auto!important;
    display:block!important;
    overflow:hidden!important;
  }
  .hero-content{
    min-height:0!important;
    width:100%!important;
    padding:108px var(--m-gutter) 38px!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
  }
  .hero .eyebrow{
    margin:0 0 10px!important;
  }
  .hero h1{
    font-size:clamp(50px,13.6vw,61px)!important;
    line-height:.84!important;
    max-width:350px!important;
  }
  .hero-lead{
    margin:14px 0 18px!important;
    font-size:18px!important;
    line-height:1.12!important;
    max-width:330px!important;
  }
  .hero-actions{
    gap:9px!important;
  }
  .hero-cta-note{
    margin:10px 0 0!important;
  }

  /* ---- ABOUT: dedicated compact mobile composition ---- */
  #about .about-hero-grid{
    display:none!important;
  }
  #about .about-hero-rule{
    display:none!important;
  }
  .mobile-about-stage{
    display:block!important;
  }
  .mobile-about-stage>.kicker{
    margin:0 0 10px!important;
  }
  .mobile-about-main{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(132px,.92fr)!important;
    gap:14px!important;
    align-items:stretch!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .mobile-about-copy{
    min-width:0!important;
    padding:18px 0 17px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
  }
  .mobile-about-copy h2{
    margin:0!important;
    max-width:210px!important;
  }
  .mobile-about-years{
    display:flex!important;
    align-items:flex-end!important;
    gap:10px!important;
    margin-top:24px!important;
  }
  .mobile-about-years strong{
    font-family:var(--serif)!important;
    font-size:64px!important;
    line-height:.68!important;
    font-weight:400!important;
    color:var(--m-gold)!important;
  }
  .mobile-about-years span{
    max-width:76px!important;
    padding-bottom:3px!important;
    font-size:8px!important;
    line-height:1.25!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    color:rgba(247,242,234,.60)!important;
  }
  .mobile-about-photo{
    margin:0!important;
    min-height:230px!important;
    max-height:250px!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .mobile-about-photo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .mobile-about-meta{
    margin:14px 0 0!important;
    font-size:9px!important;
    line-height:1.4!important;
    letter-spacing:.025em!important;
    color:rgba(247,242,234,.56)!important;
  }

  /* real logo rail below the combined text/photo stage */
  .mobile-about-rail{
    display:block!important;
    width:100%!important;
    margin:18px 0 0!important;
    padding:11px 0 0!important;
    overflow:hidden!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
  }
  .mobile-about-rail .media-rail-label{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:6px!important;
  }
  .mobile-about-rail .media-rail-label span{
    font-size:7px!important;
    letter-spacing:.16em!important;
  }
  .mobile-about-rail .media-rail-label b{
    display:block!important;
    font-size:6.5px!important;
    letter-spacing:.08em!important;
    color:rgba(247,242,234,.34)!important;
  }
  .mobile-about-rail .media-rail-window{
    width:100%!important;
    min-height:56px!important;
    overflow:hidden!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
  }
  .mobile-about-rail .media-rail-track{
    animation:mediaRailMove 19s linear infinite!important;
  }
  .mobile-about-rail .media-rail-set{
    gap:24px!important;
    padding-right:24px!important;
  }
  .mobile-about-rail .rail-dfm{height:34px!important}
  .mobile-about-rail .rail-energy{height:31px!important}
  .mobile-about-rail .rail-rusradio{height:30px!important;transform:scale(1.22)!important;margin-inline:8px!important}
  .mobile-about-rail .rail-terra{height:29px!important}
  .mobile-about-rail .rail-mir{height:34px!important}
  .mobile-about-rail .rail-first{height:36px!important}

  /* ---- approach video reel remains genuinely infinite ---- */
  .approach-reel-viewport{
    overflow:hidden!important;
    touch-action:pan-y!important;
  }
  .approach-reel-track{
    will-change:transform!important;
  }
  .approach-reel-card,
  .approach-reel-card.is-clone{
    display:block!important;
  }
  .approach-play{
    width:54px!important;
    height:54px!important;
    border-radius:50%!important;
    border:1px solid rgba(255,255,255,.38)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.26)!important;
  }

  /* ---- preparation: obvious vertical sequence, no circular markers ---- */
  .prep-timeline{
    display:block!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }
  .prep-step,
  .prep-stage.visible .prep-step,
  .prep-step.is-active,
  .prep-step.is-locked{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-areas:
      "num title"
      "num body"!important;
    gap:4px 10px!important;
    min-height:0!important;
    padding:17px 0 18px!important;
    margin:0!important;
    border:0!important;
    border-top:1px solid rgba(52,40,30,.15)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:none!important;
  }
  .prep-step:last-child{
    border-bottom:1px solid rgba(52,40,30,.15)!important;
  }
  .prep-step small{
    grid-area:num!important;
    width:auto!important;
    height:auto!important;
    margin:1px 0 0!important;
    padding:0!important;
    border-radius:0!important;
    background:none!important;
    display:block!important;
    color:#936a3e!important;
    font-size:10px!important;
    line-height:1.1!important;
    font-weight:700!important;
    letter-spacing:.10em!important;
  }
  .prep-step strong,
  .prep-step.is-active strong{
    grid-area:title!important;
    font-size:23px!important;
    line-height:1!important;
    margin:0!important;
  }
  .prep-step p,
  .prep-step.is-active p{
    grid-area:body!important;
    margin:4px 0 0!important;
    font-size:13.5px!important;
    line-height:1.48!important;
    opacity:.70!important;
  }
  .prep-note{
    display:none!important;
  }

  /* ---- PEOPLE: independent mini desktop-cloud; all 8 are visible ---- */
  #guests .photo-table-wrap{
    display:none!important;
  }
  .mobile-photo-cloud{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:570px!important;
    margin:28px 0 0!important;
    overflow:visible!important;
    isolation:isolate!important;
  }
  .mobile-cloud-card{
    position:absolute!important;
    margin:0!important;
    z-index:2!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .mobile-cloud-card:nth-child(1){left:2%!important;top:0!important;width:38%!important;transform:rotate(-3deg)!important}
  .mobile-cloud-card:nth-child(2){right:2%!important;top:2%!important;width:35%!important;transform:rotate(2deg)!important}
  .mobile-cloud-card:nth-child(3){left:19%!important;top:24%!important;width:40%!important;transform:rotate(-2deg)!important}
  .mobile-cloud-card:nth-child(4){right:1%!important;top:27%!important;width:32%!important;transform:rotate(3deg)!important}
  .mobile-cloud-card:nth-child(5){left:2%!important;top:50%!important;width:27%!important;transform:rotate(2deg)!important}
  .mobile-cloud-card:nth-child(6){left:34%!important;top:50%!important;width:41%!important;transform:rotate(-3deg)!important}
  .mobile-cloud-card:nth-child(7){left:10%!important;top:76%!important;width:26%!important;transform:rotate(2deg)!important}
  .mobile-cloud-card:nth-child(8){right:1%!important;top:74%!important;width:41%!important;transform:rotate(-2deg)!important}
  .mobile-cloud-float{
    width:100%!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#111!important;
    box-shadow:0 16px 42px rgba(0,0,0,.32)!important;
    animation:cloudFloatA 11s ease-in-out infinite alternate!important;
    will-change:transform!important;
  }
  .mobile-cloud-card:nth-child(2) .mobile-cloud-float{animation-name:cloudFloatB!important;animation-duration:13s!important;animation-delay:-4s!important}
  .mobile-cloud-card:nth-child(3) .mobile-cloud-float{animation-name:cloudFloatC!important;animation-duration:10.5s!important;animation-delay:-6s!important}
  .mobile-cloud-card:nth-child(4) .mobile-cloud-float{animation-name:cloudFloatD!important;animation-duration:14s!important;animation-delay:-2s!important}
  .mobile-cloud-card:nth-child(5) .mobile-cloud-float{animation-name:cloudFloatB!important;animation-duration:12s!important;animation-delay:-7s!important}
  .mobile-cloud-card:nth-child(6) .mobile-cloud-float{animation-name:cloudFloatD!important;animation-duration:11.5s!important;animation-delay:-5s!important}
  .mobile-cloud-card:nth-child(7) .mobile-cloud-float{animation-name:cloudFloatA!important;animation-duration:15s!important;animation-delay:-9s!important}
  .mobile-cloud-card:nth-child(8) .mobile-cloud-float{animation-name:cloudFloatC!important;animation-duration:13.5s!important;animation-delay:-5s!important}
  .mobile-cloud-float img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  /* ---- FAQ pluses stay simple, not decorative circles ---- */
  .faq-question i{
    width:auto!important;
    height:auto!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    font-size:22px!important;
    line-height:1!important;
  }
}

@media (max-width:389px){
  :root{
    --m-section-top:56px;
    --m-section-bottom:46px;
    --m-title:41px;
    --m-button-fs:12px;
  }
  .hero-content{
    padding:102px 16px 34px!important;
  }
  .hero h1{
    font-size:47px!important;
  }
  .mobile-about-main{
    grid-template-columns:minmax(0,1fr) 122px!important;
  }
  .mobile-about-photo{
    min-height:210px!important;
    max-height:225px!important;
  }
  .mobile-about-years strong{
    font-size:58px!important;
  }
  .mobile-photo-cloud{
    height:520px!important;
  }
}


/* ===== V25 MOBILE-FIRST PASS =====
   Mobile-only refinement. Desktop rules remain untouched.
   Premium editorial / dark cinematic / restrained motion.
   ================================= */
@media (max-width:767px){
  :root{
    --v25-gutter:18px;
    --v25-gold:#d1ad70;
    --v25-cream:#eee7dc;
    --v25-dark:#0d0c0b;
    --v25-header-h:54px;
    --v25-section-y:68px;
  }

  html{scroll-padding-top:calc(var(--v25-header-h) + env(safe-area-inset-top,0px) + 18px)!important}
  body{font-size:16px!important}
  section{scroll-margin-top:calc(var(--v25-header-h) + env(safe-area-inset-top,0px) + 18px)!important}
  .container{width:calc(100% - (var(--v25-gutter) * 2))!important}

  /* HEADER — compact, safe-area aware, hides only while scrolling down */
  .topbar,.topbar.is-scrolled{
    top:calc(env(safe-area-inset-top,0px) + 6px)!important;
    left:8px!important;right:8px!important;
    width:auto!important;
    min-height:var(--v25-header-h)!important;
    height:var(--v25-header-h)!important;
    padding:6px 7px 6px 10px!important;
    border-radius:15px!important;
    background:rgba(13,12,11,.92)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 10px 34px rgba(0,0,0,.24)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .24s ease!important;
    will-change:transform;
  }
  .topbar.mobile-hidden:not(.nav-open){
    transform:translate3d(0,calc(-100% - env(safe-area-inset-top,0px) - 14px),0)!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .brand-lockup .brand-mark{width:27px!important;height:27px!important;flex-basis:27px!important}
  .brand-lockup .brand-word small{font-size:5.5px!important}
  .brand-lockup .brand-word strong{font-size:8px!important}
  .nav-toggle{
    width:40px!important;height:40px!important;flex-basis:40px!important;
    border-radius:12px!important;background:rgba(255,255,255,.025)!important;
  }
  .topbar .nav{top:calc(100% + 7px)!important}

  /* HERO — real first screen, stable contrast, no empty tail */
  .hero{
    min-height:100svh!important;
    height:auto!important;
    display:flex!important;
    align-items:stretch!important;
  }
  .hero-video{object-position:58% center!important}
  .hero-shade{
    opacity:1!important;
    background:
      linear-gradient(180deg,rgba(4,4,4,.28) 0%,rgba(4,4,4,.24) 30%,rgba(4,4,4,.58) 67%,rgba(4,4,4,.90) 100%),
      linear-gradient(90deg,rgba(4,4,4,.50) 0%,rgba(4,4,4,.14) 68%,rgba(4,4,4,.08) 100%)!important;
  }
  .hero-content{
    min-height:100svh!important;
    padding:
      calc(env(safe-area-inset-top,0px) + 94px)
      var(--v25-gutter)
      calc(44px + env(safe-area-inset-bottom,0px))!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
  }
  .hero .eyebrow{font-size:11px!important;line-height:1.35!important;margin-bottom:12px!important}
  .hero h1{font-size:clamp(51px,14vw,62px)!important;line-height:.84!important}
  .hero-lead{font-size:18px!important;line-height:1.28!important;max-width:340px!important;margin:16px 0 20px!important}
  .hero-actions{gap:10px!important}
  .hero-actions .btn-primary{
    width:auto!important;max-width:290px!important;height:54px!important;
    padding:0 17px!important;border-radius:15px!important;
    justify-content:flex-start!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  }
  .hero-actions .btn-primary span{
    font-size:0!important;line-height:1!important;text-align:left!important;
    display:grid!important;gap:2px!important;
  }
  .hero-actions .btn-primary span::before{
    content:"Проверить дату";font-size:14px;line-height:1;font-weight:700;letter-spacing:.01em;
  }
  .hero-actions .btn-primary span::after{
    content:"и узнать стоимость";font-size:10px;line-height:1.1;font-weight:600;opacity:.66;letter-spacing:.02em;
  }
  .hero-actions .btn-primary i{margin-left:auto!important}
  .hero-actions .btn-ghost{
    min-height:44px!important;height:44px!important;font-size:13px!important;
    border-radius:14px!important;padding:0 16px!important;
  }
  .hero-cta-note{font-size:12px!important;line-height:1.35!important;opacity:.62!important}

  /* GENERAL MOBILE TYPE / RHYTHM */
  .about-hero-feature,.sixty,.manifesto,.guests,.reviews,.final-portrait{
    padding-top:var(--v25-section-y)!important;
    padding-bottom:56px!important;
  }
  .eyebrow,.kicker,.prep-practical-kicker{
    font-size:11px!important;line-height:1.25!important;letter-spacing:.14em!important;
  }
  .mobile-about-copy h2,.sixty-copy h2,.sticky-title h2,.prep-intro h2,.guests-head h2,.reviews-head h2,.final-content h2{
    font-size:clamp(42px,11vw,50px)!important;
    line-height:.92!important;
    letter-spacing:-.042em!important;
  }

  /* BUTTONS — calm, readable, one system */
  .btn-primary,.btn-accent,.submit,.final-date-submit{
    min-height:52px!important;height:52px!important;
    border-radius:15px!important;
    padding:0 17px!important;
    font-size:14px!important;
    letter-spacing:.01em!important;
    box-shadow:0 8px 24px rgba(0,0,0,.15)!important;
  }
  .btn-primary i,.btn-accent i,.submit i,.final-date-submit i{font-size:14px!important}
  .mobile-sticky{display:none!important}

  /* ABOUT — keep composition, make media rail one restrained monochrome system */
  .mobile-about-main{gap:12px!important}
  .mobile-about-copy{padding:20px 0!important}
  .mobile-about-years strong{font-size:62px!important}
  .mobile-about-years span{font-size:10px!important;line-height:1.3!important;max-width:86px!important}
  .mobile-about-photo{min-height:224px!important;max-height:246px!important}
  .mobile-about-meta{font-size:13px!important;line-height:1.45!important;margin-top:16px!important}
  .mobile-about-rail{margin-top:20px!important;padding-top:13px!important}
  .mobile-about-rail .media-rail-label span{font-size:9px!important}
  .mobile-about-rail .media-rail-label b{font-size:9px!important}
  .mobile-about-rail .media-rail-set img{
    filter:grayscale(1) saturate(0) brightness(1.45) sepia(.08)!important;
    opacity:.68!important;
  }
  .mobile-about-rail .rail-dfm,
  .mobile-about-rail .rail-energy,
  .mobile-about-rail .rail-rusradio,
  .mobile-about-rail .rail-terra,
  .mobile-about-rail .rail-mir,
  .mobile-about-rail .rail-first{
    height:28px!important;transform:none!important;margin-inline:0!important;object-fit:contain!important;
  }
  .mobile-about-rail .media-rail-set{gap:26px!important;padding-right:26px!important}

  /* 60 SECONDS — still dominant, but never almost the whole phone */
  .sixty-layout{gap:28px!important}
  .sixty-copy .large-copy{font-size:16px!important;line-height:1.5!important;max-width:350px!important}
  .sixty-media{display:flex!important;justify-content:center!important}
  .sixty-poster{
    width:auto!important;
    height:min(72svh,610px)!important;
    max-width:82vw!important;
    aspect-ratio:9/16!important;
    border-radius:18px!important;
    padding:5px!important;
  }
  .sixty-poster img{width:100%!important;height:100%!important;object-fit:contain!important;background:#0d0c0b!important}

  /* APPROACH — editorial hierarchy, less density */
  .manifesto-copy{padding-top:34px!important}
  .quote{font-size:30px!important;line-height:1.08!important;margin-bottom:34px!important}
  .format-card{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:15px!important;
    padding:24px 0 25px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
  }
  .format-card:last-child{border-bottom:1px solid rgba(255,255,255,.10)!important}
  .format-card>span{font-size:11px!important;padding-top:4px!important}
  .format-card h3{font-size:26px!important;line-height:1.02!important;margin-bottom:10px!important}
  .format-card p{font-size:16px!important;line-height:1.55!important;max-width:36ch!important}

  /* APPROACH VIDEO REEL — native swipe/snap with visible next card */
  .approach-reel-wrap{
    margin-top:52px!important;
    overflow:hidden!important;
    --reel-progress:24%;
  }
  .approach-reel-head{
    width:calc(100% - (var(--v25-gutter) * 2))!important;
    margin:0 var(--v25-gutter) 14px!important;
    display:flex!important;align-items:flex-end!important;
  }
  .approach-reel-head span{font-size:10px!important;letter-spacing:.15em!important}
  .approach-reel-head small{
    display:block!important;font-size:0!important;margin-left:auto!important;
  }
  .approach-reel-head small::after{
    content:"Листайте →";font-size:12px;line-height:1;color:rgba(247,242,234,.52);letter-spacing:.02em;text-transform:none;
  }
  .approach-reel-viewport{
    overflow-x:auto!important;overflow-y:hidden!important;
    width:100%!important;
    touch-action:pan-x pan-y!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    cursor:auto!important;
  }
  .approach-reel-viewport::-webkit-scrollbar{display:none!important}
  .approach-reel-track{
    transform:none!important;
    gap:12px!important;
    width:max-content!important;
    padding:0 var(--v25-gutter) 8px!important;
    will-change:auto!important;
  }
  .approach-reel-card{
    display:block!important;
    flex:0 0 calc(89vw - var(--v25-gutter))!important;
    width:calc(89vw - var(--v25-gutter))!important;
    max-width:390px!important;
    min-width:0!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  .approach-reel-card.is-clone{display:none!important}
  .approach-reel-video{border-radius:15px!important}
  .approach-play{width:56px!important;height:56px!important}
  .approach-reel-caption{padding-top:14px!important;grid-template-columns:30px 1fr!important;gap:10px!important}
  .approach-reel-caption>span{font-size:10px!important}
  .approach-reel-caption strong{font-size:24px!important}
  .approach-reel-caption p{font-size:15px!important;line-height:1.48!important;margin-top:7px!important}
  .approach-reel-wrap::after{
    content:"";display:block;width:78px;height:2px;margin:10px 0 0 var(--v25-gutter);
    background:linear-gradient(90deg,var(--v25-gold) 0 var(--reel-progress),rgba(255,255,255,.16) var(--reel-progress) 100%);
    transition:background .18s linear;
  }

  /* VIDEO LIGHTBOX — feels native to the site */
  #videoModal{padding:0!important;align-items:stretch!important;justify-content:stretch!important;background:#000!important}
  #videoModal .modal-backdrop{background:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #videoModal .video-modal-card,
  #videoModal .video-modal-card.is-portrait{
    position:fixed!important;z-index:2!important;inset:0!important;
    width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
    padding:0!important;margin:0!important;border-radius:0!important;background:#000!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    animation:v25VideoIn .24s ease both;
  }
  #videoModal .video-modal-card video,
  #videoModal .video-modal-card.is-portrait video{
    width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
    object-fit:contain!important;aspect-ratio:auto!important;background:#000!important;box-shadow:none!important;
  }
  #videoModal .close{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 12px)!important;
    right:12px!important;
    width:44px!important;height:44px!important;
    display:grid!important;place-items:center!important;
    border-radius:50%!important;
    background:rgba(12,12,12,.68)!important;
    border:1px solid rgba(255,255,255,.28)!important;
    color:#fff!important;font-size:26px!important;z-index:20!important;
    backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
  }
  @keyframes v25VideoIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}

  /* PREPARATION — quiet editorial sequence, not UI cards */
  .preparation{background:var(--v25-cream)!important;overflow:hidden!important}
  .prep-sticky{padding:var(--v25-section-y) 0 24px!important}
  .prep-intro h2{
    font-size:clamp(40px,10.5vw,48px)!important;
    line-height:.94!important;
    margin-bottom:34px!important;
  }
  .prep-timeline::before{display:none!important}
  .prep-step,.prep-stage.visible .prep-step,.prep-step.is-active,.prep-step.is-locked{
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-areas:"num title" "num body"!important;
    gap:6px 14px!important;
    padding:23px 0 24px!important;
    border-top:1px solid rgba(45,34,25,.16)!important;
  }
  .prep-step:last-child{border-bottom:1px solid rgba(45,34,25,.16)!important}
  .prep-step small{
    font-family:var(--serif)!important;
    font-size:27px!important;line-height:.9!important;
    letter-spacing:-.02em!important;font-weight:400!important;
    color:#9a744a!important;
  }
  .prep-step strong,.prep-step.is-active strong{
    font-size:25px!important;line-height:1.03!important;color:#2f241c!important;
  }
  .prep-step p,.prep-step.is-active p{
    font-size:16px!important;line-height:1.52!important;opacity:.72!important;
    max-width:34ch!important;margin-top:7px!important;
  }
  .prep-practical{margin-top:8px!important;padding:44px 0 58px!important}
  .prep-practical-head h3{font-size:36px!important;line-height:.98!important}
  .faq-question{min-height:70px!important;gap:18px!important}
  .faq-question span{font-size:20px!important;line-height:1.15!important}
  .faq-question i{font-size:24px!important;flex:0 0 auto!important}
  .faq-answer{overflow:hidden!important}
  .faq-answer p{font-size:16px!important;line-height:1.55!important;padding-right:28px!important}
  .faq-item.is-open .faq-answer p{padding-bottom:22px!important}

  /* PHOTO GALLERY — systematic two-column editorial grid */
  .guests{overflow:hidden!important}
  #guests .photo-table-wrap{display:none!important}
  .mobile-photo-cloud{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;height:auto!important;
    margin:30px 0 0!important;
    padding:0 var(--v25-gutter)!important;
    overflow:visible!important;
  }
  .mobile-cloud-card,.mobile-cloud-card:nth-child(n){
    position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;
    width:100%!important;margin:0!important;
    transform:none!important;
    z-index:auto!important;
    overflow:hidden!important;
    border-radius:12px!important;
    background:#111!important;
  }
  .mobile-cloud-card:nth-child(3),
  .mobile-cloud-card:nth-child(8){
    grid-column:1/-1!important;
    aspect-ratio:16/10!important;
  }
  .mobile-cloud-card:not(:nth-child(3)):not(:nth-child(8)){aspect-ratio:4/5!important}
  .mobile-cloud-card:nth-child(2){transform:rotate(.7deg)!important}
  .mobile-cloud-card:nth-child(6){transform:rotate(-.7deg)!important}
  .mobile-cloud-float{
    width:100%!important;height:100%!important;
    border-radius:inherit!important;
    overflow:hidden!important;background:#111!important;
    box-shadow:none!important;
    animation:none!important;
  }
  .mobile-cloud-float img{
    display:block!important;width:100%!important;height:100%!important;
    object-fit:contain!important;object-position:center!important;
    background:#111!important;border-radius:inherit!important;
  }

  /* VIDEO REVIEWS — native snap, 78% card, clear label */
  .mobile-reviews-meta{
    width:calc(100% - (var(--v25-gutter) * 2))!important;
    margin:22px var(--v25-gutter) 12px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
  }
  .mobile-reviews-meta span{font-size:14px!important;letter-spacing:.02em!important;text-transform:none!important}
  .mobile-reviews-meta small{font-size:12px!important;letter-spacing:.02em!important;text-transform:none!important;opacity:.56!important}
  .reviews-viewport{
    overflow-x:auto!important;overflow-y:hidden!important;
    padding:4px 0 10px!important;
    touch-action:pan-x pan-y!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    --reviews-progress:18%;
  }
  .reviews-viewport::-webkit-scrollbar{display:none!important}
  .reviews-track{
    transform:none!important;
    width:max-content!important;
    display:flex!important;
    gap:12px!important;
    padding:0 var(--v25-gutter)!important;
    will-change:auto!important;
  }
  .review-slide{
    flex:0 0 78vw!important;
    width:78vw!important;max-width:340px!important;
    height:430px!important;
    scroll-snap-align:center!important;scroll-snap-stop:always!important;
    border-radius:15px!important;box-shadow:0 12px 36px rgba(0,0,0,.14)!important;
  }
  .review-slide.is-clone{display:none!important}
  .review-play{width:54px!important;height:54px!important}
  .reviews::after{
    content:"";display:block;width:78px;height:2px;margin:10px 0 0 var(--v25-gutter);
    background:linear-gradient(90deg,#7b5b36 0 var(--reviews-progress),rgba(45,34,25,.18) var(--reviews-progress) 100%);
  }

  /* FINAL CTA — remove accidental half portrait on phone */
  .final-split{display:block!important}
  .final-portrait .final-content{display:block!important}
  .final-portrait-wrap{display:none!important}
  .final-content .kicker{margin-bottom:10px!important}
  .final-content h2{margin:0 0 18px!important}
  .final-content>h2+p{font-size:16px!important;line-height:1.5!important;max-width:34ch!important}
  .final-date-entry{margin-top:28px!important}
  .final-date-entry label{font-size:12px!important}
  .final-date-row{grid-template-columns:1fr!important;gap:10px!important}
  .final-date-row input{
    height:54px!important;border-radius:14px!important;font-size:16px!important;padding:0 14px!important;
  }
  .final-date-submit{width:100%!important;justify-content:center!important}
  .final-no-date{font-size:13px!important;margin-top:13px!important}
  .final-cta-note{font-size:12px!important}
  .final-content .socials{margin-top:20px!important;margin-bottom:0!important}

  /* QUIZ — true mobile layout: top / center / bottom */
  #quizModal{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    background:#0f0e0d!important;
  }
  #quizModal .modal-backdrop{background:#0f0e0d!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  #quizModal .quiz-card{
    position:fixed!important;inset:0!important;
    width:100vw!important;height:100dvh!important;min-height:0!important;max-height:none!important;
    margin:0!important;
    padding:
      calc(env(safe-area-inset-top,0px) + 18px)
      18px
      calc(env(safe-area-inset-bottom,0px) + 14px)!important;
    border:0!important;border-radius:0!important;
    background:#11100f!important;
    box-shadow:none!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr)!important;
  }
  #quizModal .quiz-card::before{display:none!important}
  #quizModal .quiz-card .close{
    position:absolute!important;
    top:calc(env(safe-area-inset-top,0px) + 12px)!important;
    right:12px!important;
    width:44px!important;height:44px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.04)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:#f7f2ea!important;
    font-size:25px!important;
    display:grid!important;place-items:center!important;
    z-index:30!important;
  }
  .quiz-topline{
    grid-row:1!important;
    min-height:28px!important;
    margin:4px 54px 12px 0!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
    align-items:center!important;
  }
  .quiz-progress{
    grid-row:2!important;
    margin:0!important;
    height:2px!important;
    background:rgba(255,255,255,.13)!important;
  }
  .quiz-progress span{background:var(--v25-gold)!important}
  #quizForm{
    grid-row:3!important;
    min-height:0!important;height:100%!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    overflow:hidden!important;
  }
  .quiz-step,.quiz-done{
    grid-row:1!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:clamp(28px,6vh,56px) 0 20px!important;
  }
  .quiz-step:not(.active),.quiz-done:not(.active){display:none!important}
  .quiz-step.active,.quiz-done.active{display:block!important}
  .quiz-card h3{
    font-size:clamp(34px,9.4vw,42px)!important;
    line-height:.98!important;
    margin:0 0 26px!important;
    max-width:12ch!important;
  }
  .choices-rich{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .choices-rich span{
    min-height:76px!important;
    border-radius:14px!important;
    padding:12px 14px!important;
    background:rgba(255,255,255,.025)!important;
  }
  .choices-rich b{font-size:22px!important}
  .choices-rich small{font-size:12px!important;line-height:1.35!important}
  .choices-rich.compact{gap:8px!important}
  .choices-rich.compact span{
    min-height:70px!important;height:70px!important;
    padding:10px 14px!important;
  }
  .field-label{
    font-size:12px!important;line-height:1.3!important;
    margin:0!important;color:rgba(247,242,234,.60)!important;
  }
  .big-input,
  .quiz-card input[type="text"],
  .quiz-card input[type="tel"],
  .quiz-card input[type="date"]{
    width:100%!important;
    min-height:56px!important;
    margin:8px 0 0!important;
    padding:0 14px!important;
    border:1px solid rgba(209,173,112,.28)!important;
    border-radius:13px!important;
    outline:none!important;
    background:#191714!important;
    color:#f7f2ea!important;
    -webkit-text-fill-color:#f7f2ea!important;
    caret-color:#d1ad70!important;
    font-family:var(--sans)!important;
    font-size:16px!important;
    line-height:1.2!important;
    box-shadow:none!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
  }
  .big-input:focus,
  .quiz-card input[type="text"]:focus,
  .quiz-card input[type="tel"]:focus,
  .quiz-card input[type="date"]:focus{
    background:#1b1815!important;
    border-color:rgba(209,173,112,.72)!important;
    box-shadow:0 0 0 3px rgba(209,173,112,.08)!important;
  }
  .quiz-card input:-webkit-autofill,
  .quiz-card input:-webkit-autofill:hover,
  .quiz-card input:-webkit-autofill:focus,
  .quiz-card input:-webkit-autofill:active{
    -webkit-text-fill-color:#f7f2ea!important;
    caret-color:#d1ad70!important;
    -webkit-box-shadow:0 0 0 1000px #191714 inset!important;
    box-shadow:0 0 0 1000px #191714 inset!important;
    border:1px solid rgba(209,173,112,.34)!important;
    transition:background-color 9999s ease-out 0s!important;
  }
  .contact-choices{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-bottom:16px!important;
  }
  .contact-choices span{
    min-height:72px!important;
    grid-template-columns:34px 1fr!important;
    gap:9px!important;
    padding:11px!important;
    border-radius:14px!important;
  }
  .contact-choices strong{
    width:32px!important;height:32px!important;
    font-size:10px!important;
  }
  .contact-choices b{font-size:20px!important}
  .contact-choices i{display:none!important}
  .contact-fields{padding-bottom:4px!important}
  .contact-fields.visible{max-height:420px!important}
  .contact-fields .field-label{margin:12px 0 0!important}
  .submit{width:100%!important;margin-top:14px!important;justify-content:center!important}
  .quiz-nav{
    grid-row:2!important;
    position:relative!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    min-height:66px!important;
    margin:0!important;
    padding:12px 0 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    background:#11100f!important;
  }
  .quiz-nav button{
    min-height:44px!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1!important;
    touch-action:manipulation!important;
  }
  .quiz-back{opacity:.72!important}
  .quiz-next{
    min-width:138px!important;
    border:1px solid rgba(209,173,112,.28)!important;
    background:var(--v25-gold)!important;
    color:#17120d!important;
    border-radius:13px!important;
    padding:0 16px!important;
    font-weight:700!important;
  }
}

@media (max-width:389px){
  :root{--v25-gutter:16px;--v25-section-y:60px}
  .hero-content{
    padding-top:calc(env(safe-area-inset-top,0px) + 88px)!important;
    padding-bottom:calc(34px + env(safe-area-inset-bottom,0px))!important;
  }
  .hero h1{font-size:48px!important}
  .hero-lead{font-size:17px!important}
  .mobile-about-main{grid-template-columns:minmax(0,1fr) 120px!important}
  .mobile-about-photo{min-height:208px!important}
  .sixty-poster{height:min(70svh,560px)!important}
  .approach-reel-card{flex-basis:88vw!important;width:88vw!important}
  .review-slide{flex-basis:80vw!important;width:80vw!important;height:410px!important}
  .prep-step{grid-template-columns:44px minmax(0,1fr)!important}
  .prep-step strong,.prep-step.is-active strong{font-size:23px!important}
  .quiz-card h3{font-size:34px!important}
  .choices-rich span{min-height:72px!important}
  .choices-rich.compact span{min-height:68px!important;height:68px!important}
}

@media (min-width:390px) and (max-width:430px){
  .hero h1{font-size:clamp(52px,13.2vw,58px)!important}
  .approach-reel-card{flex-basis:calc(90vw - 18px)!important;width:calc(90vw - 18px)!important}
}


/* ===== V25.1 FAQ + QUIZ STATE FIX ===== */
@media (max-width:767px){
  .faq-answer{
    display:grid!important;
    grid-template-rows:0fr!important;
    max-height:none!important;
    opacity:1!important;
    transition:grid-template-rows .34s cubic-bezier(.2,.7,.2,1)!important;
  }
  .faq-answer>p{
    min-height:0!important;
    overflow:hidden!important;
    margin:0!important;
  }
  .faq-item.is-open .faq-answer{grid-template-rows:1fr!important}
  .quiz-done.active + .quiz-nav{display:none!important}
}


/* ===== V25.2 RESTORE LIFE / MOBILE ===== */
@media (max-width:767px){
  /* Stable premium hero type even while webfonts are still arriving */
  .hero h1{
    font-family:"Manrope","Arial Narrow","Helvetica Neue",Arial,sans-serif!important;
    font-weight:500!important;
    font-stretch:condensed!important;
    letter-spacing:-.072em!important;
    text-rendering:geometricPrecision;
  }
  .fonts-loaded .hero h1{font-family:"Manrope","Helvetica Neue",Arial,sans-serif!important}
  .hero-video{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    background:#0d0c0b!important;
  }

  /* Any open modal owns the screen. Site chrome must never cover its close control. */
  body.site-modal-open .topbar,
  body.site-modal-open .mobile-sticky{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,-120%,0)!important;
  }
  #videoModal,#quizModal{z-index:10000!important}
  #videoModal .close,#quizModal .close{
    z-index:10040!important;
    top:calc(env(safe-area-inset-top,0px) + 14px)!important;
    right:14px!important;
    width:46px!important;height:46px!important;
    min-width:46px!important;min-height:46px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    background:rgba(8,8,8,.78)!important;
    color:#fff!important;
    box-shadow:0 8px 26px rgba(0,0,0,.28)!important;
  }
  #quizModal .close{position:fixed!important}

  /* Gallery: return the living desktop character in a phone-sized composition. */
  .mobile-photo-cloud{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:clamp(620px,162vw,735px)!important;
    margin:28px 0 0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .mobile-cloud-card,.mobile-cloud-card:nth-child(n){
    position:absolute!important;
    display:block!important;
    grid-column:auto!important;
    width:auto!important;height:auto!important;
    aspect-ratio:auto!important;
    margin:0!important;
    inset:auto!important;
    overflow:visible!important;
    background:transparent!important;
    border-radius:0!important;
    z-index:1!important;
    transform:rotate(var(--cloud-r,0deg))!important;
  }
  .mobile-cloud-1{left:3%!important;top:3%!important;width:46%!important;--cloud-r:-1.1deg;--float-y:-7px;--float-x:3px;--float-d:7.4s}
  .mobile-cloud-2{right:-3%!important;top:11%!important;width:43%!important;--cloud-r:1deg;--float-y:6px;--float-x:-4px;--float-d:8.1s}
  .mobile-cloud-3{left:17%!important;top:27%!important;width:58%!important;--cloud-r:-.5deg;--float-y:-5px;--float-x:-3px;--float-d:8.8s;z-index:3!important}
  .mobile-cloud-4{left:-5%!important;top:47%!important;width:42%!important;--cloud-r:.9deg;--float-y:7px;--float-x:3px;--float-d:7.8s}
  .mobile-cloud-5{right:-2%!important;top:48%!important;width:43%!important;--cloud-r:-.9deg;--float-y:-6px;--float-x:-3px;--float-d:8.5s}
  .mobile-cloud-6{left:22%!important;top:65%!important;width:48%!important;--cloud-r:.5deg;--float-y:6px;--float-x:4px;--float-d:9.2s;z-index:4!important}
  .mobile-cloud-7{left:-2%!important;top:80%!important;width:38%!important;--cloud-r:-.8deg;--float-y:-5px;--float-x:2px;--float-d:8.3s}
  .mobile-cloud-8{right:-5%!important;top:79%!important;width:58%!important;--cloud-r:.6deg;--float-y:5px;--float-x:-3px;--float-d:9.5s}
  .mobile-cloud-float{
    width:100%!important;height:auto!important;
    border-radius:13px!important;
    overflow:hidden!important;
    background:#151311!important;
    box-shadow:0 18px 42px rgba(0,0,0,.30)!important;
    animation:v25CloudFloat var(--float-d,8s) ease-in-out infinite alternate!important;
    will-change:transform;
  }
  .mobile-cloud-card:nth-child(even) .mobile-cloud-float{animation-delay:-3.2s!important}
  .mobile-cloud-card:nth-child(3n) .mobile-cloud-float{animation-delay:-5.1s!important}
  .mobile-cloud-float img{
    display:block!important;
    width:100%!important;height:auto!important;
    max-height:230px!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#151311!important;
    border-radius:13px!important;
  }
  @keyframes v25CloudFloat{
    0%{transform:translate3d(0,0,0)}
    100%{transform:translate3d(var(--float-x,3px),var(--float-y,-6px),0)}
  }

  /* Reviews: restore V24 continuous drag/inertia/tick mechanics.
     Keep V25 card proportions, but do not turn it into a generic scroll-snap carousel. */
  .reviews-viewport{
    overflow:hidden!important;
    touch-action:pan-y!important;
    scroll-snap-type:none!important;
    overscroll-behavior-x:none!important;
    cursor:grab!important;
  }
  .reviews-viewport.is-dragging{cursor:grabbing!important}
  .reviews-track{
    transform:translate3d(0,0,0);
    width:max-content!important;
    gap:12px!important;
    padding:0 18px!important;
    will-change:transform!important;
  }
  .review-slide,.review-slide.is-clone{
    display:block!important;
    flex:0 0 78vw!important;
    width:78vw!important;
    max-width:340px!important;
    height:430px!important;
    scroll-snap-align:none!important;
  }
  .reviews::after{display:none!important}
  .mobile-reviews-meta small{opacity:.48!important}

  /* Done state must never trap the user. */
  .quiz-done.active{
    min-height:0!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    padding:76px 0 92px!important;
  }
  .quiz-done.active h3{margin-bottom:16px!important}
  .quiz-done.active p{font-size:16px!important;line-height:1.5!important;max-width:31ch!important}
  .quiz-done-close{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:150px!important;
    min-height:50px!important;
    margin-top:26px!important;
    padding:0 20px!important;
    border:1px solid rgba(209,173,112,.34)!important;
    border-radius:14px!important;
    background:#d1ad70!important;
    color:#17120d!important;
    font:700 14px/1 "Manrope","Helvetica Neue",Arial,sans-serif!important;
  }
}
@media (prefers-reduced-motion:reduce) and (max-width:767px){
  .mobile-cloud-float{animation:none!important}
}


/* ===== V25.2 VIDEO REVIEW FIXES =====
   Fixes from real iPhone screen recording:
   stable typography, live hero, floating gallery, modal escape.
   ===================================== */
@media (max-width:767px){
  :root{
    --serif:"Instrument Serif","Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;
    --sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }

  /* Prevent ugly Times/system fallback on the opening scene. */
  .hero h1,
  .hero-lead,
  .mobile-about-copy h2,
  .sixty-copy h2,
  .sticky-title h2,
  .prep-intro h2,
  .guests-head h2,
  .reviews-head h2,
  .final-content h2,
  .quiz-card h3{
    font-family:var(--serif)!important;
  }

  /* Hero video: poster is only a loading fallback, not the visible state. */
  .hero-video{
    opacity:1!important;
    visibility:visible!important;
    background:#090807!important;
  }
  .hero.hero-video-playing .hero-video{
    opacity:1!important;
  }

  /* Any open modal owns the viewport. Header must never cover its close button. */
  .modal{
    z-index:5000!important;
  }
  body.site-modal-open .topbar{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,-120%,0)!important;
  }
  #videoModal .close,
  #quizModal .close{
    z-index:5100!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    right:max(10px,env(safe-area-inset-right,0px))!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:rgba(10,9,8,.88)!important;
    border:1px solid rgba(255,255,255,.30)!important;
    color:#fff!important;
    font-size:28px!important;
    line-height:1!important;
    box-shadow:0 8px 28px rgba(0,0,0,.34)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    touch-action:manipulation!important;
  }

  /* Quiz remains closable after submit, and content never sits under the X. */
  #quizModal .quiz-card{
    padding-top:calc(env(safe-area-inset-top,0px) + 72px)!important;
  }
  #quizModal .quiz-topline{
    margin-right:0!important;
  }
  #quizModal .quiz-done{
    padding-top:clamp(34px,8vh,74px)!important;
  }
  #quizModal .quiz-done h3{
    max-width:none!important;
  }
  #quizModal .quiz-done p{
    font-size:17px!important;
    line-height:1.5!important;
    max-width:30ch!important;
  }

  /* PEOPLE — restore the living cloud, but make it calmer and more intentional.
     Eight real photos, no crop/face changes, gentle independent drift only. */
  .mobile-photo-cloud{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:clamp(560px,150vw,650px)!important;
    margin:30px 0 4px!important;
    padding:0!important;
    overflow:visible!important;
    isolation:isolate!important;
  }
  .mobile-cloud-card,
  .mobile-cloud-card:nth-child(n){
    position:absolute!important;
    margin:0!important;
    inset:auto!important;
    z-index:2!important;
    overflow:visible!important;
    border-radius:0!important;
    background:transparent!important;
    transform:none!important;
  }
  .mobile-cloud-card:nth-child(1){left:2%!important;top:1%!important;width:38%!important;z-index:4!important}
  .mobile-cloud-card:nth-child(2){right:2%!important;top:3%!important;width:34%!important;z-index:2!important}
  .mobile-cloud-card:nth-child(3){left:26%!important;top:22%!important;width:43%!important;z-index:5!important}
  .mobile-cloud-card:nth-child(4){right:1%!important;top:31%!important;width:30%!important;z-index:3!important}
  .mobile-cloud-card:nth-child(5){left:1%!important;top:44%!important;width:31%!important;z-index:2!important}
  .mobile-cloud-card:nth-child(6){left:35%!important;top:51%!important;width:42%!important;z-index:6!important}
  .mobile-cloud-card:nth-child(7){left:7%!important;top:72%!important;width:29%!important;z-index:3!important}
  .mobile-cloud-card:nth-child(8){right:2%!important;top:75%!important;width:40%!important;z-index:4!important}

  .mobile-cloud-float{
    width:100%!important;
    height:auto!important;
    overflow:hidden!important;
    border-radius:13px!important;
    background:#111!important;
    box-shadow:0 18px 48px rgba(0,0,0,.30)!important;
    animation:v25CloudFloatA 8.5s ease-in-out infinite alternate!important;
    will-change:transform!important;
  }
  .mobile-cloud-card:nth-child(2) .mobile-cloud-float{animation-name:v25CloudFloatB!important;animation-duration:10.5s!important;animation-delay:-3s!important}
  .mobile-cloud-card:nth-child(3) .mobile-cloud-float{animation-name:v25CloudFloatC!important;animation-duration:9.5s!important;animation-delay:-5s!important}
  .mobile-cloud-card:nth-child(4) .mobile-cloud-float{animation-name:v25CloudFloatB!important;animation-duration:11s!important;animation-delay:-7s!important}
  .mobile-cloud-card:nth-child(5) .mobile-cloud-float{animation-name:v25CloudFloatC!important;animation-duration:10s!important;animation-delay:-2s!important}
  .mobile-cloud-card:nth-child(6) .mobile-cloud-float{animation-name:v25CloudFloatA!important;animation-duration:12s!important;animation-delay:-6s!important}
  .mobile-cloud-card:nth-child(7) .mobile-cloud-float{animation-name:v25CloudFloatB!important;animation-duration:9s!important;animation-delay:-4s!important}
  .mobile-cloud-card:nth-child(8) .mobile-cloud-float{animation-name:v25CloudFloatC!important;animation-duration:11.5s!important;animation-delay:-8s!important}

  .mobile-cloud-float img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:inherit!important;
    background:#111!important;
  }

  @keyframes v25CloudFloatA{
    from{transform:translate3d(-2px,-3px,0) rotate(-.45deg)}
    to{transform:translate3d(4px,5px,0) rotate(.45deg)}
  }
  @keyframes v25CloudFloatB{
    from{transform:translate3d(3px,-2px,0) rotate(.35deg)}
    to{transform:translate3d(-4px,4px,0) rotate(-.45deg)}
  }
  @keyframes v25CloudFloatC{
    from{transform:translate3d(-3px,2px,0) rotate(.25deg)}
    to{transform:translate3d(3px,-5px,0) rotate(-.35deg)}
  }
}

@media (max-width:389px){
  .mobile-photo-cloud{
    height:clamp(520px,153vw,590px)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .mobile-cloud-float{animation:none!important}
}


/* ===== V25.3 REAL IPHONE FIXES =====
   Real-device pass: hero position, reel mechanics, logo colour,
   and low-amplitude cloud motion even when iOS Reduce Motion is enabled.
   ==================================== */
@media (max-width:767px){
  /* HERO — keep the opening copy near the compact header, not at the bottom
     of a full viewport. */
  .hero{
    min-height:100svh!important;
    height:auto!important;
    display:block!important;
  }
  .hero-content{
    min-height:100svh!important;
    padding:
      calc(env(safe-area-inset-top,0px) + 76px)
      16px
      calc(32px + env(safe-area-inset-bottom,0px))!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }
  .hero .eyebrow{
    margin:0 0 8px!important;
    max-width:none!important;
  }
  .hero h1{
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    font-size:clamp(46px,12.4vw,56px)!important;
    line-height:.87!important;
    letter-spacing:-.052em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .hero-lead{
    margin:12px 0 17px!important;
  }

  /* RADIO / TV — use original brand colours. */
  .mobile-about-rail .media-rail-set img,
  .about-hero-feature .media-rail-set img{
    filter:none!important;
    opacity:.92!important;
  }

  /* APPROACH — use the original endless V24 transform engine.
     CSS scroll-snap/native scrolling must not fight the JS loop. */
  .approach-reel-viewport{
    overflow:hidden!important;
    touch-action:pan-y!important;
    scroll-snap-type:none!important;
    -webkit-overflow-scrolling:auto!important;
    cursor:grab!important;
  }
  .approach-reel-viewport.is-dragging{cursor:grabbing!important}
  .approach-reel-track{
    width:max-content!important;
    gap:12px!important;
    padding:0 16px 10px!important;
    will-change:transform!important;
  }
  .approach-reel-card,
  .approach-reel-card.is-clone{
    display:block!important;
    flex:0 0 calc(90vw - 18px)!important;
    width:calc(90vw - 18px)!important;
    max-width:390px!important;
    min-width:0!important;
    scroll-snap-align:none!important;
  }

  /* REVIEWS — same endless drag/inertia engine as desktop.
     Both cloned halves stay present so the strip has no hard end. */
  .reviews-viewport{
    overflow:hidden!important;
    touch-action:pan-y!important;
    scroll-snap-type:none!important;
    -webkit-overflow-scrolling:auto!important;
    cursor:grab!important;
  }
  .reviews-viewport.is-dragging{cursor:grabbing!important}
  .reviews-track{
    width:max-content!important;
    display:flex!important;
    gap:12px!important;
    padding:0 18px!important;
    will-change:transform!important;
  }
  .review-slide,
  .review-slide.is-clone{
    display:block!important;
    flex:0 0 78vw!important;
    width:78vw!important;
    max-width:340px!important;
    height:430px!important;
    scroll-snap-align:none!important;
  }

  /* Reviews heading/hint are independent boxes: no concatenation in Safari. */
  .mobile-reviews-meta{
    display:flex!important;
    align-items:baseline!important;
    justify-content:space-between!important;
    gap:18px!important;
    white-space:normal!important;
  }
  .mobile-reviews-meta span{
    display:block!important;
    flex:0 0 auto!important;
  }
  .mobile-reviews-meta small{
    display:block!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
  }

  /* The mobile final conversion stays text-first; portrait remains desktop-only. */
  .final-portrait-wrap{display:none!important}
}

/* iOS can have Settings → Accessibility → Motion → Reduce Motion enabled.
   Preserve that preference, but do not let the gallery look completely dead:
   use a very slow 2px ambient drift instead of the normal float. */
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .mobile-cloud-float{
    animation:v25CloudReduced 18s ease-in-out infinite alternate!important;
  }
  .mobile-cloud-card:nth-child(2n) .mobile-cloud-float{animation-duration:21s!important;animation-delay:-7s!important}
  .mobile-cloud-card:nth-child(3n) .mobile-cloud-float{animation-duration:24s!important;animation-delay:-12s!important}
  @keyframes v25CloudReduced{
    from{transform:translate3d(-1px,-1px,0)!important}
    to{transform:translate3d(1px,1px,0)!important}
  }
}


/* ===== V25.4 REAL PHONE COMPOSITION =====
   One stable phone composition in portrait + landscape.
   ========================================== */

/* Portrait / narrow emulation */
@media (max-width:767px){
  /* Hero: centered in the usable first screen, not pinned top/bottom. */
  .hero-content{
    min-height:100svh!important;
    padding:
      calc(env(safe-area-inset-top,0px) + 72px)
      16px
      calc(28px + env(safe-area-inset-bottom,0px))!important;
    justify-content:center!important;
  }

  /* Preparation: the step at reading height becomes the gold focal point. */
  .prep-step{
    transition:background .28s ease,opacity .28s ease,color .28s ease!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .prep-step small,
  .prep-step strong,
  .prep-step p{
    transition:color .28s ease,opacity .28s ease!important;
  }
  .prep-step:not(.is-active){
    opacity:.50!important;
  }
  .prep-step.is-active{
    opacity:1!important;
    background:linear-gradient(90deg,rgba(168,118,55,.13),rgba(168,118,55,0) 78%)!important;
  }
  .prep-step.is-active small,
  .prep-step.is-active strong{
    color:#a87637!important;
  }
  .prep-step.is-active p{
    color:#34271d!important;
    opacity:.92!important;
  }

  /* Reviews: portrait previews; landscape source videos are centre-cropped only on cover. */
  .review-slide,
  .review-slide.is-clone{
    flex:0 0 56vw!important;
    width:56vw!important;
    max-width:236px!important;
    height:auto!important;
    aspect-ratio:9/16!important;
  }
  .review-slide>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Final conversion: no horizontal overflow, one calm centered column. */
  .final-split{
    display:block!important;
  }
  .final-portrait .final-content{
    display:block!important;
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
  }
  .final-content>h2+p{
    max-width:34ch!important;
  }
  .final-date-entry{
    width:100%!important;
    max-width:100%!important;
    margin-top:22px!important;
  }
  .final-date-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:12px!important;
  }
  .final-date-row input,
  #finalDateInput{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .final-date-submit{
    justify-self:center!important;
    margin-inline:auto!important;
  }
  .final-no-date{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin:11px auto 0!important;
    text-align:center!important;
  }
}

/* Real phones remain "mobile" after turning sideways.
   JS adds .is-phone from the handset UA, so an iPhone at 844–932 CSS px
   does not fall back into tablet/desktop composition. */
html.is-phone body{
  overflow-x:hidden!important;
}
html.is-phone .mobile-sticky{
  display:none!important;
}
html.is-phone .final-portrait-wrap{
  display:none!important;
}
html.is-phone .final-split{
  display:block!important;
  width:calc(100% - 32px)!important;
  max-width:760px!important;
  margin-inline:auto!important;
}
html.is-phone .final-portrait .final-content{
  display:block!important;
  width:100%!important;
  max-width:620px!important;
  margin-inline:auto!important;
}
html.is-phone .final-date-entry,
html.is-phone .final-date-row,
html.is-phone #finalDateInput{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html.is-phone .final-date-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
}
html.is-phone .final-date-submit{
  justify-self:center!important;
  margin-inline:auto!important;
}
html.is-phone .final-no-date{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:11px auto 0!important;
  text-align:center!important;
}

/* Same floating photo cloud in both orientations. */
html.is-phone #guests{
  overflow:hidden!important;
}
html.is-phone #guests .photo-table-wrap{
  display:none!important;
}
html.is-phone .mobile-photo-cloud{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:680px!important;
  height:620px!important;
  margin:30px auto 4px!important;
  padding:0!important;
  overflow:visible!important;
  isolation:isolate!important;
}
html.is-phone .mobile-cloud-card{
  position:absolute!important;
  margin:0!important;
  inset:auto!important;
  background:transparent!important;
  overflow:visible!important;
}
html.is-phone .mobile-cloud-card:nth-child(1){left:2%!important;top:1%!important;width:38%!important;z-index:4!important}
html.is-phone .mobile-cloud-card:nth-child(2){right:2%!important;top:3%!important;width:34%!important;z-index:2!important}
html.is-phone .mobile-cloud-card:nth-child(3){left:26%!important;top:22%!important;width:43%!important;z-index:5!important}
html.is-phone .mobile-cloud-card:nth-child(4){right:1%!important;top:31%!important;width:30%!important;z-index:3!important}
html.is-phone .mobile-cloud-card:nth-child(5){left:1%!important;top:44%!important;width:31%!important;z-index:2!important}
html.is-phone .mobile-cloud-card:nth-child(6){left:35%!important;top:51%!important;width:42%!important;z-index:6!important}
html.is-phone .mobile-cloud-card:nth-child(7){left:7%!important;top:72%!important;width:29%!important;z-index:3!important}
html.is-phone .mobile-cloud-card:nth-child(8){right:2%!important;top:75%!important;width:40%!important;z-index:4!important}
html.is-phone .mobile-cloud-float{
  width:100%!important;
  height:auto!important;
  overflow:hidden!important;
  border-radius:13px!important;
  background:#111!important;
  box-shadow:0 18px 48px rgba(0,0,0,.30)!important;
  will-change:transform!important;
}
html.is-phone .mobile-cloud-float img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Keep phone hero centered in landscape too. */
html.is-phone .hero{
  min-height:100svh!important;
}
html.is-phone .hero-content{
  min-height:100svh!important;
  padding:
    calc(env(safe-area-inset-top,0px) + 70px)
    max(18px,env(safe-area-inset-left,0px))
    calc(24px + env(safe-area-inset-bottom,0px))!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
html.is-phone .hero h1{
  max-width:100%!important;
}

/* Landscape phone: keep cloud and conversion compact rather than becoming desktop. */
@media (orientation:landscape){
  html.is-phone .mobile-photo-cloud{
    height:500px!important;
    max-width:700px!important;
  }
  html.is-phone .final-portrait{
    min-height:0!important;
    padding:54px 0 42px!important;
  }
  html.is-phone .final-content h2{
    font-size:clamp(42px,7vw,60px)!important;
  }
  html.is-phone .final-content .socials{
    margin-top:18px!important;
  }
}


/* ===== V25.4.1 PHONE LANDSCAPE POLISH ===== */
html.is-phone .review-slide,
html.is-phone .review-slide.is-clone{
  display:block!important;
  flex:0 0 min(236px,56vw)!important;
  width:min(236px,56vw)!important;
  max-width:236px!important;
  height:auto!important;
  aspect-ratio:9/16!important;
  scroll-snap-align:none!important;
}
html.is-phone .review-slide>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
html.is-phone .prep-step.is-active small,
html.is-phone .prep-step.is-active strong{
  color:#a87637!important;
}
html.is-phone .prep-step.is-active p{
  opacity:.94!important;
}
html.is-phone #finalDateInput{
  font-size:16px!important;
  inline-size:100%!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
}


/* ===== V25.5 CENTERED MOBILE PASS ===== */
@media (max-width:767px){
  /* HERO — centered both vertically and horizontally. */
  .hero-content{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .hero .eyebrow{
    width:100%!important;
    text-align:center!important;
    margin:0 0 12px!important;
  }
  .hero h1{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    text-align:center!important;
    line-height:.86!important;
  }
  .hero h1 .hero-first{
    display:block!important;
    font-size:.62em!important;
    letter-spacing:.10em!important;
    color:var(--m-gold)!important;
    margin-bottom:.16em!important;
  }
  .hero h1 .hero-last{
    display:block!important;
    font-size:1em!important;
    letter-spacing:-.055em!important;
    color:#f7f2ea!important;
    white-space:nowrap!important;
  }
  .hero-lead{
    max-width:31ch!important;
    margin:18px auto 20px!important;
    text-align:center!important;
    font-style:italic!important;
    color:rgba(247,242,234,.84)!important;
  }
  .hero-actions{
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    margin-inline:auto!important;
  }
  .hero-cta-note{
    width:100%!important;
    text-align:center!important;
  }

  /* ABOUT — no repeated name, focus on experience and education. */
  .mobile-about-stage{
    text-align:left!important;
  }
  .mobile-about-main{
    align-items:stretch!important;
  }
  .mobile-about-copy{
    justify-content:center!important;
    gap:18px!important;
  }
  .mobile-about-years{
    margin:0!important;
  }
  .mobile-about-education{
    margin:0!important;
    max-width:170px!important;
    font-size:11px!important;
    line-height:1.4!important;
    color:rgba(247,242,234,.70)!important;
  }
  .mobile-about-rail{
    margin-top:18px!important;
  }
  .mobile-about-rail .media-rail-label{
    display:none!important;
  }

  /* PREPARATION — active step behaves like the manifesto ladder. */
  .prep-step{
    width:calc(100% - 12px)!important;
    margin-left:0!important;
  }
  .prep-step.is-active{
    transform:translateX(12px)!important;
    background:linear-gradient(90deg,rgba(168,118,55,.16),rgba(168,118,55,0) 82%)!important;
  }
  .prep-step.is-active strong{
    font-size:26px!important;
    color:#a87637!important;
  }
  .prep-step.is-active small{
    color:#a87637!important;
  }
  .prep-step.is-active p{
    opacity:.96!important;
  }

  /* PEOPLE / REVIEWS / FINAL — centered editorial headings. */
  .guests-head,
  .reviews-head,
  .final-content{
    text-align:center!important;
  }
  .guests-head h2,
  .reviews-head h2,
  .final-content h2{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .reviews-head em{
    color:var(--m-gold)!important;
  }
  .final-content>h2+p{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .final-content .socials{
    justify-content:center!important;
  }

  /* Reviews keep their rounded portrait frame during drag/hover. */
  .review-slide,
  .review-slide.is-clone,
  .reviews-viewport .review-slide.is-hovered,
  .reviews-viewport .review-slide.is-center{
    border-radius:18px!important;
    overflow:hidden!important;
    clip-path:inset(0 round 18px)!important;
    background:#111!important;
  }
  .review-slide>img,
  .review-slide .review-bg,
  .review-slide .review-shade{
    border-radius:inherit!important;
  }

  /* Final date field: hard width containment for Safari/iOS. */
  .final-split,
  .final-portrait .final-content,
  .final-date-entry,
  .final-date-row{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .final-date-entry{
    width:min(100%,520px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
  }
  .final-date-entry>label{
    text-align:center!important;
  }
  .final-date-row{
    width:100%!important;
    overflow:hidden!important;
  }
  #finalDateInput{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    inline-size:100%!important;
    max-width:100%!important;
    max-inline-size:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    overflow:hidden!important;
    padding-left:14px!important;
    padding-right:14px!important;
    text-align:center!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  #finalDateInput::-webkit-date-and-time-value{
    text-align:center!important;
  }
  #finalDateInput::-webkit-datetime-edit{
    width:100%!important;
    text-align:center!important;
  }
  .final-date-submit{
    justify-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Keep the same centered phone composition after rotation. */
html.is-phone .hero-content{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
html.is-phone .hero .eyebrow,
html.is-phone .hero-lead,
html.is-phone .hero-cta-note{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html.is-phone .hero h1{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:100%!important;
}
html.is-phone .hero h1 .hero-first{
  font-size:.62em!important;
  letter-spacing:.10em!important;
  color:#d1ad70!important;
}
html.is-phone .hero h1 .hero-last{
  white-space:nowrap!important;
}
html.is-phone .hero-actions{
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
}
html.is-phone .guests-head,
html.is-phone .reviews-head,
html.is-phone .final-content{
  text-align:center!important;
}
html.is-phone .reviews-head em{
  color:#d1ad70!important;
}
html.is-phone .final-content .socials{
  justify-content:center!important;
}
html.is-phone .final-date-entry{
  width:min(100%,520px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
html.is-phone #finalDateInput{
  display:block!important;
  width:100%!important;
  inline-size:100%!important;
  max-width:100%!important;
  max-inline-size:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-align:center!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
html.is-phone .review-slide,
html.is-phone .review-slide.is-clone{
  border-radius:18px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 18px)!important;
}


/* ===== V25.5.1 CLOUD DRAG ===== */
@media (max-width:767px){
  .mobile-cloud-card{
    --drag-x:0px;
    --drag-y:0px;
    --cloud-card-r:0deg;
    transform:translate3d(var(--drag-x),var(--drag-y),0) rotate(var(--cloud-card-r))!important;
    touch-action:none!important;
    cursor:grab!important;
    -webkit-user-select:none!important;
    user-select:none!important;
  }
  .mobile-cloud-card.is-dragging{
    cursor:grabbing!important;
  }
  .mobile-cloud-card:nth-child(1){--cloud-card-r:-.8deg}
  .mobile-cloud-card:nth-child(2){--cloud-card-r:.7deg}
  .mobile-cloud-card:nth-child(3){--cloud-card-r:-.4deg}
  .mobile-cloud-card:nth-child(4){--cloud-card-r:.7deg}
  .mobile-cloud-card:nth-child(5){--cloud-card-r:-.6deg}
  .mobile-cloud-card:nth-child(6){--cloud-card-r:.4deg}
  .mobile-cloud-card:nth-child(7){--cloud-card-r:-.5deg}
  .mobile-cloud-card:nth-child(8){--cloud-card-r:.5deg}
  .mobile-cloud-card img{
    pointer-events:none!important;
    -webkit-user-drag:none!important;
  }
}
html.is-phone .mobile-cloud-card{
  --drag-x:0px;
  --drag-y:0px;
  --cloud-card-r:0deg;
  transform:translate3d(var(--drag-x),var(--drag-y),0) rotate(var(--cloud-card-r))!important;
  touch-action:none!important;
  cursor:grab!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
html.is-phone .mobile-cloud-card:nth-child(1){--cloud-card-r:-.8deg}
html.is-phone .mobile-cloud-card:nth-child(2){--cloud-card-r:.7deg}
html.is-phone .mobile-cloud-card:nth-child(3){--cloud-card-r:-.4deg}
html.is-phone .mobile-cloud-card:nth-child(4){--cloud-card-r:.7deg}
html.is-phone .mobile-cloud-card:nth-child(5){--cloud-card-r:-.6deg}
html.is-phone .mobile-cloud-card:nth-child(6){--cloud-card-r:.4deg}
html.is-phone .mobile-cloud-card:nth-child(7){--cloud-card-r:-.5deg}
html.is-phone .mobile-cloud-card:nth-child(8){--cloud-card-r:.5deg}


/* ===== V25.6 MOBILE POLISH ===== */
@media (max-width:767px){
  /* Remove technical section numbering after About to make the page denser. */
  .sixty-copy > .kicker,
  .sticky-title > .kicker,
  .prep-intro > .kicker,
  .guests-head > .kicker,
  .reviews-head > .kicker{
    display:none!important;
  }

  /* HERO — compact centered cinema composition. */
  .hero-content{
    width:min(100%,430px)!important;
    margin-inline:auto!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .hero .eyebrow{
    font-size:11px!important;
    letter-spacing:.17em!important;
    line-height:1.35!important;
    opacity:.90!important;
  }
  .hero h1{
    margin-top:4px!important;
  }
  .hero h1 .hero-first{
    font-size:.54em!important;
    letter-spacing:.13em!important;
    margin-bottom:.10em!important;
    color:#d6ad69!important;
  }
  .hero h1 .hero-last{
    font-size:1em!important;
    letter-spacing:-.052em!important;
  }
  .hero-lead{
    max-width:29ch!important;
    font-size:18px!important;
    line-height:1.28!important;
    margin-top:17px!important;
    margin-bottom:20px!important;
  }
  .hero-actions{
    gap:10px!important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    width:min(100%,270px)!important;
    min-width:min(100%,270px)!important;
    justify-content:center!important;
  }
  .hero-cta-note{
    margin-top:13px!important;
    font-size:10px!important;
    opacity:.48!important;
  }

  /* ABOUT — stronger editorial composition for phone. */
  .about-hero-feature{
    padding-top:58px!important;
    padding-bottom:54px!important;
  }
  .mobile-about-stage{
    width:calc(100% - 32px)!important;
    margin-inline:auto!important;
  }
  .mobile-about-stage > .kicker{
    margin:0 0 16px!important;
    font-size:11px!important;
    letter-spacing:.14em!important;
  }
  .mobile-about-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(132px,45%)!important;
    gap:16px!important;
    align-items:end!important;
    padding-bottom:18px!important;
  }
  .mobile-about-copy{
    min-width:0!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
  }
  .mobile-about-years{
    display:flex!important;
    align-items:flex-end!important;
    gap:10px!important;
  }
  .mobile-about-years strong{
    font-size:64px!important;
    line-height:.72!important;
    color:#d6ad69!important;
  }
  .mobile-about-years span{
    max-width:74px!important;
    padding-bottom:5px!important;
    font-size:10px!important;
    line-height:1.28!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    opacity:.70!important;
  }
  .mobile-about-education{
    margin:20px 0 0!important;
    max-width:180px!important;
    font-size:12px!important;
    line-height:1.45!important;
    color:rgba(247,242,234,.72)!important;
  }
  .mobile-about-photo{
    width:100%!important;
    max-width:176px!important;
    justify-self:end!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
    background:#171512!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
  }
  .mobile-about-photo img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .mobile-about-professions{
    margin:0!important;
    padding:16px 0 0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    font-size:13px!important;
    line-height:1.48!important;
    color:rgba(247,242,234,.86)!important;
  }
  .mobile-about-rail{
    margin-top:16px!important;
    padding:13px 0 0!important;
    border-top:0!important;
    border-bottom:0!important;
    overflow:hidden!important;
  }
  .mobile-about-rail .media-rail-window{
    overflow:hidden!important;
  }
  .mobile-about-rail .media-rail-set{
    gap:28px!important;
    padding-right:28px!important;
    align-items:center!important;
  }
  .mobile-about-rail .media-rail-set img{
    width:auto!important;
    height:28px!important;
    max-width:108px!important;
    object-fit:contain!important;
    object-position:center!important;
    opacity:.88!important;
  }
  .mobile-about-rail .rail-terra{
    max-width:116px!important;
  }
  .mobile-about-rail .rail-divider{
    display:none!important;
  }

  /* Slightly tighter section starts after removing numerical kickers. */
  .sixty-copy h2,
  .sticky-title h2,
  .prep-intro h2,
  .guests-head h2,
  .reviews-head h2{
    margin-top:0!important;
  }

  /* PREP — true focus mode: inactive steps recede, active step comes forward. */
  .prep-step,
  .prep-stage.visible .prep-step,
  .prep-step.is-locked{
    opacity:.34!important;
    filter:blur(.45px) saturate(.70)!important;
    transform:translateX(0) scale(.985)!important;
    transition:
      opacity .34s ease,
      filter .34s ease,
      transform .34s cubic-bezier(.22,.72,.18,1),
      background .34s ease!important;
  }
  .prep-step strong,
  .prep-step p,
  .prep-step small{
    transition:color .34s ease,opacity .34s ease,font-size .34s ease!important;
  }
  .prep-step:not(.is-active) p{
    opacity:.20!important;
  }
  .prep-step.is-active{
    opacity:1!important;
    filter:none!important;
    transform:translateX(14px) scale(1.015)!important;
    background:linear-gradient(90deg,rgba(183,132,67,.16),rgba(183,132,67,.035) 58%,transparent 92%)!important;
  }
  .prep-step.is-active strong{
    font-size:27px!important;
    color:#a87637!important;
  }
  .prep-step.is-active small{
    color:#a87637!important;
    opacity:1!important;
  }
  .prep-step.is-active p{
    opacity:1!important;
    color:#33261c!important;
    font-size:14px!important;
  }

  /* People / reviews / final remain visually centered after removing kickers. */
  .guests-head,
  .reviews-head,
  .final-content{
    text-align:center!important;
  }
  .guests-head h2,
  .reviews-head h2{
    max-width:10.5ch!important;
    margin-inline:auto!important;
  }
  .reviews-head em{
    color:#a87637!important;
  }
  .final-content h2{
    max-width:11ch!important;
    margin-inline:auto!important;
  }

  /* Date field: explicit inner width so iOS date controls cannot overflow. */
  .final-date-entry{
    width:calc(100% - 4px)!important;
    max-width:430px!important;
    margin-inline:auto!important;
    padding-inline:2px!important;
    overflow:visible!important;
  }
  .final-date-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  #finalDateInput{
    display:block!important;
    width:100%!important;
    inline-size:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding-left:16px!important;
    padding-right:16px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  #finalDateInput::-webkit-date-and-time-value,
  #finalDateInput::-webkit-datetime-edit{
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
}

@media (max-width:389px){
  .mobile-about-main{
    grid-template-columns:minmax(0,1fr) 132px!important;
    gap:12px!important;
  }
  .mobile-about-years strong{font-size:59px!important}
  .mobile-about-photo{max-width:148px!important}
  .mobile-about-professions{font-size:12.5px!important}
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    width:min(100%,258px)!important;
    min-width:min(100%,258px)!important;
  }
}


/* ===== V25.7 COMPACT MOBILE POLISH ===== */
@media (max-width:767px){
  /* HERO: clearer hierarchy, wider action area, cleaner CTA. */
  .hero-content{
    width:calc(100% - 20px)!important;
    max-width:440px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .hero .eyebrow{
    max-width:100%!important;
    font-size:10.5px!important;
    letter-spacing:.16em!important;
    margin-bottom:10px!important;
  }
  .hero h1{
    width:100%!important;
    max-width:none!important;
  }
  .hero h1 .hero-first{
    font-size:.50em!important;
    letter-spacing:.12em!important;
    margin-bottom:.08em!important;
  }
  .hero h1 .hero-last{
    font-size:1.02em!important;
    letter-spacing:-.055em!important;
  }
  .hero-lead{
    max-width:32ch!important;
    margin:15px auto 18px!important;
    font-size:18px!important;
    line-height:1.28!important;
    font-style:normal!important;
    font-family:var(--serif)!important;
  }
  .hero-actions{
    width:100%!important;
    gap:9px!important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    width:min(100%,340px)!important;
    min-width:0!important;
    margin-inline:auto!important;
  }
  .hero-actions .btn-primary{
    min-height:58px!important;
    height:58px!important;
    padding:0 18px 0 22px!important;
    border-radius:999px!important;
    justify-content:center!important;
    gap:14px!important;
    box-shadow:0 12px 30px rgba(0,0,0,.20)!important;
  }
  .hero-actions .btn-primary span{
    display:block!important;
    font-size:0!important;
    text-align:center!important;
  }
  .hero-actions .btn-primary span::before{
    content:"Проверить дату"!important;
    display:block!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.005em!important;
  }
  .hero-actions .btn-primary span::after{
    display:none!important;
    content:none!important;
  }
  .hero-actions .btn-primary i{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    border-radius:50%!important;
    background:rgba(23,18,13,.10)!important;
    font-size:12px!important;
  }
  .hero-actions .btn-ghost{
    min-height:50px!important;
    height:50px!important;
    border-radius:999px!important;
    padding:0 20px!important;
    font-size:13px!important;
    border-color:rgba(209,173,112,.42)!important;
    background:rgba(8,8,7,.18)!important;
  }
  .hero-cta-note{
    max-width:320px!important;
    margin:11px auto 0!important;
    font-size:10.5px!important;
    line-height:1.35!important;
    opacity:.48!important;
    text-align:center!important;
  }

  /* ABOUT: keep all credentials inside the left fact block and pull logos up. */
  .about-hero-feature{
    padding-top:48px!important;
    padding-bottom:46px!important;
  }
  .mobile-about-stage > .kicker{
    margin-bottom:12px!important;
  }
  .mobile-about-main{
    grid-template-columns:minmax(0,1fr) minmax(132px,44%)!important;
    gap:14px!important;
    align-items:stretch!important;
    padding-bottom:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .mobile-about-copy{
    padding:18px 0 16px!important;
    gap:0!important;
    justify-content:center!important;
  }
  .mobile-about-years{
    margin:0!important;
  }
  .mobile-about-years strong{
    font-size:61px!important;
  }
  .mobile-about-education{
    margin:17px 0 0!important;
    max-width:180px!important;
    font-size:11.5px!important;
    line-height:1.35!important;
  }
  .mobile-about-professions{
    margin:9px 0 0!important;
    padding:0!important;
    border:0!important;
    max-width:185px!important;
    font-size:10.5px!important;
    line-height:1.42!important;
    color:rgba(247,242,234,.66)!important;
  }
  .mobile-about-photo{
    max-width:178px!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:flex-end!important;
    border-radius:18px!important;
  }
  .mobile-about-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 30%!important;
  }
  .mobile-about-rail{
    margin-top:10px!important;
    padding-top:8px!important;
  }
  .mobile-about-rail .media-rail-set{
    gap:24px!important;
    padding-right:24px!important;
  }
  .mobile-about-rail .media-rail-set img{
    height:27px!important;
    max-width:104px!important;
  }

  /* PREP: veil on inactive items; active item is crisp and readable. */
  .prep-step,
  .prep-stage.visible .prep-step,
  .prep-step.is-locked{
    position:relative!important;
    opacity:1!important;
    filter:none!important;
    transform:translateX(0) scale(.99)!important;
    isolation:isolate!important;
    overflow:hidden!important;
    transition:transform .34s cubic-bezier(.22,.72,.18,1),background .34s ease!important;
  }
  .prep-step::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:4!important;
    pointer-events:none!important;
    background:rgba(244,238,228,.68)!important;
    backdrop-filter:blur(1.2px)!important;
    -webkit-backdrop-filter:blur(1.2px)!important;
    opacity:1!important;
    transition:opacity .34s ease!important;
  }
  .prep-step strong,
  .prep-step p,
  .prep-step small{
    position:relative!important;
    z-index:2!important;
    opacity:1!important;
  }
  .prep-step.is-active{
    transform:translateX(12px) scale(1.012)!important;
    background:linear-gradient(90deg,rgba(183,132,67,.15),rgba(183,132,67,.025) 66%,transparent 94%)!important;
  }
  .prep-step.is-active::after{
    opacity:0!important;
  }
  .prep-step.is-active strong{
    color:#9d6a2f!important;
    font-size:27px!important;
  }
  .prep-step.is-active small{
    color:#a87637!important;
  }
  .prep-step.is-active p{
    color:#2f241b!important;
    opacity:1!important;
    font-size:14px!important;
  }

  /* Compact centered section titles: two deliberate lines, not one word per row. */
  .guests,
  .reviews{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }
  .guests-head,
  .reviews-head{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
  .guests-head h2,
  .reviews-head h2{
    width:100%!important;
    max-width:none!important;
    margin-inline:auto!important;
    font-size:clamp(38px,9.7vw,44px)!important;
    line-height:.94!important;
    letter-spacing:-.042em!important;
  }
  .guests-head h2 em,
  .reviews-head h2 em{
    display:block!important;
    margin-top:2px!important;
  }
  .mobile-photo-cloud{
    margin-top:18px!important;
  }
  .mobile-reviews-meta{
    margin-top:18px!important;
  }

  /* FINAL: compact centered conversion and centered support copy. */
  .final-portrait{
    padding-top:50px!important;
    padding-bottom:44px!important;
  }
  .final-content{
    text-align:center!important;
  }
  .final-content h2{
    max-width:10.5ch!important;
    font-size:clamp(40px,10.5vw,48px)!important;
    line-height:.94!important;
  }
  .final-content>h2+p{
    max-width:28ch!important;
    margin:18px auto 0!important;
  }
  .final-date-entry{
    margin-top:24px!important;
  }
  .final-date-entry>label{
    margin-bottom:10px!important;
  }
  .final-date-submit{
    width:212px!important;
    inline-size:212px!important;
    min-width:212px!important;
    max-width:100%!important;
    min-height:54px!important;
    height:54px!important;
    border-radius:999px!important;
    padding:0 18px!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
  .final-date-submit span{
    white-space:nowrap!important;
    text-align:center!important;
  }
  .final-cta-note{
    width:100%!important;
    margin:14px auto 0!important;
    text-align:center!important;
    font-size:11px!important;
    opacity:.55!important;
  }
  .final-content .socials{
    justify-content:center!important;
    margin-top:20px!important;
  }
}

html.is-phone .prep-step::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  pointer-events:none!important;
  background:rgba(244,238,228,.68)!important;
  backdrop-filter:blur(1.2px)!important;
  -webkit-backdrop-filter:blur(1.2px)!important;
  opacity:1!important;
  transition:opacity .34s ease!important;
}
html.is-phone .prep-step.is-active::after{
  opacity:0!important;
}
html.is-phone .final-cta-note{
  width:100%!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* ===== V25.8 PREMIUM MOBILE REFINEMENT ===== */
@media (max-width:767px){
  /* Remove text-mask clipping on key mobile headings.
     Instrument Serif overshoots its glyph box slightly on iOS. */
  .hero h1.reveal-fast,
  .hero h1,
  .final-content h2,
  .final-content.reveal h2,
  .final-content.reveal.visible h2{
    clip-path:none!important;
    -webkit-clip-path:none!important;
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  .hero h1{
    width:calc(100% - 12px)!important;
    max-width:420px!important;
    margin-inline:auto!important;
    padding-inline:6px!important;
    box-sizing:border-box!important;
  }
  .hero h1 .hero-last{
    display:block!important;
    width:100%!important;
    white-space:nowrap!important;
    font-size:.98em!important;
    letter-spacing:-.038em!important;
    line-height:.90!important;
  }
  .hero h1 .hero-first{
    line-height:1!important;
  }

  /* Hero quote: editorial pull-quote instead of another centered paragraph. */
  .hero-quote{
    box-sizing:border-box!important;
    width:min(100%,322px)!important;
    max-width:322px!important;
    margin:18px auto 20px!important;
    padding:2px 0 2px 15px!important;
    border-left:1px solid rgba(214,173,105,.82)!important;
    text-align:left!important;
    font-family:var(--serif)!important;
    font-size:17px!important;
    line-height:1.34!important;
    font-style:italic!important;
    color:rgba(247,242,234,.88)!important;
  }

  /* CTA system: one primary editorial pill + one quiet media link. */
  .hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
  }
  .hero-actions .cta-main{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
    width:228px!important;
    min-width:228px!important;
    max-width:228px!important;
    min-height:56px!important;
    height:56px!important;
    padding:0 12px 0 22px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.13)!important;
    background:#d9b56f!important;
    color:#17120d!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    box-shadow:
      0 12px 30px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.25)!important;
    transition:transform .28s cubic-bezier(.22,.72,.18,1),box-shadow .28s ease,background .28s ease!important;
  }
  .hero-actions .cta-main::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    top:-40%!important;
    bottom:-40%!important;
    left:-34%!important;
    width:24%!important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)!important;
    transform:skewX(-18deg) translateX(-240%)!important;
    animation:v258Sheen 6.8s ease-in-out infinite!important;
    pointer-events:none!important;
  }
  .hero-actions .cta-main span{
    display:block!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-align:left!important;
  }
  .hero-actions .cta-main span::before{
    content:"Проверить дату"!important;
    display:block!important;
    font-size:15px!important;
  }
  .hero-actions .cta-main span::after{
    display:none!important;
    content:none!important;
  }
  .hero-actions .cta-main i{
    margin:0!important;
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:rgba(23,18,13,.10)!important;
    font-size:12px!important;
    transition:transform .28s cubic-bezier(.22,.72,.18,1),background .28s ease!important;
  }
  .hero-actions .cta-main:active{
    transform:scale(.975)!important;
    box-shadow:0 7px 18px rgba(0,0,0,.20)!important;
  }
  .hero-actions .cta-main:active i{
    transform:translate(2px,-2px)!important;
    background:rgba(23,18,13,.16)!important;
  }

  .hero-actions .hero-showreel-link{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:9px 4px 7px 26px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#f7f2ea!important;
    box-shadow:none!important;
    font-family:var(--sans)!important;
    font-size:12.5px!important;
    font-weight:600!important;
    letter-spacing:.015em!important;
    opacity:.88!important;
  }
  .hero-actions .hero-showreel-link::before{
    content:"▶"!important;
    position:absolute!important;
    left:2px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:17px!important;
    height:17px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(214,173,105,.55)!important;
    border-radius:50%!important;
    color:#d6ad69!important;
    font-size:7px!important;
  }
  .hero-actions .hero-showreel-link::after{
    content:""!important;
    position:absolute!important;
    left:26px!important;
    right:4px!important;
    bottom:2px!important;
    height:1px!important;
    background:linear-gradient(90deg,rgba(214,173,105,.72),rgba(214,173,105,.08))!important;
    transform-origin:left center!important;
    transform:scaleX(.72)!important;
    transition:transform .28s ease!important;
  }
  .hero-actions .hero-showreel-link:active::after{
    transform:scaleX(1)!important;
  }
  .hero-cta-note{
    max-width:280px!important;
    margin:9px auto 0!important;
    font-size:10px!important;
    opacity:.46!important;
  }

  @keyframes v258Sheen{
    0%,72%{transform:skewX(-18deg) translateX(-240%)}
    88%,100%{transform:skewX(-18deg) translateX(760%)}
  }

  /* ABOUT: bring the facts up and make the text easier to read. */
  .mobile-about-main{
    align-items:start!important;
  }
  .mobile-about-copy{
    justify-content:flex-start!important;
    padding:10px 0 10px!important;
  }
  .mobile-about-years{
    margin-top:0!important;
  }
  .mobile-about-years strong{
    font-size:64px!important;
  }
  .mobile-about-years span{
    font-size:10.5px!important;
    line-height:1.22!important;
  }
  .mobile-about-education{
    margin-top:14px!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .mobile-about-professions{
    margin-top:8px!important;
    max-width:190px!important;
    font-size:12px!important;
    line-height:1.42!important;
    color:rgba(247,242,234,.76)!important;
  }
  .mobile-about-photo{
    align-self:start!important;
  }

  /* Logo ticker: only as tall as the logos need. */
  .mobile-about-rail{
    height:42px!important;
    min-height:42px!important;
    margin-top:8px!important;
    padding:4px 0!important;
    display:block!important;
    border-top:0!important;
  }
  .mobile-about-rail .media-rail-window,
  .mobile-about-rail .media-rail-track,
  .mobile-about-rail .media-rail-set{
    height:34px!important;
    min-height:34px!important;
    align-items:center!important;
  }
  .mobile-about-rail .media-rail-set{
    gap:22px!important;
    padding-right:22px!important;
  }
  .mobile-about-rail .media-rail-set img{
    height:27px!important;
    max-height:27px!important;
    width:auto!important;
    max-width:112px!important;
  }

  /* Preparation heading picks up the same editorial contrast as "Не конкурсы". */
  .prep-intro h2{
    max-width:12ch!important;
    margin-inline:auto!important;
    text-align:center!important;
    font-size:clamp(40px,10.5vw,48px)!important;
    line-height:.94!important;
  }
  .prep-intro h2 .prep-accent{
    display:inline-block!important;
    color:#a87637!important;
    font-style:italic!important;
  }

  /* People title: one gold phrase, no additional wrapping tricks. */
  .guests-head h2 em{
    color:#d6ad69!important;
    font-style:italic!important;
  }

  /* Reviews accent needs more contrast on the cream background. */
  .reviews-head h2 em{
    color:#9a642a!important;
    font-style:italic!important;
  }

  /* Final title: exactly two deliberate lines and no glyph clipping. */
  .final-content h2{
    width:100%!important;
    max-width:370px!important;
    padding-inline:8px!important;
    box-sizing:border-box!important;
    margin-inline:auto!important;
    font-size:clamp(39px,10vw,45px)!important;
    line-height:.96!important;
    letter-spacing:-.036em!important;
  }
  .final-content h2 em{
    display:block!important;
    white-space:nowrap!important;
    color:#d6ad69!important;
  }
  .final-content>h2+p{
    max-width:30ch!important;
    font-size:17px!important;
    line-height:1.42!important;
  }

  /* Same premium CTA treatment in the final conversion. */
  .final-date-submit{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
    width:228px!important;
    inline-size:228px!important;
    min-width:228px!important;
    max-width:228px!important;
    min-height:56px!important;
    height:56px!important;
    border-radius:999px!important;
    padding:0 12px 0 22px!important;
    background:#d9b56f!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:
      0 12px 30px rgba(0,0,0,.20),
      inset 0 1px 0 rgba(255,255,255,.25)!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .final-date-submit::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    top:-40%!important;
    bottom:-40%!important;
    left:-34%!important;
    width:24%!important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent)!important;
    transform:skewX(-18deg) translateX(-240%)!important;
    animation:v258Sheen 7.4s ease-in-out infinite!important;
    pointer-events:none!important;
  }
  .final-date-submit span{
    font-size:15px!important;
    font-weight:700!important;
    text-align:left!important;
  }
  .final-date-submit i{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:rgba(23,18,13,.10)!important;
    font-size:12px!important;
    transition:transform .28s cubic-bezier(.22,.72,.18,1)!important;
  }
  .final-date-submit:active{
    transform:scale(.975)!important;
  }
  .final-date-submit:active i{
    transform:translate(2px,-2px)!important;
  }
}

@media (max-width:389px){
  .hero h1 .hero-last{
    font-size:.94em!important;
    letter-spacing:-.034em!important;
  }
  .hero-quote{
    width:min(100%,306px)!important;
    max-width:306px!important;
    font-size:16.5px!important;
  }
  .mobile-about-education{font-size:12.5px!important}
  .mobile-about-professions{font-size:11.5px!important}
  .final-content h2{
    max-width:348px!important;
    font-size:39px!important;
  }
}


/* ===== V25.9 MOBILE COMPACTNESS ===== */
@media (max-width:767px){
  /* HERO CTA — one label only, no generated duplicate text. */
  .hero-actions .cta-main{
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 12px 0 20px!important;
  }
  .hero-actions .cta-main span{
    display:block!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-align:left!important;
  }
  .hero-actions .cta-main span::before,
  .hero-actions .cta-main span::after{
    display:none!important;
    content:none!important;
  }
  .hero-actions .cta-main i{
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }

  /* ABOUT — vertically centre the credential stack beside the portrait. */
  .about-hero-feature{
    padding-bottom:28px!important;
  }
  .mobile-about-main{
    align-items:stretch!important;
  }
  .mobile-about-copy{
    align-self:stretch!important;
    justify-content:center!important;
    padding:10px 0!important;
  }
  .mobile-about-years{
    margin:0!important;
  }
  .mobile-about-education{
    margin-top:13px!important;
    font-size:13px!important;
    line-height:1.34!important;
  }
  .mobile-about-professions{
    margin-top:8px!important;
    font-size:12px!important;
    line-height:1.38!important;
  }
  .mobile-about-photo{
    align-self:stretch!important;
    height:auto!important;
  }

  /* Logo ticker should visually be only slightly taller than its logos. */
  .mobile-about-rail{
    height:34px!important;
    min-height:34px!important;
    margin-top:6px!important;
    padding:1px 0!important;
    overflow:hidden!important;
  }
  .mobile-about-rail .media-rail-window,
  .mobile-about-rail .media-rail-track,
  .mobile-about-rail .media-rail-set{
    height:32px!important;
    min-height:32px!important;
  }
  .mobile-about-rail .media-rail-set{
    gap:20px!important;
    padding-right:20px!important;
  }
  .mobile-about-rail .media-rail-set img{
    height:27px!important;
    max-height:27px!important;
  }

  /* PREPARATION — use the available width, avoid one-word lines. */
  .prep-intro{
    width:calc(100% - 28px)!important;
    max-width:420px!important;
    margin-inline:auto!important;
  }
  .prep-intro h2{
    width:100%!important;
    max-width:360px!important;
    margin-inline:auto!important;
    font-size:clamp(37px,9.7vw,43px)!important;
    line-height:.96!important;
    letter-spacing:-.036em!important;
    text-align:center!important;
  }
  .prep-intro h2 .prep-accent{
    display:inline!important;
  }

  /* PEOPLE — keep the title broad and compact. */
  .guests-head{
    width:calc(100% - 28px)!important;
  }
  .guests-head h2{
    max-width:360px!important;
    font-size:clamp(37px,9.6vw,43px)!important;
    line-height:.95!important;
  }

  /* REVIEWS — exactly two intentional lines. */
  .reviews-head{
    width:calc(100% - 28px)!important;
  }
  .reviews-head h2{
    max-width:360px!important;
    font-size:clamp(37px,9.4vw,42px)!important;
    line-height:.95!important;
  }
  .reviews-head .reviews-line{
    display:block!important;
    white-space:nowrap!important;
  }
  .reviews-head .reviews-line em{
    display:inline!important;
    margin:0!important;
  }

  /* FINAL — two clean lines without clipped edge glyphs. */
  .final-content h2{
    width:100%!important;
    max-width:100%!important;
    padding-inline:6px!important;
    font-size:clamp(36px,9.2vw,41px)!important;
    line-height:.97!important;
    letter-spacing:-.032em!important;
  }
  .final-content h2 .final-title-line{
    display:block!important;
    white-space:nowrap!important;
  }
  .final-content h2 em.final-title-line{
    color:#d6ad69!important;
  }

  /* Final CTA: match the corrected hero CTA. */
  .final-date-submit{
    width:220px!important;
    inline-size:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 12px 0 20px!important;
  }
  .final-date-submit span{
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .final-date-submit i{
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }
}

@media (max-width:389px){
  .prep-intro h2{
    max-width:346px!important;
    font-size:36px!important;
  }
  .reviews-head h2{
    max-width:346px!important;
    font-size:36px!important;
  }
  .final-content h2{
    font-size:35.5px!important;
  }
  .mobile-about-professions{
    font-size:11.5px!important;
  }
}


/* ===== V25.10 BUTTON + ABOUT SPACING FIX ===== */
@media (max-width:767px){
  /* CTA icon: keep the arrow, remove the circular badge that was colliding
     with the label on real iPhone. */
  .hero-actions .cta-main,
  .final-date-submit{
    justify-content:center!important;
    gap:10px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .hero-actions .cta-main i,
  .final-date-submit i{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:none!important;
    display:inline-block!important;
    font-size:14px!important;
    line-height:1!important;
    transform:none!important;
  }
  .hero-actions .cta-main:active i,
  .final-date-submit:active i{
    transform:translate(2px,-2px)!important;
  }

  /* About: tighter ending; logo rail hugs the logos equally top/bottom. */
  .about-hero-feature{
    padding-bottom:8px!important;
  }
  .mobile-about-stage>.kicker{
    margin-bottom:10px!important;
  }
  .mobile-about-rail{
    height:31px!important;
    min-height:31px!important;
    margin-top:5px!important;
    margin-bottom:0!important;
    padding:0!important;
  }
  .mobile-about-rail .media-rail-window,
  .mobile-about-rail .media-rail-track,
  .mobile-about-rail .media-rail-set{
    height:31px!important;
    min-height:31px!important;
  }
  .mobile-about-rail .media-rail-set{
    gap:20px!important;
    padding-right:20px!important;
  }
  .mobile-about-rail .media-rail-set img{
    height:27px!important;
    max-height:27px!important;
  }
}


/* ===== V25.10.1 TERRA LOGO FIX =====
   Terra source is a JPG with a white background. Invert it to black and use
   screen blending so the box disappears against the dark About section. */
@media (max-width:767px){
  .mobile-about-rail .rail-terra{
    filter:grayscale(1) invert(1) contrast(1.75)!important;
    mix-blend-mode:screen!important;
    opacity:.82!important;
    background:transparent!important;
  }
}


/* ===== V25.10.3 LOCAL TERRA LOGO — PHONE ONLY ===== */
html.is-phone .rail-terra{
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:.92!important;
  background:transparent!important;
}
