/* Phase 1 refinement — approved layout remains in home.css. */
body{font-size:16px}
h1,h2,h3{font-weight:600}
.hero h1{font-weight:600}
.contact-band h2{font-weight:600}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.35px}
.micro{font-size:12px;font-weight:500;letter-spacing:.8px}
.intro-copy p{font-size:17px;line-height:1.9}
.hero-description{font-size:16px;line-height:1.9}
.hero-copy .eyebrow{font-size:12px;letter-spacing:1.4px}
.hero-bottom .micro{font-size:11px}
.hero-bottom strong{font-size:16px;font-weight:600}
.hero-bottom small,.scroll-cue{font-size:12px}
.section-heading>.textlink,.textlink{font-size:14px;font-weight:600}
.filters button{font-size:13px;font-weight:500}
.project-meta{font-size:12px;font-weight:500;letter-spacing:.4px}
.project h3{font-weight:600}
.project-status{font-size:12px}
.sector-intro>p:not(.eyebrow){font-size:16px;line-height:1.85}
.sector-band .textlink,.sector-card .textlink{font-size:14px}
.sector-card h3{font-weight:600}
.sector-card p{font-size:16px;line-height:1.85;min-height:96px}
.sector-counter{font-size:12px}
.capability-copy>.lead{font-size:17px;line-height:1.9}
.capability-list dt{font-size:16px;font-weight:600}
.capability-list dt span{font-size:12px}
.capability-list dd{font-size:16px;line-height:1.85}
.capability-actions>.textlink{font-size:14px}
.media-caption .micro{font-size:12px}
.media-caption p{font-size:14px;line-height:1.8}
.news-primary>p{font-size:16px;line-height:1.9}
.news-category,.news-secondary .news-category{font-size:12px;letter-spacing:.6px;font-weight:500}
.news-secondary .textlink,.news-note .textlink{font-size:14px}
.partners-heading p:not(.eyebrow){font-size:15px;max-width:390px;line-height:1.8}
.contact-actions p{font-size:16px;line-height:1.9;max-width:390px}
.contact-band .eyebrow{font-size:12px;letter-spacing:1px}
.contact-phone{font-size:15px}
.footer p,.footer a,.footer address{font-size:14px;line-height:1.9}
.footer h3{font-size:14px;font-weight:600}
.footer-bottom{font-size:12px}
.footer-bottom button{font-size:13px}
.footer-brand p{font-size:13px}
.nav-heading .eyebrow{font-size:12px}
.sector-submenu a{font-size:15px}
.nav-contact,.nav-contact p{font-size:14px}
.contact-dialog>p{font-size:15px}
.dialog-contact a{font-size:14px}
.demo-notice{font-size:13px!important}
.intro-facts .micro{font-size:12px;letter-spacing:.6px}
.intro-facts strong small{font-size:14px}
@media(max-width:800px){
 .partners-heading p:not(.eyebrow){max-width:none}
}
@media(max-width:700px){
 body{font-size:15px}
 .eyebrow,.hero-copy .eyebrow{font-size:11px;letter-spacing:.8px}
 .hero-description{font-size:15px;max-width:340px}
 .intro-copy p{font-size:16px;line-height:1.85}
 .hero-bottom .micro{font-size:10px}
 .hero-bottom strong{font-size:14px}
 .hero-bottom small,.scroll-cue{font-size:11px}
 .hero-bottom{gap:12px}
 .intro-facts .micro{font-size:11px;letter-spacing:.2px}
 .intro-facts strong small{font-size:12px}
 .filters button{font-size:12px;padding:10px 12px;min-height:44px}
 .project-meta{font-size:12px;letter-spacing:0;gap:4px 12px}
 .sector-intro>p:not(.eyebrow),.sector-card p{font-size:15px;line-height:1.85}
 .sector-card p{min-height:88px}
 .sector-card h3{font-size:27px}
 .sector-intro>.textlink,.sector-card .textlink{font-size:13px}
 .capability-copy>.lead,.capability-list dd{font-size:15px}
 .capability-list dt{font-size:15px}
 .capability-list dd{margin-left:0;margin-top:8px}
 .capability-actions>.textlink{font-size:14px}
 .media-caption p{font-size:13px}
 .media-caption .micro{font-size:11px}
 .news-primary>p{font-size:15px}
 .news-category,.news-secondary .news-category{font-size:11px;letter-spacing:.3px}
 .news-secondary .textlink,.news-note .textlink{font-size:13px}
 .news-secondary h3{font-size:23px}
 .partners-heading p:not(.eyebrow){font-size:15px}
 .contact-actions p{font-size:15px}
 .contact-band .eyebrow{font-size:11px;letter-spacing:.5px}
 .footer p,.footer a,.footer address{font-size:14px}
 .footer h3{font-size:14px}
 .footer-brand p{font-size:13px}
 .footer-bottom{font-size:11px}
 .footer-bottom button{font-size:13px}
 .nav-heading .eyebrow{font-size:11px;max-width:240px;letter-spacing:.5px}
 .sector-submenu a{font-size:14px}
 .contact-dialog>.textlink{font-size:14px}
 .dialog-contact a{font-size:12px}
}

/* A quieter CTA system: one filled primary, understated secondary links. */
.btn{min-height:50px;padding:13px 24px;font-size:14px;font-weight:600;gap:0;border-radius:2px;box-shadow:none;transform:none}
.btn-primary{background:var(--red);color:var(--white);border:1px solid transparent}
.btn-primary:hover{background:var(--green-light);box-shadow:none;transform:none}
.btn-outline,.capability-actions .btn{background:none;border:0;border-bottom:1px solid var(--green);border-radius:0;padding:10px 0;min-height:44px;font-size:14px;font-weight:600}
.btn-outline:hover{background:none;border-bottom-color:var(--red);color:var(--red)}
.contact-actions .btn{min-width:0}
.textlink,.section-heading>.textlink,.sector-band .textlink,.sector-intro>.textlink,.sector-card .textlink,.capability-actions>.textlink,.news-secondary .textlink,.news-note .textlink,.contact-dialog>.textlink{position:relative;gap:0;padding:10px 0;width:fit-content;font-size:14px;font-weight:600;line-height:1.7}
.textlink::after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:currentColor;transform:scaleX(.28);transform-origin:left;opacity:.5;transition:transform 220ms var(--ease),opacity 220ms var(--ease)}
.textlink:hover::after,.textlink:focus-visible::after{transform:scaleX(1);opacity:1}
.hero-link{display:inline-block;font-size:15px;font-weight:600;line-height:1.7;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.55)}
.hero-link:hover{border-color:var(--gold-light)}
.project-photo:hover img{transform:scale(1.015)}
.project h3 a:hover{color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:700px){.btn{font-size:14px;padding:12px 22px}.hero-link{font-size:14px}.capability-actions{gap:16px 24px}}

/* Supplied brand variants, preserved byte-for-byte. */
.hero-top{align-items:center}
.hero-brand{display:inline-flex;align-items:center;gap:14px;letter-spacing:.6px;text-transform:none}
.hero-brand img{width:54px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));flex:none}
.hero-brand strong{display:block;font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.3;color:var(--gold-light)}
.hero-brand small{display:block;font-size:10px;font-weight:500;letter-spacing:1.5px;color:var(--white);margin-top:4px}
.contact-signature{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.contact-signature img{width:52px;height:46px;object-fit:contain;flex:none}
.contact-signature .eyebrow{margin:0;max-width:320px}
@media(max-width:700px){.hero-brand{gap:11px}.hero-brand img{width:46px;height:41px}.hero-brand strong{font-size:17px}.hero-brand small{font-size:9px;letter-spacing:1.2px}.contact-signature{gap:14px;margin-bottom:24px}.contact-signature img{width:46px;height:41px}.contact-signature .eyebrow{max-width:235px;font-size:11px}}

/* Reveal is opt-in after JS initializes: no-JS content remains visible. */
.motion-ready [data-reveal].reveal-ready{transition:opacity 660ms cubic-bezier(.22,1,.36,1),transform 660ms cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal].reveal-ready:not(.is-in){opacity:0;transform:translate3d(0,16px,0);transition:none}
.motion-ready [data-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.textlink::after{transition:none}}

/* goldShine, glowPulse and beamSweep adapted from the original banner.
   No logo animation; perceptible headline and hero lighting repeat slowly. */
.hero-headline-gold{color:var(--gold-light)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
 .hero-headline-gold{background:linear-gradient(105deg,transparent 40%,rgba(255,255,240,.9) 50%,transparent 60%) -150% 0/60% 100% no-repeat,linear-gradient(180deg,#fff3b8 0%,var(--gold-light) 45%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:goldShine 6s ease-in-out .8s infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
}
.hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(40% 55% at 62% 30%,rgba(255,200,110,.28),rgba(255,160,60,0) 70%),linear-gradient(115deg,rgba(255,230,160,0) 30%,rgba(255,230,160,.22) 42%,rgba(255,230,160,0) 52%);background-size:100% 100%,250% 100%;animation:glowPulse 7s ease-in-out infinite,beamSweep 9s linear infinite}
@keyframes goldShine{0%{background-position:-150% 0,0 0}60%,100%{background-position:250% 0,0 0}}
@keyframes glowPulse{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes beamSweep{from{background-position:0 0,120% 0}to{background-position:0 0,-120% 0}}
.intro-facts strong{font-weight:500}
@media(prefers-reduced-motion:reduce){.hero-headline-gold{animation:none}.hero-glow{display:none;animation:none}}
@media(forced-colors:active){.hero-headline-gold{color:CanvasText!important;background:none!important;animation:none;filter:none}.hero-glow{display:none}}

/* Responsive art direction: a 3:2 desktop scene and a portrait mobile scene.
   Both supplied compositions include the complete flag and people. */
.hero{overflow:hidden;width:100%;aspect-ratio:auto;height:100svh;min-height:0;max-height:none}
.hero-picture{position:absolute;inset:0;z-index:-2}
.hero-picture .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:auto}
.hero-top{top:44px}
.hero-top>span.hero-tagline{display:block;color:var(--gold-light);font-size:16px;font-weight:600;line-height:1.6;letter-spacing:.3px;text-transform:none;text-align:right;text-shadow:0 1px 5px rgba(0,0,0,.4)}

/* Preserve approved copy; place the headline in the clear upper-left sky,
   not across the construction crew or the foreground star. */
.hero-brand img{width:76px;height:67px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.68)) drop-shadow(0 0 1px rgba(255,255,255,.35))}
.hero-brand strong{font-family:var(--font-body);font-size:30px;font-weight:600;line-height:1.2;letter-spacing:.2px;text-shadow:0 2px 9px rgba(0,0,0,.88),0 0 2px rgba(0,0,0,.72)}
.hero-brand small{font-size:13px;font-weight:600;letter-spacing:2px;margin-top:9px;color:var(--gold-light);text-shadow:0 2px 8px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.7)}
.hero-copy{top:clamp(150px,11vw,210px);bottom:auto;right:auto;width:min(860px,60%)}
.hero h1{font-size:inherit;line-height:1.13;letter-spacing:-.6px;margin:0 0 16px}
.hero-headline-first{display:block;font-size:clamp(30px,2.8vw,54px);font-weight:600;color:var(--white)}
.hero-headline-gold{display:block;font-size:clamp(44px,3.4vw,64px);font-weight:600;line-height:1.16;margin-top:6px;filter:drop-shadow(0 2px 3px rgba(7,43,33,.7))}
.hero h1::after{content:"";display:block;width:min(470px,80%);height:1px;margin-top:16px;background:linear-gradient(90deg,var(--gold-light),transparent)}
.hero-description{font-size:clamp(17px,1vw,19px);font-weight:500;line-height:1.7;max-width:650px;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.5);text-wrap:pretty}
.hero-mobile-break{display:none}
@media(max-width:1100px){
 .hero{height:100svh;min-height:0;max-height:none;aspect-ratio:auto}
 .hero-copy{top:180px;width:calc(100% - var(--gutter)*2)}
 .hero-brand img{width:60px;height:53px}
 .hero-brand strong{font-size:24px}
 .hero-brand small{font-size:11px;letter-spacing:1.3px;margin-top:7px}
 .hero-top{gap:16px}
 .hero-top>span.hero-tagline{font-size:14px}
 .hero-description{max-width:560px}
}
@media(max-width:700px){
 .hero{height:calc(100svh - 78px);min-height:0;max-height:none}
 .hero-top{top:36px;flex-direction:column;align-items:flex-start;gap:15px}
 .hero-top>span.hero-tagline{display:block;font-size:14px;letter-spacing:0;text-align:left}
 .hero-brand strong{font-size:clamp(18px,5.6vw,22px)}
 .hero-brand small{font-size:11px;letter-spacing:1.35px}
 .hero-copy{top:176px;bottom:auto}
 .hero-mobile-break{display:block}
 .hero-headline-first{font-size:clamp(25px,7.2vw,36px)}
 .hero-headline-gold{font-size:clamp(31px,8.7vw,44px);margin-top:10px}
 .hero h1::after{margin-top:16px;width:85%}
 .hero-description{font-size:16px;line-height:1.65;max-width:100%}
}

/* Brighter hero approved by user; keep the requested future slogan alongside reference copy. */
.hero-shade{background:linear-gradient(0deg,rgba(7,43,33,.12),rgba(7,43,33,.01) 70%),linear-gradient(90deg,rgba(7,43,33,.06),transparent 62%)}
.hero-top>span.hero-tagline{color:var(--gold-light);font-weight:600;text-shadow:0 2px 9px rgba(0,0,0,.88),0 0 2px rgba(0,0,0,.65)}
.hero-headline-first{text-shadow:0 2px 9px rgba(0,0,0,.72),0 0 2px rgba(0,0,0,.45)}
