:root { --ink:#151a1e; --paper:#f5f4ef; --red:#ff3b2f; --citron:#c8f000; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; letter-spacing:0; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.nav-shell { height:76px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(21,26,30,.2); position:absolute; inset:0 0 auto; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; font-weight:900; font-size:17px; }
.brand img { width:35px; height:38px; }
.brand b { font-size:10px; letter-spacing:3px; margin-left:5px; }
nav { display:flex; align-items:center; gap:34px; font-size:13px; font-weight:700; }
nav a { position:relative; }
nav a:after { content:""; position:absolute; left:0; bottom:-7px; width:100%; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
nav a:hover:after, nav a:focus-visible:after { transform:scaleX(1); }
.menu-button { display:none; border:0; background:none; padding:12px; }
.hero { --mx:0; --my:0; min-height:94vh; height:820px; max-height:920px; position:relative; overflow:hidden; padding:140px 4vw 68px; border-bottom:1px solid var(--ink); }
.hero-content { height:100%; position:relative; z-index:3; display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow,.section-label { text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:2px; }
.hero h1 { font-size:clamp(62px,9.4vw,150px); line-height:.84; margin:0; max-width:1100px; font-weight:900; letter-spacing:0; }
.hero h1 em,.contact h2 em { color:var(--red); font-style:normal; }
.hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; max-width:690px; }
.hero-bottom p { max-width:520px; font-size:19px; line-height:1.55; margin:0; }
.circle-link { width:58px; height:58px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font-size:25px; transition:.25s; }
.circle-link:hover { background:var(--citron); transform:translateY(4px); }
.hero-mark { position:absolute; z-index:1; width:min(38vw,520px); right:4vw; top:22%; opacity:.075; transform:translate(calc(var(--mx) * 22px),calc(var(--my) * 22px)) rotate(calc(var(--mx) * 3deg)); transition:transform .12s ease-out; }
.hero-signal { position:absolute; width:22px; height:22px; border-radius:50%; z-index:2; transition:transform .18s ease-out; }
.signal-red { background:var(--red); right:15%; top:20%; transform:translate(calc(var(--mx) * -45px),calc(var(--my) * -45px)); }
.signal-citron { background:var(--citron); right:7%; bottom:28%; width:44px; height:44px; transform:translate(calc(var(--mx) * 30px),calc(var(--my) * 30px)); }
.ticker { position:absolute; bottom:0; left:0; height:36px; width:100%; overflow:hidden; display:flex; background:var(--ink); color:white; font-size:11px; font-weight:800; letter-spacing:2px; align-items:center; white-space:nowrap; }
.ticker span { min-width:100%; animation:marquee 16s linear infinite; }
@keyframes marquee { to { transform:translateX(-100%); } }
.intro,.proof { padding:90px 4vw 110px; }
.section-label { display:flex; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid rgba(21,26,30,.35); }
.section-label span { color:#727577; }
.intro-head { display:grid; grid-template-columns:1.35fr .65fr; gap:8vw; align-items:end; padding:75px 0 80px; }
.intro-head h2,.manifesto h2 { font-size:clamp(42px,6vw,88px); line-height:.96; margin:0; font-weight:800; }
.intro-head p { font-size:18px; line-height:1.55; margin:0; max-width:520px; }
.practice-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.practice { min-height:330px; padding:26px; border-right:1px solid var(--ink); display:flex; flex-direction:column; }
.practice:last-child { border:0; }
.practice-top { display:flex; align-items:start; justify-content:space-between; }
.practice-top span { font:12px monospace; }
.practice img { width:58px; height:58px; transition:transform .3s; }
.practice:hover img { transform:rotate(-6deg) scale(1.08); }
.practice h3 { font-size:25px; margin:auto 0 16px; }
.practice p { font-size:14px; line-height:1.55; color:#54585a; margin:0; }
.manifesto { display:grid; grid-template-columns:.75fr 1.25fr; min-height:820px; background:var(--ink); color:white; }
.manifesto-mark { background:var(--citron); display:grid; place-items:center; overflow:hidden; }
.manifesto-mark img { width:58%; transition:transform .4s; }
.manifesto-mark:hover img { transform:scale(1.06) rotate(2deg); }
.manifesto-copy { padding:85px 6vw; }
.section-label.inverse { border-color:rgba(255,255,255,.3); }
.manifesto h2 { margin:70px 0 42px; }
.lead { max-width:680px; color:#c3c5c5; font-size:19px; line-height:1.6; }
.principles { margin-top:60px; border-top:1px solid #4d5153; }
.principles p { display:grid; grid-template-columns:.7fr 1fr; gap:30px; margin:0; padding:22px 0; border-bottom:1px solid #4d5153; }
.principles span { color:#aeb1b2; }
.proof { padding-bottom:130px; }
.loop { margin-top:80px; display:grid; grid-template-columns:repeat(4,1fr); }
.loop-step { min-height:250px; position:relative; padding:25px; border:1px solid var(--ink); border-right:0; }
.loop-step:last-child { border-right:1px solid; }
.loop-step span { font:12px monospace; }
.loop-step img { position:absolute; width:75px; height:75px; right:22px; top:20px; }
.loop-step h3 { position:absolute; bottom:22px; margin:0; font-size:28px; }
.loop-step:after { content:"→"; position:absolute; right:-15px; top:50%; z-index:2; width:30px; height:30px; background:var(--paper); display:grid; place-items:center; font-size:22px; }
.loop-step:last-child:after { display:none; }
.contact { background:var(--red); color:var(--ink); padding:100px 4vw 0; min-height:720px; display:flex; flex-direction:column; }
.contact h2 { color:white; font-size:clamp(72px,12vw,180px); line-height:.8; letter-spacing:0; margin:55px 0 65px; }
.contact h2 em { color:var(--ink); }
.contact-link { font-size:clamp(24px,4vw,52px); font-weight:800; display:flex; justify-content:space-between; padding:20px 0; border-bottom:3px solid var(--ink); }
.contact-link span { transition:transform .25s; }
.contact-link:hover span { transform:translate(6px,-6px); }
footer { margin-top:auto; min-height:110px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; border-top:1px solid rgba(21,26,30,.4); font-size:12px; }
footer p:nth-child(2) { text-align:center; } footer p:last-child { text-align:right; }
.footer-brand img { width:30px; }

@media (max-width:800px) {
  .nav-shell { height:68px; }
  .menu-button { display:grid; gap:6px; z-index:3; }
  .menu-button span { display:block; width:24px; height:2px; background:var(--ink); }
  nav { display:none; position:absolute; top:68px; left:0; right:0; padding:28px 4vw; flex-direction:column; align-items:flex-start; background:var(--paper); border-bottom:1px solid; }
  nav.open { display:flex; }
  .hero { height:720px; min-height:92vh; padding-top:120px; }
  .hero h1 { font-size:clamp(54px,17vw,92px); line-height:.88; }
  .hero-mark { width:65vw; right:-8vw; top:32%; }
  .hero-bottom { align-items:center; gap:24px; }
  .hero-bottom p { font-size:16px; }
  .intro,.proof { padding:70px 5vw 85px; }
  .intro-head { grid-template-columns:1fr; padding:55px 0; gap:34px; }
  .practice-grid,.loop { grid-template-columns:1fr 1fr; }
  .practice { min-height:270px; border-bottom:1px solid; }
  .practice:nth-child(2) { border-right:0; }
  .manifesto { grid-template-columns:1fr; }
  .manifesto-mark { min-height:360px; }
  .manifesto-mark img { width:42%; }
  .manifesto-copy { padding:70px 5vw; }
  .principles p { grid-template-columns:1fr; gap:10px; }
  .loop-step:nth-child(2) { border-right:1px solid; }
  .loop-step:nth-child(n+3) { border-top:0; }
  .loop-step:nth-child(2):after { display:none; }
  .contact { padding:80px 5vw 0; min-height:650px; }
  footer { grid-template-columns:1fr auto; gap:10px; padding:25px 0; }
  footer p:nth-child(2) { display:none; }
}
@media (max-width:520px) {
  .brand b { display:none; }
  .hero-bottom { align-items:flex-end; }
  .circle-link { width:48px; height:48px; flex:0 0 48px; }
  .practice-grid,.loop { grid-template-columns:1fr; }
  .practice { border-right:0; }
  .loop-step { border-right:1px solid; border-top:0; }
  .loop-step:first-child { border-top:1px solid; }
  .loop-step:after { display:none; }
  .manifesto h2 { margin-top:50px; }
  .contact-link { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ticker span { animation:none; } .hero-mark,.hero-signal { transform:none!important; transition:none; } }
