/* Centered responsive content: 1400px public site, 1440px portal. */
:root{--ct-home-max:1400px;--ct-portal-max:1440px;--ct-gutter:24px}
@media screen {
.site-header,.content-section,.site-footer{
 padding-left:max(var(--ct-gutter),calc((100% - var(--ct-home-max))/2));
 padding-right:max(var(--ct-gutter),calc((100% - var(--ct-home-max))/2));
}
.site-footer-inner,.company-grid,.service-grid,.feature-explainer-grid,.contact-panel,.contact-section .section-home,.quote-section-heading{max-width:var(--ct-home-max);width:100%}
.hero-slide:not(.slide-quote) .hero-content{margin-left:max(var(--ct-gutter),calc((100% - var(--ct-home-max))/2))}
@media(min-width:781px){
 .slide-quote{padding-left:max(var(--ct-gutter),calc((100% - var(--ct-home-max))/2));padding-right:max(var(--ct-gutter),calc((100% - var(--ct-home-max))/2));gap:28px}
 .slide-quote .hero-content{margin-left:0;width:34%;flex:0 0 34%}
 .slide-quote .demo-builder{margin-right:0;width:calc(66% - 28px);max-width:830px}
}
@media(max-width:600px){:root{--ct-gutter:16px}}
}

/* Balanced outer columns keep the primary menu on the screen centerline. */
.nav-main,.nav-account-actions{display:flex;align-items:center;gap:16px}
.nav-main .nav-link,.nav-account-actions .nav-link{color:inherit;text-decoration:none;white-space:nowrap}
.nav-main .nav-link:hover,.nav-main .nav-link:focus-visible{color:var(--gold)}
@media(min-width:981px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:20px}
 .site-header>.brand{grid-column:1;grid-row:1;justify-self:start}
 .site-header .primary-nav{display:contents}
 .nav-main{grid-column:2;grid-row:1;justify-content:center;gap:16px}
 .nav-account-actions{grid-column:3;grid-row:1;justify-self:end;gap:12px}
 .nav-account-actions .quote-button{padding:12px 16px}
}
@media(min-width:981px) and (max-width:1399px){
 .site-header{grid-template-columns:1fr 1fr;row-gap:14px}
 .nav-account-actions{grid-column:2}
 .nav-main{grid-column:1/-1;grid-row:2;justify-self:center;flex-wrap:wrap}
}
@media(max-width:980px){
 .nav-main,.nav-account-actions{display:contents}
 .primary-nav .nav-main>.nav-link{display:block;width:100%;padding:.8rem 0}
 .primary-nav .nav-account-actions>.nav-link{display:block;text-align:center;margin-top:10px}
}
