/* Phone overrides follow the embedded desktop and hero styles. */
.vhero-mobile-kicker, .vhero-txt-mobile { display: none; }
@media (max-width: 760px) {
  :root { --sec-py: 24px; }
  html { scroll-padding-top: 80px; }
  .sec, .approach-section .sec { padding-left: 20px; padding-right: 20px; }
  .vhero {
    min-height: 0;
    padding-bottom: 56px;
    background:
      radial-gradient(ellipse 105% 46% at 82% 39%, rgba(94, 140, 224, 0.3) 0%, transparent 66%),
      radial-gradient(ellipse 92% 42% at 18% 72%, rgba(31, 110, 212, 0.28) 0%, transparent 70%),
      linear-gradient(155deg, #05070d 0%, #081426 42%, #0b1d38 70%, #060a14 100%);
  }
  .vhero-util { grid-template-columns: minmax(0, 1fr) auto; gap: 0 12px; padding: 16px 22px; min-height: 60px; align-items: center; }
  .vhero-logo { justify-self: start; width: 100%; }
  .vhero-logo img { display: block; margin: 0; width: 128px; max-width: 100%; height: auto; max-height: 26px; transform: translateX(-2px); }
  .vhero-phone { white-space: nowrap; font-size: 16px; font-weight: 600; }
  .vhero-b { display: none; }
  .vhero-mobile-kicker {
    display: block;
    order: 1;
    padding: 62px 22px 0;
    color: rgba(255,255,255,.62);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .01em;
    text-align: left;
  }
  /* На телефоне: контекст → тезис → показатель → действие. */
  .vhero-big {
    order: 2;
    margin: 0;
    padding: 29px 22px 0;
    max-width: none;
    white-space: normal;
    text-align: left;
    line-height: 1;
    letter-spacing: -.035em;
  }
  .vhero-big { background-image: linear-gradient(110deg, #aabfda 0%, #dce9f6 48%, #f3f8fd 78%, #cbddef 100%); }
  .vhero-big .l1,
  .vhero-big .l2 { display: none; }
  .vhero-big .mobile-line {
    display: block;
    font-size: clamp(46px, 12.25vw, 52px);
    line-height: .94;
    letter-spacing: -.04em;
  }
  .vhero-big .mobile-line-lead {
    font-size: clamp(41px, 10.9vw, 46px);
    white-space: nowrap;
  }
  .vhero-marker {
    order: 3;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 54px 22px 0;
    text-align: left;
  }
  .vhero-num { font-family: 'Space Grotesk', sans-serif; font-size: clamp(46px, 12vw, 52px); line-height: 1.12; font-weight: 300; margin: 0 0 12px; white-space: nowrap; }
  .vhero-paren { display: inline-block; margin: 0 2px; opacity: .5; font-family: 'Space Grotesk', sans-serif; }
  .vhero-txt-desktop { display: none; }
  .vhero-txt-mobile { display: inline; }
  .vhero-txt-mobile br { display: block; }
  .vhero-txt-mobile, .vhero-txt-mobile .vhero-txt-strong { font-family: 'Onest', sans-serif; }
  .vhero-txt-mobile .vhero-txt-strong { font-size: 17px; }
  .vhero-txt-mobile::after { content: none; }
  .vhero-txt { margin: 0; max-width: 330px; font-size: 18px; line-height: 1.35; color: rgba(255,255,255,.56); }
  .vhero-cta { width: 100%; margin-top: 38px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
  .vhero-cta button { min-height: 50px; height: auto; padding: 13px 20px; font-size: 15px; }
  .vhero-cta .is-primary { width: 254px; justify-content: center; background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.42); }
  .vhero-cta .is-ghost { width: 254px; justify-content: center; min-height: 50px; padding: 13px 20px; background: transparent; border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.72); }
  .vhero-cta .is-ghost::after { content: none; }
  .nav-logo img { height: auto; max-height: 22px; max-width: 125px; }
  .nav .btn-gradient { padding: 10px 14px; font-size: 12px; min-height: 44px; }
  .section-h, .team-h { line-height: 1.12; text-wrap: balance; }
  .section-lead, .svc-lead, .contact-lead { font-size: 16px; line-height: 1.55; }
  .svc-g { grid-template-columns: minmax(0, 1fr); }
  .svc-card { padding: 24px 20px; }
  .cases-filter { margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; }
  .case-chip { min-height: 44px; padding: 12px 16px; font-size: 14px; }
  .cases-scroll, .team-scroll { scroll-snap-type: x proximity; }
  .case-card, .team-card, .team-card.founder { flex: 0 0 min(80vw, 320px); scroll-snap-align: start; }
  .case-card { height: auto; min-height: 310px; }
  .case-card-title { max-width: 100%; }
  .case-card-metric { padding-top: 24px; }
  .team-head { padding-left: 0; padding-right: 0; }
  .team-scroll-outer { padding-top: 4px; }
  .team-arrow { display: flex; width: 42px; height: 42px; top: 46%; background: #0b0b0a; border-color: rgba(255,255,255,.45); color: #fff; box-shadow: 0 5px 18px rgba(0,0,0,.22); }
  .team-arrow-left { display: none; }
  .team-arrow-right { right: 10px; }
  .team-card.founder .team-card-avatar { box-shadow: 0 0 0 1px rgba(69,184,204,.46); }
  .team-card, .team-card.founder { height: 410px; min-height: 410px; padding: 22px; }
  .team-card, .team-card.founder { grid-template-rows: 76px 150px 96px; row-gap: 16px; }
  .team-card-top, .team-card-top-single { min-height: 0; }
  .team-card-top { flex-wrap: wrap; gap: 10px; }
  .founder-badge { margin-left: 0; }
  .team-card-role { font-size: 14px; line-height: 1.4; }
  .team-card-avatar-wrap { flex-basis: 150px; }
  .team-card-expertise { height: 96px; min-height: 96px; }
  .team-card-expertise span,
  .team-card-expertise > span:not(.team-card-expertise-icon) { font-size: 12px; line-height: 1.35; }
  .team-card:not(.founder) .team-card-role { color: #646464; }
  .team-card.founder .team-card-role, .team-card.founder .team-card-expertise span { color: #b8c1ca; }
  .approach-outer { grid-template-columns: minmax(0, 1fr); }
  .approach-left, .approach-right, .contact-left, .contact-right { min-width: 0; }
  .approach-lead, .approach-left-note { max-width: none; }
  .approach-lead, .approach-row-text, .approach-result-desc { font-size: 16px; line-height: 1.55; color: #a5b1bd; }
  .approach-left-note { font-size: 14px; color: #9ba9b7; }
  .approach-row { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 20px 0; }
  .approach-row-title { font-size: 18px; line-height: 1.35; }
  .approach-row-chevron { display: none; }
  .approach-result { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
  .approach-result-title { font-size: 23px; line-height: 1.25; }
  .approach-rows-head, .eyebrow-dark, .eyebrow-light { color: #8f9ba8; }
  .contact-r { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .contact-left { height: auto; gap: 32px; }
  .contact-lead { color: #a5a5a5; }
  .quote-text { font-size: 22px; }
  .contact-form { gap: 18px; }
  .contact-form label { font-size: 12px; color: #aab1b9; }
  .contact-form input:not([type="checkbox"]), .contact-form textarea { font-size: 16px; min-height: 48px; }
  .contact-form textarea { min-height: 150px; }
  .form-consent { font-size: 14px; line-height: 1.5; }
  .contact-form .form-consent input { width: 22px; height: 22px; }
  .btn-gradient-dark { width: 100%; min-height: 48px; }
  .footer-links { gap: 0 20px; }
  .footer-link { min-height: 34px; display: inline-flex; align-items: center; font-size: 14px; color: #a1a1a1; }
  .footer-policy, .footer-bottom span:not(.footer-link), .footer-tagline { color: #929292; }
  .case-modal-inner { padding: 68px 20px 32px; }
  .case-modal-close { right: 16px; top: 16px; width: 44px; height: 44px; color: #fff; z-index: 1; }
  .modal-title { font-size: 26px; line-height: 1.15; overflow-wrap: anywhere; }
  .modal-outcome { padding: 16px; }
  .ticker-modal { padding: 16px; }
  .ticker-modal-inner { padding: 56px 24px 28px; max-height: calc(100svh - 32px); overflow-y: auto; }
  .ticker-modal-close { width: 44px; height: 44px; }
  .stats-wrap, .why-section .sec, .services-section .sec, .cases-section .sec, .contact-section .sec { padding-top: 24px; padding-bottom: 24px; }
  .section-h { font-size: clamp(2rem, 10vw, 3rem); }
  .stat-desc, .why-card p, .svc-card p, .case-card-desc, .team-foot p { font-size: 14px; line-height: 1.45; }
}
@media (hover: none) {
  .approach-rows:hover .approach-row { opacity: 1; }
  .case-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html, .cases-scroll, .team-scroll { scroll-behavior: auto; }
}
