/*
 * Gagarin R3 mobile reference layer.
 * Owner-approved 390 px compositions; desktop is intentionally untouched.
 */
.mobile-confirmed-rail,
.mobile-rail-pagination,
.mobile-request-steps,
.mobile-form-step-heading,
.mobile-request-preview,
.mobile-submit-label,
.mobile-cta-label,
.mobile-field-label,
[data-mobile-only],
[data-mobile-role="blog-masthead-image"] { display: none; }

@media (max-width: 900px) {
  html { scrollbar-width: none; }
  html::-webkit-scrollbar { display: none; }
  :root {
    --m-bg: #030708;
    --m-panel: #081218;
    --m-panel-2: #0d171c;
    --m-line: #354047;
    --m-muted: #a9b0b4;
    --m-white: #f4f3ef;
  }

  body { background: var(--m-bg); color: var(--m-white); }
  main, .site-header, .site-footer { width: 100%; max-width: 100%; }
  main { overflow: clip; }
  .site-header {
    position: sticky !important;
    top: 0;
    z-index: 80;
    min-height: 52px !important;
    padding: 0 16px !important;
    border: 0;
    border-bottom: 1px solid #263137;
    border-radius: 0 !important;
    background: rgba(3, 8, 10, .97);
  }
  .page-about .site-header { position: static !important; }
  .brand, .brand span {
    color: var(--m-white);
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: -.02em;
  }
  .brand { font-size: 0 !important; }
  .brand::before { content: "Юрий Гагарин"; color: var(--m-white); font-size: 15px; font-weight: 500; }
  .brand > span { display: none; }
  .menu-toggle {
    display: grid !important;
    place-items: center;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .menu-icon, .menu-icon::before, .menu-icon::after { width: 22px; height: 1px; background: #fff; }
  .site-nav { inset: 52px 0 auto !important; padding: 12px 16px 18px; background: #061014; border-color: var(--m-line); }
  .site-nav a { min-height: 44px; font-size: 14px; }
  .section-dark, .section-light, .section-gray, .section-graphite {
    padding: 30px 17px;
    border-inline: 0;
    background: var(--m-bg);
    color: var(--m-white);
  }
  .section-gray, .section-graphite { background: #071116; }
  .section-heading { display: block; margin: 0 0 18px; padding: 0 !important; }
  .section-heading h2, h2 { font-size: 24px; line-height: 1.08; letter-spacing: -.035em; }
  .section-heading > p:last-child { display: none; }
  .section-no { margin-bottom: 7px; color: #a4abb0; font-size: 10px; letter-spacing: .08em; }
  .eyebrow { margin-bottom: 9px; color: #b5bbbe; font-size: 9px; letter-spacing: .1em; }
  .button { min-height: 44px; border-radius: 4px; font-size: 13px; }
  .button-light { background: #f0efec !important; border-color: #f0efec !important; color: #090b0c !important; }
  .breadcrumbs { padding: 4px 14px; border-inline: 0; background: var(--m-bg); }
  .breadcrumbs a, .breadcrumbs span { min-height: 36px; padding-inline: 3px; color: #aab1b5; font-size: 10px; }
  .breadcrumbs a { min-height: 44px; }
  .site-footer { padding: 25px 17px 112px; border-inline: 0; background: var(--m-bg); font-size: 11px; }
  .site-footer p { font-size: 11px; }
  .fixed-actions {
    left: 10px;
    right: 10px;
    bottom: max(8px, env(safe-area-inset-bottom));
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 4px;
    border: 1px solid #263137;
    border-radius: 5px;
    background: rgba(4, 9, 11, .94);
    backdrop-filter: blur(12px);
  }
  .fixed-actions a { min-height: 44px; padding: 6px 8px; border-radius: 3px; box-shadow: none; font-size: 11px; }
  .fixed-actions a:first-child { background: #0b151a; color: #f3f2ef; }
  .fixed-actions a:last-child { background: #f0efec; color: #090b0c; }
  .fixed-actions b { display: inline; }
  .faq-list { border-color: var(--m-line); }
  .faq-list article { border-color: var(--m-line); }
  .faq-list button { min-height: 45px; padding: 10px 8px; color: var(--m-white); font-size: 13px; font-weight: 500; }
  .faq-list [role=region] { color: #b7bdc0; font-size: 12px; }
  .related-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 74%; grid-template-columns: none !important; gap: 7px; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .related-grid a { min-height: 142px !important; padding: 13px; border-color: var(--m-line); border-radius: 4px; background: #0a1419; scroll-snap-align: start; }
  .related-grid h3 { margin-top: 37px; font-size: 16px; }

  /* Home — portrait first, editorial title and horizontal rails. */
  .mobile-home-page main { display: flex; flex-direction: column; }
  .mobile-home-page .mobile-home-hero { display: flex; min-height: 0; flex-direction: column; padding: 0; background: var(--m-bg); }
  .mobile-home-page .mobile-hero-portrait { position: relative; inset: auto; z-index: 0; order: 1; width: 100%; height: 315px; min-height: 315px; }
  .mobile-home-page .mobile-portrait-frame::after { background: linear-gradient(0deg, #030708 0%, rgba(3,7,8,.15) 35%, transparent 68%); }
  .mobile-home-page .mobile-portrait-frame img { object-position: 50% 15%; }
  .mobile-home-page .mobile-hero-copy { display: flex; order: 2; width: 100%; flex-direction: column; padding: 32px 17px 22px; }
  .mobile-home-page .mobile-hero-title { order: 1; }
  .mobile-home-page .mobile-hero-title .eyebrow { margin-bottom: 8px; }
  .mobile-home-page .mobile-hero-title h1 { max-width: 340px; color: #fff; font-size: 56px; font-weight: 650; line-height: .9; letter-spacing: -.055em; }
  .mobile-home-page .mobile-hero-title h1 span { color: #fff; }
  .mobile-home-page .hero-rule { width: 24px; height: 2px; margin: 12px 0 10px; }
  .mobile-home-page .hero-lead { max-width: 260px; margin: 0 0 13px; font-size: 16px; line-height: 1.42; }
  .mobile-home-page .mobile-hero-actions { order: 2; display: grid; grid-template-columns: 1fr; gap: 7px; width: 100%; }
  .mobile-home-page .mobile-hero-actions .button { min-height: 44px; }
  .mobile-home-page .mobile-hero-social { display: none; }
  .mobile-home-page .mobile-hero-pillars { order: 3; display: grid; grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none; gap: 7px; max-width: none; margin: 15px -17px 0; padding: 0 17px 3px; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .mobile-home-page .mobile-hero-pillars .hero-pillar-group { display: grid; grid-template-columns: 1fr 1fr; min-height: 116px; border: 1px solid var(--m-line); border-radius: 4px; background: #0a1419; scroll-snap-align: start; }
  .mobile-home-page .mobile-hero-pillars .hero-pillar { padding: 12px 10px; }
  .mobile-home-page .mobile-hero-pillars .hero-pillar + .hero-pillar { border-left: 1px solid var(--m-line); }
  .mobile-home-page .mobile-hero-pillars .hero-pillar > span { font-size: 25px; }
  .mobile-home-page .mobile-hero-pillars strong { font-size: 12px; }
  .mobile-home-page .mobile-hero-pillars small { font-size: 9px; line-height: 1.25; }
  .mobile-home-page .language-band { order: 2; align-self: center; width: calc(100% - 34px); margin-top: 5px; padding: 13px 12px; border: 1px solid var(--m-line); border-radius: 4px; background: #081217; }
  .mobile-home-page .language-band::before { display: none; }
  .mobile-home-page .language-band .hero-answer { margin: 0; color: #d7dadb; font-size: 11px; line-height: 1.42; }
  .mobile-home-page .approach { order: 3; padding: 24px 17px 8px; }
  .mobile-home-page .approach h2 { font-size: 16px; }
  .mobile-home-page .process-grid { margin-left: 38px; }
  .mobile-home-page .process-grid li { min-height: 61px; border-color: var(--m-line); background: #0a1419; }
  .mobile-home-page .mobile-format-rail { order: 4; padding-top: 20px; }
  .mobile-home-page .mobile-format-rail .section-heading h2 { font-size: 0; }
  .mobile-home-page .mobile-format-rail .section-heading h2::before { content: "Формат мероприятия"; font-size: 17px; font-weight: 400; }
  .mobile-home-page [data-mobile-area="horizontal-service-cards"] { display: grid; grid-auto-flow: column; grid-auto-columns: 76%; grid-template-columns: none; gap: 7px; margin-inline: -17px; padding: 0 17px 3px; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .mobile-home-page [data-mobile-area="horizontal-service-cards"] > a, .mobile-home-page [data-mobile-area="horizontal-service-cards"] .service-featured { min-height: 148px; height: 148px; padding: 14px; border-radius: 4px; scroll-snap-align: start; }
  .mobile-home-page [data-mobile-area="horizontal-service-cards"] h3 { margin: 52px 0 4px; font-size: 17px; }
  .mobile-home-page [data-mobile-area="horizontal-service-cards"] p { font-size: 10px; }
  .mobile-home-page .showreel { order: 5; padding-top: 20px; }
  .mobile-home-page .why { order: 6; }
  .mobile-home-page .boundaries { order: 7; }
  .mobile-home-page .facts { order: 8; }
  .mobile-home-page .order { order: 9; }
  .mobile-home-page .scope { order: 10; }
  .mobile-home-page .conditions { order: 11; }
  .mobile-home-page .proof-grid { order: 12; }
  .mobile-home-page .evidence { order: 13; }
  .mobile-home-page .media-gallery { order: 14; }
  .mobile-home-page .faq { order: 15; }
  .mobile-home-page .request { order: 16; }
  .mobile-home-page .media-rail { grid-auto-columns: 77%; }
  .mobile-home-page .media-rail figure, .mobile-home-page .media-rail img { min-height: 210px; height: 210px; }

  /* Wedding — full-width photo, raised panel and compact modular sections. */
  .mobile-wedding-page [data-mobile-area="raised-hero-breadcrumbs"] { display: none; }
  .mobile-wedding-page .desktop-wedding-hero { display: flex !important; min-height: 0 !important; flex-direction: column; padding: 0 !important; overflow: visible; }
  .mobile-wedding-page .desktop-wedding-hero-media { position: relative; width: 100%; height: 250px; min-height: 250px; }
  .mobile-wedding-page .desktop-wedding-hero-figure { height: 100%; margin: 0; }
  .mobile-wedding-page .desktop-wedding-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
  .mobile-wedding-page .desktop-wedding-hero-panel { position: relative; z-index: 2; order: 2; align-self: center; width: calc(100% - 30px); margin: -22px auto 0; padding: 17px 18px 19px !important; border: 1px solid var(--m-line); border-radius: 7px; background: #09151a; }
  .mobile-wedding-page .mobile-panel-breadcrumb { display: block; margin: 0 0 12px; color: #9da6aa; font-size: 9px; letter-spacing: .02em; }
  .mobile-wedding-page .desktop-wedding-hero-panel h1 { font-size: 34px !important; line-height: .98; overflow-wrap: normal; }
  .mobile-wedding-page .desktop-wedding-hero-panel h1 { font-size: 28px !important; font-weight: 400; line-height: 1.18; letter-spacing: -.025em; }
  .mobile-wedding-page .desktop-wedding-hero-panel .eyebrow,
  .mobile-wedding-page .desktop-wedding-hero-panel .detail-lead,
  .mobile-wedding-page .desktop-wedding-hero-panel > p:not(.eyebrow):not(.detail-lead):not(.mobile-service-lead) { display: none; }
  .mobile-wedding-page .mobile-service-lead { display: block; margin: 13px 0 4px; color: #c5cacc; font-size: 13px; line-height: 1.45; }
  .mobile-wedding-page .mobile-service-actions { display: grid; gap: 7px; margin-top: 14px; }
  .mobile-wedding-page .desktop-wedding-hero-panel .button { width: 100%; }
  .mobile-wedding-page .desktop-wedding-hero-panel > .button { margin-top: 7px; }
  .mobile-wedding-page .desktop-wedding-hero-panel > .button:first-of-type { margin-top: 14px; }
  .mobile-wedding-page .mobile-cta-label { display: inline; }
  .mobile-wedding-page .desktop-cta-label { display: none; }
  .mobile-wedding-page a[data-mobile-only] { display: inline-flex; }
  .mobile-wedding-page .mobile-service-actions .button-ghost { border-color: #59636a; background: transparent; color: #f2f2ef; }
  .mobile-wedding-page .desktop-wedding-pain-solution { display: grid; grid-template-columns: 1fr !important; gap: 8px; padding: 16px 15px 22px; }
  .mobile-wedding-page .desktop-wedding-pain-solution { padding-top: 4px; }
  .mobile-wedding-page .desktop-wedding-pains-copy, .mobile-wedding-page .desktop-wedding-pains-visual { margin: 0; padding: 18px; border: 1px solid var(--m-line); border-radius: 6px; background: #0a151a; }
  .mobile-wedding-page .desktop-wedding-pains-copy h2 { font-size: 22px; }
  .mobile-wedding-page .desktop-wedding-pains-copy h2 { font-size: 0; }
  .mobile-wedding-page .desktop-wedding-pains-copy h2::before { content: "Ваши заботы"; font-size: 18px; }
  .mobile-wedding-page .desktop-wedding-pains-copy .lined-items li { min-height: 48px; padding: 11px 0; border-color: var(--m-line); font-size: 13px; }
  .mobile-wedding-page .desktop-wedding-pains-visual { min-height: 126px; overflow: hidden; padding: 18px; }
  .mobile-wedding-page .desktop-wedding-pains-visual img { display: none; }
  .mobile-wedding-page .desktop-wedding-pains-visual::before { content: "Моё решение\A — Я беру это на себя\A — Собираю живую программу без шаблонов\A — Держу тайминг и атмосферу под контролем"; white-space: pre-line; color: #d8dcdd; font-size: 12px; line-height: 1.45; }
  .mobile-wedding-page .number-cards { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; grid-template-columns: none !important; gap: 7px; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .mobile-wedding-page .number-cards li { min-height: 150px; padding: 16px; border-color: var(--m-line); border-radius: 5px; background: #0a151a; scroll-snap-align: start; }
  .mobile-wedding-page .number-cards p { margin-top: 45px; font-size: 15px; }
  .mobile-wedding-page .advantage-grid { grid-template-columns: 1fr !important; gap: 6px; }
  .mobile-wedding-page .advantage-grid li { min-height: 66px; padding: 15px; border-color: var(--m-line); border-radius: 5px; background: #0a151a; color: #f2f2ef; font-size: 14px; }
  .mobile-wedding-page .split-section { grid-template-columns: 1fr !important; gap: 14px; }
  .mobile-wedding-page .facts-grid { gap: 6px; }
  .mobile-wedding-page .facts-grid article { padding: 16px; border-color: var(--m-line); border-radius: 5px; background: #0a151a; }
  .mobile-wedding-page .facts-grid strong { font-size: 28px; }

  /* About — supplied portrait first, then compact factual modules. */
  .page-about > main > .breadcrumbs { display: none; }
  .page-about .about-detail { display: flex !important; min-height: 0 !important; flex-direction: column; padding: 0 !important; }
  .page-about [data-mobile-hero-photo] { order: 1 !important; width: 100%; height: 310px !important; min-height: 310px !important; border: 0; border-radius: 0; }
  .page-about [data-mobile-hero-photo] img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
  .page-about [data-mobile-hero-copy] { order: 2 !important; padding: 22px 17px 26px !important; }
  .page-about [data-mobile-hero-copy] .about-intro { margin: 0; font-size: 14px; }
  .page-about [data-mobile-hero-copy] h1 { margin: 5px 0 8px; font-size: 0 !important; line-height: 1.1; }
  .page-about [data-mobile-hero-copy] h1::before { content: "Юрий Gagarin"; color: #fff; font-size: 27px; font-weight: 400; letter-spacing: -.03em; }
  .page-about [data-mobile-hero-copy] h1 span { display: none; }
  .page-about .about-stage-name { margin-bottom: 13px; font-size: 0; }
  .page-about .about-stage-name::before { content: "Gagarin — моё сценическое имя"; color: #bec4c6; font-size: 14px; }
  .page-about [data-mobile-hero-copy] .detail-lead { font-size: 12px; line-height: 1.42; }
  .page-about [data-mobile-hero-copy] .button { width: 100%; }
  .page-about .about-confirmed-grid { display: none; }
  .page-about .about-confirmed { padding-top: 15px; }
  .page-about .about-confirmed .section-heading { margin-bottom: 12px; }
  .page-about .about-confirmed .section-no { display: none; }
  .page-about .about-confirmed .section-heading h2 { font-size: 0; }
  .page-about .about-confirmed .section-heading h2::before { content: "Подтверждённые факты"; font-size: 21px; font-weight: 400; }
  .page-about .mobile-confirmed-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; gap: 7px; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .page-about .mobile-confirmed-card { min-height: 128px; padding: 16px; border: 1px solid var(--m-line); border-radius: 5px; background: #0b151a; scroll-snap-align: start; }
  .page-about .mobile-confirmed-card span { font-size: 24px; }
  .page-about .mobile-confirmed-card p { margin: 12px 0 0; font-size: 13px; }
  .page-about .mobile-rail-pagination { display: flex; justify-content: center; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; }
  .page-about .mobile-rail-pagination li { width: 5px; height: 5px; overflow: hidden; border-radius: 50%; background: #465057; color: transparent; }
  .page-about .mobile-rail-pagination li[aria-current] { background: #fff; }
  .page-about .story-section .prose-columns, .page-about .language-section .prose-columns { grid-template-columns: 1fr; }
  .page-about .prose-columns p { font-size: 14px; }
  .page-about .format-links { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; grid-template-columns: none; gap: 7px; overflow-x: auto; }
  .page-about .format-links a { min-height: 112px; align-items: flex-end; border-color: var(--m-line); border-radius: 5px; background: #0a151a; }

  /* Contacts — compact intro, swipeable channels and three-step request. */
  .page-contact > main > .breadcrumbs,
  .page-contact .contact-formats { display: none; }
  .page-contact .contact-hero { display: block !important; min-height: 0; padding: 18px 17px 14px !important; background: var(--m-bg) !important; }
  .page-contact .contact-hero .eyebrow,
  .page-contact .contact-hero .detail-lead { display: none; }
  .page-contact .contact-hero h1 { margin-bottom: 13px; font-size: 30px !important; font-weight: 400; line-height: 1.16; letter-spacing: -.03em; }
  .page-contact .contact-hero .detail-lead { max-width: 340px; font-size: 13px; line-height: 1.4; }
  .page-contact .mobile-contact-lead { display: block; max-width: 340px; margin: 0; color: #c9cdcf; font-size: 13px; line-height: 1.42; }
  .page-contact .mobile-contact-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; grid-template-columns: none !important; gap: 7px; margin: 20px -17px 0; padding: 0 17px 3px; overflow-x: auto; scroll-snap-type: inline mandatory; }
  .page-contact .mobile-contact-rail a { box-sizing: border-box; height: 122px; min-height: 122px; padding: 10px 12px; overflow: hidden; border-color: var(--m-line); border-radius: 5px; background: #0a151a; scroll-snap-align: start; }
  .page-contact .mobile-contact-rail strong { font-size: 16px; }
  .page-contact .mobile-contact-rail em { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 10px; border: 1px solid #626b70; border-radius: 4px; color: #eef0ef; font-size: 11px; font-style: normal; }
  .page-contact .mobile-request-steps { display: block; padding: 12px 17px; }
  .page-contact .mobile-request-steps ol { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; padding: 0; list-style: none; }
  .page-contact .mobile-request-steps li { position: relative; display: grid; justify-items: center; gap: 5px; color: #899298; text-align: center; font-size: 9px; }
  .page-contact .mobile-request-steps li:not(:last-child)::after { content: ""; position: absolute; top: 13px; left: 64%; width: 72%; height: 1px; background: #465159; }
  .page-contact .mobile-request-steps b { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #465159; border-radius: 50%; }
  .page-contact .mobile-request-steps [aria-current] { color: #fff; }
  .page-contact .mobile-request-steps [aria-current] b { background: #f0efec; color: #090b0c; }
  .page-contact .request { display: block !important; padding-top: 8px; }
  .page-contact .request-copy { display: none; }
  .page-contact .contact-request-workspace { display: block; }
  .page-contact .lead-form { display: grid; grid-template-columns: 1fr; gap: 0; padding: 17px 15px; border: 1px solid var(--m-line); border-radius: 6px; background: #091419; color: #f3f2ef; }
  .page-contact .mobile-form-step-heading { display: block; }
  .page-contact .mobile-form-step-heading h2 { margin-bottom: 7px; font-size: 20px; }
  .page-contact .mobile-form-step-heading p { color: #aeb5b8; font-size: 11px; }
  .page-contact .form-row label { color: #d9dcdd; font-size: 11px; }
  .page-contact .form-row { margin-bottom: 12px; }
  .page-contact .field-error:empty { display: none; }
  .page-contact .form-row input, .page-contact .form-row select, .page-contact .form-row textarea { min-height: 46px; border-color: #465159; border-radius: 4px; background: #071116; color: #fff; }
  .page-contact .consent { color: #cbd0d2; font-size: 10px; }
  .page-contact .mobile-submit-label { display: inline; }
  .page-contact .desktop-submit-label { display: none; }
  .page-contact .submit-button { width: 100%; background: #f0efec; color: #090b0c; }
  .page-contact .mobile-request-preview { display: block; margin-top: 8px; border: 1px solid var(--m-line); border-radius: 5px; background: #0a151a; }
  .page-contact .mobile-request-preview summary { display: flex; align-items: center; min-height: 48px; gap: 9px; padding: 10px 13px; cursor: pointer; }
  .page-contact .mobile-request-preview div { padding: 0 13px 12px; color: #aeb5b8; font-size: 11px; }
  .page-contact .desktop-request-preview { display: none; }
  .page-contact .mobile-field-label { display: inline; }
  .page-contact .desktop-field-label { display: none; }
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="format"] { order: 1; }
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="date"] { order: 2; }
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="name"],
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="phone"],
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="guests"],
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="languages"],
  .page-contact .lead-form[data-mobile-step-current="1"] [data-mobile-form-field="comment"],
  .page-contact .lead-form[data-mobile-step-current="1"] .consent,
  .page-contact .lead-form[data-mobile-step-current="1"] .form-note { display: none; }
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="format"],
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="date"] { display: none; }
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="guests"] { order: 1; }
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="languages"] { order: 2; }
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="name"] { order: 3; }
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="phone"] { order: 4; }
  .page-contact .lead-form[data-mobile-step-current="2"] [data-mobile-form-field="comment"] { order: 5; }
  .page-contact .lead-form[data-mobile-step-current="2"] .consent { order: 6; }
  .page-contact .lead-form[data-mobile-step-current="2"] .form-note { order: 7; }
  .page-contact .lead-form[data-mobile-step-current="3"] > :not(.mobile-form-step-heading):not(.prepared):not(.form-status) { display: none; }
  .page-contact .lead-form .submit-button { order: 90; }
  .page-contact .lead-form .form-status { order: 91; }
  .page-contact .lead-form .prepared { order: 92; }

  /* Blog — photo masthead, topic pills and stacked image cards. */
  body[data-mobile-page="blog-390"] .blog-hero { position: relative; min-height: 202px; padding: 12px 17px 16px !important; overflow: hidden; background: #05090b !important; }
  body[data-mobile-page="blog-390"] [data-mobile-role="blog-masthead-image"] { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 76% 38%; filter: grayscale(1); opacity: .78; }
  body[data-mobile-page="blog-390"] .blog-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#05090b 0%,rgba(5,9,11,.94) 47%,rgba(5,9,11,.08) 86%),linear-gradient(0deg,#05090b 0%,transparent 35%); }
  body[data-mobile-page="blog-390"] .blog-hero > *:not(img) { position: relative; z-index: 1; }
  body[data-mobile-page="blog-390"] .blog-hero .eyebrow { display: none; }
  body[data-mobile-page="blog-390"] .blog-hero h1 { max-width: 265px; margin-bottom: 10px; font-size: 32px !important; font-weight: 400; line-height: 1.08; }
  body[data-mobile-page="blog-390"] .blog-hero .detail-lead { max-width: 235px; margin: 0; font-size: 10px; line-height: 1.55; }
  body[data-mobile-page="blog-390"] .blog-topics { display: block; padding: 13px 17px; background: #071116; }
  body[data-mobile-page="blog-390"] .blog-topics .section-no { display: none; }
  body[data-mobile-page="blog-390"] [data-mobile-role="filter-pill-list"] { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; }
  body[data-mobile-page="blog-390"] [data-mobile-filter] { flex: 0 0 auto; min-height: 44px; padding: 6px 13px; border-color: var(--m-line); border-radius: 99px; font-size: 11px; }
  body[data-mobile-page="blog-390"] [data-mobile-filter][aria-current] { background: #f0efec; color: #090b0c; }
  body[data-mobile-page="blog-390"] .articles-section { padding-top: 16px; }
  body[data-mobile-page="blog-390"] .articles-section > .section-heading { display: none; }
  body[data-mobile-page="blog-390"] .article-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
  body[data-mobile-page="blog-390"] .article-grid > a, body[data-mobile-page="blog-390"] .article-grid > a:nth-child(n) { position: relative; height: 270px !important; min-height: 270px !important; max-height: 270px !important; padding: 18px !important; overflow: hidden; border-color: var(--m-line); border-radius: 5px; background-position: center !important; background-size: cover !important; color: #fff; }
  body[data-mobile-page="blog-390"] .article-grid > a::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgba(3,6,8,.9),transparent 70%); }
  body[data-mobile-page="blog-390"] .article-grid > a img { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.22); }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(1) { background-image: url('/gagarin/assets/mobile-blog-chess-rear-v2.png') !important; background-position: center !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(2) { background-image: url('/gagarin/assets/mobile-blog-calculator-v2.png') !important; background-position: center !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(3) { background-image: url('/gagarin/assets/desktop-white-suit-microphone.png'); }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(4) { background-image: url('/gagarin/assets/desktop-mc-club.png'); }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(5) { background-image: url('/gagarin/assets/desktop-outdoor-event.png'); }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(6) { background-image: url('/gagarin/assets/desktop-wedding-stage-reference.png'); }
  body[data-mobile-page="blog-390"] .article-grid > a > *:not(img) { position: relative; z-index: 2; }
  body[data-mobile-page="blog-390"] .article-grid h2 { margin: 165px 0 4px; color: #fff; font-size: 21px; }
  body[data-mobile-page="blog-390"] .article-grid p { display: none; }
  body[data-mobile-page="blog-390"] .author-section { grid-template-columns: 1fr; padding: 17px; }
  body[data-mobile-page="blog-390"] .author-section > div { padding: 18px 0; }
  body[data-mobile-page="blog-390"] .author-section img { height: 300px; border-radius: 5px; }

  /* Article — compact answer, collapsed TOC, readable one-column sequence. */
  body[data-mobile-page="article-390"] .article-hero { min-height: 0; padding: 8px 17px 12px; background: var(--m-bg); }
  body[data-mobile-page="article-390"] .article-hero .eyebrow { display: none; }
  body[data-mobile-page="article-390"] .article-hero h1 { margin-bottom: 12px; font-size: 27.5px !important; font-weight: 400; line-height: 1.18; letter-spacing: -.04em; overflow-wrap: normal; }
  body[data-mobile-page="article-390"] .article-answer { margin-bottom: 13px; font-size: 12px; line-height: 1.4; }
  body[data-mobile-page="article-390"] .article-hero .button { display: none; }
  body[data-mobile-page="article-390"] .article-layout { display: flex; flex-direction: column; padding: 0 17px 28px; background: #071116; }
  body[data-mobile-page="article-390"] .article-content { display: contents !important; }
  body[data-mobile-page="article-390"] .toc { order: 2; width: 100%; margin-bottom: 20px; padding: 0; border-color: var(--m-line); border-radius: 5px; background: #0a151a; }
  body[data-mobile-page="article-390"] .toc strong,
  body[data-mobile-page="article-390"] .mobile-toc-toggle { display: flex; align-items: center; width: 100%; min-height: 46px; margin: 0; padding: 10px 13px; border: 0; background: transparent; color: #f3f2ef; font-size: 13px; text-align: left; }
  body[data-mobile-page="article-390"] .toc strong::after,
  body[data-mobile-page="article-390"] .mobile-toc-toggle::after { content: "+"; margin-left: auto; font-size: 18px; }
  body[data-mobile-page="article-390"] .mobile-toc-toggle[aria-expanded="true"]::after { content: "−"; }
  body[data-mobile-page="article-390"] .toc ol, body[data-mobile-page="article-390"] .toc__cta { display: none; }
  body[data-mobile-page="article-390"] .mobile-toc-toggle[aria-expanded="true"] + ol { display: block; padding: 0 13px 12px; }
  body[data-mobile-page="article-390"] .article-quick-answer { order: 1 !important; margin: 0 0 12px; padding: 16px; border: 1px solid var(--m-line); border-radius: 5px; }
  body[data-mobile-page="article-390"] .article-quick-answer h2 { margin-bottom: 12px; font-size: 20px; }
  body[data-mobile-page="article-390"] .article-quick-answer > .section-no,
  body[data-mobile-page="article-390"] .article-quick-answer > h2:not(.mobile-quick-title) { display: none; }
  body[data-mobile-page="article-390"] .mobile-quick-intro { display: block; margin-bottom: 9px; }
  body[data-mobile-page="article-390"] .mobile-quick-intro h2 { margin: 0 0 4px; font-size: 21px; }
  body[data-mobile-page="article-390"] .mobile-quick-intro p { margin: 0; color: #aeb5b8; font-size: 12px; line-height: 1.42; }
  body[data-mobile-page="article-390"] .quick-answer-grid { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 0 !important; }
  body[data-mobile-page="article-390"] .quick-answer-grid article { display: grid; grid-template-columns: 44px 1fr; min-height: 70px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--m-line); background: transparent; }
  body[data-mobile-page="article-390"] .quick-answer-grid article:last-child { border-bottom: 0; }
  body[data-mobile-page="article-390"] .quick-answer-grid article > span { grid-row: 1 / span 2; display: grid; place-items: center; align-self: center; width: 36px; height: 36px; border-radius: 50%; background: #222c31; font-size: 11px; }
  body[data-mobile-page="article-390"] .quick-answer-grid h3 { margin: 2px 0 4px; font-size: 13px; }
  body[data-mobile-page="article-390"] .quick-answer-grid p { margin: 0; color: #aeb5b8; font-size: 10px; line-height: 1.3; }
  body[data-mobile-page="article-390"] .article-content > section { order: 3; margin-bottom: 24px; padding-bottom: 24px; border-color: var(--m-line); }
  body[data-mobile-page="article-390"] .article-prose-split { display: flex; flex-direction: column; gap: 12px; }
  body[data-mobile-page="article-390"] .article-content h2 { font-size: 21px; line-height: 1.12; }
  body[data-mobile-page="article-390"] .article-content p:not(.section-no) { font-size: 12px; line-height: 1.5; }
  body[data-mobile-page="article-390"] .article-note { padding: 12px; border: 1px solid var(--m-line); border-radius: 4px; background: #0b161b; }
  body[data-mobile-page="article-390"] .article-note strong { font-size: 11px; }
  body[data-mobile-page="article-390"] .article-note p { margin: 3px 0 0; font-size: 10px !important; }
  body[data-mobile-page="article-390"] .article-visual { order: 2; margin: 0; overflow: hidden; border: 1px solid var(--m-line); border-radius: 5px; }
  body[data-mobile-page="article-390"] .article-visual img { display: block; width: 100%; height: 218px; object-fit: cover; filter: grayscale(1); }
  body[data-mobile-page="article-390"] .article-visual figcaption { display: none; }
  body[data-mobile-page="article-390"] .article-checklist ul { grid-template-columns: 1fr; gap: 0; border: 1px solid var(--m-line); border-radius: 5px; }
  body[data-mobile-page="article-390"] .article-checklist li { min-height: 48px; padding: 8px; border: 0; border-bottom: 1px solid var(--m-line); background: transparent; font-size: 11px; }
  body[data-mobile-page="article-390"] .article-checklist li:last-child { border-bottom: 0; }
  body[data-mobile-page="article-390"] .article-checklist li span { width: 24px; height: 24px; flex-basis: 24px; border-radius: 3px; }
  body[data-mobile-page="article-390"] .related-routes, body[data-mobile-page="article-390"] .linked-service, body[data-mobile-page="article-390"] .author-section, body[data-mobile-page="article-390"] .page-cta { padding-block: 22px; background: #071116; color: #f3f2ef; }
  body[data-mobile-page="article-390"] .author-section { grid-template-columns: 1fr; }
  body[data-mobile-page="article-390"] .author-section > div { padding: 0; }
  body[data-mobile-page="article-390"] .author-section img { height: 260px; border-radius: 5px; }
}

@media (max-width: 420px) {
  .section-dark, .section-light, .section-gray, .section-graphite { padding-inline: 16px; }
  .fixed-actions a { font-size: 10px; }
}

@media (max-width: 900px) {
  [data-mobile-area="horizontal-service-cards"], .mobile-hero-pillars, .mobile-confirmed-rail, .mobile-contact-rail,
  [data-mobile-role="filter-pill-list"], .related-grid, .number-cards, .format-links { scrollbar-width: none; }
  [data-mobile-area="horizontal-service-cards"]::-webkit-scrollbar, .mobile-hero-pillars::-webkit-scrollbar,
  .mobile-confirmed-rail::-webkit-scrollbar, .mobile-contact-rail::-webkit-scrollbar,
  [data-mobile-role="filter-pill-list"]::-webkit-scrollbar, .related-grid::-webkit-scrollbar,
  .number-cards::-webkit-scrollbar, .format-links::-webkit-scrollbar { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  [data-mobile-area="horizontal-service-cards"], .mobile-hero-pillars, .mobile-confirmed-rail, .mobile-contact-rail,
  [data-mobile-role="filter-pill-list"], .related-grid { scroll-behavior: auto !important; }
}

/* R3 revision 3 — full 6×4 mobile sequence fidelity. */
@media (max-width: 900px) {
  .brand::before { content: "Юрий Gagarin"; }

  /* Home lower screens: compact reference modules without shrinking controls. */
  .mobile-home-page .why,
  .mobile-home-page .boundaries,
  .mobile-home-page .facts { padding: 8px 16px; background: var(--m-bg); }
  .mobile-home-page .why .section-heading,
  .mobile-home-page .boundaries-copy,
  .mobile-home-page .facts .section-heading {
    min-height: 66px; margin: 0; padding: 13px 14px !important; border: 1px solid var(--m-line);
    border-radius: 5px; background: #0a1419;
  }
  .mobile-home-page .why .section-no,
  .mobile-home-page .boundaries .section-no,
  .mobile-home-page .facts .section-no { display: none; }
  .mobile-home-page .why h2,
  .mobile-home-page .boundaries h2,
  .mobile-home-page .facts h2 { margin: 0 0 4px; font-size: 14px; line-height: 1.25; }
  .mobile-home-page .why .line-list,
  .mobile-home-page .boundary-photo,
  .mobile-home-page .facts-grid { display: none; }
  .mobile-home-page .boundaries-copy p:last-child { margin: 0; color: var(--m-muted); font-size: 10px; line-height: 1.35; }
  .mobile-home-page .order { padding: 18px 16px 8px; }
  .mobile-home-page .order .section-heading { margin-bottom: 10px; }
  .mobile-home-page .order .section-no { display: none; }
  .mobile-home-page .order h2 { font-size: 17px; }
  .mobile-home-page .order-grid { gap: 5px; }
  .mobile-home-page .order-grid li { min-height: 54px; padding: 10px 13px; border: 1px solid var(--m-line); background: #0a1419; font-size: 12px; }
  .mobile-home-page .scope,
  .mobile-home-page .conditions,
  .mobile-home-page .proof-grid,
  .mobile-home-page .evidence { padding: 4px 16px; background: var(--m-bg); }
  .mobile-home-page .scope .section-heading,
  .mobile-home-page .conditions .pending-panel,
  .mobile-home-page .proof-grid > section,
  .mobile-home-page .evidence .pending-panel { min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--m-line); border-radius: 5px; background: #0a1419; }
  .mobile-home-page .scope .section-heading h2,
  .mobile-home-page .conditions h2,
  .mobile-home-page .proof-grid h2,
  .mobile-home-page .evidence h3 { margin: 0; font-size: 12px; }
  .mobile-home-page .scope .section-no,
  .mobile-home-page .scope-list,
  .mobile-home-page .conditions .status,
  .mobile-home-page .conditions p,
  .mobile-home-page .proof-grid .section-no,
  .mobile-home-page .proof-grid p,
  .mobile-home-page .proof-grid ul,
  .mobile-home-page .evidence .section-heading,
  .mobile-home-page .evidence .status,
  .mobile-home-page .evidence .pending-panel p { display: none; }
  .mobile-home-page .media-gallery { padding: 16px 16px 10px; }
  .mobile-home-page .media-gallery .section-heading { margin-bottom: 10px; }
  .mobile-home-page .media-gallery .section-no { display: none; }
  .mobile-home-page .media-gallery h2 { font-size: 16px; }
  .mobile-home-page .media-rail { grid-auto-columns: 150px; gap: 6px; }
  .mobile-home-page .media-rail figure,
  .mobile-home-page .media-rail img { min-height: 90px; height: 90px; }
  .mobile-home-page .media-rail figcaption { padding: 5px; font-size: 9px; }
  .mobile-home-page .faq { padding: 10px 16px; }
  .mobile-home-page .faq .section-heading { margin-bottom: 8px; }
  .mobile-home-page .faq .section-no { display: none; }
  .mobile-home-page .faq h2 { font-size: 17px; }
  .mobile-home-page .request { padding: 10px 16px 24px; }
  .mobile-home-page .request-copy { margin-bottom: 8px; }
  .mobile-home-page .request-copy .section-no,
  .mobile-home-page .request-copy .contact-links { display: none; }
  .mobile-home-page .request-copy h2 { font-size: 17px; }
  .mobile-home-page .request-copy p { font-size: 10px; }
  .mobile-home-page .form-step legend button { min-height: 44px; }
  .mobile-home-page .final-cta { padding: 14px; }

  /* About: reorder the existing factual modules into the four approved screens. */
  .page-about main { display: flex; flex-direction: column; }
  .page-about .about-detail { order: 1; }
  .page-about .about-confirmed { order: 2; padding: 14px 20px 24px; }
  .page-about .about-confirmed { min-height: 929px; }
  .page-about [data-mobile-hero-photo] { height: 295px !important; min-height: 295px !important; }
  .page-about [data-mobile-hero-copy] { padding: 18px 20px 22px !important; }
  .page-about [data-mobile-hero-copy] .about-intro { display: none; }
  .page-about .mobile-confirmed-rail { grid-auto-columns: 280px; gap: 10px; }
  .page-about .mobile-confirmed-card { min-height: 126px; }
  .page-about .about-confirmed-grid { display: grid; gap: 7px; margin-top: 18px; }
  .page-about .about-confirmed .section-heading::after { content: "Работа в Алматы и ближайших городах области."; display:block; margin-top:6px; color:#bdc2c5; font-size:12px; }
  .page-about .about-confirmed-grid .check-items { padding: 0; border: 0; background: transparent; }
  .page-about .about-contact-card { display:grid; padding: 7px 14px; border: 1px solid var(--m-line); border-radius:5px; background: #0a151a; }
  .page-about .about-confirmed-grid .check-items li { min-height: 62px; padding: 12px 14px; border: 1px solid var(--m-line); border-radius: 5px; background: #0a151a; }
  .page-about .about-contact-card a { display:flex; min-height:44px; padding:5px 0 5px 42px; border:0; background:transparent; flex-direction:column; justify-content:center; }
  .page-about .about-confirmed-grid .check-items li:not(:first-child) { display: none; }
  .page-about .mobile-confirmed-rail { display:none; }
  .page-about .formats-list { order: 3; padding: 18px 20px 28px; }
  .page-about .formats-list .section-heading { margin-bottom: 10px; }
  .page-about .formats-list .section-no { display: none; }
  .page-about .formats-list h2 { font-size: 16px; }
  .page-about .about-format-links { grid-auto-columns: 278px; justify-content: center; }
  .page-about .story-section { display: none; }
  .page-about .language-section { order: 4; min-height: 844px; padding: 18px 16px 10px; }
  .page-about .language-section .section-heading { margin-bottom: 10px; }
  .page-about .language-section blockquote { margin: 0 0 16px; padding: 12px; font-size: 12px; }
  .page-about .about-timeline { display: grid; gap: 0; }
  .page-about .about-timeline li { min-height: 67px; padding: 10px 10px 10px 48px; border-left: 1px solid var(--m-line); }
  .page-about .about-timeline b { position: absolute; left: -13px; display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--m-line); border-radius: 50%; }
  .page-about .about-timeline h3 { font-size: 12px; }
  .page-about .about-timeline p { font-size: 10px; }
  .page-about .about-gallery { order: 5; padding: 18px 11px 12px; }
  .page-about .about-gallery .section-heading { margin-bottom: 10px; }
  .page-about .about-gallery .section-no { display: none; }
  .page-about .about-gallery h2 { font-size: 16px; }
  .page-about .about-gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }
  .page-about .about-gallery-grid figure { height: 68px; min-height: 68px; margin: 0; }
  .page-about .about-gallery-grid figure:first-child { grid-column: 1/-1; height: 184px; }
  .page-about .about-gallery-grid figure:nth-child(n+5) { display: none; }
  .page-about .about-gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
  .page-about .about-gallery .pending-panel { margin-top: 10px; padding: 12px; }
  .page-about .about-gallery .pending-panel h3 { font-size: 13px; }
  .page-about .related-routes { display: none; }
  .page-about .page-cta { order: 6; padding: 18px 16px; }
  .page-about .site-footer { display: none; }

  /* Blog: every card stays a real named link; images are decorative. */
  body[data-mobile-page="blog-390"] .breadcrumbs { display: block; min-height: 35px; }
  body[data-mobile-page="blog-390"] .article-grid > a img { display: none; }
  body[data-mobile-page="blog-390"] .article-grid > a > *:not(img) { display: block; }
  body[data-mobile-page="blog-390"] .article-grid > a { min-height: 0 !important; padding: 14px !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(1) { height: 270px !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(2) { height: 194px !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(n+3):nth-child(-n+5) { height: 139px !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(6) { height: 158px !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(n+7):nth-child(-n+9) { height: 132px !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(10) { height: 104px !important; }
  body[data-mobile-page="blog-390"] .article-grid h2 { position: absolute !important; inset: auto 14px 27px !important; margin: 0; font-size: 19px; }
  body[data-mobile-page="blog-390"] .article-grid .editorial-card__number { position: absolute !important; inset: auto auto 57px 14px !important; z-index: 2; font-size: 13px; }
  body[data-mobile-page="blog-390"] .article-grid p { display: none !important; }
  body[data-mobile-page="blog-390"] .article-grid b { display: none !important; }
  body[data-mobile-page="blog-390"] .article-grid > a::after { display: block; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(1)::after,
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(2)::after { display: block; }
  body[data-mobile-page="blog-390"] .author-section { display: grid; grid-template-columns: 1.1fr .9fr; gap: 10px; padding: 12px; border: 1px solid var(--m-line); }
  body[data-mobile-page="blog-390"] .author-section img { order: -1; height: 255px; }
  body[data-mobile-page="blog-390"] .author-section > div { padding: 0; }
  body[data-mobile-page="blog-390"] .author-section h2 { font-size: 16px; }
  body[data-mobile-page="blog-390"] .author-section p { font-size: 10px; }
  body[data-mobile-page="blog-390"] .related-routes .related-grid { grid-auto-columns: 31%; }
  body[data-mobile-page="blog-390"] .related-routes .related-grid a { min-height: 120px !important; }
  .mobile-blog-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 17px; padding: 12px; border: 1px solid var(--m-line); border-radius: 6px; background: #0a151a; }
  .mobile-blog-contact > h2 { grid-column: 1/-1; font-size: 14px; }
  .mobile-blog-contact > div { display: grid; }
  .mobile-blog-contact a { min-height: 44px; color: #eff0ed; font-size: 10px; }
  .mobile-blog-contact aside { padding-left: 10px; border-left: 1px solid var(--m-line); }
  .mobile-blog-contact h3 { font-size: 13px; }
  .mobile-blog-contact p { font-size: 9px; }
  .mobile-blog-contact .button { width: 100%; }
  body[data-mobile-page="blog-390"] .page-cta { padding: 16px; }

  /* Article: the owner sequence contains only one mid-article photo. */
  body[data-mobile-page="article-390"] #part-1 .article-visual,
  body[data-mobile-page="article-390"] #part-3 .article-visual,
  body[data-mobile-page="article-390"] #part-4 .article-visual,
  body[data-mobile-page="article-390"] #part-5 .article-visual { display: none; }
  body[data-mobile-page="article-390"] #part-2 .article-visual img { height: 144px; }
  body[data-mobile-page="article-390"] .article-content > section { margin-bottom: 12px; padding-bottom: 12px; }
  body[data-mobile-page="article-390"] .article-content > section[id] { min-height: 0; }
  body[data-mobile-page="article-390"] .article-content h2 { font-size: 17px; }
  body[data-mobile-page="article-390"] .article-content p:not(.section-no) { font-size: 10.5px; line-height: 1.4; }
  body[data-mobile-page="article-390"] .article-note { padding: 10px 12px; }
  body[data-mobile-page="article-390"] .article-checklist li { min-height: 44px; }
  body[data-mobile-page="article-390"] .desktop-article-faq { padding: 14px 18px; }
  body[data-mobile-page="article-390"] .desktop-article-faq .section-heading { margin-bottom: 8px; }
  body[data-mobile-page="article-390"] .desktop-article-faq .section-no { display: none; }
  body[data-mobile-page="article-390"] .desktop-article-faq h2 { font-size: 16px; }
  body[data-mobile-page="article-390"] .desktop-article-related { padding: 10px 18px; }
  body[data-mobile-page="article-390"] .desktop-article-related .section-heading { margin-bottom: 8px; }
  body[data-mobile-page="article-390"] .desktop-article-related .section-no { display: none; }
  body[data-mobile-page="article-390"] .desktop-article-related h2 { font-size: 16px; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid { grid-auto-columns: 80px; gap: 8px; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid a { min-height: 93px !important; padding: 7px; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid h3 { margin-top: 35px; font-size: 10px; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid a:nth-child(1) { background: linear-gradient(0deg,rgba(3,7,8,.86),transparent),url('/gagarin/assets/desktop-chess-portrait.png') center/cover; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid a:nth-child(2) { background: linear-gradient(0deg,rgba(3,7,8,.86),transparent),url('/gagarin/assets/desktop-wedding-hero-reference.png') center/cover; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid a:nth-child(3) { background: linear-gradient(0deg,rgba(3,7,8,.86),transparent),url('/gagarin/assets/desktop-preparation-reference.png') center/cover; }
  body[data-mobile-page="article-390"] .desktop-article-related .related-grid a:nth-child(4) { background: linear-gradient(0deg,rgba(3,7,8,.86),transparent),url('/gagarin/assets/desktop-about-editorial-reference.png') center/cover; }
  body[data-mobile-page="article-390"] .linked-service { min-height: 102px; padding: 12px 18px 12px 150px; background: #071116 url('/gagarin/assets/desktop-wedding-hero-reference.png') left center/132px 100% no-repeat; }
  body[data-mobile-page="article-390"] .linked-service h2 { font-size: 15px; }
  body[data-mobile-page="article-390"] .linked-service p { font-size: 9px; }
  body[data-mobile-page="article-390"] .author-section { grid-template-columns: 1.3fr .7fr; min-height: 122px; padding: 12px 18px; }
  body[data-mobile-page="article-390"] .author-section img { height: 98px; }
  body[data-mobile-page="article-390"] .page-cta { min-height: 110px; padding: 14px 45% 14px 18px; background: #071116 url('/gagarin/assets/desktop-blue-suit-portrait.png') right center/43% auto no-repeat; }
  body[data-mobile-page="article-390"] .page-cta h2 { font-size: 16px; }
  body[data-mobile-page="article-390"] .page-cta p { font-size: 9px; }

  /* Contacts lower evidence screen density. */
  .page-contact .whatsapp-preview { display: none; }
  .page-contact .steps-section { padding: 8px 18px 12px; }
  .page-contact .contact-notes { display: grid; gap: 5px; }
  .page-contact .contact-notes article { min-height: 68px; padding: 10px 12px 10px 58px; border: 1px solid var(--m-line); border-radius: 5px; background: #0a151a; }
  .page-contact .contact-notes article span { left: 14px; top: 14px; }
  .page-contact .contact-notes h2 { font-size: 13px; }
  .page-contact .contact-notes p { font-size: 10px; }
  .page-contact .direct-contacts { padding: 10px 18px 20px; }
  .page-contact .direct-grid { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .page-contact .direct-grid a { min-height: 48px; padding: 8px 12px; }
  .page-contact .direct-grid a:last-child { display: none; }
  .page-contact .direct-contacts .section-heading { margin-bottom: 8px; }
  .page-contact .direct-contacts .section-no { display: none; }
  .page-contact .direct-contacts h2 { font-size: 14px; font-weight: 400; }
  .page-contact .contact-cards { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .page-contact .contact-cards a { min-height: 48px; padding: 8px 12px; }
  .page-contact .contact-cards a:last-child { display: none; }
  .page-contact .mobile-contact-faq { display: block; padding: 8px 18px 12px; background: var(--m-bg); }
  .page-contact .mobile-contact-faq h2 { margin: 0 0 8px; font-size: 14px; font-weight: 400; }
  .page-contact .mobile-contact-faq details { border: 1px solid var(--m-line); border-bottom: 0; background: #0a151a; }
  .page-contact .mobile-contact-faq details:last-child { border-bottom: 1px solid var(--m-line); }
  .page-contact .mobile-contact-faq summary { display: flex; align-items: center; min-height: 44px; padding: 7px 10px; font-size: 10px; cursor: pointer; }
  .page-contact .mobile-contact-faq p { padding: 0 10px 10px; color: #adb5b8; font-size: 9px; }

  .mobile-card-path { position: absolute !important; right: 14px; bottom: 9px; left: 14px; z-index: 2; display: block !important; color: #d3d6d7; font-size: 11px; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(7) { background-image: url('/gagarin/assets/desktop-preparation-reference.png') !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(8) { background-image: url('/gagarin/assets/desktop-blue-suit-portrait.png') !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(9) { background-image: url('/gagarin/assets/desktop-outdoor-event.png') !important; }
  body[data-mobile-page="blog-390"] .article-grid > a:nth-child(10) { background-image: url('/gagarin/assets/desktop-mc-club.png') !important; }
  .mobile-popular-links { display: block; padding: 0 17px 18px; background: var(--m-bg); }
  .mobile-popular-links h2 { margin: 0 0 9px; padding-bottom: 7px; border-bottom: 1px solid var(--m-line); font-size: 14px; }
  .mobile-popular-links > div { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 14px; }
  .mobile-popular-links a { min-height: 44px; padding: 8px 0; color: #d6dadb; font-size: 10px; }

  /* Real three-panel contact accordion; every field keeps one unique id/name. */
  .page-contact .lead-form:has(.mobile-step-panel) { padding: 0; border: 0; background: transparent; }
  .page-contact .mobile-step-panel { min-width: 0; margin: 0 0 8px; padding: 0; border: 0; border-radius: 6px; background: transparent; }
  .page-contact .mobile-step-panel legend { width: 100%; padding: 0; }
  .page-contact .mobile-step-toggle { display: grid; width: 100%; min-height: 58px; padding: 9px 13px; border: 1px solid var(--m-line); border-radius: 6px; background: #0a151a; color: #f1f1ee; text-align: left; }
  .page-contact .mobile-step-toggle span { font-size: 14px; }
  .page-contact .mobile-step-toggle small { margin-top: 4px; overflow: hidden; color: #aeb5b8; font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
  .page-contact .mobile-step-toggle::after { content: "+"; position: absolute; right: 13px; align-self: center; font-size: 18px; }
  .page-contact .mobile-step-toggle[aria-expanded="true"]::after { content: "−"; }
  .page-contact .mobile-step-panel[data-open] .mobile-step-toggle { border-radius: 6px 6px 0 0; border-bottom-color: transparent; }
  .page-contact .mobile-step-panel__body { padding: 0 13px 12px; border: 1px solid var(--m-line); border-top: 0; border-radius: 0 0 6px 6px; background: #0a151a; }
  .page-contact .mobile-step-panel__body[hidden] { display: none !important; }
  .page-contact .lead-form[data-mobile-step-current="1"] .mobile-step-panel[data-mobile-step-panel="2"],
  .page-contact .lead-form[data-mobile-step-current="1"] .mobile-step-panel[data-mobile-step-panel="3"] { display: none; }
  .page-contact .lead-form[data-mobile-step-current="2"] .mobile-step-panel[data-mobile-step-panel="1"],
  .page-contact .lead-form[data-mobile-step-current="2"] .mobile-step-panel[data-mobile-step-panel="2"],
  .page-contact .lead-form[data-mobile-step-current="2"] .mobile-step-panel[data-mobile-step-panel="3"],
  .page-contact .lead-form[data-mobile-step-current="3"] .mobile-step-panel { display: block; }
  .page-contact .mobile-step-panel .form-row { margin-bottom: 8px; }
  .page-contact .mobile-step-panel .form-row { margin-bottom: 4px; }
  .page-contact .mobile-step-panel .form-row label { margin-bottom: 2px; font-size: 9px; }
  .page-contact .mobile-step-panel .form-row input,
  .page-contact .mobile-step-panel .form-row select { height: 44px; min-height: 44px; padding-block: 5px; }
  .page-contact .mobile-step-panel textarea { height: 64px !important; min-height: 64px; padding-block: 7px; }
  .page-contact .mobile-step-panel .consent { min-height: 44px; padding-block: 3px; font-size: 9px; }
  .page-contact .mobile-step-panel .consent input { width: 16px; height: 16px; min-height: 16px; }
  .page-contact .mobile-step-panel .form-note { display: none !important; }
  .page-contact .mobile-step-panel [data-prepared] { padding: 10px 0 0; background: transparent; }
  .page-contact .mobile-step-panel [data-prepared] .preview-note,
  .page-contact .mobile-step-panel [data-send-lead],
  .page-contact .mobile-step-panel [data-edit-form] { display: none; }
  .page-contact .mobile-step-panel [data-summary] { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; padding: 10px; border: 1px solid var(--m-line); }
  .page-contact .mobile-step-panel [data-summary] dd { text-align: right; }
  .page-contact .mobile-step-panel [data-whatsapp-draft] { width: 100%; }
  .page-contact .mobile-step-next { width: 100%; }
  .page-contact .mobile-request-preview { display: none; }

  /* Wedding mobile screens 02–04 use independent DOM modules. */
  .mobile-wedding-page main > #scenario,
  .mobile-wedding-page main > #preparation,
  .mobile-wedding-page main > #advantages,
  .mobile-wedding-page main > #included,
  .mobile-wedding-page main > #agreements,
  .mobile-wedding-page main > .facts,
  .mobile-wedding-page main > .section-gray,
  .mobile-wedding-page main > .faq,
  .mobile-wedding-page main > .related-routes,
  .mobile-wedding-page main > .page-cta,
  .mobile-wedding-page .site-footer { display: none; }
  .mobile-service-sequence { display: block; background: var(--m-bg); }
  .mobile-service-screen { min-height: 792px; padding: 10px 15px 64px; border-top: 1px solid #202a2f; background: var(--m-bg); }
  .mobile-service-screen > nav { min-height: 29px; color: #aeb4b7; font-size: 10px; }
  .mobile-service-screen > h2 { margin: 8px 0; font-size: 18px; font-weight: 400; }
  .mobile-service-screen > p { color: #aeb4b7; font-size: 11px; }
  .mobile-stage-rail { display: grid; grid-template-columns: repeat(6,1fr); margin: 10px 0 8px; padding: 0; list-style: none; }
  .mobile-stage-rail li { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #566067; border-radius: 50%; font-size: 11px; }
  .mobile-stage-rail li[aria-current] { background: #f0efec; color: #080b0c; }
  .mobile-stage-card { overflow: hidden; margin-bottom: 10px; padding: 0 12px 12px; border: 1px solid var(--m-line); border-radius: 7px; background: #081217; }
  .mobile-stage-card img { width: calc(100% + 24px); height: 133px; margin-left: -12px; object-fit: cover; }
  .mobile-stage-card h3 { margin: 10px 0 6px; font-size: 14px; }
  .mobile-stage-card p,
  .mobile-stage-card li { color: #c5cacc; font-size: 10px; line-height: 1.35; }
  .mobile-stage-card ul { margin: 6px 0 0; padding-left: 17px; }
  .mobile-service-screen details { margin: 7px 0; border: 1px solid var(--m-line); border-radius: 6px; background: #0a151a; }
  .mobile-service-screen summary { display: flex; align-items: center; min-height: 56px; padding: 10px 12px; cursor: pointer; font-size: 14px; }
  .mobile-service-screen details p { padding: 0 12px 12px; color: #b9bfc1; font-size: 10px; }
  .mobile-scope-tabs { margin-top: 10px; padding: 12px; border: 1px solid var(--m-line); border-radius: 6px; background: #0a151a; }
  .mobile-scope-tabs h3 { font-size: 15px; }
  .mobile-scope-tabs ul { margin: 8px 0 0; padding: 0; list-style: none; }
  .mobile-scope-tabs li { min-height: 26px; color: #c9cdcf; font-size: 10px; }
  .mobile-quote-card { display: grid; grid-template-rows: 215px auto; overflow: hidden; border: 1px solid var(--m-line); border-radius: 7px; }
  .mobile-quote-card img { width: 100%; height: 215px; object-fit: cover; }
  .mobile-quote-card blockquote { margin: 0; padding: 14px; font-size: 13px; line-height: 1.45; }
  .mobile-pagination { margin: 7px 0 12px !important; text-align: center; }
  .mobile-evidence-rows { margin: 0 0 12px; padding: 0; border: 1px solid var(--m-line); border-radius: 6px; list-style: none; }
  .mobile-evidence-rows li { min-height: 48px; padding: 9px 12px; border-bottom: 1px solid var(--m-line); font-size: 12px; }
  .mobile-evidence-rows li:last-child { border-bottom: 0; }
  .mobile-evidence-rows small { display: block; margin-top: 3px; color: #9fa7aa; font-size: 9px; }
  .mobile-related-card { overflow: hidden; border: 1px solid var(--m-line); border-radius: 8px; }
  .mobile-related-card img { width: 100%; height: 174px; object-fit: cover; }
  .mobile-related-card h3,
  .mobile-related-card p,
  .mobile-related-card a { margin-inline: 14px; }
  .mobile-related-card h3 { margin-top: 10px; font-size: 17px; }
  .mobile-related-card p { font-size: 10px; }
  .mobile-related-card a { display: inline-flex; align-items: center; min-height: 44px; margin-block: 8px 12px; padding: 6px 14px; border: 1px solid #6a7378; border-radius: 4px; }
  .mobile-service-cta,
  .mobile-service-contacts { display: grid; gap: 7px; margin-top: 10px; padding: 14px; border: 1px solid var(--m-line); border-radius: 7px; background: #0a151a; }
  .mobile-service-cta h2 { font-size: 25px; }
  .mobile-service-contacts { font-style: normal; }
  .mobile-service-contacts a,
  .mobile-service-contacts span { min-height: 44px; color: #d9dcdd; font-size: 12px; }
  .mobile-home-page:not(.show-end-actions) .fixed-actions,
  .page-about:not(.show-end-actions) .fixed-actions,
  .mobile-wedding-page:not(.show-end-actions) .fixed-actions { visibility: hidden; opacity: 0; pointer-events: none; }
}

@media (min-width: 901px) {
  .mobile-step-panel { display: contents; }
  .mobile-step-panel > legend { display: none; }
  .mobile-step-panel__body { display: contents !important; }
}
