:root{
  --ink:#0b1533;--ink-2:#16224a;--coral:#ef6a45;--red:#e83c43;--cream:#f4efe4;
  --paper:#fbf8f1;--acid:#e8ff48;--yellow:#ffd73a;--sky:#b8d7ff;--muted:#697083;
  --line:rgba(11,21,51,.18);--white-line:rgba(255,255,255,.18)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif;overflow-x:hidden}
::selection{background:var(--acid);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%}
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;background:transparent}
.progress span{display:block;width:0;height:100%;background:var(--acid)}
.cursor-glow{position:fixed;width:19rem;height:19rem;border-radius:50%;background:radial-gradient(circle,rgba(232,255,72,.15),transparent 66%);pointer-events:none;z-index:60;transform:translate(-50%,-50%)}
.topbar{height:84px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);position:absolute;inset:0 0 auto;z-index:20;color:white}
.brand{display:flex;align-items:center;gap:11px;font:800 19px Syne;letter-spacing:.04em}
.brand img{width:42px;height:42px;object-fit:contain;background:white;border-radius:50%;padding:3px}
.topbar nav{display:flex;gap:26px;font:500 10px DM Mono;text-transform:uppercase;letter-spacing:.06em}
.topbar nav a{position:relative}
.topbar nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--acid);transition:.25s}
.topbar nav a:hover:after{right:0}
.menu-toggle{display:none;background:none;border:0;color:white;font:500 10px DM Mono}
.hero{min-height:100svh;background:var(--ink);color:white;position:relative;padding:128px 4vw 130px;display:grid;grid-template-columns:1.04fr .96fr;gap:5vw;align-items:center;overflow:hidden}
.hero:before{content:"";position:absolute;width:36vw;height:36vw;max-width:560px;max-height:560px;border-radius:50%;background:var(--coral);right:-18vw;top:-20vw;box-shadow:0 0 0 42px rgba(239,106,69,.07),0 0 0 100px rgba(239,106,69,.035)}
.hero-grid{position:absolute;inset:84px 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:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.hero-copy,.hero-visual{position:relative;z-index:2}
.eyebrow{font:500 10px DM Mono;letter-spacing:.13em}
.eyebrow span{background:var(--acid);color:var(--ink);padding:5px 7px;margin-right:8px}
.hero h1{margin:26px 0 24px;font-family:Syne;line-height:.76;letter-spacing:-.08em}
.hero h1 span{font-size:clamp(3rem,8vw,8.2rem);display:block}
.hero h1 strong{font-size:clamp(4.5rem,10.8vw,11rem);color:var(--coral);display:block;margin-left:4vw;font-weight:800}
.hero-lead{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;max-width:570px}
.hero-lead em{color:var(--acid);font-style:normal}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.cta{display:inline-flex;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.45);padding:14px 16px;font:500 10px DM Mono;transition:.25s}
.cta.primary{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.cta:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--coral)}
.cta.ghost:hover{background:white;color:var(--ink)}
.hero-visual{margin-right:1vw}
.school-frame{margin:0;transform:rotate(1.5deg);padding:12px;background:var(--cream);color:var(--ink);box-shadow:18px 20px 0 var(--coral)}
.school-frame>img{display:block;width:100%;aspect-ratio:1.28;object-fit:cover;filter:saturate(.88) contrast(1.06)}
.frame-label{font:500 9px DM Mono;padding:0 0 9px;display:flex;justify-content:space-between}
.frame-label span{color:var(--coral)}
.school-frame figcaption{display:flex;justify-content:space-between;font:500 8px DM Mono;padding-top:9px}
.crest-card{position:absolute;left:-58px;bottom:-58px;background:white;width:145px;padding:12px;transform:rotate(-6deg);box-shadow:8px 9px 0 var(--acid);color:var(--ink)}
.crest-card img{display:block;width:90px;margin:auto}
.crest-card span{display:block;margin-top:8px;font:500 8px/1.4 DM Mono;text-align:center}
.hero-stats{position:absolute;z-index:3;bottom:0;left:4vw;right:4vw;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--white-line)}
.hero-stats div{display:flex;align-items:center;gap:15px;padding:22px 0;border-right:1px solid var(--white-line)}
.hero-stats div+div{padding-left:24px}
.hero-stats strong{font:800 clamp(1.3rem,2vw,2rem) Syne;color:var(--acid)}
.hero-stats span{font:400 9px/1.4 DM Mono;color:#c5cadd;max-width:170px}
.section-index{font:500 9px DM Mono;letter-spacing:.14em;border-top:1px solid var(--line);padding-top:12px;margin-bottom:68px}
.section-index.light{border-color:var(--white-line)}
.concept{padding:115px 4vw 145px}
.concept-title{text-align:center;margin-bottom:80px}
.concept-title p{font:500 10px DM Mono;letter-spacing:.16em}
.concept-title h2{font:800 clamp(4rem,10vw,10rem)/.82 Syne;letter-spacing:-.075em;margin:17px 0}
.concept-title h2 span{color:var(--coral);display:inline-block;transform:rotate(-2deg)}
.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.definition{background:var(--paper);padding:36px;min-height:335px;display:flex;flex-direction:column;transition:.3s}
.definition:hover{transform:translateY(-10px);box-shadow:0 14px 0 var(--ink);position:relative;z-index:2}
.definition.coral{background:var(--coral);color:white}
.definition.acid{background:var(--acid)}
.card-no{font:500 10px DM Mono}
.definition h3{font:700 clamp(2.2rem,4vw,4rem) Syne;margin:auto 0 20px}
.definition p{font-size:.92rem;line-height:1.7;max-width:370px}
.manifesto{margin-top:130px;text-align:center}
.manifesto>p{font:700 clamp(1.5rem,3vw,3rem) Syne;margin:18px 0}
.marquee{overflow:hidden;background:var(--ink);color:var(--acid);padding:18px 0;transform:rotate(-1deg);margin-inline:-5vw}
.marquee span{display:block;width:max-content;font:800 clamp(2.5rem,6vw,6rem) Syne;animation:marquee 16s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
.history{background:var(--ink);color:white;padding:110px 4vw 140px;position:relative;overflow:hidden}
.history:after{content:"85";position:absolute;right:-3vw;top:130px;font:800 32vw/.7 Syne;color:rgba(255,255,255,.025);letter-spacing:-.14em}
.history-head{position:relative;z-index:2;max-width:900px;margin-bottom:95px}
.history-head h2{font:700 clamp(3.4rem,7vw,7rem)/.9 Syne;letter-spacing:-.06em;margin:30px 0}
.history-head h2 em{font-style:normal;color:var(--coral)}
.history-head>p:last-child{line-height:1.7;max-width:650px;color:#c0c6d8}
.timeline{position:relative;z-index:2;border-top:1px solid var(--white-line)}
.timeline:before{content:"";position:absolute;left:18%;top:0;bottom:0;width:1px;background:var(--white-line)}
.timeline-item{display:grid;grid-template-columns:18% 1fr;border-bottom:1px solid var(--white-line);min-height:205px}
.timeline-item time{font:800 clamp(2.5rem,5vw,5rem) Syne;color:var(--acid);padding:34px 30px 30px 0}
.timeline-item>div{padding:34px 3vw}
.timeline-item h3{font:700 clamp(1.4rem,2.4vw,2.4rem) Syne;margin:0 0 15px}
.timeline-item p{color:#c0c6d8;line-height:1.7;max-width:780px;margin:0}
.history-note{position:relative;z-index:2;margin:70px 0 0 auto;max-width:740px;border:1px solid var(--white-line);padding:30px;display:grid;grid-template-columns:.4fr 1fr;gap:30px}
.history-note span{font:500 9px DM Mono;color:var(--acid)}
.history-note p{margin:0;font-size:1.1rem;line-height:1.6}
.identity{padding:115px 4vw 145px;overflow:hidden}
.identity-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;max-width:1180px;margin:auto}
.emblem-stage{min-height:560px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.emblem-stage:before,.emblem-stage:after{content:"";position:absolute;width:1px;height:120%;background:var(--line);transform:rotate(45deg)}
.emblem-stage:after{transform:rotate(-45deg)}
.emblem-stage>img{width:min(58%,300px);position:relative;z-index:2;filter:contrast(1.08);mix-blend-mode:multiply}
.emblem-orbit{position:absolute;width:75%;aspect-ratio:1;border:1px dashed var(--coral);border-radius:50%;animation:spin 22s linear infinite}
.emblem-orbit:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--acid);border:3px solid var(--ink);top:12%;right:12%}
@keyframes spin{to{transform:rotate(360deg)}}
.stamp{position:absolute;right:18px;bottom:18px;background:var(--ink);color:white;padding:10px;font:500 9px/1.4 DM Mono;transform:rotate(-4deg)}
.identity-copy h2{font:700 clamp(3.2rem,6vw,6.2rem)/.88 Syne;letter-spacing:-.06em;margin:32px 0}
.identity-copy h2 em{font-style:normal;color:var(--coral)}
.identity-copy>p{line-height:1.75;max-width:610px}
.palette{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid var(--line)}
.palette div{padding:14px 8px;border-right:1px solid var(--line);font:600 11px Syne}
.palette i{display:block;width:100%;height:72px;margin-bottom:12px}
.palette i.navy{background:var(--ink)}.palette i.red{background:var(--red)}.palette i.yellow{background:var(--yellow)}.palette i.cream{background:var(--cream);border:1px solid var(--line)}
.palette small{font:400 8px DM Mono}
.interpretation{display:block;margin-top:18px;color:var(--muted);font:400 9px/1.5 DM Mono}
.ecosystem{background:var(--ink);color:white;padding:110px 4vw 140px}
.ecosystem-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:70px}
.ecosystem-head h2{font:700 clamp(3.2rem,6vw,6.3rem)/.9 Syne;letter-spacing:-.06em;margin:0}
.ecosystem-head h2 span{color:var(--acid)}
.ecosystem-head p{color:#c0c6d8;line-height:1.75}
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(250px,auto);gap:10px}
.bento article{border:1px solid var(--white-line);padding:28px;display:flex;flex-direction:column;transition:.3s;background:rgba(255,255,255,.02)}
.bento article:hover{background:white;color:var(--ink);transform:translateY(-7px)}
.bento-main{grid-column:span 2;background:var(--coral)!important}
.bento article.accent{background:var(--acid);color:var(--ink)}
.bento article>span{font:500 9px DM Mono;color:var(--acid)}
.bento .accent>span,.bento-main>span{color:var(--ink)}
.bento h3{font:700 clamp(1.8rem,3.4vw,3.5rem) Syne;margin:auto 0 16px}
.bento p{color:#bcc3d7;line-height:1.65;font-size:.9rem;max-width:500px}
.bento-main p,.bento .accent p,.bento article:hover p{color:inherit}
.tech{padding:115px 4vw 145px}
.tech-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:90px}
.tech-intro h2{font:700 clamp(3.4rem,6.5vw,6.8rem)/.9 Syne;letter-spacing:-.06em;margin:28px 0 0}
.tech-intro h2 em{font-style:normal;color:var(--coral)}
.tech-intro>p{line-height:1.75}
.system-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch}
.system-flow article{border:1px solid var(--ink);padding:25px;min-height:265px;display:flex;flex-direction:column;transition:.3s}
.system-flow article:hover{background:var(--ink);color:white;transform:translateY(-8px);box-shadow:8px 8px 0 var(--coral)}
.system-flow b{font:500 10px DM Mono;color:var(--coral)}
.system-flow strong{font:700 1.6rem Syne;margin:auto 0 15px}
.system-flow p{font-size:.85rem;line-height:1.6}
.system-flow>i{align-self:center;font-style:normal;padding:0 10px;font-size:1.5rem}
.stack-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:80px}
.stack-wall span{font:800 clamp(1.1rem,2.4vw,2.4rem) Syne;border:2px solid var(--ink);padding:10px 14px;transform:rotate(var(--r,-1deg))}
.stack-wall span:nth-child(even){--r:2deg;background:var(--acid)}.stack-wall span:nth-child(3n){background:var(--coral);color:white}
.frontend{background:var(--ink);color:white;padding:110px 4vw 0}
.frontend-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;min-height:660px}
.frontend-sticky{align-self:start;position:sticky;top:35px;padding-bottom:80px}
.frontend-sticky h2{font:700 clamp(3.1rem,5.5vw,5.8rem)/.92 Syne;letter-spacing:-.055em;margin:30px 0}
.frontend-sticky h2 em{font-style:normal;color:var(--acid)}
.frontend-sticky>p:last-of-type{color:#c1c7da;line-height:1.7;max-width:540px}
.concept-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}
.concept-nav button{border:1px solid var(--white-line);background:transparent;color:white;padding:10px 13px;font:500 9px DM Mono;cursor:pointer}
.concept-nav button.active,.concept-nav button:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.concept-screen{align-self:center;border:1px solid var(--white-line);box-shadow:20px 20px 0 var(--coral);background:#111d42;margin-bottom:90px}
.screen-top{height:43px;background:#202d56;display:flex;align-items:center;gap:7px;padding:0 15px}
.screen-top span{width:10px;height:10px;border-radius:50%;background:var(--coral)}.screen-top span:nth-child(2){background:var(--yellow)}.screen-top span:nth-child(3){background:var(--acid)}
.screen-top small{margin-left:auto;font:400 8px DM Mono;color:#adb6d1}
.screen-body{min-height:430px;padding:45px;position:relative}
.code-mark{font:800 clamp(5rem,10vw,10rem) Syne;color:rgba(232,255,72,.09);position:absolute;right:20px;top:5px}
.screen-body>small{font:500 9px DM Mono;color:var(--acid)}
.screen-body h3{font:700 clamp(2rem,4.2vw,4.4rem)/1 Syne;max-width:620px;margin:35px 0 22px}
.screen-body p{color:#c0c8de;line-height:1.75;max-width:660px}
.screen-body ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:8px;margin-top:30px}
.screen-body li{border:1px solid var(--white-line);padding:8px 10px;font:500 9px DM Mono}
.principles{margin:0 -4vw;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--white-line)}
.principles div{padding:28px 4vw;border-right:1px solid var(--white-line)}
.principles strong{display:block;font:700 1.1rem Syne;color:var(--acid);margin-bottom:8px}
.principles span{font:400 9px DM Mono;color:#aeb6ce}
.project{padding:115px 4vw 145px}
.profile-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;max-width:1200px;margin:auto}
.portrait{margin:0;position:relative;background:var(--coral);padding:15px;transform:rotate(-1.5deg)}
.portrait:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--ink);z-index:-1}
.portrait img{display:block;width:100%;aspect-ratio:.8;object-fit:cover;object-position:center 32%;filter:saturate(.78) contrast(1.06)}
.portrait figcaption{display:flex;justify-content:space-between;padding-top:11px;font:500 8px DM Mono}
.profile-copy h2{font:700 clamp(3.1rem,6vw,6.2rem)/.88 Syne;letter-spacing:-.06em;margin:30px 0}
.profile-copy h2 em{font-style:normal;color:var(--coral)}
.profile-copy>p{line-height:1.75;max-width:650px}
.profile-copy blockquote{font:600 clamp(1.2rem,2vw,1.8rem)/1.4 Syne;border-left:4px solid var(--acid);margin:35px 0;padding-left:20px}
.profile-copy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:45px}
.profile-copy dl div{border-top:1px solid var(--ink);padding-top:10px}
.profile-copy dt{font:500 8px DM Mono}.profile-copy dd{font:700 1rem Syne;margin:12px 0}
.project-decisions{margin-top:125px;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;padding-top:40px;gap:8vw}
.project-decisions h3{font:700 clamp(2.2rem,4vw,4rem) Syne;margin:0}
.project-decisions ol{margin:0;padding:0;list-style:none}
.project-decisions li{display:grid;grid-template-columns:60px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:20px 0}
.project-decisions li b{font:500 10px DM Mono;color:var(--coral)}
.project-decisions li span{line-height:1.6}.project-decisions li strong{display:block;font:700 1.2rem Syne}
.contact{background:var(--coral);padding:110px 4vw 70px}
.contact-head{text-align:center;margin-bottom:75px}
.contact-head p{font:500 10px DM Mono;letter-spacing:.15em}
.contact-head h2{font:800 clamp(4rem,10vw,10rem)/.82 Syne;letter-spacing:-.07em;margin:25px 0}
.contact-head h2 span{-webkit-text-stroke:2px var(--ink);color:transparent}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.contact-grid>div,.contact-grid address{padding:28px;border-right:1px solid var(--ink);font-style:normal;display:flex;flex-direction:column;gap:13px}
.contact-grid span{font:500 8px DM Mono}.contact-grid strong,.contact-grid a{font:600 1rem/1.55 Syne}
.contact-grid a:hover{text-decoration:underline}
.sources{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:30px;font:500 8px DM Mono}
.sources span{margin-right:auto}.sources a{border-bottom:1px solid;padding-bottom:4px}
footer{background:var(--ink);color:white;padding:28px 4vw;display:flex;justify-content:space-between;gap:20px;font:400 8px DM Mono;letter-spacing:.1em}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){
  .topbar nav{gap:14px}
  .hero{grid-template-columns:1fr;padding-top:125px;padding-bottom:145px}
  .hero-copy{max-width:850px}.hero h1 strong{margin-left:0}.hero-visual{width:min(88%,700px);margin:20px auto 50px}
  .identity-layout,.profile-layout{gap:5vw}
  .system-flow{grid-template-columns:repeat(2,1fr);gap:10px}.system-flow>i{display:none}
  .frontend-layout{grid-template-columns:1fr}.frontend-sticky{position:static}.concept-screen{margin-top:0}
}
@media(max-width:760px){
  .cursor-glow{display:none}
  .topbar nav{position:fixed;inset:84px 0 auto;background:var(--ink);padding:28px 4vw;flex-direction:column;transform:translateY(-150%);transition:.3s;border-top:1px solid var(--white-line)}
  .topbar nav.open{transform:none}.menu-toggle{display:block}
  .hero{padding-inline:5vw}.hero h1 span{font-size:clamp(2.4rem,13vw,5rem)}.hero h1 strong{font-size:clamp(4rem,20vw,7rem)}
  .hero-visual{width:92%}.crest-card{width:110px;left:-20px;bottom:-45px}.crest-card img{width:70px}
  .hero-stats{left:5vw;right:5vw}.hero-stats div{display:block;padding:15px 5px!important}.hero-stats strong,.hero-stats span{display:block}.hero-stats span{font-size:7px;margin-top:5px}
  .concept,.identity,.tech,.project{padding:80px 5vw 100px}.history,.ecosystem{padding:80px 5vw 100px}.frontend{padding:80px 5vw 0}
  .section-index{margin-bottom:50px}.concept-title{text-align:left}
  .concept-grid,.ecosystem-head,.tech-intro,.identity-layout,.profile-layout,.project-decisions{grid-template-columns:1fr}
  .manifesto{margin-top:85px}.marquee{margin-inline:-6vw}
  .timeline:before{left:0}.timeline-item{grid-template-columns:1fr;padding-left:20px}.timeline-item time{padding-bottom:0}.timeline-item>div{padding-left:0}
  .history-note{grid-template-columns:1fr}
  .emblem-stage{min-height:420px}.palette{grid-template-columns:repeat(2,1fr)}
  .ecosystem-head{gap:25px}.bento{grid-template-columns:1fr}.bento-main{grid-column:auto}
  .system-flow{grid-template-columns:1fr}.stack-wall{justify-content:flex-start}
  .frontend-sticky h2{font-size:3rem}.screen-body{padding:30px;min-height:470px}
  .principles{grid-template-columns:repeat(2,1fr);margin-inline:-5vw}.principles div{padding:23px 5vw}
  .portrait{max-width:430px;margin:auto}.project-decisions{margin-top:85px}.project-decisions ol{margin-top:30px}
  .contact{padding:80px 5vw 55px}.contact-grid{grid-template-columns:1fr}.contact-grid>div,.contact-grid address{border-right:0;border-bottom:1px solid var(--ink);padding-inline:0}
  .sources{align-items:flex-start;flex-direction:column}.sources span{margin:0 0 8px}
  footer{flex-direction:column;align-items:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee span,.emblem-orbit{animation:none}
}
