@media(max-width:900px){.hero,.project-detail__header,.project-detail__content,.auth-shell{grid-template-columns:1fr}.hero{min-height:auto}.hero__portrait{max-width:32rem;width:100%}.project-grid{grid-template-columns:repeat(2,1fr)}.project-detail__content aside{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}.admin-grid{grid-template-columns:1fr}}
@media(max-width:640px){html,body{max-width:100%;overflow-x:hidden}:root{--space:1.25rem}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--black);border-bottom:1px solid var(--line);padding:1.5rem var(--space);flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.section-shell{width:100%;padding-inline:var(--space)}h1{font-size:clamp(2.75rem,15vw,4.5rem);max-width:100%;overflow-wrap:anywhere}h2{font-size:clamp(2.25rem,12vw,3.75rem);max-width:100%;overflow-wrap:anywhere}.hero h1,.page-hero h1{max-width:100%}.hero__lead,.prose{font-size:1rem;overflow-wrap:anywhere}.eyebrow{font-size:.66rem;line-height:1.6}.project-grid{grid-template-columns:minmax(0,1fr)}.section-heading,.footer-row,.admin-title{flex-direction:column}.section-heading>div{min-width:0}.footer-row{display:flex}.project-detail__header{gap:2rem}.project-detail__header img{min-width:0}.admin-header{align-items:flex-start;padding-block:1rem}.admin-header nav{flex-wrap:wrap;justify-content:flex-end}.button{width:100%;white-space:normal;text-align:center}.button-row{display:grid;grid-template-columns:1fr;width:100%}.button-row .button{width:100%}.contact-links a{min-width:0;gap:1rem;overflow-wrap:anywhere}.footer-monument{width:100%;min-height:15rem}.footer-row>*{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:360px){:root{--space:1rem}h1{font-size:clamp(2.25rem,12.5vw,2.8rem);letter-spacing:-.035em;line-height:1.04}h2{font-size:clamp(1.9rem,10.5vw,2.5rem)}.hero h1 em{overflow-wrap:anywhere;word-break:break-word}.site-header{min-height:4.5rem}.hero{gap:2rem}.hero__portrait{aspect-ratio:1/1.15}.section-shell{padding-block:3.5rem}.contact-links a{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Production mobile overflow hardening */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
main, .section-shell, .hero, .hero > *, .section-heading > *, .contact-links, .site-footer { min-width: 0; }
@media (max-width: 640px) {
  :root { --space: 1rem; }
  .site-header { padding-inline: var(--space); }
  .hero { display: grid; width: 100%; gap: 2.5rem; }
  .hero h1, .page-hero h1 { font-size: clamp(2.65rem, 14.5vw, 4rem); line-height: .98; overflow-wrap: normal; word-break: normal; }
  .hero h1 em { overflow-wrap: normal; word-break: normal; }
  .eyebrow { max-width: 100%; letter-spacing: .12em; white-space: normal; }
  .hero__lead { max-width: 100%; }
  .button-row { min-width: 0; }
  .button { max-width: 100%; overflow-wrap: anywhere; }
  .site-footer { padding-inline: var(--space); }
}
@media (max-width: 380px) {
  .hero h1, .page-hero h1 { font-size: clamp(2.4rem, 13vw, 3.2rem); }
}
