@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}:root{--navy: #102c46;--blue: #0a467a;--red: #c83429;--ink: #172e43;--muted: #526575;--paper: #ffffff;--surface: #f2f5f7;--line: #d5dfe6;--space-2: 2px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--space-80: 80px;--space-96: 96px;--radius: 16px;--ease: cubic-bezier(.32, .72, 0, 1)}.App{width:100%;background:var(--paper);color:var(--ink);font-family:Poppins,sans-serif;font-size:16px;line-height:24px}.App button,.App a{-webkit-tap-highlight-color:transparent}.App button{font:inherit;cursor:pointer}.App a{color:inherit;text-decoration:none}.App img{display:block;max-width:100%}.App h1,.App h2,.App h3,.App p,.App figure{margin:0}.App h1,.App h2,.App h3{font-weight:600;text-wrap:balance}.App p,.App li{text-wrap:pretty}.App ul{margin:0;padding:0}.App h2{font-size:48px;line-height:1}.App h3{font-size:24px;line-height:32px}.App address{font-style:normal}.App :focus-visible{outline:3px solid var(--red);outline-offset:4px}.App a,.App button,.App summary{transition:color .7s var(--ease),background-color .7s var(--ease),transform .7s var(--ease),box-shadow .7s var(--ease)}.App button:active,.App .button:active{transform:scale(.98)}.section-shell{width:min(100% - 96px,1248px);margin-inline:auto}.section-space{padding-block:var(--space-96)}.section-heading{margin-bottom:var(--space-48)}.eyebrow{color:var(--blue);font-size:12px;line-height:16px;letter-spacing:.12em;font-weight:600;text-transform:uppercase}.section-heading .eyebrow{margin-bottom:var(--space-16)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-24);border:1px solid transparent;border-radius:8px;padding:var(--space-8) var(--space-12);font-weight:600;min-height:48px}.App .button-primary{background:var(--blue);color:#fff}.App .button-primary:hover{background:var(--navy);transform:translateY(-2px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-8);left:var(--space-16);z-index:100;padding:var(--space-12) var(--space-16);background:white;transform:translateY(-200%);border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;top:var(--space-24);left:0;width:100%;z-index:20}.nav-island{display:flex;align-items:center;justify-content:space-between;gap:var(--space-32);width:max-content;max-width:calc(100% - 32px);margin-inline:auto;padding:var(--space-8) var(--space-24);border:1px solid var(--line);border-radius:9999px;background:rgba(255,255,255,.94);backdrop-filter:blur(24px);box-shadow:0 8px 32px #102c4614}.brand{display:flex;align-items:center;gap:var(--space-8)}.brand img{width:56px;height:48px;object-fit:contain}.brand span{font-size:12px;line-height:16px;font-weight:600;color:var(--blue)}.desktop-nav{display:flex;align-items:center;gap:var(--space-8)}.desktop-nav a{padding:var(--space-12);font-size:14px;line-height:20px;font-weight:500;border-radius:9999px}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--blue);background:var(--surface)}.desktop-nav a[aria-current]{box-shadow:inset 0 0 0 1px var(--line)}.menu-toggle{display:none;border:1px solid var(--line);width:48px;height:48px;padding:var(--space-12);border-radius:9999px;background:white}.menu-lines{position:relative;display:block;width:24px;height:24px}.menu-lines span{position:absolute;left:0;top:8px;width:24px;height:2px;background:var(--navy);transition:transform .7s var(--ease)}.menu-lines span:last-child{top:16px}.menu-lines.is-open span:first-child{transform:translateY(4px) rotate(45deg);animation:menu-line-top .7s var(--ease)}.menu-lines.is-open span:last-child{transform:translateY(-4px) rotate(-45deg);animation:menu-line-bottom .7s var(--ease)}@keyframes menu-line-top{0%{transform:none}to{transform:translateY(4px) rotate(45deg)}}@keyframes menu-line-bottom{0%{transform:none}to{transform:translateY(-4px) rotate(-45deg)}}.mobile-menu{position:fixed;inset:0;min-height:100dvh;padding:var(--space-96) var(--space-32) var(--space-32);background:rgba(255,255,255,.96);backdrop-filter:blur(64px);overflow-y:auto}.close-menu{position:absolute;right:var(--space-24);top:var(--space-24)}.mobile-menu nav{display:flex;flex-direction:column;gap:var(--space-16);max-width:680px;margin-inline:auto}.mobile-menu nav a{font-size:30px;line-height:36px;font-weight:600;padding:var(--space-16);border-radius:16px;animation:menu-reveal .8s var(--ease) both;animation-delay:var(--link-delay)}.mobile-menu a:hover,.mobile-menu a[aria-current]{background:var(--surface);color:var(--blue)}@keyframes menu-reveal{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:var(--space-48);padding-top:calc(var(--space-96) + var(--space-64));padding-bottom:var(--space-64)}.hero-copy .eyebrow{margin-bottom:var(--space-24)}.hero h1{max-width:680px;font-size:60px;line-height:1;letter-spacing:-.04em;color:var(--navy);background:linear-gradient(90deg,#000000,#666666);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-description{max-width:680px;color:var(--muted);margin-block:var(--space-32)!important;font-size:18px;line-height:28px}.hero-visual{position:relative;padding-bottom:var(--space-48)}.hero-photo{width:100%;height:auto;object-fit:contain;border-radius:var(--radius)}.hero-inset{position:absolute;bottom:0;right:var(--space-24);display:flex;align-items:center;gap:var(--space-16);padding:var(--space-8);padding-right:var(--space-24);background:var(--navy);color:#fff;border-radius:16px;box-shadow:0 8px 32px #102c4629}.hero-inset img{width:128px;height:96px;object-fit:contain;background:white;border-radius:8px}.hero-inset span{font-size:14px;line-height:20px;font-weight:500}.clients{padding-block:var(--space-32);border:1px solid var(--line);border-radius:var(--radius)}.clients>.eyebrow{text-align:center;margin-bottom:var(--space-24)}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:var(--space-24);padding-inline:var(--space-32)}.client-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);min-width:0;color:var(--blue)}.client-logo img{max-width:128px;max-height:40px;object-fit:contain}.client-name{font-size:14px;line-height:20px;font-weight:600}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-64);align-items:start}.about-description{color:var(--muted);font-size:18px;line-height:28px}.sector-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-top:var(--space-32)!important}.sector-list li{padding:var(--space-12) var(--space-16);background:var(--surface);color:var(--blue);font-size:14px;line-height:20px;border-radius:8px;font-weight:500}.about-photo{width:100%;height:auto;object-fit:contain;border-radius:var(--radius)}.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);margin-top:var(--space-48)}.purpose-card{padding:var(--space-32);border:1px solid var(--line);border-radius:var(--radius)}.purpose-card h3{margin-block:var(--space-16);max-width:480px}.purpose-card p{color:var(--muted)}.tagline{padding-top:0}.tagline .eyebrow{margin-bottom:var(--space-24);color:var(--red)}.tagline-text{max-width:680px;font-size:48px;line-height:1;font-weight:500;letter-spacing:-.03em;color:var(--blue);text-wrap:balance}.tagline-line{display:block}.tagline-line+.tagline-line{margin-top:var(--space-16)}.services{background:var(--surface)}.services-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--space-40);align-items:start}.service-selector{display:flex;flex-direction:column;gap:var(--space-8)}.service-selector button{display:grid;grid-template-columns:32px 1fr 16px;gap:var(--space-12);text-align:left;align-items:start;padding:var(--space-16);border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-size:14px;line-height:20px}.service-selector button:hover{background:#e4ecf2}.service-selector button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.service-number{font-weight:600}.service-arrow{color:var(--red)}.service-selector button[aria-pressed=true] .service-arrow{color:#fff}.service-panel{min-width:0;background:white;border-radius:var(--radius);padding:var(--space-32)}.service-panel h3{margin-block:var(--space-16) var(--space-24)}.technical-list{list-style:none;display:grid;gap:var(--space-16)}.technical-list li{position:relative;padding-left:var(--space-24);color:var(--muted)}.technical-list li:before{content:"";position:absolute;width:8px;height:8px;top:8px;left:0;border-radius:2px;background:var(--blue)}.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-24);margin-top:var(--space-32)}.service-gallery img{width:100%;height:224px;object-fit:contain;background:var(--surface);border-radius:8px}.service-gallery figcaption{display:flex;gap:var(--space-8);margin-top:var(--space-12);font-size:12px;line-height:16px;color:var(--muted)}.service-gallery figcaption span{color:var(--red);font-weight:600}.project-list{display:grid;gap:var(--space-16)}.project{border:1px solid var(--line);border-radius:var(--radius);background:white}.project summary{display:grid;grid-template-columns:32px minmax(0,1fr) 128px 24px;gap:var(--space-24);align-items:center;padding:var(--space-24);cursor:pointer;list-style:none;border-radius:var(--radius)}.project summary::-webkit-details-marker{display:none}.project summary:hover,.project[open] summary{background:var(--surface)}.project-number{align-self:start;color:var(--red);font-size:14px;line-height:20px;font-weight:600}.project-title{display:block;font-size:20px;line-height:28px;font-weight:600;text-wrap:balance}.project-location{display:block;margin-top:var(--space-12);font-size:14px;line-height:20px;color:var(--muted)}.project-location strong{font-weight:500}.disclosure-icon{font-size:24px;line-height:32px;color:var(--blue);transition:transform .7s var(--ease)}.project[open] .disclosure-icon{transform:rotate(45deg)}.project-body{padding:var(--space-32)}.project-body h3{font-size:12px;line-height:16px;letter-spacing:.08em;margin-bottom:var(--space-24);color:var(--blue)}.contact{background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-80);align-items:center}.contact .eyebrow{color:#b6d8f3;margin-bottom:var(--space-16)}.contact h2{text-transform:none}.contact-methods{margin-top:var(--space-32);display:grid;gap:var(--space-12)}.contact-method{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);border:1px solid #496076;border-radius:8px;padding:var(--space-16)}.contact-method>div{min-width:0}.contact-label{display:block;font-size:12px;line-height:16px;color:#b6d8f3;margin-bottom:var(--space-4)}.contact-method a{font-size:20px;line-height:28px;font-weight:500;overflow-wrap:anywhere}.App .button-copy{color:#fff;background:#274762;border-color:#496076;font-size:14px;line-height:20px;min-height:48px}.App .button-copy:hover{background:#3b607e}.button-copy:disabled{opacity:.6;cursor:wait}.copy-feedback{min-height:48px;padding-block:var(--space-12);font-size:14px;line-height:20px;color:#d1e8fa}.contact address{max-width:480px;margin-block:var(--space-16) var(--space-24)}.contact a:hover{text-decoration:underline;text-underline-offset:4px}.company-name{font-weight:600}.contact-photo{width:100%;height:auto;object-fit:contain;border-radius:var(--radius)}.contact :focus-visible{outline-color:#b6d8f3}.site-footer{padding-top:var(--space-64);padding-bottom:var(--space-32)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-32)}.footer-grid h2{font-size:16px;line-height:24px;margin-bottom:var(--space-16)}.footer-grid a{display:block;color:var(--blue);margin-bottom:var(--space-8);overflow-wrap:anywhere}.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-24);padding-top:var(--space-48)}.footer-bottom img{width:160px;height:80px;object-fit:contain}.footer-bottom p{color:var(--muted);font-size:12px;line-height:16px}[data-reveal].reveal-ready{opacity:0;transform:translateY(64px);filter:blur(8px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none;filter:none}[data-word].reveal-ready{color:#0a467a4d;transition:color .8s var(--ease)}[data-word].is-visible{color:var(--blue)}@media (min-width: 1600px){.hero h1{font-size:72px;line-height:1}}@media (max-width: 1100px){.section-shell{width:calc(100% - 64px)}.hero{gap:var(--space-32)}.hero h1{font-size:48px;line-height:1}.about-grid,.contact-grid{gap:var(--space-32)}.services-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:var(--space-24)}.service-panel{padding:var(--space-24)}.service-gallery{grid-template-columns:1fr}}@media (max-width: 900px){.desktop-nav{display:none}.menu-toggle{display:block}.nav-island{width:calc(100% - 48px)}.hero{grid-template-columns:1fr;padding-top:calc(var(--space-96) + var(--space-48))}.hero-copy{max-width:680px}.hero h1{font-size:60px;line-height:1}.about-grid,.services-layout{grid-template-columns:1fr}.service-selector{display:grid;grid-template-columns:1fr 1fr}.service-gallery{grid-template-columns:1fr 1fr}.project summary{grid-template-columns:24px minmax(0,1fr) 24px;gap:var(--space-16)}.project summary .client-logo{grid-column:2;grid-row:2;flex-direction:row;justify-content:flex-start}.project summary .client-logo img{max-width:96px;max-height:24px}.disclosure-icon{grid-column:3;grid-row:1}.contact-grid{grid-template-columns:1fr}.contact-photo{max-height:560px}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.section-shell{width:calc(100% - 32px)}.section-space{padding-block:var(--space-64)}.section-heading{margin-bottom:var(--space-32)}.App h2{font-size:36px;line-height:40px}.App h3{font-size:20px;line-height:28px}.nav-island{width:calc(100% - 32px);padding:var(--space-8) var(--space-12)}.hero{padding-bottom:var(--space-40);gap:var(--space-32)}.hero h1{font-size:48px;line-height:1}.hero-description{font-size:16px;line-height:24px;margin-block:var(--space-24)!important}.hero-inset{right:var(--space-16)}.hero-inset img{width:96px;height:80px}.clients{padding-block:var(--space-24)}.client-grid{grid-template-columns:1fr 1fr;padding-inline:var(--space-16)}.client-logo img{max-width:96px}.about-description{font-size:16px;line-height:24px}.sector-list{gap:var(--space-8)}.sector-list li{padding:var(--space-12)}.purpose-grid{grid-template-columns:1fr}.purpose-card{padding:var(--space-24)}.tagline{padding-top:0}.tagline-text{font-size:36px;line-height:40px}.service-selector{grid-template-columns:1fr}.service-panel{padding:var(--space-24) var(--space-16)}.service-gallery{grid-template-columns:1fr}.service-gallery img{height:256px}.project summary{padding:var(--space-16);gap:var(--space-12)}.project-title{font-size:18px;line-height:28px}.project-body{padding:var(--space-24) var(--space-16)}.contact-method{padding:var(--space-12);gap:var(--space-8)}.contact-method a{font-size:16px;line-height:24px}.contact-photo{height:400px}.footer-grid{grid-template-columns:1fr;gap:var(--space-24)}.footer-bottom{flex-direction:column;align-items:flex-start;padding-top:var(--space-32)}}@media (prefers-reduced-motion: reduce){.App *,.App *:before,.App *:after{animation:none!important;transition:none!important}[data-reveal].reveal-ready{opacity:1;transform:none;filter:none}[data-word].reveal-ready{color:var(--blue)}}
