/* Supplemental layout safety rules: load after css/main.css */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;max-width:100%;overflow-x:clip}
.container{width:min(100% - 48px,1200px);max-width:1200px;margin-inline:auto}
.container>*{min-width:0}
img,video,iframe{max-width:100%}
img{height:auto}
.prose img{display:block;width:100%;object-fit:cover}
.service-grid,.project-grid,.proof-grid,.footer-grid,.service-detail,.split,.contact-layout{min-width:0}
.service-grid>*,.project-grid>*,.proof-grid>*,.footer-grid>*,.service-detail>*,.split>*,.contact-layout>*{min-width:0}
.nav{min-width:0}
.nav a{white-space:nowrap}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(24px,4vw,54px);align-items:start}
.contact-layout .contact-form{width:100%;max-width:100%}
.contact-side .side-card{min-width:0}
.contact-side a{overflow-wrap:anywhere}
.contact-form .button{cursor:pointer}
@media(max-width:1100px){.nav{gap:clamp(8px,1.2vw,16px)}.nav a{font-size:clamp(11px,1vw,14px)}}
@media(max-width:850px){.contact-layout{grid-template-columns:minmax(0,1fr)}.container{width:min(100% - 36px,1200px)}}
@media(max-width:560px){.container{width:calc(100% - 32px)}.contact-form{padding:20px}.contact-fields{grid-template-columns:1fr}.field.full{grid-column:auto}.page-hero h1,.hero h1{overflow-wrap:break-word}}
