@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#081b18;--panel:#102923;--panel2:#15342b;--text:#ebeee3;--muted:#a0b3a4;--lime:#d6ef9c;--line:#2e483c;--paper:#eceee4;--ink:#173b2c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button{color:inherit}img{max-width:100%;display:block}button[hidden],[hidden]{display:none!important}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;line-height:1.12;margin:0;letter-spacing:-1.5px}h1{font-size:clamp(50px,6.3vw,96px);letter-spacing:-4px}h2{font-size:clamp(34px,4vw,61px);letter-spacing:-2.5px}h3{font-size:25px;letter-spacing:-.8px}p{margin:0 0 20px}em{font-style:normal;color:var(--lime)}.section{padding:100px 5.4%}.eyebrow{font-size:9px;font-weight:500;letter-spacing:1.6px;line-height:1.6;text-transform:uppercase;color:var(--muted);margin:0 0 22px}.skip{position:fixed;top:-70px;background:var(--lime);color:var(--ink);padding:12px;z-index:100}.skip:focus{top:0}.site-header{height:88px;display:flex;align-items:center;gap:35px;padding:0 4%;position:relative;z-index:30;border-bottom:1px solid var(--line);background:var(--bg)}.brand{font:800 39px/1 Manrope,Arial,sans-serif;letter-spacing:-3px;display:block;flex-shrink:0}.brand span{display:block;letter-spacing:1.1px;font:500 6px/2 Arial,sans-serif;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:23px;margin:auto;font-size:11px}.site-header nav>a,.nav-trigger{padding:15px 0;white-space:nowrap}.nav-trigger{border:0;background:none;font-size:11px;display:flex;align-items:center;gap:7px}.nav-trigger span{font-size:13px;color:#829a7d}.nav-trigger[aria-expanded=true]{color:var(--lime)}.nav-group{position:relative}.nav-dropdown{position:absolute;top:50px;left:-20px;min-width:270px;max-width:340px;background:#112c24;border:1px solid #3a5344;padding:10px;box-shadow:0 25px 60px #0005}.nav-dropdown a{display:flex;justify-content:space-between;align-items:center;gap:25px;white-space:normal;padding:12px 13px;border-bottom:1px solid #264332;color:#c7d7c2;font-size:11px}.nav-dropdown a:last-child{border:0}.nav-dropdown a:hover{background:#223c2e;color:#e5f1d4}.nav-dropdown a span{color:var(--lime)}.header-tools{display:flex;align-items:center;gap:24px}.languages{display:flex;gap:8px}.languages a{font-size:9px;color:#7e9984}.languages a[aria-current=true]{color:var(--lime)}.header-cta{border-bottom:1px solid #6f895d;font-size:10px;padding:10px 0;white-space:nowrap}.header-cta span{margin-left:20px;color:var(--lime)}#menu-button{display:none;background:none;border:0;width:35px;height:40px;padding:6px}#menu-button i{display:block;height:1px;background:var(--text);margin:7px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;font-size:11px;font-weight:600;border:1px solid var(--line);transition:background .25s,transform .25s,box-shadow .25s}.button span{font-size:16px;transition:transform .3s}.button:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0002}.button:hover span{transform:translate(3px,-3px)}.lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.text-link{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:14px 0;border-bottom:1px solid #607750;font-size:11px;max-width:350px}.text-link span{color:var(--lime)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:45px}.section-heading>p{font-size:12px;color:var(--muted);max-width:340px}.section-heading .eyebrow{margin-bottom:17px}.intro{background:var(--paper);color:var(--ink);padding-top:115px;padding-bottom:115px}.intro .eyebrow{color:#6d805f}.intro h2 em{color:#879e6a}.intro-row{margin-top:45px;display:flex;justify-content:flex-end;align-items:end;gap:60px}.intro-row p{max-width:570px;font-size:16px;line-height:1.8;margin:0;color:#5d725a}.intro-row .text-link{min-width:170px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.editorial-card{display:flex;flex-direction:column;min-width:0}.card-image{height:240px;position:relative;background:var(--panel);overflow:hidden;border:1px solid var(--line)}.card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.68);transition:transform 1s cubic-bezier(.16,1,.3,1),filter 1s}.card-image>span{position:absolute;right:15px;bottom:15px;width:34px;height:34px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:20px}.editorial-card .eyebrow{font-size:7px;margin:23px 0 12px}.editorial-card h3{font-size:24px;display:flex;justify-content:space-between;gap:15px;margin-bottom:17px}.editorial-card h3>span{font-size:19px;color:var(--lime)}.editorial-card>p:last-child{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.editorial-card:hover img{transform:scale(1.045);filter:saturate(1)}.compact{row-gap:55px}.engineering-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:110px;background:#132d24}.engineering-feature>div>p:not(.eyebrow){color:var(--muted);max-width:570px;margin:25px 0 30px}.engineering-stack{align-self:center}.engineering-stack>div{display:flex;align-items:center;gap:25px;padding:25px 0;border-top:1px solid #44603c}.engineering-stack>div:last-child{border-bottom:1px solid #44603c}.engineering-stack span{font-size:10px;color:#9eb986}.engineering-stack h3{font-size:21px;letter-spacing:-.5px}.engineering-stack b{margin-left:auto;font-weight:400;color:var(--lime)}.audience{background:var(--paper);color:var(--ink)}.audience .eyebrow{color:#6a805d}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr)}.audience-grid a{padding:25px 40px 10px 0;border-top:1px solid #a9bba0;transition:background .3s}.audience-grid a+a{padding-left:40px;border-left:1px solid #a9bba0}.audience-grid a>span{font-size:10px;color:#748c62}.audience-grid h3{margin:25px 0 18px;font-size:27px}.audience-grid p{font-size:12px;color:#657a59;max-width:300px}.audience-grid b{font-size:28px;font-weight:400;display:block;transition:transform .3s}.audience-grid a:hover b{transform:translate(5px,-5px)}.software-feature{background:#112b23;display:grid;grid-template-columns:1fr 1fr;gap:85px}.software-feature>div>p:not(.eyebrow){color:var(--muted);margin-top:25px}.product-list{align-self:center}.product-list a{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid #38533e;font-size:15px;align-items:center}.product-list a>span{font-size:9px;color:#8ca275}.product-list b{margin-left:auto;color:var(--lime);font-weight:400}.wide-cta{background:var(--lime);color:var(--ink);position:relative}.wide-cta .eyebrow{color:#5d7643}.wide-cta h2{font-size:clamp(40px,5vw,76px);max-width:850px}.wide-cta .button{position:absolute;right:6%;bottom:100px;border-color:#7d985b;background:transparent;min-width:230px}.page-hero{padding-top:55px;padding-bottom:75px}.breadcrumb{font-size:10px;color:#7f9c80;display:inline-block;margin-bottom:65px}.page-hero>.eyebrow{color:var(--lime);font-size:9px}.page-hero h1{max-width:1120px}.page-lead{display:flex;align-items:end;justify-content:space-between;gap:80px;margin-top:40px}.page-lead>p{font-size:17px;line-height:1.8;max-width:760px;color:#a8bfa8;margin:0}.page-lead .button{flex-shrink:0;max-width:280px}.page-photo{margin:0 5.4%;position:relative}.image-enlarge{display:block;width:100%;padding:0;border:0;background:var(--panel);color:white;position:relative;text-align:left}.page-photo img{width:100%;height:min(52vw,620px);object-fit:cover;filter:saturate(.75)}.page-photo .image-enlarge>span,.campus-photo>span{position:absolute;right:20px;bottom:20px;background:var(--lime);color:var(--ink);width:36px;height:36px;display:grid;place-items:center;font-size:20px}.page-photo figcaption{font-size:8px;letter-spacing:.7px;color:#8aa185;margin-top:12px}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.scope-grid article{border-top:1px solid #44603e;padding-top:23px}.scope-grid article>.eyebrow{color:#8fa77c}.scope-grid h3{margin:25px 0 18px;font-size:25px}.scope-grid p{color:var(--muted);font-size:13px;line-height:1.85}.process{background:var(--paper);color:var(--ink)}.process .eyebrow{color:#6c825f}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:45px}.process-grid>div{border-top:1px solid #9caf91;padding-top:25px}.process-grid span{font-size:10px;color:#6c825f}.process-grid h3{margin-top:30px;font-size:23px}.product-note{background:#122f25}.product-note p:not(.eyebrow){color:var(--muted);max-width:750px;margin:30px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-top:20px}.contact-number{font:500 27px/1.3 Manrope,Arial;letter-spacing:-.8px;display:block;margin-bottom:35px}.contact-grid>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:320px}.contact-grid form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.full{grid-column:1/-1}label{font-size:10px;color:#b9cbb0}input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px 0;color:var(--text);background:transparent;border:0;border-bottom:1px solid #5b7350;border-radius:0;font-size:14px}option{background:var(--panel);color:var(--text)}textarea{resize:vertical}.form-note{font-size:10px;line-height:1.8;color:#92ad86;margin:0}.privacy-link{font-size:9px;text-decoration:underline;color:#b7c8a9}.legal-copy{max-width:800px;font-size:16px;color:var(--muted);margin-top:55px;line-height:1.9}.legal-copy p{margin-bottom:30px}.site-footer{padding:65px 5.4% 25px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 2fr auto;gap:45px;align-items:center;padding-bottom:55px;border-bottom:1px solid var(--line)}.footer-top h2{font-size:35px;letter-spacing:-1.5px;max-width:650px}.round-link{border:1px solid #5e7954;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:32px;color:var(--lime)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;margin:45px 0}.footer-grid .eyebrow{font-size:8px}.footer-grid>div{display:flex;flex-direction:column;gap:10px;font-size:11px;color:#a6bba0}.footer-grid p{font-size:10px;margin:12px 0}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:8px;letter-spacing:.8px;color:#79936f}dialog{border:1px solid #52714c;background:#091c18;color:var(--text);padding:25px;max-width:95vw;max-height:95svh;overflow:auto}dialog::backdrop{background:#020c09e8;backdrop-filter:blur(12px)}dialog img{max-height:78svh;max-width:85vw;object-fit:contain}dialog p{font-size:10px;color:#c5d6b7;margin:15px 0 0}#photo-close{position:absolute;right:10px;top:10px;background:var(--lime);color:var(--ink);border:0;width:36px;height:36px;font-size:25px;z-index:1}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:none}body[data-paused=true] *,body[data-paused=true] *:before,body[data-paused=true] *:after{animation-play-state:paused!important}
/* Photo-linked campus */
.campus-section{background:#102820}.facility-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:20px}.facility-nav button{border:1px solid #3e583b;padding:16px 13px;background:transparent;color:#b8cdb0;display:flex;align-items:center;text-align:left;gap:13px;font-size:10px;min-height:60px}.facility-nav span{font-size:8px;color:#87a471}.facility-nav b{margin-left:auto;font-weight:400}.facility-nav button[aria-pressed=true]{color:var(--lime);background:#243d29;border-color:#bddb89}.campus-shell{display:grid;grid-template-columns:1.3fr 1fr;border:1px solid #405d3c}.campus-viewport{position:relative;overflow:hidden;background:#e8eee4;display:flex;align-items:center;min-width:0}#campus{width:100%;height:auto;min-height:490px;touch-action:none;cursor:grab}#campus.dragging{cursor:grabbing}.map-toolbar{position:absolute;left:15px;right:15px;top:15px;display:flex;gap:5px;z-index:2}.map-toolbar button,.map-zoom button{font-size:9px;background:#ecf0e6e6;color:#21452e;border:1px solid #b7c7a8;padding:7px 10px}.map-toolbar button[aria-pressed=true]{background:#193c32;color:#e3f2d0}.map-zoom{position:absolute;right:15px;bottom:20px;display:flex}.map-zoom button{font-size:17px;padding:3px 12px}.map-disclaimer{position:absolute;left:15px;bottom:18px;font-size:6px;letter-spacing:.8px;color:#58704d;max-width:70%;margin:0}.flow-path{fill:none;stroke-width:4;stroke-dasharray:10 10;animation:flow 2s linear infinite;stroke-linecap:round}.flow-bg{fill:none;stroke:#fff;stroke-width:8;opacity:.7}.facility{cursor:pointer;outline:none}.facility .zone{transition:fill .2s,stroke .2s}.facility.active .zone{stroke:#193c32;stroke-width:3;fill-opacity:.65}.facility:hover .zone{stroke:#193c32;stroke-width:2}.facility:focus-visible .zone{stroke:#193c32;stroke-width:5}.pin circle{fill:#193c32;stroke:#f4f3ed;stroke-width:3}.facility.active .pin circle{fill:#d6f27b;stroke:#193c32}.pin text{font:600 13px Arial;fill:white;text-anchor:middle;dominant-baseline:central}.facility.active .pin text{fill:#193c32}.map-label{font:600 9px Arial;letter-spacing:.5px;fill:#254735;paint-order:stroke;stroke:#e8eee4;stroke-width:4px}#detail{background:#142f23;display:flex;flex-direction:column;min-width:0}.campus-photo{height:260px;overflow:hidden;position:relative}.campus-photo img{height:100%;width:100%;object-fit:cover;transition:opacity .3s,transform 1s}.campus-photo:hover img{transform:scale(1.03)}.campus-photo small{position:absolute;bottom:0;left:0;right:0;background:#082015c9;padding:7px 12px;font-size:7px;letter-spacing:.4px}.campus-photo>span{bottom:35px;width:30px;height:30px;font-size:17px;right:12px}.campus-detail{padding:25px;display:flex;flex-direction:column;flex:1}.detail-top{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1px;color:#8eab7c;margin-bottom:20px}.campus-detail h3{font-size:26px;margin-bottom:17px}.campus-detail>p:not(#tour-note){font-size:12px;color:#b4c9a6;margin-bottom:10px;min-height:65px}.campus-detail .text-link{margin-top:auto;max-width:none;color:var(--lime)}.tour{display:flex;gap:6px;margin-top:20px}.tour button{border:1px solid #557348;background:none;padding:7px 11px;font-size:11px}#tour{flex:1;background:var(--lime);color:var(--ink);border-color:var(--lime);font-size:10px}#tour-note{font-size:8px;margin:8px 0 0;color:#85a077}.map-note{font-size:8px;color:#83a174;margin:15px 0 0;max-width:850px}@keyframes flow{to{stroke-dashoffset:-40}}
@media(min-width:1800px){.site-header,main,.site-footer{max-width:1900px;margin:auto}}@media(max-width:1200px){.site-header{gap:20px;padding:0 3%}.site-header nav{gap:15px;font-size:10px}.nav-trigger{font-size:10px}.header-tools{gap:15px}.header-cta{display:none}.contact-grid{gap:50px}.engineering-feature{gap:50px}.software-feature{gap:40px}.map-label{font-size:8px}.campus-shell{grid-template-columns:1.1fr 1fr}.facility-nav button{font-size:9px;gap:7px}}@media(max-width:900px){.site-header{height:77px;padding:0 5%}.site-header nav{display:none;position:absolute;top:77px;left:0;right:0;background:#0b211b;padding:20px 5%;max-height:calc(100svh - 77px);overflow:auto;border-bottom:1px solid #405d3c}.site-header nav.open{display:block}.site-header nav>a,.nav-trigger{display:flex;font-size:15px;padding:12px 0;width:100%;justify-content:space-between}.nav-group{border-bottom:1px solid #29422f}.nav-dropdown{position:static;max-width:none;min-width:0;box-shadow:none;border:0;background:#143021}.nav-dropdown a{font-size:12px}.header-tools{margin-left:auto;gap:20px}.header-cta{display:none}#menu-button{display:block}.brand{font-size:34px}.languages{gap:12px}.languages a{font-size:10px}.section{padding:75px 5%}.card-grid{gap:20px}.card-image{height:200px}.editorial-card h3{font-size:20px}.scope-grid{gap:25px}.scope-grid h3{font-size:22px}.wide-cta .button{position:static;margin-top:35px}.page-lead{gap:30px}.page-lead>p{font-size:15px}.page-lead .button{font-size:10px;gap:20px}.campus-shell{grid-template-columns:1fr}.campus-viewport{min-height:400px}#campus{min-height:0;height:460px}.campus-photo{height:260px}.campus-detail>p:not(#tour-note){min-height:0}.facility-nav button{font-size:8px;flex-wrap:wrap;min-height:70px}.facility-nav b{display:none}.facility-nav span{display:block;width:100%}.footer-top h2{font-size:29px}.audience-grid a{padding-right:20px}.audience-grid a+a{padding-left:20px}.audience-grid h3{font-size:23px}.page-photo{margin:0 5%}.process-grid h3{font-size:20px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:25px}.footer-grid>div:last-child{grid-column:2/4;flex-direction:row;flex-wrap:wrap;gap:22px}}@media(max-width:600px){html{scroll-padding-top:30px}.site-header{gap:15px}.header-tools{gap:14px}.brand{font-size:32px}.brand span{font-size:5px}.languages{gap:9px}h1{font-size:43px;letter-spacing:-2px}h2{font-size:36px;letter-spacing:-1.8px}h3{font-size:24px}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:11px;margin-top:20px}.intro-row{display:block;margin-top:30px}.intro-row p{font-size:14px}.intro-row .text-link{margin-top:20px}.card-grid{grid-template-columns:1fr;gap:40px}.card-image{height:240px}.editorial-card h3{font-size:24px}.editorial-card>p:last-child{font-size:12px}.engineering-feature,.software-feature{grid-template-columns:1fr;gap:35px}.engineering-stack>div{padding:20px 0}.engineering-stack h3{font-size:19px}.engineering-feature>div>p:not(.eyebrow){font-size:13px}.audience-grid{grid-template-columns:1fr}.audience-grid a{padding:23px 0!important;border-left:0!important}.audience-grid h3{font-size:26px;margin:15px 0}.audience-grid b{font-size:25px}.audience-grid p{max-width:none}.audience-grid a{position:relative}.audience-grid b{position:absolute;right:0;top:25px}.product-list a{font-size:14px}.page-hero{padding-top:35px;padding-bottom:45px}.breadcrumb{margin-bottom:45px}.page-lead{display:block;margin-top:25px}.page-lead>p{font-size:14px}.page-lead .button{margin-top:30px}.page-photo{margin:0 6%}.page-photo img{height:300px}.page-photo figcaption{font-size:7px}.scope-grid{grid-template-columns:1fr;gap:30px}.scope-grid h3{margin-top:18px;font-size:25px}.scope-grid p{font-size:13px}.process-grid{grid-template-columns:1fr 1fr;margin-top:30px;gap:25px}.process-grid h3{font-size:20px;margin-top:20px}.contact-grid{grid-template-columns:1fr;gap:40px;padding-top:15px}.contact-number{font-size:25px}.contact-grid form{gap:20px}.contact-grid label{grid-column:1/-1}.contact-grid input,.contact-grid select,.contact-grid textarea{font-size:16px}.footer-top{grid-template-columns:1fr auto;gap:30px}.footer-top>.brand{grid-column:1/-1}.footer-top h2{font-size:27px;letter-spacing:-1.2px}.round-link{width:50px;height:50px;font-size:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:block;font-size:7px}.footer-bottom>span{display:block;margin-top:10px}.site-footer{padding:45px 6% 25px}.facility-nav{grid-template-columns:repeat(3,1fr);gap:6px}.facility-nav button{padding:10px;min-height:65px;font-size:8px}.campus-viewport{min-height:310px}#campus{height:330px}.map-toolbar{left:9px;top:9px;right:9px;gap:4px}.map-toolbar button{font-size:8px;padding:6px 8px}.map-zoom{bottom:14px;right:10px}.map-disclaimer{left:10px;font-size:5px;bottom:16px;max-width:65%}.campus-photo{height:220px}.campus-detail{padding:23px}.campus-detail h3{font-size:26px}.campus-detail>p:not(#tour-note){font-size:11px;line-height:1.8}.campus-detail .text-link{font-size:10px}.tour button{padding:8px 10px}.tour #tour{font-size:9px}.map-note{font-size:7px}.legal-copy{font-size:14px}.image-enlarge>span{width:30px;height:30px;right:12px;bottom:12px}.button{font-size:11px}.wide-cta .button{min-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.card-credit{position:absolute;left:9px;bottom:9px;max-width:75%;font-size:6px;line-height:1.5;background:#061d15d9;color:#c9d9bd;padding:4px 7px;letter-spacing:.3px}
