/* Final shared alignment. Loaded after page-specific legacy styles. */
.site-header .header__inner{gap:24px}
.site-header .nav{min-width:0;gap:clamp(16px,1.6vw,26px)}
.site-header .nav>a{white-space:nowrap;line-height:1.5}
.site-header .brand{display:flex;align-items:center}
.site-header .nav__cta{min-height:44px}
.site-footer .footer-brand{max-width:800px;margin-inline:auto;text-wrap:balance;color:#f2f5f8}
.site-footer .footer-links,.site-footer .operator-info{width:100%;max-width:800px}
.site-footer .footer-links a{min-width:0;text-align:center}
.site-footer .operator-info{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:40px;align-items:start}
.site-footer .operator-contact{padding-top:33px}
.site-footer .operator-name{line-height:1.5}
.site-footer .operator-info address{line-height:1.9}
.site-footer .operator-contact nav{line-height:1.8}
.site-footer>.shell>small{margin-top:4px}
/* Form labels, controls and help are one column at every viewport size.
   Overrides the old 150px/1fr generic form grid and its anonymous row placement. */
.contact-main .form-field{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;margin:24px 0}
.contact-main .form-field label{margin:0 0 8px}
.contact-main .form-field>small{margin:8px 0 0}
.contact-main .form-field input,.contact-main .form-field select,.contact-main .form-field textarea{min-width:0;max-width:100%}
.contact-main .form-field label small{display:inline;line-height:inherit;white-space:nowrap}
.contact-main .form-field label span,.contact-main .privacy-consent b{vertical-align:middle;line-height:1.6;white-space:nowrap}
.contact-main .form-extra{margin:28px 0;padding:16px 0}
.contact-main .form-extra[open]{padding-bottom:4px}
.contact-main .form-extra .form-field:last-child{margin-bottom:20px}
.contact-main .form-extra summary{padding-right:8px}
.contact-main .privacy-consent>span{min-width:0}
.contact-main .privacy-consent input{margin-top:3px}
.contact-main .inquiry-panel>h2{letter-spacing:.015em;text-wrap:balance}
.contact-main .inquiry-guide>p:last-child{margin-bottom:0;padding-top:20px;border-top:1px solid var(--line-2)}
.contact-main .inquiry-panel form>.form-note:last-of-type{margin-bottom:0}
.contact-main .inquiry-panel button{min-height:56px}
@media(max-width:1100px),(max-width:1200px) and (orientation:portrait){
 .site-header .header__inner{gap:12px}
 .site-header .mobile-menu summary{min-height:44px;display:flex;align-items:center;gap:4px}
 .site-header .mobile-menu nav a{min-width:0;line-height:1.7}
}
@media(max-width:800px){
 .contact-main>p:not(.section__label){text-wrap:pretty}
 .contact-main>p:not(.section__label) br{display:none}
 .contact-main .inquiry-panel{max-width:680px;width:100%;justify-self:center}
 .contact-main .inquiry-guide{max-width:680px;width:100%;justify-self:center}
}
@media(max-width:760px){
 .site-footer .operator-info{grid-template-columns:minmax(0,1fr);gap:24px}
 .site-footer .operator-contact{padding-top:0}
 .site-footer .footer-brand{font-size:14px;letter-spacing:.07em;max-width:28em}
 .site-footer .footer-links a{padding-block:12px}
 body:has(.mobile-consult) .site-footer{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
}
@media(max-width:420px){
 .site-header .header__inner{gap:8px}
 .site-header .project-brand{font-size:13px;letter-spacing:.015em}
 .site-header .mobile-menu summary{font-size:11px}
 .site-footer .footer-links{font-size:12px}
 .contact-main .inquiry-panel>h2{font-size:22px}
 .contact-main .form-field{margin-block:22px}
}
