/* Additions for pages built outside the Next.js export. Uses the site's own tokens. */
.benefit-grid.st-grid-4{grid-template-columns:repeat(4,1fr)}
.benefit-grid.st-grid-2{grid-template-columns:repeat(2,1fr)}
.benefit-grid.st-grid-4 article,.benefit-grid.st-grid-2 article{min-height:300px}
.st-research .hn-research-rail{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,510px))}
.st-research .hn-research-rail article{min-height:230px}
.st-hero-crumbs .guide-breadcrumbs{color:#ffffffb8}
.st-hero-link{margin-left:26px;vertical-align:middle}
.st-cta-link{margin-left:26px;color:var(--white)}
.guide-article section p+p{margin-top:0}
.guide-article a:not(.inline-link){color:var(--oxygen-deep);text-decoration:underline;text-underline-offset:3px}
.guide-sidebar .inline-link{margin-top:14px;margin-right:18px}
.guide-callout a.button{margin-top:10px}
/* Areas we serve */
.st-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-block:72px}
.st-area-group{border:1px solid var(--line);background:var(--sand);border-radius:22px;padding:30px}
.st-area-group h2{font-size:30px;line-height:1.1;margin:0 0 10px}
.st-area-group>p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 18px}
.st-area-group ul{list-style:none;margin:0;padding:0}
.st-area-group li{border-top:1px solid var(--line);padding:14px 0}
.st-area-group li a{font-weight:620;font-size:17px;display:block;margin-bottom:4px;text-decoration:underline;text-underline-offset:3px}
.st-area-group li span{color:var(--muted);font-size:14px;line-height:1.5}
/* Forms */
.st-form-section{background:var(--oxygen-soft);padding-block:110px;scroll-margin-top:90px}
.st-form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}
.st-form-intro h2{margin:0 0 22px}
.st-form-intro p{color:var(--muted);font-size:16px;line-height:1.7}
.st-form-intro a{text-decoration:underline;text-underline-offset:3px}
.st-form-note{border-left:3px solid var(--sun);padding-left:14px;font-size:14px!important}
.st-form{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.st-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:620;color:var(--ink)}
.st-full,.st-choice,.st-consent,.st-form-status,.st-form .button{grid-column:1/-1}
.st-field input,.st-field select,.st-field textarea{font:inherit;font-weight:400;font-size:16px;color:var(--ink);background:var(--sand);border:1px solid var(--line);border-radius:12px;padding:13px 14px;width:100%}
.st-field textarea{resize:vertical}
.st-field input:focus,.st-field select:focus,.st-field textarea:focus{outline:2px solid var(--oxygen);outline-offset:1px}
.st-invalid{border-color:#c0392b!important;background:#fdf1ef!important}
.st-choice{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.st-choice legend{font-size:13px;font-weight:620;margin-bottom:10px}
.st-choice label{font-size:15px;display:flex;align-items:center;gap:8px}
.st-consent{color:var(--muted);font-size:12px;line-height:1.6;margin:0}
.st-form-status{color:#b03a2e;font-size:14px;font-weight:620;min-height:0}
.st-form-status:empty{display:none}
.st-form .button{justify-self:start;cursor:pointer}
.st-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:1050px){.benefit-grid.st-grid-4{grid-template-columns:repeat(2,1fr)}.st-areas{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.st-form-wrap{grid-template-columns:1fr;gap:34px}.st-research .hn-research-rail{grid-template-columns:1fr;width:calc(100% - 40px)}}
@media (max-width:680px){.benefit-grid.st-grid-4,.benefit-grid.st-grid-2,.st-areas{grid-template-columns:1fr}.st-form{grid-template-columns:1fr;padding:22px}.st-form-section{padding-block:70px}.st-hero-link,.st-cta-link{margin:18px 0 0;display:inline-flex}}
/* City page heroes carry breadcrumbs and longer headings, so let the hero grow instead of clipping */
.st-city .page-hero{height:auto;min-height:760px;max-height:none;display:flex;align-items:flex-end}
.st-city .page-hero-media{position:absolute;inset:0}
.st-city .page-hero-content{position:relative;bottom:auto;left:auto;transform:none;padding:200px 0 88px;margin-inline:auto}
.st-city .page-hero-content h1{font-size:clamp(46px,5.4vw,82px);max-width:1100px}
@media (max-width:680px){.st-city .page-hero{min-height:640px}.st-city .page-hero-content{padding:150px 0 56px}.st-city .page-hero-content h1{font-size:clamp(40px,11vw,56px)}}
