/* Bounded responsive grid preserving MPO proportions. */
html:root{--container:1480px;--gutter:clamp(20px,3vw,48px)}
body .container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}
.container>*,.contacts-grid>*{min-width:0}
body .ps-wrap,body .mapwrap{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--container) - 2 * var(--gutter));margin-inline:auto}
body .mapwrap{overflow:hidden;border-radius:14px}
.mapwrap iframe{width:100%;height:clamp(300px,45vh,460px);border:0}
body .about-hero{align-items:center;gap:clamp(28px,4vw,56px)}
body .about-hero .photo{max-height:480px;overflow:hidden;width:100%;margin:0}
body .about-hero p{max-width:68ch}
input,textarea,select{max-width:100%;box-sizing:border-box}
#company-project-note{width:calc(100% - 2 * var(--gutter))!important;max-width:calc(var(--container) - 2 * var(--gutter))!important;margin:32px auto!important;padding:24px 0!important}
@media(max-width:900px){body .about-hero{grid-template-columns:minmax(0,1fr)}body .about-hero .photo{max-height:380px}}
@media(max-width:860px){.contacts-grid{grid-template-columns:minmax(0,1fr)!important}.mapwrap{border-radius:8px}}
