/* Shared phone layout. Desktop rules remain in arena-home / arena-pages. */
@media (max-width: 760px) {
  html { scroll-padding-top: 90px; }
  body, body.arena-page { font-size:16px; line-height:1.75; }
  .wrap { width:calc(100% - 40px); }
  .section { padding-block:44px; }
  h1 { font-size:34px; line-height:1.15; letter-spacing:-1px; }
  h2 { font-size:29px; line-height:1.25; letter-spacing:-.7px; }
  h3 { font-size:24px; line-height:1.3; }
  .eyebrow, .hero .eyebrow { font-size:12px; line-height:1.6; letter-spacing:1.2px; }
  .hero-copy .lead, .studio-grid p:not(.eyebrow), .work p:not(.eyebrow),
  .price-details, .request-intro p, .section-heading>p, .section-note,
  .faq-grid>div>p { font-size:16px; line-height:1.75; }
  .location, .small, .hint { font-size:14px; line-height:1.65; }
  .hero { gap:24px; padding-block:30px; }
  .hero-price { font-size:18px; line-height:1.7; }
  .hero-price p { font-size:15px; line-height:1.7; }
  .hero-photo { height:240px; }
  .actions, .hero .actions { flex-direction:column; align-items:stretch; gap:12px; }
  .button, .hero .actions .button, .menu-toggle {
    min-height:50px; padding:13px 18px; font-size:16px; line-height:1.5;
  }
  .text-link { font-size:16px; line-height:1.5; padding-block:13px; }
  .site-header nav a, .arena-page .site-header nav a { font-size:16px; min-height:50px; }
  .site-header nav.js-menu { left:-20px; width:calc(100% + 40px); }
  .reassurance ul { font-size:14px; gap:14px; line-height:1.6; }
  .reassurance li { padding-left:12px; position:relative; }
  .reassurance li:before { position:absolute; left:0; top:9px; }

  /* Compact initials beside the name; the biography gets the full card width. */
  .engineer {
    grid-template-columns:64px minmax(0,1fr); grid-template-rows:auto auto;
    gap:8px 16px; padding:22px 20px;
  }
  .engineer>img.portrait { display:none; }
  .engineer .portrait-placeholder {
    width:64px; height:64px; min-height:0; grid-column:1; grid-row:1 / 3;
    align-self:center; border:1px solid var(--line); border-radius:4px;
  }
  .engineer .portrait-mobile { display:flex; }
  .engineer .portrait-placeholder>span { font-size:40px; }
  .engineer .portrait-placeholder small { display:none; }
  .engineer-copy { display:contents; }
  .engineer-copy .eyebrow { grid-column:2; grid-row:1; font-size:11px; line-height:1.5; margin:0; align-self:end; }
  .engineer-copy h3 { grid-column:2; grid-row:2; font-size:28px; margin:0; }
  .engineer-copy>p:not(.eyebrow), .engineer-copy>.engineer-styles,
  .engineer-copy>.engineer-credits, .engineer-copy>.text-link { grid-column:1 / -1; }
  .engineer-copy>p:not(.eyebrow), .engineer-credits p { font-size:16px; line-height:1.75; margin:8px 0; }
  .engineer-styles { margin-block:12px 0; gap:8px; }
  .engineer-styles li { font-size:14px; padding:5px 10px; }
  .engineer-credits h4 { font-size:12px; line-height:1.6; }
  .engineer-copy .text-link { font-size:16px; margin-top:8px; padding:14px 0; border-top:1px solid var(--line); }

  .price-grid { grid-template-columns:1fr; gap:16px; }
  .price-card { padding:22px; }
  .price-card h3 { font-size:20px; }
  .price-card .amount { font-size:46px; line-height:1.4; }
  .price-card>p:not(.amount) { font-size:16px; }
  .price-card .text-link { justify-content:center; min-height:50px; margin-top:18px; padding:13px 16px; border:1px solid var(--gold); border-radius:3px; }
  .references ul { font-size:18px; line-height:1.6; gap:16px 22px; }
  .faq-list summary { font-size:18px; line-height:1.5; padding:20px 32px 20px 0; min-height:60px; }
  .faq-list details p { font-size:16px; line-height:1.8; padding-right:0; padding-bottom:20px; }
  .request-panel { padding:22px 18px; }
  .field label { font-size:16px; line-height:1.5; }
  .field input, .field select, .field textarea { font-size:16px; min-height:52px; }
  .field .hint, .request-panel .small { font-size:14px; line-height:1.7; }
  .request-summary { font-size:17px; }
  .mobile-dock { gap:10px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .mobile-dock .gold { font-size:15px; min-height:50px; padding:12px; }
  .dock-call { font-size:15px; min-height:50px; padding:0 8px; }
  .site-footer .footer-grid, .arena-page .site-footer .footer-grid { grid-template-columns:1fr; gap:28px; }
  .site-footer p, .site-footer address, .site-footer a, .site-footer .footer-bottom,
  .arena-page .site-footer p, .arena-page .site-footer address, .arena-page .site-footer a { font-size:15px; line-height:1.7; }
  .site-footer h2, .arena-page .site-footer h2 { font-size:16px; margin-bottom:10px; }
  .site-footer nav>a, .site-footer .footer-bottom>a, .site-footer .social-links a,
  .arena-page .site-footer nav>a, .arena-page .site-footer .social-links a { font-size:15px; min-height:44px; padding-block:10px; }

  /* Secondary pages: override the older page-specific type scales. */
  body.arena-page .arena-content :is(p,.lead,.hero-subtitle,.section-subtitle,li,td,th,.accordion-body,.service-rates) { font-size:16px!important; line-height:1.75!important; }
  body.arena-page .arena-content :is(.eyebrow,.hero-badge,.badge,.col-label) { font-size:12px!important; line-height:1.6!important; }
  body.arena-page .arena-content h1 { font-size:32px!important; line-height:1.2!important; }
  body.arena-page .arena-content h2 { font-size:28px!important; line-height:1.3!important; }
  body.arena-page .arena-content h3 { font-size:23px!important; }
  body.arena-page .arena-content :is(.btn,.button,.btn-primary-large,.btn-outline-light-custom,.btn-gold,.next-btn,.btn-submit,.btn-cta) { font-size:16px!important; line-height:1.5!important; min-height:52px; padding:14px 18px!important; white-space:normal; width:100%; }
  body.arena-page .arena-content :is(.hero-buttons,.cta-buttons) { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
  body.arena-page .arena-content :is(.text-link,.form-label,.form-floating>label) { font-size:16px; }
  body.arena-page .arena-content :is(.form-text,.rgpd,.note,small) { font-size:14px!important; line-height:1.7; }
  body.arena-page .arena-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px!important; min-height:52px; }
  body.arena-page .arena-content .accordion-button { font-size:18px!important; line-height:1.5; padding:20px 16px!important; min-height:60px; }
  body.arena-page .arena-content .accordion-body { padding:18px 16px; }
  body.arena-page .arena-content .price-grid { grid-template-columns:1fr; }
  body.arena-page .arena-content .price-card { padding:22px; }
  body.arena-page .arena-content .price-card .amount { font-size:46px!important; }
  body.arena-page .arena-content .prog-grid { grid-template-columns:1fr!important; }
  body.arena-page .arena-content :is(.p-5,.p-md-5,.p-4) { padding:20px!important; }
  body.arena-page .arena-content .glass-card .glass-card { padding:0!important; border:0!important; }
  body.arena-page .arena-content .page-links { font-size:15px; gap:8px 20px; }
  .page-links a { padding-block:10px; min-height:44px; }
  .context-details>summary, .context-content, .context-content a { font-size:15px; line-height:1.7; }
  #studio-player .studio-player-caption { font-size:16px; }
}
