.mobile-nav, .service-options-title { display: none; }
@media (max-width: 740px) {
  html { scroll-padding-top: 76px; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .container { width: calc(100% - 48px); }
  .site-header { position: sticky; top: 0; z-index: 8; border-bottom: 1px solid var(--line); }
  .header-inner { min-height: 60px; gap: 16px; }
  .wordmark { font-size: 18px; letter-spacing: .025em; }
  .menu-toggle { padding: 14px 10px; }
  .main-navigation { top: 54px; border-radius: 16px; padding: 22px; }
  .hero { background: #f0faf6; }
  .hero-grid { width: 100%; padding: 0; }
  .hero-copy { display: block; min-height: 560px; padding: 56px 24px 24px; }
  .hero h1 { font-size: clamp(44px, 13vw, 64px); line-height: 1.08; letter-spacing: -.06em; }
  .hero-cta { display: inline-flex; margin-top: 28px; min-height: 52px; }
  .hero-car { width: 100%; height: 240px; margin: 0; }
  .hero-car img { top: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .hero-services { flex-direction: column; gap: 20px; padding: 64px 24px 80px; margin: 0; background: #fff; }
  .service-options-title { display: block; margin-bottom: 16px; }
  .service-card { flex-direction: row; align-items: center; min-width: 0; min-height: 184px; padding: 24px; border: 1px solid var(--line); border-radius: 24px; gap: 18px; }
  .service-icon { width: 48px; height: 60px; }
  .service-icon svg { width: 48px; height: 48px; }
  .service-copy { gap: 8px; }
  .service-copy strong { font-size: 28px; font-weight: 750; letter-spacing: -.055em; }
  .service-number { display: block; font-size: 13px; }
  .service-copy > span:last-child { display: block; font-size: 13px; }
  .service-card .round-arrow { display: grid; width: 36px; height: 36px; align-self: center; }
  .section { padding: 72px 0; }
  h2 { font-size: 38px; line-height: 1.15; letter-spacing: -.06em; }
  .section-heading { align-items: center; gap: 16px; margin-bottom: 36px; }
  .text-link { font-size: 13px; gap: 8px; }
  .text-link span { font-size: 22px; }
  .case-section { background: var(--surface); }
  .case-cards, .magazine-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
  .case-card, .magazine-card { display: block; border: 0; border-radius: 24px; padding: 0; background: #fff; overflow: hidden; }
  .case-picture, .magazine-picture { width: 100%; height: auto; aspect-ratio: 1.12; border-radius: 0; overflow: hidden; }
  .case-copy, .magazine-copy { display: block; padding: 24px; min-width: 0; }
  .tag { font-size: 13px; font-weight: 650; }
  .card-title { width: 100%; margin-top: 14px; gap: 16px; }
  .case-card h3, .magazine-card h3 { font-size: 26px; font-weight: 750; line-height: 1.35; letter-spacing: -.045em; overflow-wrap: anywhere; }
  .card-arrow { font-size: 28px; flex-shrink: 0; }
  .magazine-card h3 br { display: initial; }
  .service-section { padding: 72px 0; background: #fff; }
  .decision-panel { display: block; padding: 40px 28px; border-radius: 28px; }
  .decision-panel h2 { font-size: 50px; }
  .decision-actions { width: 100%; margin-top: 32px; }
  .decision-actions a { min-height: 88px; font-size: 25px; }
  .process-section { background: var(--navy); color: #fff; }
  .process-list { grid-template-columns: 1fr; gap: 16px; }
  .process-list li { display: flex; align-items: center; gap: 28px; min-height: 124px; padding: 28px; border-radius: 20px; text-align: left; background: #142b44; }
  .step-number { font-size: 48px; flex: 0 0 64px; color: #b9f2e3; }
  .process-list h3 { margin: 0; font-size: 25px; }
  .process-note { margin-top: 28px; font-size: 13px; color: #c5d1dc; }
  .magazine-section { background: #fff; border: 0; }
  #magazine-title br { display: initial; }
  .magazine-filters { flex-wrap: nowrap; overflow-x: auto; gap: 8px; margin: 0 -24px 32px; padding: 0 24px 8px; scrollbar-width: none; }
  .magazine-filters::-webkit-scrollbar { display: none; }
  .magazine-filters button { flex-shrink: 0; min-height: 44px; padding: 10px 18px; font-size: 14px; background: var(--surface); }
  .magazine-card { background: var(--surface); }
  .closing-section { padding: 72px 0; }
  .closing-inner { display: block; }
  .closing-inner h2 { font-size: 38px; }
  .closing-inner .button { margin-top: 32px; min-height: 52px; gap: 32px; padding: 0 24px; font-size: 14px; }
  .site-footer { padding: 48px 0; }
  .footer-top { padding-bottom: 24px; gap: 20px; }
  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 10; display: grid; grid-template-columns: repeat(4, 1fr); padding: 7px 12px calc(7px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); }
  .mobile-nav a { min-height: 54px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 550; border-radius: 12px; }
  .mobile-nav svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-nav a[aria-current] { color: var(--navy); background: var(--surface); font-weight: 750; }
  .mobile-nav a[href="/consultation/"] { color: var(--mint-ink); }
}
@media (max-width: 360px) {
  .hero-copy { padding-top: 48px; }
  .hero-car { height: 220px; }
  .hero-services { padding-left: 20px; padding-right: 20px; }
  .service-card { padding: 20px; gap: 12px; }
  .service-icon, .service-icon svg { width: 40px; }
  .service-copy strong { font-size: 24px; }
  .service-card .round-arrow { width: 32px; height: 32px; }
  h2, .closing-inner h2 { font-size: 34px; }
  .case-copy, .magazine-copy { padding: 22px; }
  .case-card h3, .magazine-card h3 { font-size: 24px; }
  .decision-panel { padding: 36px 24px; }
  .decision-panel h2 { font-size: 44px; }
  .decision-actions a { font-size: 23px; }
  .process-list li { padding: 24px; gap: 20px; }
  .process-list h3 { font-size: 23px; }
}
