:root{--ink:#080808;--paper:#f3f1ea;--acid:#a8ff00;--blue:#3957ff;--line:rgba(8,8,8,.16);--pad:clamp(18px,3.2vw,58px);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(100%,1800px);margin:auto;padding-inline:var(--pad)}.site-header{position:fixed;z-index:90;top:0;left:0;width:100%;height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference;color:white}.brand{font-size:24px;font-weight:900;letter-spacing:-.08em}.brand i{color:var(--acid);font-style:normal}.desktop-nav{display:flex;gap:6px}.desktop-nav a,.menu-btn{font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:10px 12px;border-radius:99px}.desktop-nav a:hover{background:white;color:black}.menu-btn{border:1px solid currentColor;background:transparent;color:inherit;display:none}.overlay{position:fixed;z-index:80;inset:0;background:var(--acid);padding:110px var(--pad) 30px;clip-path:inset(0 0 100%);transition:.65s var(--ease);visibility:hidden}.overlay.open{clip-path:inset(0);visibility:visible}.overlay nav a{display:flex;justify-content:space-between;border-top:1px solid #000;padding:10px 0;font-size:clamp(40px,8vw,120px);font-weight:900;letter-spacing:-.07em;text-transform:uppercase;line-height:.9}.overlay nav a:last-child{border-bottom:1px solid #000}.hero{min-height:100svh;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:9vw 9vw}.hero .wrap{min-height:100svh;padding-top:110px;padding-bottom:36px;display:grid;grid-template-rows:auto 1fr auto}.hero-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}.logo-stage{align-self:center;position:relative;height:55vh;display:flex;align-items:center}.hero-title{position:relative;z-index:2;margin:0;font-size:clamp(76px,17vw,320px);line-height:.72;letter-spacing:-.105em;text-transform:uppercase}.hero-title span{display:block}.hero-title .outline{color:transparent;-webkit-text-stroke:1.4px var(--paper);position:relative}.hero-title .outline:before{content:attr(data-text);position:absolute;inset:0;color:var(--paper);-webkit-text-stroke:0;clip-path:inset(0 100% 0 0);animation:fillWord 6s 1.4s var(--ease) infinite}@keyframes fillWord{0%,12%{clip-path:inset(0 100% 0 0)}45%,72%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}.blueprint{position:absolute;z-index:3;inset:50% auto auto 50%;width:min(112%,1500px);transform:translate(-50%,-50%);pointer-events:none}.bp{stroke:rgba(243,241,234,.28);fill:none;vector-effect:non-scaling-stroke}.bp.a{stroke:rgba(243,241,234,.7)}.bp.acid{stroke:var(--acid)}.bp.dash{stroke-dasharray:8 8}.bp.draw{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.3s .4s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}.bp-spin{transform-origin:center;transform-box:fill-box;animation:spin 40s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bp-text{fill:rgba(243,241,234,.52);font:12px Arial;letter-spacing:.16em}.hero-bottom{display:grid;grid-template-columns:1fr minmax(260px,38%);gap:30px;align-items:end}.hero-bottom p{font-size:clamp(22px,2.3vw,42px);line-height:1;letter-spacing:-.04em;margin:0}.cta-line{border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:16px 0;display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.cta-line:hover{background:var(--acid);color:#000;padding-inline:14px}.marquee{overflow:hidden;background:var(--acid);padding:12px 0}.marquee-track{display:flex;gap:28px;width:max-content;animation:marquee 28s linear infinite;font-size:10px;font-weight:700;letter-spacing:.14em}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:clamp(80px,10vw,170px) 0}.section-head{display:grid;grid-template-columns:60px 1fr auto;border-top:1px solid var(--line);padding-top:12px;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.showreel-box{margin-top:55px;aspect-ratio:16/9;background:#111;color:white;position:relative;overflow:hidden;display:grid;place-items:center}.showreel-box:before{content:'';position:absolute;width:45%;aspect-ratio:1;border-radius:50%;background:var(--blue);filter:blur(60px);opacity:.75}.showreel-box strong{position:relative;z-index:2;font-size:clamp(42px,9vw,150px);letter-spacing:-.08em}.showreel-box a{position:absolute;z-index:3;right:20px;bottom:20px;width:100px;height:100px;border-radius:50%;background:var(--acid);color:#000;display:grid;place-items:center;font-size:12px;font-weight:700}.journal-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}.journal-intro h2{font-size:clamp(60px,10vw,170px);line-height:.78;letter-spacing:-.09em;margin:0;text-transform:uppercase}.journal-intro p{align-self:end;font-size:clamp(20px,2vw,34px);line-height:1.05;max-width:620px}.post-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:70px}.post-card{grid-column:span 4;border-top:1px solid var(--line);padding-top:12px}.post-card:nth-child(5n+1){grid-column:span 7}.post-card:nth-child(5n+2){grid-column:span 5}.post-cover{aspect-ratio:4/3;background:#0d0d0d;overflow:hidden;margin-bottom:18px;position:relative}.post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.post-card:hover img{transform:scale(1.035)}.post-cover.empty:after{content:'F3D / JOURNAL';position:absolute;inset:auto 15px 15px;color:white;font-size:10px;letter-spacing:.15em}.post-card time,.post-card small{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.post-card h3{font-size:clamp(28px,3vw,52px);line-height:.95;letter-spacing:-.055em;margin:10px 0}.post-card p{font-size:14px;line-height:1.4;color:#555}.post-hero{padding-top:140px}.post-hero h1{font-size:clamp(64px,11vw,190px);line-height:.8;letter-spacing:-.09em;text-transform:uppercase;margin:25px 0 45px}.post-meta{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.post-main-image{margin-top:45px;max-height:80vh;width:100%;object-fit:cover}.post-body{max-width:880px;margin:clamp(60px,8vw,120px) auto;font-size:clamp(20px,2vw,32px);line-height:1.35}.post-body p{margin:0 0 1.5em}.page-hero{padding-top:160px;padding-bottom:80px}.page-hero h1{font-size:clamp(74px,14vw,240px);line-height:.8;letter-spacing:-.09em;text-transform:uppercase;margin:0}.page-hero p{font-size:clamp(20px,2vw,34px);max-width:700px}.cv-layout{display:grid;grid-template-columns:1fr 2fr;gap:50px}.cv-block{border-top:1px solid var(--line);padding:18px 0}.cv-block h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.cv-block p{font-size:clamp(20px,2vw,34px);line-height:1.15}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-form label{display:block;border-top:1px solid var(--line);padding:14px 0;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.contact-form input,.contact-form textarea{width:100%;border:0;background:transparent;font-size:22px;padding:12px 0;outline:none}.contact-form textarea{min-height:180px;resize:vertical}.button{display:inline-flex;border:0;background:var(--ink);color:white;padding:16px 22px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;cursor:pointer}.button:hover{background:var(--acid);color:#000}.footer{background:var(--ink);color:white;padding:50px var(--pad);display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.on{opacity:1;transform:none}.notice{padding:14px;border:1px solid var(--line);margin-bottom:20px}.notice.ok{background:#dfffaa}@media(max-width:900px){.desktop-nav{display:none}.menu-btn{display:block}.hero .wrap{padding-top:88px}.logo-stage{height:52vh}.blueprint{width:175%;left:56%}.hero-title{font-size:clamp(70px,24vw,170px)}.hero-bottom{grid-template-columns:1fr;gap:24px}.hero-bottom p{max-width:85%}.journal-intro,.contact-grid,.cv-layout{grid-template-columns:1fr}.post-card,.post-card:nth-child(n){grid-column:span 6}.section-head{grid-template-columns:45px 1fr}.section-head span:last-child{display:none}}@media(max-width:600px){.hero{min-height:760px}.hero-title{font-size:24vw}.logo-stage{height:48vh}.blueprint{width:210%;left:60%}.post-grid{display:block}.post-card{margin-bottom:55px}.post-cover{aspect-ratio:1.15}.showreel-box{aspect-ratio:4/5}.showreel-box strong{font-size:18vw}.showreel-box a{width:78px;height:78px}.footer{gap:20px;flex-direction:column}.page-hero{padding-top:120px}.post-hero{padding-top:120px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* V4.1 — Blueprint motion system */
.blueprint{--bp-x:0px;--bp-y:0px;--bp-r:0deg;filter:drop-shadow(0 0 18px rgba(168,255,0,.035));will-change:transform;transform:translate(calc(-50% + var(--bp-x)),calc(-50% + var(--bp-y))) rotate(var(--bp-r))}
.logo-stage:after{content:"";position:absolute;z-index:4;left:2%;right:2%;height:1px;top:18%;background:linear-gradient(90deg,transparent,rgba(168,255,0,.15) 18%,var(--acid) 50%,rgba(168,255,0,.15) 82%,transparent);box-shadow:0 0 16px rgba(168,255,0,.35);opacity:0;pointer-events:none;animation:bpScan 7.2s 1.1s cubic-bezier(.16,1,.3,1) infinite}
@keyframes bpScan{0%,10%{top:18%;opacity:0}16%{opacity:.8}52%{top:79%;opacity:.45}58%,100%{top:79%;opacity:0}}
.hero-title .outline:after{content:"";position:absolute;z-index:5;top:.02em;bottom:.04em;width:2px;left:0;background:var(--acid);box-shadow:0 0 14px rgba(168,255,0,.8);opacity:0;animation:renderCursor 6s 1.4s var(--ease) infinite}
@keyframes renderCursor{0%,12%{left:0;opacity:0}14%{opacity:1}45%{left:100%;opacity:1}47%,72%{left:100%;opacity:0}74%{left:100%;opacity:1}98%{left:0;opacity:.7}100%{left:0;opacity:0}}
.bp.dash{animation:bpDash 18s linear infinite}
@keyframes bpDash{to{stroke-dashoffset:-160}}
.bp-text{animation:bpTelemetry 4.6s steps(1,end) infinite}
@keyframes bpTelemetry{0%,93%,100%{opacity:.7}94%{opacity:.3}95%{opacity:.85}96%{opacity:.45}}
.bp.acid{filter:drop-shadow(0 0 3px rgba(168,255,0,.45));animation:bpAcidPulse 3.4s ease-in-out infinite alternate}
@keyframes bpAcidPulse{to{stroke-opacity:.5}}
@media(max-width:900px){.blueprint{width:168%;left:53%}.logo-stage:after{left:-8%;right:-8%}}
@media(max-width:600px){.blueprint{width:195%;left:55%}.bp-text{font-size:15px}.hero-title .outline:after{width:1.5px}.logo-stage:after{left:-15%;right:-15%}}
@media(prefers-reduced-motion:reduce){.bp-spin,.bp.dash,.bp-text,.bp.acid,.logo-stage:after,.hero-title .outline:before,.hero-title .outline:after{animation:none!important}.hero-title .outline:before{clip-path:inset(0 0 0 0)}}
