/* High-tech visual system. Content remains readable without animation. */
:root{--ink:#070c14;--paper:#0b121d;--white:#edf6ff;--orange:#56e0ed;--muted:#a1b1c3;--line:#93c9f224;--mono:Consolas,'Courier New',monospace}
body{background:var(--ink)}
.dark-top{position:relative;isolation:isolate;background:radial-gradient(ellipse at 84% 32%,#1539535c,transparent 50%),#070c14;overflow:hidden}
.dark-top:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(#76c6ff09 1px,transparent 1px),linear-gradient(90deg,#76c6ff09 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(to bottom,black,transparent)}
.dark-top:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(450px circle at var(--mx,75%) var(--my,40%),#2181c412,transparent 75%)}
.nav{height:94px;border-bottom-color:#7cceff2b}.brand-mark{width:56px}.brand-name{letter-spacing:1.5px;font-size:11px}.nav-projects{font-family:var(--mono);font-size:13px}.nav-projects>span{color:var(--orange)}
.hero-layout{padding:76px 0 78px;grid-template-columns:1.08fr 1fr;gap:70px}
.hero-kicker{font-family:var(--mono);font-size:11px;letter-spacing:1.1px;color:var(--orange);margin-bottom:27px}
.hero-kicker:before{width:18px;box-shadow:0 0 12px #56e0ed66}
.hero-copy h1{text-transform:uppercase;font-size:clamp(4.5rem,8.8vw,8.1rem);line-height:1;letter-spacing:-.065em;margin-bottom:29px}
.name-first{color:#f2f7fc}.name-last{color:#a8c3d9;background:linear-gradient(110deg,#e4f3ff,#839ab7 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.name-dot{-webkit-text-fill-color:var(--orange);color:var(--orange)}
.hero-description{font-size:16px;max-width:440px;line-height:1.85;color:#a5b7ca;margin-bottom:27px}
.hero-description strong{display:block;font-weight:400;font-size:21px;color:#ecf5fe;margin-bottom:13px;letter-spacing:-.4px}
.hero-cta{border-color:#56e0ed66;background:#10202e;border-radius:0;gap:29px;padding:7px 7px 7px 20px;box-shadow:0 0 25px #48bdd508;font-family:var(--mono);font-size:13px}.hero-cta:hover{background:#173342;border-color:var(--orange);box-shadow:0 0 25px #48bdd517}.cta-icon{border-radius:0;background:var(--orange);color:#07111a}
.capabilities{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;padding:0;margin:27px 0 0;font:11px/1.5 var(--mono);color:#849aaf}.capabilities li:before{content:'+';margin-right:8px;color:var(--orange)}
.hero-portrait{max-width:485px;position:relative;padding:15px 0 0 15px}
.hero-portrait:before{content:'';position:absolute;inset:0 16px 54px 0;border:1px solid #56e0ed38;pointer-events:none}
.portrait-frame{position:relative;border:1px solid #95dfff26;border-radius:0;background:#090f18;overflow:hidden;box-shadow:0 20px 80px #0004}
.portrait-frame:before,.portrait-frame:after{content:'';position:absolute;width:38px;height:38px;z-index:2;pointer-events:none}.portrait-frame:before{top:0;left:0;border-top:2px solid var(--orange);border-left:2px solid var(--orange)}.portrait-frame:after{bottom:0;right:0;border-bottom:2px solid var(--orange);border-right:2px solid var(--orange)}
.portrait-frame img{mask-image:linear-gradient(to bottom,black 82%,transparent);-webkit-mask-image:linear-gradient(to bottom,black 82%,transparent);width:100%;height:auto}
.portrait-index{position:absolute;right:14px;top:14px;z-index:3;font:10px/1.4 var(--mono);letter-spacing:1px;color:#b2c6d8;background:#070c14b0;padding:6px 8px;border:1px solid #a5dbff29}
.hero-portrait figcaption{border-top:0;font-family:var(--mono);font-size:10px;color:#8aa2b8;padding:17px 0 0;margin-top:0}.hero-portrait figcaption>span:first-child{font-size:9px;letter-spacing:.3px;color:#8cbac7}
.work-section{background:#0b121d;color:#edf6ff;color-scheme:dark;border-top:1px solid #76b8e929;padding-top:78px}.work-intro{margin-bottom:43px}.section-kicker{font-family:var(--mono);font-size:11px;color:#89a4bc;letter-spacing:1px}.section-kicker>span{color:var(--orange)}.work-intro h2{font-size:clamp(2.3rem,4vw,3.6rem);letter-spacing:-.05em}.work-intro>p{font-size:14px;color:#9eafc0}
.project{background:linear-gradient(145deg,#142130,#0f1824);border:1px solid #99c8eb29;padding:18px;position:relative;border-radius:2px;transition:border-color .25s,box-shadow .25s}.project:hover{border-color:#56e0ed77;box-shadow:0 12px 40px #0003}.project-stage{background:#152334;border:1px solid #a3cbe51a;padding:18px 14px 14px;border-radius:0}.stage-offshore{background:#101f2d}.stage-heading,.stage-offshore .stage-heading{color:#b0c7d9;font-family:var(--mono);font-size:10px;letter-spacing:.5px;margin-bottom:20px}.stage-heading>span:last-child{font-family:var(--mono);font-size:17px;color:var(--orange)}.project-browser{border-color:#a4d6f02b;border-radius:3px;box-shadow:0 18px 35px #0004}.window-bar,.stage-offshore .window-bar{background:#0a111b;color:#8399ad;font-family:var(--mono);font-size:9px}.window-dots i{background:#4c6375}.window-dots i:first-child{background:#56e0ed}.stage-footer,.stage-offshore .stage-footer{color:#90acbe;font-family:var(--mono);font-size:9px;letter-spacing:.8px;margin-top:16px}.visit-circle{color:var(--orange);border:1px solid #56e0ed50;border-radius:0;width:31px;height:31px}.project-stage:hover .visit-circle{background:var(--orange);color:#07111a}
.project-title{margin:26px 4px 14px;align-items:center}.project-title h3{font-size:28px;color:#edf6ff}.project-title h3>span{color:#86a7bf}.project-type{font-family:var(--mono);font-size:9px;letter-spacing:.3px;color:#9dc4d7;border-color:#73b5d83d;border-radius:2px;padding:7px 8px}
.project>p{color:#a5b5c6;font-size:15px;margin:0 4px 23px;line-height:1.9}.feature-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 4px 25px}.feature-list li{font:11px/1.5 var(--mono);padding:7px 8px;background:#56e0ed08;border:1px solid #73b5d829;color:#b2d9e3}.project .project-role{margin:0 4px 24px;border-top-color:#83bde12b;color:#d1dfeb;font-size:13px;padding-top:17px}.project-role>span{font-family:var(--mono);font-size:10px;color:#7d9aaf;letter-spacing:1px}.text-link{margin:0 4px 9px;color:#d8eff9;font-family:var(--mono);font-size:13px;border-bottom-color:#56e0ed66}.text-link>span[aria-hidden]{color:var(--orange)}.text-link:hover{border-color:var(--orange)}
.footer{background:#070c14;border-top:1px solid #99c8eb20}.footer-brand{color:#d7e7f4}.contact-label{font-family:var(--mono);color:#7e9cb1}.contact-link{color:#e0f2ff;border-bottom-color:#56e0ed55}.footer-bottom{font-family:var(--mono);font-size:11px;color:#8399ad}.back-top{border-radius:2px;border-color:#56e0ed45;color:var(--orange)}
@media(max-width:1100px){.hero-layout{gap:38px;padding:60px 0 65px}.hero-copy h1{font-size:8.5vw}.hero-kicker{font-size:10px;letter-spacing:.5px}.hero-description strong{font-size:19px}.hero-portrait figcaption>span:first-child{max-width:165px;line-height:1.5}.project-grid{gap:24px}.project{padding:14px}.project-title h3{font-size:24px}.project-type{font-size:8px}.project-stage{padding:16px 11px 12px}}
@media(max-width:760px){.nav{height:82px}.brand-mark{width:44px}.brand-name{font-size:10px}.hero-layout{grid-template-columns:1fr;gap:42px;padding:42px 0 48px}.hero-copy h1{font-size:17.2vw;letter-spacing:-.055em;margin-bottom:24px}.hero-kicker{font-size:9px;letter-spacing:.65px;gap:8px;margin-bottom:23px}.hero-kicker:before{width:14px}.hero-description{font-size:16px;line-height:1.8}.hero-description strong{font-size:19px}.hero-portrait{max-width:440px;padding:11px 0 0 11px}.hero-portrait figcaption{gap:10px;font-size:9px}.hero-portrait figcaption>span:first-child{max-width:none;font-size:8px}.hero-portrait:before{inset:0 13px 48px 0}.capabilities{font-size:10px;gap:9px 15px;margin-top:24px}.work-section{padding:50px 0 58px}.work-intro h2{font-size:37px}.work-intro>p{font-size:14px}.project{padding:13px}.project-grid{gap:27px}.project-title h3{font-size:25px}.project-type{font-size:8px}.project-title{gap:9px}.project>p{font-size:15px}.feature-list{gap:6px}.feature-list li{font-size:10px;padding:6px 7px}.stage-heading,.stage-offshore .stage-heading{font-size:8px}.stage-footer,.stage-offshore .stage-footer{font-size:8px}.footer-bottom{font-size:10px}}
@media(max-width:360px){.hero-kicker{font-size:8px}.hero-description strong{font-size:18px}.nav-projects{font-size:11px}.project-title h3{font-size:21px}.project-type{font-size:7px}.hero-portrait figcaption>span:first-child{font-size:7px}.hero-portrait figcaption{font-size:8px}.work-intro h2{font-size:33px}}
/* Approved logo artwork, framed without changing the original image. */
.logo-emblem{display:block;position:relative;width:68px;height:66px;overflow:hidden;flex:none;mix-blend-mode:screen}
.logo-emblem img{position:absolute;width:224%;max-width:none;height:auto;left:-62.5%;top:-48.2%}
.brand{gap:14px}.brand-name{font-size:12px;letter-spacing:1.8px}
.logo-lockup{display:block;position:relative;width:310px;aspect-ratio:1000/710;overflow:hidden;mix-blend-mode:screen}
.logo-lockup img{position:absolute;width:125.4%;max-width:none;height:auto;left:-12.5%;top:-38%}
.footer-top{align-items:center;margin-bottom:28px}
@media(max-width:760px){.logo-emblem{width:53px;height:52px}.brand{gap:10px}.brand-name{font-size:10px;letter-spacing:1px}.logo-lockup{width:250px;max-width:calc(100% - 60px)}}
@media(max-width:360px){.logo-emblem{width:44px;height:44px}.brand-name{font-size:9px}.nav-projects{gap:5px;font-size:10px}}
