/* Separate bounded logo boxes keep the original artwork's ratio intact. */
.site-header .brand{min-width:0;max-width:140px;flex:0 0 auto}
.site-header .logo{display:block;width:104px;max-width:100%;height:auto;max-height:none;object-fit:contain}
.header-inner{height:90px;gap:24px}
.hero-grid{min-height:min(780px,calc(100svh - 91px))}
html{scroll-padding-top:106px}
footer{padding:46px 0 30px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:start}
.footer-grid>div{min-width:0}
.footer-grid .brand{display:inline-flex;width:108px;max-width:100%;margin:0 0 16px}
.footer-grid .logo{display:block;width:108px;max-width:100%;height:auto;max-height:none;object-fit:contain}
.footer-grid p{max-width:100%;margin-top:0;overflow-wrap:anywhere}
.footer-grid a,.footer-grid h3,.footer-bottom{overflow-wrap:anywhere}
.footer-grid h3{margin-top:3px;margin-bottom:18px}
.footer-bottom{gap:20px;flex-wrap:wrap}
.floating-contact a span{position:static;opacity:1;background:none;color:inherit;padding:0;pointer-events:inherit}
@media(min-width:901px){body{padding-bottom:calc(106px + env(safe-area-inset-bottom))}}
@media(max-width:900px){
 .hero-video,.hero-poster{object-position:50% 50%}
 .header-inner{height:82px}.site-header .logo{width:92px}nav{top:82px}
 .hero-grid{min-height:calc(100svh - 83px)}html{scroll-padding-top:98px}
 body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .footer-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .footer-grid>div:first-child{grid-column:auto}
 .footer-grid .brand,.footer-grid .logo{width:102px;max-width:100%}
 .footer-grid p{max-width:520px}.footer-grid>div:last-child p{font-size:12px}
 .footer-bottom{margin-top:30px}
}

.reference-description { white-space: pre-line; }
