/* Navigation is one continuous interaction surface, anchored to the header. */
.contact-actions .contact-email,.contact-actions .phone{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:64px;padding:18px 24px;border:0;background:#292929;color:#fff;font-size:clamp(15px,1.6vw,22px);font-weight:600;letter-spacing:-.02em;line-height:1.4;text-decoration:none;transition:background 180ms ease,transform 120ms ease}.contact-actions .contact-email span{color:#fff;font-size:23px;flex-shrink:0}.contact-actions .phone{background:#c00;margin-top:12px}.contact-actions .phone:after{content:'↗';font-size:23px;font-weight:400}.contact-actions .contact-email:active,.contact-actions .phone:active{transform:scale(.985)}.contact-actions .contact-email:focus-visible,.contact-actions .phone:focus-visible{outline:3px solid #242424;outline-offset:4px}@media(hover:hover){.contact-actions .contact-email:hover{background:#444}.contact-actions .phone:hover{background:#a60000;color:#fff}}@media(max-width:640px){.contact-actions .contact-email,.contact-actions .phone{padding:16px 18px;font-size:16px;min-height:60px;gap:12px}}
.service-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.service-shortcuts>a{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;gap:16px;align-items:center;min-height:115px;padding:24px 0;border-top:1px solid var(--line)}.service-shortcuts h3{font-size:clamp(21px,2vw,29px);line-height:1.25;letter-spacing:-.025em;text-wrap:initial;hyphens:auto;overflow-wrap:break-word}.shortcut-number{font-size:11px;color:var(--red)}.shortcut-arrow{font-size:27px;color:var(--red);transition:transform 180ms ease}.service-shortcuts>a:hover h3{color:var(--red)}.service-shortcuts>a:hover .shortcut-arrow{transform:translate(3px,-3px)}.compact-services .additional-services{border:0;padding-top:26px;margin:0}.compact-services .section-head{margin-bottom:38px}@media(max-width:640px){.service-shortcuts{grid-template-columns:1fr;gap:0}.service-shortcuts>a{min-height:95px;gap:12px;grid-template-columns:20px minmax(0,1fr) 26px;padding:22px 0}.service-shortcuts h3{font-size:23px}.compact-services .additional-services{padding-top:20px;align-items:flex-start;flex-direction:column}.compact-services .section-head h2{font-size:36px}}@media(hover:none){.service-shortcuts>a:hover .shortcut-arrow{transform:none}}
.mega-panel{clip-path:inset(0 0 100% 0)}
.nav-trigger[aria-current]{color:var(--red)}.nav-trigger[aria-current]:after{transform:scaleX(1)}.mobile-group .mega-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.nav-group.is-open .mega-panel{clip-path:inset(0 0 0 0)}
.corporate-nav{align-self:stretch;align-items:stretch;gap:34px}.nav-group{display:flex;align-items:center}.nav-trigger{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;padding:18px 0;height:100%;position:relative}.nav-trigger:after{content:'';position:absolute;bottom:22px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}.nav-trigger[aria-expanded=true]:after{transform:scaleX(1)}.nav-chevron{width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);transition:transform 180ms ease}.nav-trigger[aria-expanded=true]{color:var(--red)}.nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(225deg)}
.mega-panel{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 24px 36px #0002;border-top:1px solid var(--line);border-bottom:3px solid var(--red);padding:40px var(--gutter) 44px;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px;max-height:calc(100svh - 110px);overflow:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-8px);transform-origin:top;pointer-events:none;transition:opacity 180ms ease,transform 220ms cubic-bezier(.23,1,.32,1),visibility 220ms;z-index:30;text-align:left}
.nav-group.is-open .mega-panel{visibility:visible;opacity:1;transform:none;pointer-events:auto}.mega-intro{padding-right:36px;border-right:1px solid var(--line)}.mega-panel .mega-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:20px;font-weight:700}.mega-intro h2{font-size:32px;line-height:1.1;letter-spacing:-.035em;text-wrap:balance;margin-bottom:16px}.mega-intro>p:not(.mega-label){font-size:14px;color:var(--muted);max-width:32ch}.mega-panel a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500;line-height:1.4}.mega-panel a:after{display:none}.mega-panel a span{color:var(--red);transition:transform 160ms ease;flex-shrink:0}.mega-panel a:hover{color:var(--red)}.mega-panel a:hover span{transform:translate(2px,-2px)}.mega-intro>a{margin-top:20px;color:var(--red);font-weight:700;border-bottom:0;font-size:13px;justify-content:flex-start}.service-links{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-content:start}.service-links a{min-height:78px}.legal-links a{font-size:13px;color:var(--muted)}
.mobile-nav{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:36px}.mobile-group{border-bottom:1px solid var(--line)}.mobile-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:25px;padding:20px 0;cursor:pointer}.mobile-group>summary::-webkit-details-marker{display:none}.mobile-group>summary>span{font-weight:300;color:var(--red);transition:transform 160ms ease}.mobile-group[open]>summary>span{transform:rotate(45deg)}.mobile-group>div{padding:0 0 18px 16px}.mobile-group a{font-size:16px;padding:13px 0;display:flex;justify-content:space-between;gap:20px;border:0}.mobile-group a>span{color:var(--red)}.mobile-nav>a{display:flex;justify-content:space-between;color:var(--red);font-size:18px}
/* Tablet: one lead project, then two equal cards. No desktop row spans. */
@media(min-width:641px) and (max-width:1100px){.home-v3 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;align-items:start}.home-v3 .project-featured{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center}.home-v3 .project-featured .project-image{height:auto;aspect-ratio:16/10}.home-v3 .project-featured .project-meta{padding:0}.home-v3 .project-image{height:auto;aspect-ratio:16/10}.home-v3 .project-meta h3,.home-v3 .project-featured .project-meta h3{font-size:clamp(25px,3vw,34px)}.home-v3 .project-heading{align-items:start}.home-v3 .project-heading h2{font-size:clamp(36px,4.4vw,48px)}}
@media(max-width:940px){.corporate-nav{display:none}.mega-panel{display:none}}
@media(min-width:941px) and (max-width:1100px){.corporate-nav{gap:24px}.mega-panel{gap:28px;padding-block:30px}.mega-intro{padding-right:20px}.mega-intro h2{font-size:26px}.mega-panel a{font-size:13px}}
@media(max-width:640px){.home-v3 .project-featured{display:block;grid-column:auto;grid-row:auto}.home-v3 .project-image,.home-v3 .project-featured .project-image{height:auto;aspect-ratio:4/3}.home-v3 .project-meta{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.mega-panel,.nav-chevron,.nav-trigger:after,.mobile-group>summary>span{transition:none;transform:none}.nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(225deg)}}
@media print{.corporate-nav,.mobile-nav{display:none}}
.mega-panel{opacity:1;transform:none;transition:clip-path 340ms cubic-bezier(.22,1,.36,1),visibility 340ms}
.mega-panel .mega-intro,.mega-panel .mega-column,.mega-panel .service-links a{opacity:0;transform:translateY(-10px);transition:opacity 160ms ease,transform 200ms cubic-bezier(.22,1,.36,1);transition-delay:0ms}
.nav-group.is-open .mega-intro,.nav-group.is-open .mega-column,.nav-group.is-open .service-links a{opacity:1;transform:none;transition-delay:40ms}
.nav-group.is-open .mega-column:nth-child(3){transition-delay:80ms}
.nav-group.is-open .service-links a:nth-child(3),.nav-group.is-open .service-links a:nth-child(4){transition-delay:80ms}
.nav-group.is-open .service-links a:nth-child(5),.nav-group.is-open .service-links a:nth-child(6){transition-delay:120ms}
.mega-column>a{opacity:0;transform:translateY(-6px);transition:opacity 160ms ease,transform 200ms cubic-bezier(.22,1,.36,1)}
.is-open .mega-column>a{opacity:1;transform:none;transition-delay:40ms}.is-open .mega-column>a:nth-of-type(2){transition-delay:65ms}.is-open .mega-column>a:nth-of-type(3){transition-delay:90ms}.is-open .mega-column>a:nth-of-type(4){transition-delay:115ms}.is-open .mega-column>a:nth-of-type(5){transition-delay:140ms}
.nav-group.keyboard-open .mega-panel,.nav-group.keyboard-open .mega-panel *{transition:none!important}
@media(prefers-reduced-motion:reduce){.mega-panel,.mega-panel *{transition:none!important;transform:none!important}}




.archive-main>p.archive-intro{padding:0;background:none}.archive-main>h1{font-size:clamp(38px,5vw,76px);line-height:1.08}.archive-card[hidden]{display:none}.detail-layout>*{min-width:0}
