/* v140 — dedicated mobile composition. Desktop remains untouched. */
@media (max-width: 760px) {
  :root { --m-gutter: 16px; }
  html, body { width:100%; max-width:100%; overflow-x:hidden!important; -webkit-text-size-adjust:100%; }
  body { font-size:15px; }
  *, *::before, *::after { box-sizing:border-box; }
  img, svg, video, canvas { max-width:100%; height:auto; }
  .container { width:100%!important; max-width:100%!important; padding-left:var(--m-gutter)!important; padding-right:var(--m-gutter)!important; }

  /* Compact site header */
  .site-header { height:64px!important; min-height:64px!important; max-height:64px!important; padding:6px 0!important; }
  .site-header .header-inner { height:52px!important; min-height:52px!important; max-height:52px!important; padding:0!important; }
  .site-header .brand { gap:9px!important; height:48px!important; min-height:48px!important; max-width:calc(100% - 58px)!important; }
  .site-header .brand-mark { width:38px!important; height:42px!important; flex:0 0 38px!important; }
  .site-header .brand-mark img { width:38px!important; height:42px!important; object-fit:contain!important; }
  .site-header .brand-copy strong { font-size:20px!important; line-height:1!important; white-space:nowrap!important; }
  .site-header .brand-copy span { display:none!important; }
  .site-header .menu-toggle { width:44px!important; height:44px!important; min-width:44px!important; top:10px!important; right:12px!important; border-radius:14px!important; font-size:23px!important; }
  .site-header .main-nav { top:62px!important; right:10px!important; width:min(260px,78vw)!important; max-height:calc(100dvh - 74px)!important; }
  .site-header .main-nav a { min-height:42px!important; padding:10px 12px!important; font-size:13px!important; }
  .global-back-btn { top:74px!important; left:12px!important; transform:none!important; min-height:38px!important; padding:8px 12px!important; font-size:11px!important; }

  /* Global mobile rhythm */
  .section, .section.compact, .academy-section, .retreat-history { padding:42px 0!important; }
  .section-heading, .ecosystem-heading, .recognition-copy { text-align:left!important; }
  .section-heading > *, .ecosystem-heading > *, .recognition-copy > * { margin-left:0!important; margin-right:0!important; }
  .section-heading h2, .ecosystem-heading h2 { font-size:clamp(28px,8.2vw,38px)!important; line-height:1.02!important; letter-spacing:-.025em!important; }
  .section-heading p, .ecosystem-heading p { font-size:14px!important; line-height:1.5!important; }
  .kicker { justify-content:flex-start!important; font-size:9px!important; letter-spacing:.16em!important; }
  .btn-3d, .btn-glass, .portal-primary, .portal-ghost, .portal-mini-btn, .table-btn, .payment-card-link, .registration-submit { min-height:44px!important; padding:11px 15px!important; font-size:12px!important; line-height:1.2!important; border-radius:13px!important; }

  /* Home hero: actual mobile composition, not squeezed desktop */
  body:not(.application-page) .hero { min-height:0!important; height:auto!important; padding:96px 0 30px!important; }
  body:not(.application-page) .hero-grid { display:flex!important; flex-direction:column!important; min-height:0!important; height:auto!important; gap:18px!important; align-items:stretch!important; }
  body:not(.application-page) .hero-copy { width:100%!important; text-align:left!important; }
  .hero-brandline { width:min(230px,72vw)!important; margin:0 0 16px!important; }
  .hero-win-wordmark { width:100%!important; max-width:230px!important; }
  body:not(.application-page) .hero h1 { font-size:clamp(36px,10.8vw,48px)!important; line-height:.98!important; letter-spacing:-.035em!important; margin:0 0 16px!important; max-width:100%!important; overflow-wrap:normal!important; word-break:normal!important; text-wrap:balance; }
  body:not(.application-page) .hero h1 br { display:none!important; }
  body:not(.application-page) .hero-lead { font-size:14px!important; line-height:1.5!important; max-width:100%!important; margin:0!important; }
  .hero-actions { display:grid!important; grid-template-columns:1fr 1fr!important; gap:10px!important; margin-top:18px!important; }
  .hero-actions > * { width:100%!important; min-width:0!important; }
  .hero-note { margin-top:14px!important; justify-content:flex-start!important; font-size:9px!important; line-height:1.35!important; letter-spacing:.07em!important; }
  .hero-note span { display:block!important; width:22px!important; }
  .hero-stage { order:2!important; height:235px!important; min-height:235px!important; max-height:235px!important; display:grid!important; place-items:center!important; overflow:visible!important; }
  .ring { width:210px!important; height:210px!important; }
  .portrait-stack { width:154px!important; max-width:154px!important; margin:auto!important; }
  .portrait-stack .portrait-card { width:154px!important; padding:5px!important; border-radius:22px!important; }
  .portrait-card img { border-radius:17px!important; aspect-ratio:2/2.82!important; }
  .floating-shield { width:50px!important; height:58px!important; left:-18px!important; bottom:8px!important; border-radius:14px!important; padding:5px!important; }
  .floating-pill { top:12px!important; right:-26px!important; padding:6px 8px!important; font-size:7px!important; border-radius:9px!important; }
  .portrait-name { margin-top:7px!important; font-size:18px!important; line-height:1!important; text-align:center!important; white-space:nowrap!important; }

  /* Home ecosystem: readable two-column mobile grid */
  .home-ecosystem.ecosystem-map-section { padding:36px 0!important; }
  .home-ecosystem .ecosystem-heading { margin-bottom:14px!important; text-align:left!important; }
  .home-ecosystem .ecosystem-heading h2.ecosystem-title { font-size:25px!important; line-height:1.04!important; max-width:100%!important; }
  .home-ecosystem .ecosystem-map-shell { padding:10px!important; border-radius:22px!important; overflow:visible!important; }
  .home-ecosystem .ecosystem-map { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:9px!important; width:100%!important; min-height:0!important; height:auto!important; aspect-ratio:auto!important; padding:0!important; background:none!important; overflow:visible!important; }
  .home-ecosystem .ecosystem-lines { display:none!important; }
  .home-ecosystem .ecosystem-core { position:relative!important; left:auto!important; top:auto!important; transform:none!important; grid-column:1/-1!important; width:min(200px,75%)!important; min-width:0!important; min-height:50px!important; margin:2px auto 7px!important; padding:10px 16px!important; border-radius:16px!important; }
  .home-ecosystem .ecosystem-core::before { inset:6px!important; border-radius:12px!important; }
  .home-ecosystem .ecosystem-core span { font-size:20px!important; }
  .home-ecosystem .eco-node { position:relative!important; left:auto!important; top:auto!important; transform:none!important; width:100%!important; min-width:0!important; min-height:44px!important; padding:8px 7px!important; border-radius:12px!important; font-size:8.5px!important; line-height:1.1!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -6px 9px rgba(125,81,14,.15),0 3px 0 #7d5414,0 8px 14px rgba(0,18,14,.16)!important; }

  /* Home philosophy: shield is an accent, not a screen */
  .statement { display:grid!important; grid-template-columns:1fr!important; gap:14px!important; text-align:left!important; }
  .statement .shield-stage { min-height:145px!important; height:145px!important; order:2!important; }
  .statement .shield-stage::before { width:130px!important; height:130px!important; box-shadow:0 0 0 18px rgba(237,210,136,.015)!important; }
  .statement .shield-stage img { width:112px!important; max-width:112px!important; }
  .statement .shield-stage::after { width:112px!important; height:125px!important; }
  .statement > div:last-child { order:1!important; text-align:left!important; }
  .statement > div:last-child > * { margin-left:0!important; margin-right:0!important; }
  .statement .quote { font-size:28px!important; line-height:1.03!important; margin:8px 0 15px!important; max-width:100%!important; }
  .statement .btn-3d { width:auto!important; min-height:44px!important; font-size:11px!important; padding:10px 14px!important; }

  /* Generic page hero */
  .page-hero { min-height:0!important; padding:104px 0 34px!important; }
  .page-hero-grid { display:grid!important; grid-template-columns:minmax(0,1fr) 72px!important; gap:10px!important; align-items:center!important; justify-items:stretch!important; }
  .page-hero-grid > div:first-child { text-align:left!important; }
  .page-hero-grid > div:first-child > * { margin-left:0!important; margin-right:0!important; }
  .page-hero h1 { font-size:clamp(38px,11vw,50px)!important; line-height:.95!important; margin:0 0 12px!important; overflow-wrap:normal!important; word-break:normal!important; }
  .page-hero p { font-size:13px!important; line-height:1.45!important; max-width:100%!important; }
  .breadcrumbs { font-size:8px!important; margin-bottom:12px!important; }
  .page-mark-wrap { width:72px!important; position:static!important; margin:0!important; opacity:.88!important; }
  .page-mark { opacity:.86!important; }

  /* WINsurfing content readability */
  .two-col, .win-core { grid-template-columns:1fr!important; gap:18px!important; }
  .win-core .win-core-title { font-size:28px!important; line-height:1.04!important; }
  .win-core .win-intro, .win-core .text-block p, .win-core .gold-list li { font-size:14px!important; line-height:1.5!important; }
  .win-flow-visual { max-width:230px!important; margin:auto!important; }
  .win-flow-shield { width:120px!important; max-width:120px!important; }
  .win-flow-wordmark { width:210px!important; max-width:210px!important; }

  .section-needs .needs-top { display:grid!important; grid-template-columns:1fr!important; gap:12px!important; }
  .section-needs .needs-top .needs-heading, .section-needs .needs-card-featured { grid-column:auto!important; width:100%!important; }
  .section-needs .needs-grid { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; }
  .section-needs .needs-heading h2 { font-size:29px!important; line-height:1.03!important; }
  .section-needs .needs-heading h2 span { display:inline!important; }
  .section-needs .needs-heading p { font-size:14px!important; }
  .section-needs .needs-card, .section-needs .needs-card-featured { min-height:0!important; padding:16px 16px 15px!important; border-radius:18px!important; }
  .section-needs .needs-card .icon { position:static!important; width:34px!important; height:34px!important; float:left!important; margin:0 10px 6px 0!important; font-size:13px!important; }
  .section-needs .needs-card h3 { position:static!important; margin:2px 0 8px!important; font-size:23px!important; line-height:1!important; }
  .section-needs .needs-card p { clear:both!important; display:block!important; min-height:0!important; margin:0!important; font-size:13px!important; line-height:1.42!important; }

  .section-qualities { padding-top:28px!important; }
  .section-qualities .qualities-shell { gap:12px!important; }
  .section-qualities .qualities-top { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; }
  .section-qualities .qualities-heading h2 { font-size:32px!important; line-height:1.02!important; margin:5px 0 8px!important; max-width:100%!important; }
  .section-qualities .qualities-heading p { font-size:13px!important; line-height:1.45!important; margin:0!important; }
  .section-qualities .quality-card-featured { min-height:54px!important; width:100%!important; padding:10px 14px!important; border-radius:15px!important; font-size:22px!important; }
  .section-qualities .qualities-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; }
  .section-qualities .quality-card { min-height:58px!important; padding:9px 8px!important; border-radius:14px!important; font-size:13px!important; line-height:1.08!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -7px 10px rgba(125,81,14,.15),0 3px 0 #7d5414,0 9px 14px rgba(0,18,14,.17)!important; }

  /* About: mobile is a story, not a wall of giant cards */
  .about-intro { min-height:0!important; padding:100px 0 30px!important; }
  .about-intro-grid { display:grid!important; grid-template-columns:1fr!important; gap:18px!important; }
  .about-photo-card { width:min(190px,54vw)!important; margin:auto!important; border-radius:24px!important; }
  .about-name { font-size:38px!important; line-height:.98!important; margin:4px 0 12px!important; text-align:left!important; }
  .about-lead { font-size:14px!important; line-height:1.5!important; text-align:left!important; }
  .about-tags { display:none!important; }
  .about-bio .section-heading { max-width:100%!important; }
  .about-list { display:grid!important; grid-template-columns:1fr!important; gap:0!important; margin-top:14px!important; }
  .about-item { display:grid!important; grid-template-columns:30px 1fr!important; gap:10px!important; min-height:0!important; padding:11px 0!important; border:0!important; border-bottom:1px solid rgba(242,215,144,.16)!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
  .about-item span { width:28px!important; height:28px!important; border-radius:9px!important; font-size:12px!important; box-shadow:none!important; }
  .about-item p { margin:0!important; color:rgba(255,255,255,.78)!important; font-size:13px!important; line-height:1.45!important; font-weight:500!important; text-shadow:none!important; }
  .about-recognition { padding-top:34px!important; }
  .recognition-card { display:grid!important; grid-template-columns:1fr!important; gap:16px!important; padding:18px!important; border-radius:22px!important; }
  .recognition-copy h2 { font-size:34px!important; line-height:.98!important; margin:8px 0 12px!important; }
  .recognition-copy p { font-size:14px!important; line-height:1.45!important; }
  .recognition-hero { width:min(220px,70vw)!important; margin:auto!important; border-radius:20px!important; }
  .recognition-gallery { grid-template-columns:1fr 1fr!important; gap:9px!important; margin-top:14px!important; }
  .recognition-gallery figure:last-child { grid-column:1/-1!important; }
  .recognition-gallery img { height:150px!important; max-height:none!important; }
  .recognition-gallery figure:last-child img { height:190px!important; }
  .recognition-gallery figcaption { padding:9px 10px 11px!important; font-size:11px!important; line-height:1.3!important; }

  /* Generic content cards */
  .portal-grid, .feature-grid, .product-grid, .review-grid, .leader-grid, .history-grid { grid-template-columns:1fr!important; gap:12px!important; }
  .portal-card:not(.portal-page .portal-card), .feature, .product-card, .review-card, .leader-card, .history-card { min-height:0!important; padding:18px!important; border-radius:18px!important; }
  .feature h3, .product-card h3, .leader-card h3 { font-size:23px!important; }
  .feature p, .product-card p, .leader-card p, .history-card p { font-size:13px!important; line-height:1.45!important; }

  /* Personal cabinet: compact premium header and usable tabs */
  body.portal-page { overflow-x:hidden!important; }
  .portal-shell { width:100%!important; max-width:100%!important; padding:10px!important; }
  .portal-top { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:8px!important; margin-bottom:10px!important; padding:7px 8px!important; border-radius:16px!important; min-height:58px!important; }
  .portal-brand { min-width:0!important; gap:7px!important; }
  .portal-brand img { width:32px!important; height:36px!important; animation:none!important; }
  .portal-brand > span { min-width:0!important; }
  .portal-brand strong { font-size:15px!important; line-height:1!important; white-space:nowrap!important; }
  .portal-brand > span > span { display:none!important; }
  .portal-top > div { display:flex!important; flex-wrap:nowrap!important; gap:4px!important; margin-left:auto!important; }
  .portal-top .portal-ghost { min-height:34px!important; padding:7px 9px!important; border-radius:10px!important; font-size:9px!important; white-space:nowrap!important; }
  .portal-card { width:100%!important; max-width:100%!important; padding:16px!important; border-radius:20px!important; animation:none!important; }
  .portal-card::before { animation:portalGoldSweepV132 1.45s linear 1!important; }
  .portal-kicker { font-size:9px!important; letter-spacing:.14em!important; }
  .portal-title { font-size:36px!important; line-height:.98!important; margin:7px 0 4px!important; }
  .portal-sub { font-size:13px!important; overflow-wrap:anywhere!important; }
  .portal-role { margin-top:10px!important; padding:6px 9px!important; font-size:8px!important; }
  .portal-inbox-actions { margin-top:12px!important; gap:7px!important; }
  .portal-action-btn { width:42px!important; height:42px!important; min-width:42px!important; padding:0!important; border-radius:12px!important; }
  .portal-action-btn span:not(.portal-action-icon) { display:none!important; }
  .portal-action-icon svg { width:19px!important; height:19px!important; }
  .portal-badge { min-width:18px!important; height:18px!important; padding:0 4px!important; font-size:10px!important; top:-6px!important; right:-5px!important; }
  .portal-tabs { display:flex!important; flex-wrap:nowrap!important; overflow-x:auto!important; gap:6px!important; margin:16px 0 4px!important; padding:7px!important; border-radius:14px!important; scrollbar-width:none!important; }
  .portal-tabs::-webkit-scrollbar { display:none!important; }
  .portal-tab { flex:0 0 auto!important; min-height:38px!important; padding:0 12px!important; border-radius:11px!important; font-size:10px!important; white-space:nowrap!important; }
  .portal-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; margin:14px 0 4px!important; }
  .portal-stat { min-width:0!important; padding:12px!important; border-radius:15px!important; }
  .portal-stat span { font-size:8px!important; line-height:1.2!important; }
  .portal-stat b { margin-top:5px!important; font-size:25px!important; }
  .portal-section { margin-top:12px!important; padding:14px!important; border-radius:17px!important; }
  .portal-section h2 { font-size:24px!important; }
  .portal-section-head { flex-direction:column!important; align-items:flex-start!important; gap:6px!important; margin-bottom:12px!important; }
  .portal-section-head p { font-size:11px!important; line-height:1.4!important; }
  .portal-benefits { gap:7px!important; }
  .portal-benefits li { font-size:12px!important; line-height:1.4!important; }
  .portal-future { font-size:11px!important; padding:11px!important; }
  .portal-form-grid { grid-template-columns:1fr!important; gap:10px!important; }
  .portal-form-grid .wide { grid-column:auto!important; }
  .portal-profile-layout { grid-template-columns:1fr!important; gap:14px!important; }
  .portal-photo-manager { max-width:100%!important; }
  .portal-photo-gallery { max-width:230px!important; margin:0!important; }

  /* Messages: Telegram-like mobile list screen. */
  .portal-message-modal, .portal-notification-modal, .portal-photo-modal { width:100vw!important; max-width:100vw!important; height:100dvh!important; max-height:100dvh!important; }
  .portal-messenger-dialog { position:fixed!important; inset:0!important; width:100vw!important; max-width:100vw!important; height:100dvh!important; max-height:100dvh!important; border-radius:0!important; border:0!important; padding:0!important; background:#052d22!important; box-shadow:none!important; }
  .portal-messenger-dialog .portal-dialog-close { position:fixed!important; top:12px!important; right:12px!important; z-index:20!important; width:38px!important; height:38px!important; border-radius:50%!important; }
  .portal-messenger-shell { display:block!important; min-height:100dvh!important; height:100dvh!important; }
  .portal-messenger-sidebar { width:100%!important; height:100dvh!important; max-height:100dvh!important; padding:14px 12px 24px!important; border:0!important; background:linear-gradient(180deg,#073b2d,#04291f)!important; overflow-y:auto!important; }
  .portal-messenger-mobile-brand { display:flex!important; align-items:center!important; gap:9px!important; min-height:48px!important; padding:2px 48px 8px 2px!important; border-bottom:1px solid rgba(244,216,117,.12)!important; }
  .portal-messenger-mobile-brand img:first-child { width:29px!important; height:33px!important; object-fit:contain!important; }
  .portal-messenger-mobile-brand img:last-child { width:132px!important; height:auto!important; }
  .portal-messenger-sidebar > .portal-kicker { margin-top:15px!important; font-size:8px!important; }
  .portal-messenger-sidebar h2 { margin:5px 0 10px!important; font-size:30px!important; }
  .portal-messenger-search { min-height:42px!important; border-radius:13px!important; padding:11px 13px!important; font-size:13px!important; }
  .portal-messenger-placeholder-list { display:grid!important; gap:6px!important; margin-top:10px!important; }
  .portal-messenger-contact { min-height:62px!important; padding:9px 10px!important; border-radius:13px!important; }
  .portal-contact-avatar { width:42px!important; height:42px!important; min-width:42px!important; font-size:14px!important; }
  .portal-messenger-contact b { font-size:14px!important; }
  .portal-messenger-contact small { font-size:11px!important; }
  .portal-messenger-sidebar::after { content:"Раздел сообщений готовится к запуску"; display:block; margin-top:14px; padding:10px 12px; border-radius:12px; border:1px solid rgba(244,216,117,.15); color:rgba(255,255,255,.58); font-size:11px; line-height:1.35; text-align:center; }
  .portal-messenger-main { display:none!important; }

  /* Admin / tables stay usable on phone */
  .admin-v2-main { padding:12px!important; }
  .admin-v2-top h1 { font-size:36px!important; }
  .admin-sidebar { padding:10px!important; }
  .admin-side-nav { gap:6px!important; }
  .admin-side-nav button { min-height:38px!important; padding:8px 11px!important; font-size:11px!important; }
  .admin-stat-grid, .admin-overview-stats, .admin-v2-grid, .admin-events-list, .admin-ticket-settings, .payment-category-settings, .admin-quick-grid { grid-template-columns:1fr!important; }
  .admin-panel { padding:14px!important; }
  .admin-panel h2, .admin-section-head h2 { font-size:28px!important; }
  .table-wrap { overflow-x:auto!important; -webkit-overflow-scrolling:touch!important; }
  .admin-table { min-width:720px!important; }

  /* Footer stays readable instead of microscopic */
  .site-footer .footer-links { grid-template-columns:1fr 1fr!important; gap:14px!important; }
  .site-footer .footer-links h4 { font-size:9px!important; }
  .site-footer .footer-links a { font-size:11px!important; line-height:1.35!important; }
  .site-footer .footer-brand p { font-size:11px!important; line-height:1.45!important; }
  .site-footer .footer-bottom { flex-wrap:wrap!important; font-size:9px!important; }
}

@media (max-width: 420px) {
  :root { --m-gutter: 14px; }
  body:not(.application-page) .hero h1 { font-size:39px!important; }
  .hero-actions { grid-template-columns:1fr!important; }
  .hero-stage { height:220px!important; min-height:220px!important; max-height:220px!important; }
  .home-ecosystem .eco-node { font-size:8px!important; }
  .section-qualities .quality-card { font-size:12px!important; }
  .portal-title { font-size:33px!important; }
  .portal-top .portal-ghost { padding:7px 7px!important; font-size:8px!important; }
}

/* Desktop-only helper for the mobile messenger branding. */
@media (min-width: 761px) { .portal-messenger-mobile-brand { display:none!important; } }
