/* Mobile layout (max 700px) shared across all pages. Unwrapped rules. */
:root { --header: 4.7rem; --radius-xl: 1.4rem; }
  .container { width: min(calc(100% - 0.75rem), var(--container)); }
  .resume-link { display: none; }
  .brand { font-size: .83rem; }
  .hero { padding-top: .95rem; }
  .hero-copy { padding: 3.2rem 1.45rem 2.3rem; top: 0; margin-bottom: 0; }
  .hero h1 { font-size: clamp(3rem, 14.6vw, 4.55rem); }
  .hero .lead { font-size: .98rem; line-height: 1.62; }
  .hero-facts {
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid var(--border);
    padding-top: 1.1rem;
  }
  .hero-facts div {
    grid-template-columns: 1.35rem 1fr;
    padding: .8rem 0;
    border-left: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent);
  }
  .hero-facts div + div { padding-left: 0; }
  .hero-facts div:last-child { border-bottom: 0; }
  .hero-facts strong { font-size: .86rem; font-weight: 700; }
  .hero-facts span:not(.fact-icon) { margin: 0; white-space: normal; }
  .hero-visual { min-height: 21rem; }
  .hero-visual::before { top: 1.1rem; right: .4rem; width: 82%; }
  .hero-portrait { right: -.7rem; top: -.85rem; height: calc(100% + .85rem); max-width: 100%; }
  .hero-system { width: 115%; right: -17%; top: -1rem; }
  .hero-project-card { right: 1rem; bottom: .8rem; width: min(18.2rem, calc(100% - 2rem)); padding: 1.08rem; }
  .hero-signature { width: min(8.5rem, 48%); height: auto; bottom: calc(100% + .3rem); }
  .project-strip { grid-template-columns: 1fr 1fr; padding: 1.5rem .1rem 0; gap: 0; }
  .strip-label { grid-column: 1 / -1; padding-bottom: .5rem; }
  .strip-item { border-top: 1px solid color-mix(in srgb, var(--foreground) 10%, transparent); padding: .9rem .2rem; }
  .strip-copy strong { font-size: .8rem; }
  .strip-copy small { font-size: .68rem; }
  .section { padding: 4.8rem 0; }
  .section.tight { padding: 3.8rem 0; }
  .page-intro .container, .case-hero > .container { padding: 3.25rem 1.45rem; }
  .page-intro h1 { font-size: clamp(2.9rem, 13vw, 4.3rem); }
  .case-hero h1 { font-size: clamp(3.2rem, 15vw, 4.7rem); }
  .section-heading h2 { font-size: clamp(2.45rem, 11vw, 3.5rem); }
  .snapshot-grid { grid-template-columns: 1fr; }
  .cap-grid, .expertise-grid, .principle-grid, .tech-grid, .teaching-grid, .company-grid { grid-template-columns: 1fr; }
  .company-grid > :nth-child(n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .company-grid > :last-child { border-bottom: 0; }
  .principle { min-height: 0; }
  .case-meta { grid-template-columns: 1fr; }
  .detail-section { grid-template-columns: 1fr; gap: 1rem; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .form-footer, .resume-top, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .cta-panel { padding: 2.2rem 1.5rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  /* Mobile structure perfecting — shared across all 18 pages */
  html, body { overflow-x: clip; }
  .hero { padding: .95rem 0 2.5rem; }
  .hero-shell { grid-template-columns: 1fr; overflow: clip; }
  .hero-visual { min-height: 21rem; overflow: clip; }
  img, svg, video, canvas { max-width: 100%; height: auto; }
  table { display: block; max-width: 100%; overflow-x: auto; }
  pre, code { white-space: pre-wrap; overflow-wrap: anywhere; }
  p, h1, h2, h3, li { overflow-wrap: break-word; }
  .btn { min-height: 2.9rem; }
  .project-visual { aspect-ratio: 16 / 10; }
  .selected-work .project-list { flex-direction: column; }
  .selected-work .project-row { flex: 1 1 auto; }
