html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto; }
.hero-promise { display: inline-block; white-space: nowrap; }
.hero-promise-text { position: relative; display: inline-block; }
.hero-promise-text::after { content: ''; position: absolute; left: 0; right: 0; bottom: -.12em; height: max(2px, .035em); background: currentColor; transform-origin: left center; animation: hero-underline 1.1s .65s cubic-bezier(.22,1,.36,1) both; }
.hero-promise-dot { display: inline-block; color: #ed4b43; font-style: normal; transform-origin: center bottom; animation: hero-final-dot .25s 1.75s ease-out both; }
@keyframes hero-underline { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hero-final-dot { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .hero-promise-text::after, .hero-promise-dot { animation: none; } }
#company.intro-grid { align-items: start; row-gap: 28px; }
.home-company-label { grid-column: 1 / -1; margin-bottom: 0; }
.site-header > .brand { min-width: 0; }
.header-logo { display: block; width: 250px; max-width: 100%; height: auto; object-fit: contain; }
[data-theme=light] .header-logo { filter: brightness(.22); }
.home-company-aside img, .company-photo > img {
 border-radius: 18px;
}
.page-intro .section-heading.intro-stacked { display: block; }
.page-intro .section-heading.intro-stacked > p { margin-top: 28px; max-width: 780px; }
.hero-bottom .hero-credit { margin-left: 0; margin-right: auto; }
.building-trades .trades-more { margin-top: 32px; font-size: 21px; color: var(--ink); }
.building-trades .capability-grid { margin-top: 40px; }
.building-trades ul { margin: 0; padding-left: 20px; color: var(--muted); }
.building-trades li + li { margin-top: 8px; }
.home-statistics { padding-bottom: 85px; }
.home-statistics .experience-grid { margin-top: 0; border-bottom: 0; gap: 0; }
.home-statistics .experience-grid > div { padding-inline: 12px; text-align: center; }
.home-statistics .count-up, .home-statistics .count-up > [aria-hidden] { text-align: center; letter-spacing: 0; }
.intro-grid.split-copy { grid-template-columns: 1fr 1.35fr; align-items: start; }
.split-copy > div > p:first-child { margin-top: 0; }
.construction-delivery > .intro-grid { display: block; max-width: 860px; margin-inline: auto; }
.construction-delivery h2 { margin-bottom: 40px; }
.construction-delivery p { font-size: clamp(16px, 1.2vw, 18px); line-height: 2; }
.construction-delivery p + p { margin-top: 28px; }
.company-team-photo { margin-top: 50px; }
.company-team-photo img { width: 100%; height: auto; }
.company-photo .image-label { text-decoration: underline; text-underline-offset: 4px; }
.company-photo .image-label:hover { background: var(--brand); color: var(--brand-text); }
.capability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 45px 65px; }
.capability-grid article { padding-top: 25px; border-top: 1px solid var(--line); }
.capability-grid h3 { margin-bottom: 18px; }
.nationwide-section .large-copy { margin-block: 28px; }
.footer-grid.footer-grid-contact { grid-template-columns: 1.5fr 1fr 1fr; }
.question-list { margin-top: 40px; }
.question-list details { padding-block: 23px; border-top: 1px solid var(--line); }
.question-list details:last-child { border-bottom: 1px solid var(--line); }
.question-list summary { cursor: pointer; font-size: 22px; color: var(--ink); padding-right: 18px; }
.question-list p { max-width: 900px; margin-top: 18px; }
.project-feature { position: relative; height: 580px; overflow: hidden; background: var(--panel); }
.project-feature > .feature-slide { position: absolute; inset: 0; height: 100%; opacity: 0; visibility: hidden; transition: opacity 1.1s ease, visibility 0s linear 1.1s; }
.project-feature > .feature-slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
.feature-controls { position: absolute; right: var(--gutter); bottom: 40px; display: flex; gap: 10px; z-index: 3; }
.feature-controls button { width: 44px; height: 44px; border: 1px solid #fff8; color: white; background: #172019b3; font-size: 22px; }
.feature-progress { position: absolute; inset: auto 0 0; height: 4px; background: #ffffff33; z-index: 3; }
.feature-progress span { display: block; width: 100%; height: 100%; background: #e0a997; transform: scaleX(0); transform-origin: left; }
.feature-caption { right: calc(var(--gutter) + 125px); }
[data-theme=light] .ambient-background::before { background: radial-gradient(ellipse at 24% 30%, #aa6a4f 0%, transparent 48%); opacity: .25; }
[data-theme=light] .ambient-background::after { background: radial-gradient(ellipse at 74% 66%, #7a8b73 0%, transparent 48%); opacity: .18; }
[data-theme=light] { --muted: #4f5148; --accent: #77372f; }
@media (max-width: 900px) {
 .project-feature { height: 480px; }
 .intro-grid.split-copy { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
 .header-logo { width: 210px; }
 .home-statistics { padding-bottom: 55px; }
 .home-statistics .experience-grid > div { padding-inline: 4px; }
 .home-statistics .experience-grid strong { font-size: clamp(30px, 10vw, 43px); }
 .mobile-call { justify-content: center; }
 .capability-grid { grid-template-columns: 1fr; gap: 28px; }
 .footer-grid.footer-grid-contact { grid-template-columns: 1fr 1fr; }
 .footer-grid-contact > div:nth-child(2) { grid-column: auto; padding-top: 0; border: 0; }
 .project-feature { height: 460px; }
 .feature-caption { right: var(--gutter); bottom: 92px; }
 .feature-controls { bottom: 20px; }
 .question-list summary { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { .project-feature > .feature-slide { transition: none; } }
@media print { .feature-controls, .feature-progress { display: none; } }
