@font-face{font-family:Manrope;src:url("assets/fonts/manrope-variable.ttf") format("truetype");font-weight:200 800;font-display:swap}
@font-face{font-family:Montserrat;src:url("assets/fonts/montserrat-variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:Montserrat;src:url("assets/fonts/montserrat-italic-variable.ttf") format("truetype");font-style:italic;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;color:#e8ecf2;background:#030710;font-family:Manrope,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{margin:0}
p,h1,h2{margin:0}
.scene{position:relative;isolation:isolate;min-height:100svh;max-width:1448px;margin-inline:auto;overflow:clip;background:#040a13}
.studio-environment{position:absolute;inset:0;z-index:-2;background-image:url("assets/studio-plate.png");background-position:center top;background-size:1448px 1086px;background-repeat:no-repeat;pointer-events:none}
.masthead{position:relative;border-bottom:1px solid #bcc8d36b;background:#02060db8}
.masthead-inner{width:calc(100% - 160px);max-width:1288px;min-height:106px;margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:3px;flex-shrink:0}
.brand-emblem{display:block;width:100px;height:88px;object-fit:contain}
.brand-wordmark{display:block;font:450 32px/1.2 Montserrat,sans-serif;letter-spacing:.04em;transform:scaleX(1.27);transform-origin:left center;margin-inline-end:1.45em}
.development{display:flex;align-items:center;gap:18px;color:#d5dce5;font-size:16px;letter-spacing:.035em;line-height:1.5}
.status-light{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#f0fcff;box-shadow:0 0 6px 2px #d6f0ffb8,0 0 19px 5px #9bd7fc47}
.metal{color:#e3e7ee;text-shadow:0 2px 2px #0009}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .metal{color:transparent;background-image:linear-gradient(177deg,#fff 3%,#d9dde4 24%,#8e98a6 45%,#edf3fb 52%,#f7faff 65%,#8b95a3 97%);background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:.35px #e5edf754;text-shadow:none;filter:drop-shadow(0 -1px 0 #f1f7ff24) drop-shadow(0 2px 1px #000b)}
}
.hero{width:calc(100% - 136px);max-width:1312px;min-height:683px;margin-inline:auto;display:grid;grid-template-columns:1.14fr 1fr;column-gap:76px;align-items:center;padding:52px 0 50px}
.hero-visual{position:relative;height:550px;min-width:0;transform:translateX(26px)}
.hero-lockup{position:absolute;top:0;left:50%;transform:translateX(-50%);display:block;width:min(110%,720px);height:100%;object-fit:contain;filter:drop-shadow(9px 15px 11px #0008)}
.contact-shadow{position:absolute;z-index:1;top:512px;left:5%;width:90%;height:4px;border-radius:50%;box-shadow:0 3px 12px #01030a77;opacity:.45;pointer-events:none}
.hero-copy{position:relative;min-width:0;align-self:start;padding-top:29px}
.hero-copy::before{content:"";position:absolute;left:-39px;top:17px;bottom:-28px;width:1px;background:linear-gradient(transparent,#ccd8e344 42%,#b5cce721 80%,transparent)}
.eyebrow{font-size:13px;line-height:24px;text-transform:uppercase;letter-spacing:.38em;color:#dfe6ee;margin-bottom:23px;font-weight:450}
h1{font-family:Montserrat,sans-serif;font-size:clamp(42px,4.5vw,65px);font-weight:550;line-height:1.08;letter-spacing:-.018em}
h1 span{display:block}
.subtitle{margin-top:31px;font-size:25.5px;line-height:1.45;color:#d4dbe5;letter-spacing:-.015em}
.subtitle strong{color:#f0f3f8;font-weight:650}
.description{margin-top:9px;font-size:21px;line-height:1.55;color:#cbd4e1;letter-spacing:-.01em}
.research-status{display:inline-flex;align-items:center;gap:21px;margin-top:35px;padding:13px 33px;border:1px solid #d7e6f4a8;border-radius:99px;color:#edf2f7;background:#06101c80;box-shadow:inset 0 1px 1px #f7fcff91,0 -2px 11px #bddcf021;font-size:19.5px;line-height:1.45;font-weight:400;letter-spacing:.005em}
.capabilities{position:relative;width:calc(100% - 96px);max-width:1352px;margin-inline:auto;border-bottom:1px solid #dbe7f393;padding:25px 0 35px}
.capabilities::before{content:"";position:absolute;left:32%;right:32%;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,#f8fcff,transparent);box-shadow:0 0 20px 3px #c4e3fe48}
.capabilities::after{content:"";position:absolute;bottom:-2px;left:50%;width:7px;height:3px;background:#fff;border-radius:50%;box-shadow:0 0 17px 5px #cceaff91}
.capability-list{display:grid;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:0 auto;padding:0;list-style:none}
.capability{display:flex;justify-content:center;align-items:center;gap:29px;min-height:61px;font-family:Montserrat,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.capability+.capability{border-left:1px solid #c3d2e44d}
.capability:last-child{padding-left:42px}
.capability svg{width:61px;height:54px;stroke:#e6f5ff;stroke-width:2.55;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #def3ffba) drop-shadow(0 0 9px #b6def45c)}
.capability:last-child svg{width:42px}
.footer{display:flex;justify-content:space-between;gap:24px;margin-top:56px;border-top:1px solid #c0d0e048;padding:30px 68px 49px;font-size:15px;line-height:1.7;letter-spacing:.01em;color:#cbd3de}
.signature{font-family:Montserrat,sans-serif;font-style:italic;white-space:nowrap}
.skip-link{position:absolute;z-index:5;top:12px;left:14px;padding:12px 18px;border:2px solid #c5e4ff;border-radius:3px;background:#e6f3ff;color:#08111e;transform:translateY(-180%);text-decoration:none}
.skip-link:focus{transform:none;outline:2px solid white;outline-offset:3px}
main:focus{outline:none}
.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}
::selection{background:#d8eafa;color:#07131d;-webkit-text-fill-color:#07131d}
@media(max-width:1190px) and (min-width:1001px){
  .masthead-inner{width:calc(100% - 80px)}
  .hero{width:calc(100% - 80px);gap:48px;min-height:640px}
  .hero-visual{height:500px;transform:none}
  .contact-shadow{top:425px}
  .hero-copy::before{left:-25px}
  .subtitle{font-size:19px}.description{font-size:17px}
  .capability{font-size:19px;gap:20px}
  .capability svg{width:51px}
}
@media(max-width:1000px){
  .scene{background:#040a13}
  .studio-environment{top:104px;bottom:auto;height:1000px;background-size:auto 1000px;background-position:28% -100px}
  .masthead-inner{width:calc(100% - 48px);min-height:102px;gap:20px}
  .brand-emblem{width:76px;height:77px}
  .brand-wordmark{font-size:27px}
  .development{font-size:13px;gap:12px}
  .hero{width:calc(100% - 64px);grid-template-columns:1fr;gap:25px;padding:35px 0 41px;min-height:0}
  .hero-visual{height:500px;width:100%;max-width:650px;margin-inline:auto;transform:none}
  .hero-lockup{width:min(110%,720px)}
  .contact-shadow{top:auto;bottom:12px}
  .hero-copy{padding-top:0;text-align:center}
  .hero-copy::before{display:none}
  .eyebrow{font-size:12px;margin-bottom:22px}
  h1{font-size:clamp(34px,6.8vw,58px);line-height:1.12}
  .subtitle{font-size:21px;margin-top:27px}
  .description{font-size:18px;max-width:630px;margin-inline:auto;margin-top:12px}
  .research-status{margin-top:29px;font-size:17px}
  .capabilities{width:calc(100% - 48px);padding-top:20px}
  .capability{flex-direction:column;font-size:18px;gap:15px}
  .capability:last-child{padding-left:0}
  .capability svg{width:51px;height:45px}
  .capability:last-child svg{width:35px}
  .footer{margin-top:42px;padding:27px 24px 35px;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:13px}
}
@media(max-width:600px){
  .studio-environment{top:86px;height:730px;background-size:auto 730px;background-position:28% -80px}
  .masthead-inner{width:calc(100% - 32px);min-height:85px;gap:12px}
  .brand-emblem{width:50px;height:55px}
  .brand{gap:2px}
  .brand-wordmark{font-size:17px;letter-spacing:.025em}
  .development{font-size:11px;line-height:1.45;gap:8px;max-width:98px}
  .development .status-light{width:6px;height:6px}
  .hero{width:calc(100% - 40px);padding-top:39px;gap:24px;padding-bottom:36px}
  .hero-visual{height:348px}
  .hero-lockup{width:min(126%,460px)}
  .contact-shadow{bottom:4px}
  .eyebrow{font-size:10px;letter-spacing:.29em;margin-bottom:19px}
  h1{font-size:clamp(28px,7.9vw,43px);letter-spacing:-.025em}
  .subtitle{font-size:17px;line-height:1.6}
  .description{font-size:15px;line-height:1.75}
  .research-status{font-size:14px;gap:14px;padding:12px 20px;margin-top:25px}
  .capabilities{width:calc(100% - 32px);padding:26px 0 31px}
  .capability{font-size:12.5px;gap:13px;min-height:70px}
  .capability svg{width:43px;height:38px}
  .capability:last-child svg{width:29px}
  .footer{padding-inline:18px;font-size:11.5px;letter-spacing:0}
}
@media(max-width:350px){
  .brand-wordmark{font-size:14.5px}.brand-emblem{width:42px}
  .development{max-width:88px;font-size:10.5px}
  .hero-visual{height:300px}
  .studio-environment{background-position:28% -100px}
  .capability{font-size:11px}
}
@media(forced-colors:active){.metal{background:none;color:CanvasText;-webkit-text-stroke:0;filter:none}.status-light{background:CanvasText}.studio-environment{display:none}}

/* Keep the photographed floor with the object, then quiet the mobile reading plane. */
@media(max-width:600px){.studio-environment{mask-image:linear-gradient(to bottom,#000 0 52%,transparent 59%)}}
@media(max-width:350px){.studio-environment{mask-image:linear-gradient(to bottom,#000 0 42%,transparent 50%)}}
@media(max-width:300px){.masthead-inner{flex-direction:column;justify-content:center;gap:5px;padding-block:10px}.brand-emblem{height:40px}.development{max-width:none}.research-status{font-size:12.5px;padding-inline:12px;gap:10px}}

/* Fit the long real headline to its column without distorting individual glyphs. */
@media(min-width:1001px){h1{font-size:clamp(36px,calc((100vw - 212px) / 19.5),65px)}}
@supports(font-size:1cqi){@media(min-width:1001px){.hero-copy{container-type:inline-size}h1{font-size:clamp(36px,11.1cqi,65px)}}}
@media(max-width:300px){h1{font-size:24px}}
