/* Device refinements. Deliberately exclude the homepage video hero. */
.inner-page :is(.page-hero-grid,.work-hero-grid,.work-conversation-grid,.work-plan-grid,.work-preparation-grid,.contact-hero-grid,.contact-inquiry-grid,.map-layout)>*,
.cta-layout>*,.footer-grid>*,.form-row>*{min-width:0}
.inner-page :is(.work-detail-photo,.work-preparation-photo){width:100%;min-width:0}
.inner-page .breadcrumbs{flex-wrap:wrap;align-items:center}
.inner-page .button,.cta-section .button{max-width:100%;white-space:normal;text-align:left}
.inner-page .button>span,.cta-section .button>span{flex-shrink:0}
.cta-layout h2{overflow-wrap:anywhere}
.inquiry-form :is(input,select,textarea){min-width:0;max-width:100%}

@media(max-width:1100px){
  .contact-inquiry-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:35px}
  .contact-inquiry-section .form-row{grid-template-columns:1fr;gap:0}
  .map-footer{flex-wrap:wrap;gap:8px 20px}
}
@media(max-width:900px){
  .cta-layout{flex-direction:column;align-items:flex-start;gap:28px}
  .work-contact>.container{flex-direction:column;align-items:flex-start;gap:28px}
  .contact-inquiry-grid{grid-template-columns:1fr;gap:35px}
  .contact-inquiry-intro>p:not(.eyebrow){max-width:650px}
  .contact-inquiry-section .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:800px){
  .site-header.menu-open nav{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
  .site-footer a:not(.wordmark){min-height:44px;display:flex;align-items:center;margin-bottom:0;font-size:12px}
  .footer-grid h2{margin-bottom:13px}
  .inner-page .text-link,.home-page main>.section .text-link,.home-story .text-link{min-height:44px;max-width:100%;gap:18px}
  .inner-page :is(input,select,textarea){font-size:16px}
  .inner-page :is(.card-body p,.info-grid p,.work-plan-copy>p:not(.eyebrow),.work-day-grid p,.work-agreement span,.work-checklist li),
  .home-page .card-body p,.story-copy>p:not(.eyebrow){font-size:15px;line-height:1.9}
  .city-use-actions{flex-wrap:wrap;gap:8px 18px}
  .city-use-actions button{min-height:44px;font-size:12px}
  .map-toolbar button{min-height:44px;font-size:11px}
  .map-footer>span{font-size:11px;line-height:1.7}
  .map-footer a{min-height:44px;font-size:12px;white-space:normal}
  #service-map .leaflet-bar a{width:44px;height:44px;line-height:44px}
  .form-heading{flex-wrap:wrap;gap:8px 20px}
  .form-heading>span,.form-heading small{font-size:11px}
  .form-privacy{font-size:12px;line-height:1.8}
  .inquiry-result textarea{font-size:16px}
  .result-actions .button{font-size:12px;min-height:44px}
}
@media(max-width:560px){
  .cta-layout h2{font-size:clamp(35px,9.5vw,49px)}
  .inner-page .page-hero h1{font-size:clamp(36px,10.5vw,42px);overflow-wrap:anywhere}
  .inner-page .work-hero h1{font-size:clamp(37px,10.7vw,43px)}
  .inner-page .contact-hero h1{font-size:clamp(53px,16vw,68px)}
  .contact-inquiry-section .form-row{grid-template-columns:1fr;gap:0}
  .contact-inquiry-section .inquiry-form{padding:26px 18px}
  .map-toolbar{flex-wrap:wrap;padding:12px;gap:10px}
  .map-toolbar>span{font-size:12px;flex:1 1 120px}
  #service-map{height:clamp(320px,58svh,420px)}
  .map-footer{padding:12px;flex-direction:column;align-items:flex-start}
  .map-sidebar h2{font-size:clamp(30px,8.7vw,35px)}
  .work-brief dl>div{grid-template-columns:70px minmax(0,1fr)}
  .work-brief dd{font-size:13px}
  .work-chapters a{font-size:11px;min-height:56px;gap:8px}
  .site-footer p{font-size:13px}
}
@media(max-width:360px){
  .footer-grid{grid-template-columns:1fr}
  .work-chapters a{padding:16px 8px!important;gap:6px;font-size:10px}
  .inner-page .button,.cta-section .button{gap:20px;padding-inline:18px}
}
