/* Phone and tablet refinements. Desktop layout stays in editorial.css. */
@media (max-width:800px) {
  html {scroll-padding-top:16px;scroll-padding-bottom:96px}
  body {padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .site-header {gap:16px}
  .menu-toggle {min-width:112px;min-height:48px;justify-content:space-between;flex-shrink:0}
  .site-header nav {max-height:calc(100svh - 140px);overflow-y:auto;overscroll-behavior:contain}
  .site-header nav a {min-height:48px}
  .mobile-consult {padding:8px max(16px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom))}
  .mobile-consult a {min-height:52px;font-size:18px;line-height:1.5}
  .management-work-heading {display:block}
  .management-work-heading .work-image-label {margin-top:14px}
  .work-photo-grid {grid-template-columns:1fr;gap:24px}
  .work-photo-grid figure {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
  .work-photo-grid figcaption {padding-top:0}
  .work-photo-grid h4 {font-size:22px}
  .work-photo-grid p {font-size:17px}
  .operator-copy h2 .phrase,.service-story h2 .phrase,.future-heading h2 .phrase,.consult-intro h2 .phrase {display:inline-block}
  .form-field input,.form-field select,.form-field textarea {min-height:50px;scroll-margin-block:24px 100px;font-size:18px}
  .footer-links a {display:flex;align-items:center;min-height:44px}
  .footer-links {gap:4px}
}
@media (max-width:560px) {
  .wrap,.opening-inner,.guide-shell {width:calc(100% - 40px)}
  .section {padding-block:44px}
  .site-header {padding:12px 20px}
  .brand img {width:110px}
  .brand span {font-size:11px}
  .preview-bar {font-size:12px;line-height:1.65;padding:6px 14px}
  .opening-inner {padding-block:24px}
  .opening h1 {font-size:clamp(27px,8.45vw,38px);line-height:1.5}
  .opening-lead {margin-block:16px 20px;font-size:18px;line-height:1.8}
  .opening-photo {height:auto;aspect-ratio:16/9}
  .opening-reassurance {font-size:15px}
  .service-directory strong {font-family:var(--sans);font-size:22px;line-height:1.55}
  .service-directory>a {padding-block:20px}
  .service-directory span {font-size:14px;line-height:1.8}
  .recognition {padding-block:40px;gap:22px}
  .service-story h2,.operator-copy h2,.future-heading h2 {font-size:26px;line-height:1.65;letter-spacing:0}
  .service-story>p:not(.section-label):not(.footnote) {font-size:18px;line-height:1.9}
  .service-story>p br {display:none}
  .service-story .footnote {font-size:15px;line-height:1.8}
  .consultation-paper {padding:22px 20px;box-shadow:3px 3px 0 #ede9df}
  .consultation-paper dl>div {padding-block:14px}
  .consultation-paper dd {font-size:17px;line-height:1.8}
  .management-banner figure {height:auto;aspect-ratio:16/10}
  .management-banner-copy {padding:28px 20px}
  .management-banner-copy>p:last-child {font-size:18px;line-height:1.85}
  .management-banner-copy>p:last-child br {display:none}
  .management-work-heading h3 {font-size:25px;line-height:1.6}
  .work-photo-grid {gap:28px}
  .work-photo-grid figure {display:block}
  .work-photo-grid figcaption {padding-top:12px}
  .work-photo-grid h4 {font-size:21px;margin-bottom:6px}
  .work-photo-grid p {font-size:18px;line-height:1.85}
  .management-work-footer p {font-size:18px;line-height:1.85}
  .staff-portrait {max-width:320px}
  .operator-section {padding-block:44px}
  .operator-grid {gap:26px}
  .operator-copy>p:not(.section-label):not(.staff-name) {font-size:18px;line-height:1.9}
  .future-rows>div {grid-template-columns:85px minmax(0,1fr);gap:18px}
  .future-rows dd {font-size:17px;line-height:1.85}
  .future-rows dt span {font-size:13px}
  .process-title h2 {font-size:26px;letter-spacing:0}
  .process-list h3 {font-size:20px}
  .process-list p,.faq-section details>p {font-size:17px}
  .faq-section summary {font-size:18px;line-height:1.8}
  .consult-line .consult-intro h2 {font-size:26px;line-height:1.65;letter-spacing:0}
  .consult-line .consult-intro>p:not(.section-label):not(.line-help) {font-size:18px;margin-top:20px}
  .consult-intro>p br {display:none}
  .consult-line .line-consult-button,.consult-line .alternative-label {min-height:60px;font-size:20px;padding:16px 18px;gap:12px}
  .consult-line .line-consult-button {margin-top:24px}
  .consult-line .form-alternative {margin-top:20px}
  .consult-line>.wrap>.consult-fee {font-size:16px;margin-top:22px}
  .inquiry-panel {padding:22px 16px}
  .form-next,.form-back {font-size:17px;gap:10px;padding-inline:12px;min-height:56px}
  .radio-options label {font-size:17px;min-height:50px}
  .phone-details .phone-number {font-size:28px;min-height:48px}
  .guide-lp-grid {gap:24px}
  .guide-lp-grid .guide-card {display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:16px;padding-bottom:20px}
  .guide-lp-grid .guide-photo {aspect-ratio:1;min-width:0;width:100%}
  .guide-lp-grid .guide-card h3 {font-size:18px;line-height:1.7;margin-bottom:10px}
  .guide-lp-grid .guide-category {font-size:13px;line-height:1.7;margin-bottom:6px}
  .guide-lp-grid .guide-read {font-size:16px;gap:12px}
  .site-footer {padding:36px 20px 30px}
}
@media (max-width:359px) {
  .wrap,.opening-inner,.guide-shell {width:calc(100% - 32px)}
  .site-header {padding-inline:16px;gap:12px}
  .menu-toggle {min-width:104px;font-size:14px;padding-inline:12px}
  .service-story h2,.operator-copy h2,.future-heading h2,.consult-line .consult-intro h2 {font-size:24px}
  .management-banner h2 {font-size:25px;letter-spacing:0}
  .management-banner-copy {padding-inline:16px}
  .management-work-heading h3 {font-size:24px}
  .consult-line .line-consult-button,.consult-line .alternative-label {font-size:18px}
  .guide-lp-grid .guide-card {grid-template-columns:84px minmax(0,1fr);gap:12px}
  .process-title h2 {font-size:24px}
  .form-next {font-size:16px}
}
