/* Shared professional presentation. Business content and destinations remain unchanged. */
:root { --bg:#f8fafc; --bg-deep:#f8fafc; --surface:#fff; --surface-strong:#fff; --surface-soft:#eef3fa; --text:#162b49; --muted:#526176; --line:#dce3ed; --blue:#2457a7; --blue-soft:#eaf1fc; --orange:#94612b; --shadow:0 4px 18px rgba(22,43,73,.04); --radius-xl:20px; --radius-lg:14px; --radius-md:10px; --max-width:1200px; }
body { background:var(--bg); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.65; color:var(--text); }
body::before,body::after,.circuit-trails { display:none; }
[hidden] { display:none !important; }
.page-shell { width:min(calc(100% - 64px),1200px); padding-top:16px; }
.site-header { position:relative; top:0; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; backdrop-filter:none; box-shadow:none; padding:14px 0 24px; margin-bottom:0; }
.brand-mark,body[data-page="manufacturing"] .brand-mark { flex-shrink:0; overflow:visible; clip-path:none; border:0; border-radius:0; background:#fff; box-shadow:none; }
.brand-mark::before,.brand-mark::after { display:none; }
.brand-mark-image { display:block; object-fit:contain; filter:none; transform:none; }
.brand-copy strong { font-family:Arial,Helvetica,sans-serif; font-size:16px; text-transform:none; letter-spacing:0; color:var(--text); }
.brand-copy span { color:var(--muted); letter-spacing:0; }
.site-nav a { color:#425571; border-radius:7px; padding:9px 12px; font-size:13px; }
.site-nav a:hover,.site-nav a.is-active,.site-nav a[aria-current="page"] { color:#2457a7; background:#eaf1fc; border-color:transparent; }
.nav-toggle { background:white; color:var(--text); border:1px solid var(--line); border-radius:7px; min-height:44px; padding:10px 14px; font:inherit; }
.section { margin:0; padding:46px 0; }
.hero { display:block; padding:56px 0 44px; }
.hero-copy,.page-hero { border:0; box-shadow:none; background:transparent; padding:0; border-radius:0; }
.hero::before,.hero-copy::before,.hero-copy::after,.page-hero::before,.feature-card::before,.metric-card::before,.contact-card::before,.project-card::before,.quote-card::before,.legal-block::before,.signal-card::before,.roadmap article::before,.cta::before,.project-card::after { display:none; }
.hero h1,.page-hero h1,.section-heading h2,.cta h2,.quote-card p { color:var(--text); font-family:Arial,Helvetica,sans-serif; letter-spacing:-.04em; line-height:1.1; }
.hero h1 { font-size:clamp(40px,5vw,68px); max-width:15ch; }
.page-hero { padding:52px 0 32px; border-bottom:1px solid var(--line); }
.page-hero h1 { font-size:clamp(36px,4vw,54px); max-width:24ch; }
.hero-kicker { color:#526176; font-size:14px; letter-spacing:.035em; text-transform:none; }
.hero-text,.page-intro { font-size:18px; line-height:1.65; max-width:65ch; }
.eyebrow { color:#2457a7; font-size:11px; letter-spacing:.14em; margin-bottom:14px; }
.section-heading h2,.cta h2 { font-size:clamp(26px,3vw,36px); max-width:25ch; }
.section-heading p { max-width:62ch; }
.hero-meta span,.signal-strip span { background:#eef3fa; border:1px solid var(--line); color:#425571; font-size:12px; letter-spacing:0; text-transform:none; padding:6px 11px; }
.feature-card,.metric-card,.contact-card,.project-card,.quote-card,.legal-block,.signal-card,.roadmap article { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:none; padding:26px; transition:border-color 150ms ease; }
.feature-card:hover,.metric-card:hover,.contact-card:hover,.project-card:hover,.legal-block:hover,.roadmap article:hover { transform:none; border-color:#b4c6df; box-shadow:none; }
.feature-card h3,.metric-card h3,.project-card h3,.contact-card h2,.legal-block h2,.roadmap h3 { font-family:Arial,Helvetica,sans-serif; color:var(--text); font-size:21px; line-height:1.25; letter-spacing:-.025em; }
.card-index,.metric,.project-type,.roadmap span,.signal-label { color:#2457a7; font-size:12px; letter-spacing:.07em; }
.button { clip-path:none; border-radius:8px; font:700 15px Arial,Helvetica,sans-serif; padding:14px 20px; min-height:48px; box-shadow:none; }
.button::after { display:none; }
.button-primary { background:#2457a7; border-color:#2457a7; color:#fff; box-shadow:none; }
.button-primary:hover { background:#1b4486; border-color:#1b4486; transform:none; }
.button-secondary { background:#fff; color:#2457a7; border-color:#b4c6df; }
.button-secondary:hover { background:#eef3fa; transform:none; }
.hero-actions,.cta-actions { gap:12px; margin-top:25px; }
.split-section,.mission-layout { gap:48px; border-top:1px solid var(--line); }
.card-grid,.roadmap,.contact-layout { gap:18px; }
.four-up { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cta { background:#eef3fa; border:1px solid #dce3ed; border-radius:18px; padding:32px; margin:30px 0 48px; box-shadow:none; }
.cta-actions { margin-top:0; flex-shrink:0; }
.quote-card { background:#eef3fa; }
.contact-card a,.legal-block a,.feature-card a,.contact-list a { color:#2457a7; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.contact-card h2 { font-size:clamp(18px,2vw,25px); overflow-wrap:anywhere; }
.contact-list { padding-left:20px; color:var(--muted); }
.contact-list li { padding-bottom:8px; }
.legal { max-width:860px; }
.legal-block { padding:26px 30px; }
.legal-block p { max-width:76ch; }
.site-footer { background:none; border-top:1px solid var(--line); color:var(--text); margin-top:28px; padding-top:28px; }
.footer-links a { color:#425571; font-size:14px; padding-block:6px; }
.footer-links a:hover { color:#2457a7; text-decoration:underline; }
.site-footer strong { color:var(--text); font-family:Arial,Helvetica,sans-serif; letter-spacing:0; }
.footer-meta { color:var(--muted); }
.reveal { opacity:1; transform:none; transition:none; }
em { color:inherit; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #2457a7; outline-offset:4px; }
.skip-link { position:fixed; top:-100px; left:18px; z-index:100; background:#fff; color:#2457a7; border:1px solid #2457a7; border-radius:7px; padding:10px 16px; }
.skip-link:focus { top:12px; }
main { scroll-margin-top:20px; }
@media(max-width:1050px) { .site-nav { gap:2px; } .site-nav a { padding:9px; } .cta { align-items:flex-start; flex-direction:column; } }
@media(max-width:760px) {
 .page-shell { width:calc(100% - 36px); padding-top:8px; }
 .site-header { padding:10px 0 18px; }
 .site-nav { background:#fff; border:1px solid var(--line); box-shadow:0 10px 24px rgba(22,43,73,.08); border-radius:10px; padding:10px; }
 .site-nav a { display:block; min-height:44px; padding:10px 14px; font-size:15px; }
 .section { padding:32px 0; }
 .hero { padding:32px 0; }
 .hero h1 { font-size:44px; }
 .page-hero { padding:30px 0 26px; }
 .page-hero h1 { font-size:36px; }
 .hero-text,.page-intro { font-size:16px; }
 .three-up,.four-up,.two-up,.contact-layout,.project-grid,.roadmap,.split-section,.mission-layout { grid-template-columns:1fr; gap:18px; }
 .feature-card,.metric-card,.contact-card,.project-card,.quote-card,.legal-block,.roadmap article { padding:22px; }
 .cta { padding:25px; margin:20px 0 30px; }
 .hero-actions,.cta-actions { width:100%; }
 .hero-actions .button,.cta-actions .button { width:100%; text-align:center; }
 .hero-meta { gap:8px; }
 .site-footer { gap:22px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }

body[data-page="home"] .hero { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:64px; }
.home-paths { background:#eef3fa; border:1px solid #dce3ed; border-radius:20px; padding:30px; }
.home-paths h2 { font-size:29px; line-height:1.2; letter-spacing:-.035em; margin:0 0 22px; max-width:22ch; }
.home-path { display:grid; grid-template-columns:24px 1fr 15px; gap:13px; padding:21px 0; border-top:1px solid #d2ddeb; align-items:start; color:#162b49; }
.home-path strong { display:block; font-size:17px; line-height:1.4; }
.home-path small { display:block; font-size:13px; line-height:1.65; color:#526176; margin-top:6px; }
.home-path:hover strong { text-decoration:underline; text-underline-offset:4px; }
.path-number { font-size:11px; color:#2457a7; font-weight:700; padding-top:4px; }
@media(max-width:1050px) { body[data-page="home"] .hero { gap:30px; } .home-paths { padding:24px; } }
@media(max-width:760px) { body[data-page="home"] .hero { grid-template-columns:1fr; gap:28px; } .home-paths h2 { font-size:26px; } }

/* Approved brand palette: neutral surfaces, navy type, blue links, logo-inspired orange action. */
.button-primary { background:#bc4e11; border-color:#bc4e11; color:#fff; }
.button-primary:hover { background:#a6400b; border-color:#a6400b; color:#fff; }
.button-primary:focus-visible { outline:3px solid #2457a7; outline-offset:4px; }

/* Simplified hierarchy: one opening message and action, details below. */
body[data-page="home"] .hero { display:block; text-align:center; padding:88px 0 82px; }
body[data-page="home"] .hero-copy { max-width:760px; margin:auto; }
body[data-page="home"] .hero h1 { max-width:14ch; margin:auto; font-size:clamp(40px,4.5vw,64px); }
body[data-page="home"] .hero-text { max-width:52ch; margin:26px auto 0; }
body[data-page="home"] .hero-actions { justify-content:center; margin-top:32px; }
.simple-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; border-top:1px solid var(--line); padding:35px 0 48px; }
.simple-paths a { display:block; padding:7px 0; }
.simple-paths strong { display:block; font-size:20px; color:#162b49; }
.simple-paths span { display:block; color:#526176; font-size:14px; margin-top:8px; }
.simple-paths a:hover strong { color:#2457a7; text-decoration:underline; text-underline-offset:5px; }
.page-hero .eyebrow,.section-heading .eyebrow,.feature-card .card-index,.metric-card .metric { display:none; }
@media(max-width:760px) {
 body[data-page="home"] .hero { padding:54px 0 56px; }
 body[data-page="home"] .hero-text { margin-top:22px; }
 body[data-page="home"] .hero-actions .button { width:auto; min-width:210px; }
 .simple-paths { grid-template-columns:1fr; gap:24px; padding:28px 0 34px; }
 .simple-paths strong { font-size:19px; }
}
