:root{
  --yellow:#ffe500; --black:#080808; --white:#f8f8f5; --grey:#d8d8d2;
  --line:rgba(8,8,8,.16); --max:1240px; --pad:clamp(22px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--black);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - var(--pad)*2),var(--max));margin:auto}
.mono,.eyebrow,.section-index{font-family:"IBM Plex Mono",monospace;letter-spacing:.08em}
.progress{position:fixed;z-index:100;left:0;top:0;width:100%;height:3px}.progress span{display:block;height:100%;width:0;background:var(--yellow)}
.site-header{height:82px;position:fixed;z-index:90;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(24px,4vw);border-bottom:1px solid rgba(128,128,128,.25);background:rgba(248,248,245,.9);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-weight:900;font-size:24px}.brand-sub{font:10px "IBM Plex Mono";letter-spacing:.1em}
.nav{display:flex;gap:30px;font-size:12px;font-weight:600}.nav a:hover{opacity:.5}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--yellow);padding:18px 20px;font:700 12px "IBM Plex Mono";letter-spacing:.03em;transition:.2s;min-width:260px}
.btn:hover{background:var(--black);color:var(--white);transform:translateY(-2px)}.btn-small{justify-self:end;min-width:auto;padding:13px 16px}.menu-btn{display:none}
.section{padding:clamp(95px,10vw,160px) 0}.section-index{font-size:10px;margin-bottom:45px;opacity:.65}
.hero{min-height:100vh;padding-top:145px;padding-bottom:35px;display:flex;flex-direction:column;justify-content:space-between}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;flex:1}
.eyebrow{font-size:10px;margin-bottom:28px}.hero h1{font-size:clamp(60px,7.2vw,112px);line-height:.82;letter-spacing:-.075em;margin:0 0 40px;font-weight:900}.hero h1 span{color:transparent;-webkit-text-stroke:1.5px var(--black)}
.lead{font-size:clamp(23px,2.1vw,34px);line-height:1.12;max-width:650px;margin:0 0 20px;letter-spacing:-.035em}.support{max-width:570px;line-height:1.6;color:#555;margin-bottom:34px}
.hero-visual{height:min(68vh,720px);position:relative;background:#111;overflow:hidden}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:50px 50px}
.hero-object{position:absolute;inset:12% 8%;filter:contrast(1.1)}.orb{position:absolute;border-radius:50%;border:1px solid rgba(255,229,0,.65)}.orb-a{width:70%;aspect-ratio:1;left:5%;top:12%;box-shadow:inset 0 0 90px rgba(255,229,0,.13)}.orb-b{width:50%;aspect-ratio:1;right:0;bottom:5%;border-style:dashed}.mesh{position:absolute;inset:15%;transform:rotate(-18deg)}.mesh i{display:block;height:1px;background:linear-gradient(90deg,transparent,var(--yellow),transparent);margin:12% 0;transform-origin:center}.mesh i:nth-child(2){transform:rotate(22deg)}.mesh i:nth-child(3){transform:rotate(-13deg)}.mesh i:nth-child(4){transform:rotate(38deg)}.mesh i:nth-child(5){transform:rotate(-30deg)}
.data-label{position:absolute;color:#aaa;font:9px/1.6 "IBM Plex Mono";letter-spacing:.08em}.dl1{top:7%;left:5%}.dl2{right:5%;bottom:6%;text-align:right}.node{position:absolute;width:8px;height:8px;background:var(--yellow);border-radius:50%}.n1{left:18%;top:56%}.n2{left:48%;top:31%}.n3{right:15%;top:18%}.connections{position:absolute;inset:0;width:100%;height:100%}.connections path{fill:none;stroke:var(--yellow);stroke-width:1;stroke-dasharray:5 7}
.hero-foot{padding-top:35px;font-size:10px}.hero-foot b{color:#999;padding:0 14px}
.problem{background:#ededE8}.split-head{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.split-head h2,.work-head h2,.companies h2,.path h2{font-size:clamp(42px,5.2vw,76px);line-height:.98;letter-spacing:-.06em;margin:0}.split-head em,.work-head em,.companies em,.path em,.cta em{font-style:normal;background:var(--yellow)}.split-head p,.work-head p{line-height:1.6;color:#555;max-width:420px}
.fragment-map{height:520px;position:relative;margin-top:70px;border:1px solid var(--line);background-image:radial-gradient(#aaa 1px,transparent 1px);background-size:20px 20px}.frag{position:absolute;background:var(--white);border:1px solid #111;padding:14px 18px;font:700 18px "IBM Plex Mono";z-index:2}.frag small{display:block;font-size:8px;font-weight:400;margin-top:5px;color:#777}.f1{left:4%;top:10%}.f2{left:26%;bottom:12%}.f3{left:47%;top:8%}.f4{left:67%;bottom:14%}.f5{right:5%;top:13%}.f6{left:7%;bottom:12%}.fragment-map svg{position:absolute;inset:0;width:100%;height:100%}.fragment-map path{fill:none;stroke:#aaa;stroke-width:1;stroke-dasharray:4 8}.map-caption{position:absolute;bottom:12px;right:16px;font-size:8px;color:#777}
.paradigm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.paradigm h2{font-size:clamp(48px,6vw,90px);line-height:.93;letter-spacing:-.065em;margin:0}.paradigm h2 span{color:#999}.shift-copy h3{font-size:clamp(28px,3vw,46px);line-height:1.05;margin:60px 0 25px;letter-spacing:-.04em}.shift-copy mark{background:var(--yellow)}.shift-copy p{line-height:1.7;max-width:520px}
.system-diagram{height:620px;position:relative;margin-top:50px}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:310px;aspect-ratio:1;border-radius:50%;background:var(--black);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2}.core small{font:8px "IBM Plex Mono";color:#aaa;margin-bottom:14px}.core strong{font-size:28px;line-height:1}.sat{position:absolute;font:700 11px "IBM Plex Mono";border:1px solid #111;padding:11px;background:var(--white);z-index:2}.s1{left:5%;top:13%}.s2{left:45%;top:3%}.s3{right:4%;top:17%}.s4{right:2%;bottom:12%}.s5{left:45%;bottom:3%}.s6{left:4%;bottom:15%}.system-diagram svg{position:absolute;inset:0;width:100%;height:100%}.system-diagram line{stroke:#aaa;stroke-width:1}
.dark{background:var(--black);color:var(--white)}.dark .section-index{color:#aaa}.sprint-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw}.sprint-intro h2{font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:0}.sprint-intro h2 span{color:var(--yellow)}.sprint-intro p{color:#aaa;line-height:1.7;align-self:end}
.steps{margin-top:90px;border-top:1px solid #444}.step{display:grid;grid-template-columns:80px 1fr 1fr;align-items:center;gap:30px;border-bottom:1px solid #333;padding:25px 0}.step b{font:12px "IBM Plex Mono";color:var(--yellow)}.step h3{font-size:clamp(28px,3vw,44px);margin:0}.step p{color:#999;margin:0}.input-output{margin-top:70px;border:1px solid #444;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:15px;font:11px "IBM Plex Mono";overflow:auto}.input-output i{color:#666}.input-output strong{background:var(--yellow);color:#000;padding:12px}
.work-head{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.project-grid{margin-top:75px;display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.project:nth-child(3){grid-column:1/2}.project:nth-child(4){grid-column:2/3}.project-art{height:400px;position:relative;overflow:hidden;background:#d7d7d0;border:1px solid var(--line)}.project-a .project-art{height:590px}.project-b .project-art{height:420px;margin-top:110px}.parametric{position:absolute;inset:10%;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 12px,#111 13px 14px,transparent 15px 25px);transform:perspective(600px) rotateX(60deg) rotateZ(-18deg);opacity:.75}.p2{background:repeating-linear-gradient(125deg,transparent 0 20px,#111 21px 22px,transparent 23px 35px);transform:rotate(-12deg)}.p3{background:repeating-conic-gradient(from 20deg,#111 0 2deg,transparent 2deg 14deg);border-radius:50%;transform:scale(.8)}.p4{background-image:radial-gradient(#111 2px,transparent 2px);background-size:18px 18px;transform:skew(-12deg)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #111;font-size:11px}.project-meta b{font-family:"IBM Plex Mono"}.project-meta span{color:#666}
.manifesto{background:var(--yellow);padding-bottom:100px}.section-index.black{color:#000}.manifesto-small{font:11px "IBM Plex Mono";margin-bottom:45px}.manifesto h2{font-size:clamp(50px,7.5vw,112px);line-height:.82;letter-spacing:-.075em;margin:0}.manifesto h2 span{color:transparent;-webkit-text-stroke:2px #000}.capability-flow{margin-top:85px;padding-top:25px;border-top:2px solid #000;display:flex;justify-content:space-between;align-items:center;font:10px "IBM Plex Mono"}.capability-flow i{font-size:25px}.capability-flow strong{font-size:13px}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.method h2{font-size:clamp(52px,6vw,88px);line-height:.9;letter-spacing:-.065em;margin:0 0 35px}.method h2 span{color:var(--yellow)}.method-copy>p{color:#aaa;line-height:1.7;max-width:580px}.formula{margin-top:50px;display:flex;gap:12px;align-items:center;font:9px "IBM Plex Mono";flex-wrap:wrap}.formula strong{background:var(--yellow);color:#000;padding:10px}.method-visual{height:580px;border:1px solid #333;position:relative;background-image:linear-gradient(#222 1px,transparent 1px),linear-gradient(90deg,#222 1px,transparent 1px);background-size:42px 42px}.mv-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;background:var(--yellow);color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:54px;font-weight:900}.mv-core small{font:7px "IBM Plex Mono"}.code-cloud span{position:absolute;font:8px "IBM Plex Mono";color:#888}.code-cloud span:nth-child(1){left:8%;top:12%}.code-cloud span:nth-child(2){right:12%;top:8%}.code-cloud span:nth-child(3){left:10%;bottom:16%}.code-cloud span:nth-child(4){right:8%;bottom:10%}.code-cloud span:nth-child(5){left:5%;top:45%}.code-cloud span:nth-child(6){right:7%;top:48%}.code-cloud span:nth-child(7){left:35%;top:6%}.code-cloud span:nth-child(8){right:35%;bottom:5%}
.company-scale{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid #111;border-left:1px solid #111}.company-scale article{min-height:430px;border-right:1px solid #111;border-bottom:1px solid #111;padding:28px;position:relative}.company-scale b{font:10px "IBM Plex Mono"}.company-scale h3{font-size:38px;margin:80px 0 15px}.company-scale p{font-size:14px;line-height:1.6;color:#666}.scale-dots{position:absolute;left:28px;right:28px;bottom:28px;height:70px;background-image:radial-gradient(#111 1.5px,transparent 1.5px);background-size:14px 14px}.dots-1{width:30%}.dots-2{width:60%}.dots-3{width:calc(100% - 56px)}
.path{background:#e7e7e2}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.path-grid>div>p{max-width:500px;line-height:1.7;color:#666}.value-path{list-style:none;margin:0;padding:0;border-left:1px solid #999}.value-path li{display:grid;grid-template-columns:60px 1fr;align-items:center;min-height:105px;padding-left:25px;border-bottom:1px solid #bbb;font:700 14px "IBM Plex Mono";position:relative}.value-path li:before{content:"";position:absolute;left:-5px;width:9px;height:9px;border-radius:50%;background:#999}.value-path .active{background:var(--yellow);color:#000}.value-path .active:before{background:#000}.value-path b{font-size:9px}
.cta{min-height:90vh;display:flex;align-items:center}.cta-inner{text-align:center}.cta .section-index{margin-bottom:60px}.cta h2{font-size:clamp(48px,6.5vw,96px);line-height:.92;letter-spacing:-.065em;max-width:1100px;margin:0 auto 35px}.cta p{max-width:650px;margin:0 auto 45px;line-height:1.7;color:#666}.btn-huge{font-size:14px;padding:24px 28px;min-width:min(100%,470px)}.cta-tags{margin-top:35px;font-size:9px;color:#777}
footer{background:#080808;color:#fff;padding:45px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.footer-grid>div{display:flex;gap:10px;align-items:baseline}.footer-grid b{font-size:28px}.footer-grid small{font:8px "IBM Plex Mono"}.footer-grid p{font-size:9px;color:#999;margin:0}.footer-grid p:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .site-header{grid-template-columns:1fr auto;height:68px}.nav,.btn-small{display:none}.menu-btn{display:block;background:none;border:0;font:700 10px "IBM Plex Mono"}
  .hero{padding-top:110px}.hero-grid,.split-head,.paradigm-grid,.sprint-intro,.work-head,.method-grid,.path-grid{grid-template-columns:1fr}.hero-visual{height:480px}.hero h1{font-size:18vw}
  .split-head p,.work-head p{margin-top:30px}.fragment-map{height:430px}.frag{font-size:13px;padding:10px}.system-diagram{height:500px}.core{width:220px}.core strong{font-size:21px}
  .step{grid-template-columns:45px 1fr}.step p{grid-column:2}.project-grid{grid-template-columns:1fr}.project:nth-child(n){grid-column:auto}.project-b .project-art{margin-top:0}.project-art,.project-a .project-art{height:430px}
  .capability-flow{overflow:auto;gap:28px;justify-content:flex-start}.method-visual{height:430px}.company-scale{grid-template-columns:1fr}.company-scale article{min-height:320px}.company-scale h3{margin-top:50px}
  .footer-grid{grid-template-columns:1fr;gap:20px}.footer-grid p:last-child{text-align:left}
}
@media(max-width:560px){
  :root{--pad:20px}.brand-sub{display:none}.section{padding:90px 0}.hero{padding-top:95px}.hero-grid{gap:45px}.hero-visual{height:390px}.hero h1{margin-bottom:28px}.lead{font-size:24px}.btn{min-width:100%}
  .fragment-map{height:390px}.f3{left:55%}.f4{left:55%}.f5{right:2%}.system-diagram{height:430px}.core{width:175px}.core strong{font-size:17px}.sat{font-size:8px;padding:8px}.s2{left:42%}.s5{left:40%}
  .step{padding:22px 0}.input-output{font-size:8px}.project-art,.project-a .project-art{height:330px}.manifesto h2{font-size:14vw}.manifesto h2 span{-webkit-text-stroke:1px #000}
  .company-scale article{min-height:300px}.cta{min-height:auto}.cta h2{font-size:13vw}
}
