:root{--projects-ink:#202321;--projects-muted:#69716d;--projects-line:rgba(32,35,33,.17);--projects-green:#2fa875;--projects-copper:#b66c46}
.projects-hero{min-height:0!important;grid-template-columns:1fr!important;gap:0!important;padding-block:84px 96px!important}.projects-hero-copy{max-width:760px}
@media(max-width:980px){.projects-hero{gap:0!important;padding-block:65px 78px!important}}
@media(max-width:640px){.projects-hero{gap:0!important;padding-block:45px 64px!important}}
.current{color:var(--projects-ink)!important}.projects-hero{min-height:620px;display:grid;grid-template-columns:1fr .82fr;gap:88px;align-items:center;padding-block:84px 90px}.projects-hero-copy{padding-left:20px;border-left:1px solid var(--projects-line)}.projects-hero h1{display:block;min-height:0;margin:0 0 25px;font:500 clamp(56px,8vw,108px)/.92 "IBM Plex Mono",monospace;letter-spacing:-.06em}.projects-hero h1 em,.project-card h3 em,.projects-cta h2 em{color:var(--projects-copper);font-style:normal}.hero-intro{max-width:510px;margin:0;color:var(--projects-muted);font-size:17px;line-height:1.65}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:42px;padding-top:17px;border-top:1px solid var(--projects-line);color:var(--projects-muted);font:400 10px "IBM Plex Mono",monospace;text-transform:uppercase}.projects-hero-signal{min-height:400px;padding:18px;border:1px solid var(--projects-line);background:#e7e9e4;box-shadow:18px 22px 0 rgba(32,35,33,.05)}.signal-top,.signal-bottom{display:flex;align-items:center;gap:10px;color:var(--projects-muted);font:400 9px "IBM Plex Mono",monospace}.signal-top b{margin-left:auto;color:var(--projects-ink);font-weight:500}.signal-bottom{justify-content:center;margin-top:17px}.signal-bottom i{color:var(--projects-copper);font-style:normal}.signal-bottom strong{color:var(--projects-green);font-weight:500}.signal-screen{position:relative;height:300px;margin-top:24px;overflow:hidden;border:1px solid rgba(32,35,33,.2);background:#202321}.signal-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(241,242,238,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(241,242,238,.09) 1px,transparent 1px);background-size:27px 27px;transform:perspective(280px) rotateX(54deg) scale(1.6);transform-origin:center bottom}.signal-ring{position:absolute;left:50%;top:47%;width:150px;height:150px;border:1px solid rgba(47,168,117,.75);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 25px rgba(47,168,117,.07),0 0 0 52px rgba(182,108,70,.06)}.signal-ring:before,.signal-ring:after{content:"";position:absolute;inset:22px;border:1px dashed rgba(241,242,238,.44);border-radius:50%}.signal-ring:after{inset:49px;border-style:solid;border-color:var(--projects-copper)}.signal-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--projects-green),transparent);transform-origin:left center}.line-one{left:14%;top:34%;width:74%;transform:rotate(22deg)}.line-two{left:16%;top:68%;width:70%;transform:rotate(-17deg);background:linear-gradient(90deg,transparent,var(--projects-copper),transparent)}.signal-label{position:absolute;color:#f1f2ee;font:400 9px "IBM Plex Mono",monospace}.label-one{left:13%;top:27%;color:var(--projects-copper)}.label-two{right:12%;top:34%;color:var(--projects-green)}.label-three{right:14%;bottom:21%;color:#8eaaae}.live-dot{background:var(--projects-green)!important}
.project-list{padding-block:100px}.list-heading{display:grid;grid-template-columns:.45fr 1fr .8fr;gap:30px;align-items:end;margin-bottom:48px}.list-heading h2{margin:0;font-size:clamp(30px,4vw,52px);line-height:1.03;font-weight:500}.list-heading>p:last-child{margin:0;color:var(--projects-muted)}.project-card{position:relative;display:grid;grid-template-columns:160px 1fr 1fr;grid-template-rows:1fr auto;gap:28px;min-height:390px;padding:26px 30px 24px;border-top:1px solid var(--projects-line);background:rgba(255,255,255,.28);transition:background .25s,transform .25s}.project-card:hover{background:rgba(255,255,255,.68);transform:translateY(-4px)}.project-card:first-of-type{border-top:1px solid var(--projects-ink)}.project-index{color:var(--projects-copper);font:500 11px "IBM Plex Mono",monospace}.project-index span{display:block;margin-top:14px;color:var(--projects-muted);font-size:9px;line-height:1.6}.project-card-main{align-self:center}.project-status{margin:0 0 20px;color:var(--projects-muted);font:400 10px "IBM Plex Mono",monospace;text-transform:uppercase}.project-status span{width:6px;height:6px;display:inline-block;margin-right:7px;border-radius:50%;background:var(--projects-green);box-shadow:0 0 0 4px rgba(47,168,117,.12)}.project-card h3{margin:0 0 18px;font-size:clamp(32px,4vw,58px);font-weight:500;line-height:.98}.project-summary{max-width:440px;margin:0;color:var(--projects-muted);font-size:13px;line-height:1.65}.project-link{display:inline-flex;gap:17px;margin-top:25px;padding-bottom:7px;border-bottom:1px solid var(--projects-line);font-size:12px;font-weight:700}.project-link span{color:var(--projects-green);font-size:16px}.project-card-visual{position:relative;align-self:stretch;min-height:260px;overflow:hidden;border:1px solid var(--projects-line)}.project-tags{grid-column:2/4;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:16px 0 0;border-top:1px solid var(--projects-line);list-style:none;color:var(--projects-muted);font:400 9px "IBM Plex Mono",monospace;text-transform:uppercase}.project-tags li{padding:6px 8px;border:1px solid var(--projects-line)}.rumor-visual{background:#dfe9e4}.rumor-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(32,35,33,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(32,35,33,.07) 1px,transparent 1px);background-size:25px 25px}.node{position:absolute;z-index:2;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--projects-ink);border-radius:50%;background:#f1f2ee;color:var(--projects-ink);font:500 11px "IBM Plex Mono",monospace;box-shadow:0 0 0 7px rgba(47,168,117,.12)}.node-a{left:20%;top:26%;}.node-b{right:18%;top:19%;border-color:var(--projects-copper)}.node-c{right:27%;bottom:18%}.mesh{position:absolute;height:1px;background:var(--projects-green);transform-origin:left center}.mesh-ab{left:29%;top:34%;width:52%;transform:rotate(-8deg)}.mesh-bc{left:70%;top:31%;width:38%;transform:rotate(115deg);background:var(--projects-copper)}.mesh-ac{left:28%;top:39%;width:60%;transform:rotate(25deg)}.rumor-visual small{position:absolute;right:12px;bottom:10px;color:var(--projects-muted);font:400 9px "IBM Plex Mono",monospace}.drone-visual{background:#263338}.drone-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(142,170,174,.24),transparent 42%),linear-gradient(0deg,rgba(47,168,117,.09),transparent 45%)}.horizon{position:absolute;left:0;right:0;top:53%;height:1px;background:rgba(241,242,238,.5);box-shadow:0 -40px 0 rgba(241,242,238,.08),0 46px 0 rgba(241,242,238,.08)}.drone-cross{position:absolute;left:50%;top:52%;width:95px;height:55px;transform:translate(-50%,-50%)}.drone-cross:before,.drone-cross:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#8eaaae}.drone-cross:after{transform:rotate(90deg)}.drone-cross span{position:absolute;left:50%;top:50%;width:9px;height:9px;border:1px solid var(--projects-green);border-radius:50%;transform:translate(-50%,-50%)}.drone-cross i{position:absolute;left:50%;top:-2px;height:108%;border-left:1px dashed rgba(241,242,238,.28)}.altitude{position:absolute;right:15px;top:18px;color:#aeb5b1;font:400 9px "IBM Plex Mono",monospace;line-height:1.4}.altitude b{color:var(--projects-green);font-size:17px;font-weight:500}.hud-corner{position:absolute;left:15px;bottom:14px;color:var(--projects-copper);font:400 9px "IBM Plex Mono",monospace}.project-wide{min-height:320px}.project-wide .project-card-visual{min-height:220px}.met-visual,.ops-visual{padding:24px;background:#242927;color:#aeb5b1;font:400 10px/2 "IBM Plex Mono",monospace}.terminal-line{white-space:nowrap}.terminal-line:before{content:"> ";color:var(--projects-copper)}.terminal-line.success{color:var(--projects-green)}.terminal-bars{display:flex;align-items:end;gap:5px;height:72px;margin-top:25px;border-bottom:1px solid rgba(241,242,238,.3)}.terminal-bars span{width:19%;background:var(--projects-green);opacity:.65}.terminal-bars span:nth-child(1){height:35%}.terminal-bars span:nth-child(2){height:58%;background:var(--projects-copper)}.terminal-bars span:nth-child(3){height:46%}.terminal-bars span:nth-child(4){height:80%;background:#8eaaae}.terminal-bars span:nth-child(5){height:68%}.ops-visual{position:relative;background:#202321}.ops-axis{position:absolute;left:14%;right:14%;top:50%;height:1px;background:linear-gradient(90deg,var(--projects-copper),var(--projects-green))}.ops-marker{position:absolute;padding:7px 9px;border:1px solid #5a635e;color:#daddda;font-size:9px;background:#292d2b}.marker-a{left:10%;top:26%}.marker-b{left:42%;bottom:20%}.marker-c{right:8%;top:26%;color:var(--projects-green)}.ops-pulse{position:absolute;left:67%;top:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:var(--projects-green);box-shadow:0 0 0 8px rgba(47,168,117,.12),0 0 25px var(--projects-green)}.project-principles{padding-block:92px;color:#f1f2ee;background:#202321}.principles-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.project-principles h2{margin:0;font-size:clamp(31px,4vw,53px);line-height:1.03;font-weight:500}.project-principles .kicker,.projects-cta .kicker{color:#aeb5b1}.principle-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.principle-list div{padding-left:17px;border-left:1px solid #565e59}.principle-list b{display:block;margin-bottom:48px;color:var(--projects-green);font:500 10px "IBM Plex Mono",monospace}.principle-list span{font-size:16px;font-weight:700}.principle-list p{margin:10px 0 0;color:#aeb5b1;font-size:12px;line-height:1.55}.projects-cta{padding-block:100px}.projects-cta h2{margin:0 0 30px;font-size:clamp(40px,6vw,76px);line-height:.98;font-weight:500}.projects-cta .button{margin-top:8px}@media(max-width:980px){.projects-hero{grid-template-columns:1fr;gap:45px;padding-block:65px}.list-heading{grid-template-columns:.5fr 1fr}.list-heading>p:last-child{grid-column:2}.project-card{grid-template-columns:100px 1fr 1fr}.principles-inner{grid-template-columns:1fr;gap:45px}}@media(max-width:640px){.projects-hero{gap:32px;padding-block:45px 64px}.projects-hero-copy{padding-left:0;border-left:0}.projects-hero h1{font-size:57px}.hero-intro{font-size:15px}.hero-meta{display:grid;gap:8px;margin-top:28px}.projects-hero-signal{min-height:330px}.signal-screen{height:230px}.list-heading{grid-template-columns:1fr;gap:14px;margin-bottom:30px}.list-heading>p:last-child{grid-column:auto}.project-list{padding-block:64px}.project-card,.project-wide{grid-template-columns:1fr;grid-template-rows:auto;gap:18px;padding:22px 0 28px}.project-card-visual,.project-wide .project-card-visual{min-height:220px;grid-row:3}.project-card-main{grid-row:2}.project-index{display:flex;gap:12px}.project-index span{margin:0}.project-tags{grid-column:auto;grid-row:4}.project-card h3{font-size:42px}.project-principles{padding-block:64px}.principles-inner{gap:34px}.principle-list{grid-template-columns:1fr;gap:25px}.principle-list b{margin-bottom:16px}.projects-cta{padding-block:65px}.projects-cta h2{font-size:48px}}
/* Hero copy sits closer to the headline while keeping a clear exit into the page. */
.hero-intro{margin:-10px 0 24px}
@media(max-width:380px){html,body{overflow-x:hidden}.projects-hero-copy{min-width:0}.projects-hero h1{font-size:42px;letter-spacing:-.07em}.hero-intro{overflow-wrap:anywhere}}
