:root{
  --bg:#0a0d10; --bg-2:#11161b; --ink:#e8eef2; --muted:#7a8893;
  --accent:#ff4d2e; --line:rgba(255,255,255,.08); --grid:rgba(255,255,255,.035);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{
  background-image:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    radial-gradient(ellipse at 70% 0%,rgba(255,77,46,.08),transparent 60%);
  background-size:60px 60px,60px 60px,100% 100%;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* nav */
nav{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px}
.brand{font-family:'Chakra Petch',sans-serif;font-weight:700;letter-spacing:.04em;font-size:18px}
.brand span{color:var(--accent)}
.menu{display:flex;gap:32px;font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.menu a{transition:color .2s}
.menu a:hover,.menu a.active{color:var(--accent)}

/* text hero (about/news) */
header.hero{padding:120px 0 140px;position:relative}
.kicker{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;margin-bottom:32px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:40px;height:1px;background:var(--accent)}
h1{font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:clamp(40px,7vw,92px);line-height:.95;letter-spacing:-.02em;max-width:14ch}
h1 em{font-style:normal;color:var(--accent)}
.lede{margin-top:36px;max-width:58ch;font-size:18px;line-height:1.6;color:#c5cdd3}

/* image hero */
.hero-image{position:relative;height:92vh;min-height:560px;width:100%;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-image .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(1.05) brightness(.95)}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,16,.55) 0%,rgba(10,13,16,.15) 35%,rgba(10,13,16,.9) 100%),linear-gradient(90deg,rgba(10,13,16,.55) 0%,rgba(10,13,16,0) 55%);pointer-events:none}
.hero-image .content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:90px}
.hero-image .content .wrap{width:100%}
.hero-image h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero-image .lede{color:#e8eef2}

/* sections */
section{padding:100px 0;border-top:1px solid var(--line)}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;margin-bottom:24px}
h2{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:clamp(28px,4vw,48px);letter-spacing:-.01em;max-width:20ch;margin-bottom:48px;line-height:1.05}
h3{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:22px;margin:24px 0 12px;letter-spacing:.01em}
p{font-size:16px;line-height:1.7;color:#c5cdd3;max-width:65ch}
p+p{margin-top:18px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cell{background:var(--bg);padding:40px 32px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between}
.cell .num{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent)}
.cell p{font-size:14px;color:var(--muted)}
@media(max-width:780px){.grid3{grid-template-columns:1fr}}

/* === SCROLL SEQUENCE === */
.sequence{position:relative;height:600vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.seq-stage{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;background:var(--bg)}
.seq-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(255,77,46,.06),transparent 60%);pointer-events:none}
.seq-frames{position:relative;height:100%;width:100%}
.seq-frames img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:95%;max-height:80%;opacity:0;transition:opacity .35s ease;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.seq-frames img.active{opacity:1}
.seq-text{position:relative;z-index:2;padding:0 60px;max-width:520px}
.seq-text .step{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;margin-bottom:20px;display:flex;align-items:center;gap:12px}
.seq-text .step::before{content:"";width:30px;height:1px;background:var(--accent)}
.seq-text h3{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:clamp(28px,3.5vw,42px);line-height:1.05;letter-spacing:-.01em;margin:0 0 20px;color:var(--ink);min-height:90px}
.seq-text p{font-size:15px;line-height:1.6;color:#c5cdd3;min-height:120px;margin:0;max-width:none}
.seq-progress{position:absolute;left:60px;bottom:40px;display:flex;gap:6px;z-index:3}
.seq-progress span{width:24px;height:2px;background:rgba(255,255,255,.15);transition:background .25s}
.seq-progress span.on{background:var(--accent)}
.seq-hint{position:absolute;right:40px;bottom:40px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;z-index:3}
@media(max-width:780px){
  .sequence{height:auto}
  .seq-stage{position:relative;height:auto;grid-template-columns:1fr;padding:40px 0}
  .seq-frames{height:50vh;min-height:300px}
  .seq-text{padding:30px 28px 0;max-width:none}
  .seq-text h3,.seq-text p{min-height:0}
  .seq-progress,.seq-hint{position:relative;left:auto;right:auto;bottom:auto;margin:30px 28px 0}
}

/* news list */
.posts{border-top:1px solid var(--line)}
.post-row{display:grid;grid-template-columns:160px 1fr auto;gap:32px;align-items:baseline;padding:32px 0;border-bottom:1px solid var(--line);transition:padding-left .2s}
.post-row:hover{padding-left:12px}
.post-row .date{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em}
.post-row .ttl{font-family:'Chakra Petch',sans-serif;font-weight:600;font-size:22px}
.post-row .arrow{color:var(--accent);font-family:'JetBrains Mono',monospace}
@media(max-width:780px){.post-row{grid-template-columns:1fr;gap:8px}.post-row .arrow{display:none}}

/* article */
article.post{padding:80px 0 120px;max-width:760px;margin:0 auto}
article.post .date{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;margin-bottom:24px}
article.post h1{font-size:clamp(32px,5vw,56px);max-width:none;margin-bottom:40px}
article.post p{margin-bottom:20px;font-size:17px}
.back{display:inline-block;margin-top:60px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em}
.back:hover{color:var(--accent)}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
@media(max-width:780px){.contact{grid-template-columns:1fr}}
.email{display:block;font-family:'Chakra Petch',sans-serif;font-size:clamp(20px,2.4vw,28px);padding:20px 0;border-bottom:1px solid var(--line);transition:color .2s,padding-left .2s}
.email:hover{color:var(--accent);padding-left:12px}
.email small{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px}

footer{padding:50px 0 60px;border-top:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em}
footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);animation:up .9s ease forwards}
.reveal.d1{animation-delay:.1s}.reveal.d2{animation-delay:.25s}.reveal.d3{animation-delay:.4s}
@keyframes up{to{opacity:1;transform:none}}
