.hero{position:relative;min-height:100svh;padding:calc(var(--header) + 54px) var(--pad) 52px;display:grid;grid-template-columns:minmax(370px,.85fr) minmax(460px,1.15fr);align-items:center;gap:3vw;overflow:hidden;background:radial-gradient(circle at 86% 22%,rgba(255,49,92,.15),transparent 30%),linear-gradient(90deg,#080808 0 49.8%,#0c0c0c 49.8%)}
.hero:before{content:'';position:absolute;inset:var(--header) 0 0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:6.25vw 6.25vw;mask-image:linear-gradient(to bottom,#000,transparent 86%);pointer-events:none}
.hero-copy{position:relative;z-index:2;align-self:center}
.eyebrow,.section-no{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--muted)}
.eyebrow:before{content:'';display:inline-block;width:34px;height:1px;background:var(--red);margin:0 11px 3px 0}
.hero h1{margin:28px 0 24px;font:600 clamp(36px,4.5vw,78px)/1.12 var(--display);letter-spacing:0;text-transform:uppercase}
.hero h1 span{display:block}
.hero h1 .accent-word{color:var(--red);transform:none}
.hero-lead{max-width:520px;color:#c2c0ba;font-size:clamp(16px,1.35vw,21px);line-height:1.6}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.action{display:inline-flex;min-height:56px;align-items:center;justify-content:space-between;gap:32px;padding:0 22px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s}
.action:hover{transform:translateY(-3px)}
.action-primary{background:var(--red);color:#fff}
.action-ghost{border:1px solid var(--line)}
.action-light{background:var(--paper);color:#111}
.machine{--rx:0deg;--ry:0deg;position:relative;z-index:2;min-height:min(72vw,720px);perspective:1000px}
.machine-stage{position:absolute;inset:5% 3% 8%;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .12s ease-out}
.machine-stage:before,.machine-stage:after{content:'';position:absolute;background:rgba(255,255,255,.18)}
.machine-stage:before{left:0;right:0;height:1px}
.machine-stage:after{top:0;bottom:0;width:1px}
.machine-orbit{position:absolute;border:1px solid rgba(255,49,92,.25);border-radius:50%}
.orbit-a{inset:10%;animation:spin 14s linear infinite}
.orbit-a:before{content:'';position:absolute;top:11%;right:10%;width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 25px var(--red)}
.orbit-b{inset:23%;border-style:dashed;animation:spin 22s linear infinite reverse}
.hero-object{position:relative;z-index:2;width:min(78%,600px);max-height:630px;object-fit:contain;filter:drop-shadow(0 32px 35px #000) saturate(1.12);animation:objectFloat 5s ease-in-out infinite}
.product-shadow{position:absolute;z-index:1;width:40%;height:11%;bottom:16%;border-radius:50%;background:#000;filter:blur(24px);opacity:.8}
.scan-line{position:absolute;z-index:3;left:8%;right:8%;height:2px;background:var(--red);box-shadow:0 0 22px 7px rgba(255,49,92,.28);animation:scan 4s ease-in-out infinite}
.measure{position:absolute;z-index:4;color:#9e9d98;font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.measure:before,.measure:after{content:'';position:absolute;background:#777}
.measure-x{left:19%;right:19%;bottom:9%;border-bottom:1px solid #555;text-align:center}
.measure-x span{position:relative;top:18px}
.measure-x:before,.measure-x:after{bottom:-4px;width:1px;height:8px}
.measure-x:after{right:0}
.measure-y{right:7%;top:25%;bottom:25%;border-right:1px solid #555}
.measure-y span{position:absolute;right:-21px;top:48%;transform:rotate(90deg)}
.machine-coordinates,.machine-status{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#83817c}
.machine-coordinates{top:1%}
.machine-status{bottom:1%;align-items:center;color:#d8d6d0}
.machine-status i{width:7px;height:7px;border-radius:50%;background:#5cff86;box-shadow:0 0 12px #5cff86}
.machine-status span{margin-right:auto;margin-left:10px}
.hero-index{position:absolute;z-index:2;bottom:22px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;color:#6f6e69;font-size:8px;letter-spacing:.14em}
.js .reveal,.js [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-visible,.js [data-reveal].is-visible{opacity:1;transform:none}
.hero .reveal:nth-child(2){transition-delay:.08s}
.hero .reveal:nth-child(3){transition-delay:.18s}
.hero .reveal:nth-child(4){transition-delay:.26s}

.section-pad{padding:clamp(96px,13vw,210px) var(--pad)}
.manifest{position:relative;min-height:92vh;display:grid;grid-template-columns:1fr 5fr;align-content:center;background:var(--paper);color:#111}
.manifest .section-no{color:#6c6a64;align-self:start;margin-top:20px}
.manifest-copy{font:500 clamp(34px,5.6vw,88px)/1.16 var(--display);letter-spacing:0}
.manifest-copy p{margin:0}
.manifest-copy span{color:#aaa7a0}
.manifest-copy em,.section-heading em,.collab h2 em{font-style:normal;color:var(--red)}
.side-note{position:absolute;bottom:7vw;right:var(--pad);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#696762}

.capabilities{height:auto;background:#0b0b0b}
.cap-sticky{position:relative;min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr}
.cap-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:#10060a}
.cap-visual:before{content:'';position:absolute;inset:0;background:radial-gradient(circle,rgba(255,49,92,.25),transparent 52%),linear-gradient(45deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%)}
.cap-visual img{position:relative;z-index:2;width:72%;height:68vh;object-fit:contain;filter:drop-shadow(0 34px 30px rgba(0,0,0,.65));transition:opacity .25s,transform .45s}
.cap-visual img.is-changing{opacity:0;transform:scale(.94) rotate(-2deg)}
.cap-reticle{position:absolute;width:min(40vw,540px);aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.cap-reticle:before,.cap-reticle:after{content:'';position:absolute;background:rgba(255,255,255,.14)}
.cap-reticle:before{left:50%;top:-20%;bottom:-20%;width:1px}
.cap-reticle:after{top:50%;left:-20%;right:-20%;height:1px}
.cap-caption{position:absolute;z-index:3;left:28px;right:28px;bottom:28px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em}
.cap-copy{padding:calc(var(--header) + 54px) var(--pad) 64px;display:flex;flex-direction:column;justify-content:center}
.cap-list{margin-top:42px}
.cap-list button{width:100%;display:grid;grid-template-columns:52px 1fr;align-items:center;text-align:left;padding:22px 0;background:none;border:0;border-bottom:1px solid var(--line);font:500 clamp(25px,3.2vw,51px)/1.16 var(--display);letter-spacing:0;cursor:pointer;color:#6d6b67;transition:color .25s,padding-left .25s}
.cap-list button span{font:600 9px var(--body);letter-spacing:.1em;color:#777}
.cap-list button:hover,.cap-list button.is-active{color:#fff;padding-left:10px}
.cap-list button.is-active span{color:var(--red)}
.cap-description{max-width:430px;margin-top:34px;color:#999791}

.works{background:#090909}
.section-heading{display:grid;grid-template-columns:1fr 3fr;margin-bottom:clamp(60px,9vw,130px)}
.section-heading h2{margin:0;font:500 clamp(28px,4.2vw,68px)/1.16 var(--display);letter-spacing:0}
.work-stream{display:flex;flex-direction:column;gap:clamp(90px,13vw,190px)}
.work-frame{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.7fr);gap:4vw;align-items:end}
.work-frame-reverse{grid-template-columns:minmax(270px,.7fr) minmax(0,1.65fr)}
.work-frame-reverse .work-media{order:2}
.work-media{position:relative;height:min(68vw,760px);overflow:hidden;background:#181818}
.work-media:after{pointer-events:none;content:'VIEW';position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,8,8,.24);font:600 clamp(24px,5vw,70px) var(--display);opacity:0;transition:opacity .35s}
.work-frame:hover .work-media:after{pointer-events:none;opacity:1}
.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.work-frame:hover img{transform:scale(1.04)}
.work-meta{padding-bottom:18px;border-bottom:1px solid var(--line)}
.work-meta span,.work-meta b{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#8e8c87}
.work-meta h3{margin:18px 0 44px;font:500 clamp(23px,2.7vw,44px)/1.16 var(--display);letter-spacing:0}
.work-meta b{color:#fff}
.text-link{display:flex;justify-content:space-between;margin-top:80px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 clamp(20px,2vw,30px) var(--display)}
.text-link span{font:500 10px var(--body);color:#777;align-self:center}

.process{background:var(--paper);color:#111}
.process .section-no{color:#666}
.process-line{list-style:none;padding:0;margin:0 0 0 25%;border-top:1px solid #bbb}
.process-line li{position:relative;display:grid;grid-template-columns:70px 1fr 1fr;align-items:start;gap:24px;padding:30px 0 70px;border-bottom:1px solid #bbb}
.process-line span{font-size:10px;color:var(--red);font-weight:700}
.process-line h3{margin:0;font:500 clamp(21px,2vw,32px) var(--display);letter-spacing:0}
.process-line p{margin:0;max-width:330px;color:#5c5a55}
.collab{position:relative;min-height:100vh;display:grid;grid-template-columns:.8fr 1.5fr 1fr;gap:3vw;align-items:center;background:#2b0715;overflow:hidden}
.collab:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(255,100,140,.25),transparent 35%)}
.collab>*{position:relative;z-index:2}
.collab-mark{align-self:start;font-size:9px;letter-spacing:.15em}
.collab-copy p{font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.collab h2{margin:24px 0 42px;font:500 clamp(34px,5vw,75px)/1.16 var(--display);letter-spacing:0}
.collab-images{position:relative;height:62vh}
.collab-images img{position:absolute;width:72%;height:72%;object-fit:cover}
.collab-images img:first-child{right:0;top:0;transform:rotate(4deg)}
.collab-images img:last-child{left:-16%;bottom:-5%;transform:rotate(-6deg)}

