:root{--blue: #0261ad;--blue-dark: #013d6e;--blue-tint: #e8f0f8;--red: #e1131b;--ink: #161922;--text: #3d4350;--muted: #6b7280;--line: #e2e6ec;--bg: #ffffff;--bg-alt: #f5f7fa;--radius: 6px;--wrap: 1180px;--head: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--bg)}img{max-width:100%;height:auto;display:block}a{color:var(--blue)}h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.1;margin:0 0 .5em;font-weight:700}h1{font-size:clamp(2.4rem,6vw,4rem);text-transform:uppercase;letter-spacing:.01em}h2{font-size:clamp(1.9rem,4vw,2.6rem)}h3{font-size:1.4rem}p{margin:0 0 1em}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:8px 12px}.btn{display:inline-block;font-family:var(--head);font-weight:600;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:.7em 1.4em;border-radius:var(--radius);border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#b80e15}.btn-outline{border-color:currentColor;color:#fff}.btn-outline:hover{background:#fff;color:var(--ink)}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-dark)}.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px}.brand img{width:140px;height:auto}.site-nav{display:flex;align-items:center;gap:28px}.site-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.site-nav ul a{font-family:var(--head);font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}.site-nav ul a:hover,.site-nav ul a[aria-current=page]{border-bottom-color:var(--red)}.site-nav .btn{font-size:1rem;padding:.55em 1.1em}.nav-toggle,.nav-button{display:none}@media(max-width:960px){.nav-button{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:10px}.nav-button span{width:26px;height:3px;background:var(--ink);border-radius:2px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px}.site-nav ul{flex-direction:column;gap:0}.site-nav ul a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.site-nav .btn{margin-top:16px;text-align:center}.nav-toggle:checked~.site-nav{display:flex}}.hero{position:relative;color:#fff;background:var(--ink);overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.hero .wrap{position:relative;padding-top:clamp(80px,14vw,160px);padding-bottom:clamp(70px,12vw,140px)}.hero h1{color:#fff;max-width:18ch}.hero .lead{font-size:clamp(1.15rem,2.2vw,1.4rem);max-width:40ch;margin-bottom:1.6em}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.eyebrow{display:inline-block;font-family:var(--head);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.6em}.hero .eyebrow{color:#fff;border-left:4px solid var(--red);padding-left:10px}.page-hero .wrap{padding-top:clamp(64px,10vw,110px);padding-bottom:clamp(56px,9vw,100px)}.section{padding:clamp(56px,9vw,96px) 0}.section-alt{background:var(--bg-alt)}.section-head{max-width:720px;margin-bottom:40px}.section-head.center{margin-left:auto;margin-right:auto;text-align:center}.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}.intro p{font-size:1.15rem}@media(max-width:800px){.intro{grid-template-columns:1fr;gap:16px}}.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.service img{width:64px;height:64px;object-fit:contain;margin-bottom:16px}.service h3{margin-bottom:.3em}.service p{margin:0;color:var(--muted)}.industry{display:block;position:relative;border-radius:var(--radius);overflow:hidden;color:#fff;text-decoration:none;aspect-ratio:4 / 3;background:var(--ink)}.industry img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.industry:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#161922eb,#1619228c 45%,#1619221a)}.industry:hover img{transform:scale(1.04)}.industry div{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:24px}.industry h3{color:#fff;font-size:1.8rem;margin:0}.industry p{margin:0}.steps{counter-reset:step}.step h3:before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;width:2em;height:2em;margin-right:.5em;border-radius:50%;background:var(--blue);color:#fff;font-size:.9em}.step p{margin:0}.team-member{text-align:center}.team-member img{width:180px;height:180px;border-radius:50%;object-fit:cover;margin:0 auto 16px}.team-member .role{color:var(--red);font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6em}.team-member p:last-child{color:var(--muted)}.project-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}.project-card:hover{box-shadow:0 10px 30px #1619221f;transform:translateY(-2px)}.project-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.project-card div{padding:20px 22px 24px}.project-card h3{margin-bottom:.3em}.project-card p{margin:0;color:var(--muted);font-size:1rem}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px 32px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.checklist li{position:relative;padding-left:30px}.checklist li:before{content:"";position:absolute;left:0;top:.45em;width:16px;height:9px;border-left:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(-45deg)}.cta{background:var(--blue);color:#fff;text-align:center}.cta h2{color:#fff}.cta p{font-size:1.2rem;margin-bottom:1.5em}.project-meta{display:grid;grid-template-columns:2fr 1fr;gap:48px}.project-meta aside{background:var(--bg-alt);border-radius:var(--radius);padding:28px;align-self:start}.project-meta aside h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);margin-top:1.2em}.project-meta aside h3:first-child{margin-top:0}.project-meta aside ul{margin:0;padding-left:1.1em}@media(max-width:800px){.project-meta{grid-template-columns:1fr;gap:28px}}.gallery{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.gallery a{display:block;border-radius:var(--radius);overflow:hidden;background:var(--bg-alt)}.gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.video{aspect-ratio:16 / 9;width:100%;border:0;border-radius:var(--radius)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-grid dl{margin:0}.contact-grid dt{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}.contact-grid dd{margin:0 0 20px;font-size:1.2rem}.map{width:100%;min-height:360px;border:0;border-radius:var(--radius)}@media(max-width:800px){.contact-grid{grid-template-columns:1fr}}.form-wrap{max-width:820px}.proposal-form fieldset{border:0;margin:0 0 40px;padding:0}.proposal-form legend{font-family:var(--head);font-size:1.5rem;font-weight:600;color:var(--ink);padding:0 0 8px;margin-bottom:20px;border-bottom:3px solid var(--red)}.field{display:block;margin-bottom:20px}.field>span{display:block;font-weight:600;color:var(--ink);margin-bottom:6px}.field em{color:var(--red);font-style:normal}.field small{font-weight:400;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.proposal-form input:not([type=radio]),.proposal-form select,.proposal-form textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #c9d0da;border-radius:var(--radius);padding:.65em .8em}.proposal-form textarea{resize:vertical}.proposal-form input[type=file]{background:var(--bg-alt);border-style:dashed;padding:1em}.proposal-form input:focus,.proposal-form select:focus,.proposal-form textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}.choices{display:flex;flex-wrap:wrap;gap:8px 24px}.choices label{display:flex;align-items:center;gap:8px;cursor:pointer}.choices input{accent-color:var(--blue);width:18px;height:18px;margin:0}.proposal-form button[disabled]{opacity:.6;cursor:wait}.proposal-form .btn{cursor:pointer}.form-status{background:#fdecec;border-left:4px solid var(--red);color:#8a0b10;padding:12px 16px;border-radius:var(--radius)}.form-done{background:var(--blue-tint);border-left:4px solid var(--blue);border-radius:var(--radius);padding:28px 32px}.form-done h1,.form-done h2{margin-top:0}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:640px){.field-row{grid-template-columns:1fr}}.prose{max-width:760px}.prose h2{font-size:1.6rem;margin-top:1.6em}.prose ul{padding-left:1.2em}.prose li{margin-bottom:.3em}.site-footer{background:var(--ink);color:#c9ced8;padding-top:64px;font-size:1rem}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer h2{color:#fff;font-size:1.2rem;text-transform:uppercase;letter-spacing:.08em}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:6px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:32px;padding-bottom:40px}.footer-logo{background:#fff;padding:10px 12px;border-radius:var(--radius);margin-bottom:18px}.footer-badges{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.footer-badges img{background:#fff;padding:10px;border-radius:var(--radius)}.footer-legal{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;padding-bottom:28px;font-size:.875rem;color:#8b93a3}.footer-legal a{text-decoration:underline}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}a[href^="tel:"]{white-space:nowrap}
