:root{--bg: #0e0d0c;--hero-bg: #050504;--text: #f5f0e8;--muted: rgba(245, 240, 232, .6);--accent: #f59e0b;--accent-dim: rgba(245, 158, 11, .12);--border: rgba(245, 240, 232, .08);--hero-pulse-x: 50%;--hero-pulse-y: 50%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{background:var(--bg);color:var(--text);font-family:Fragment Mono,monospace;font-size:16px;line-height:1.6;overflow-x:hidden;cursor:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.grain,.scroll-arrow,.hero-grid,.hero-pulse{animation:none}.statement-text .word{opacity:1!important}.about-photo-wrap{clip-path:none!important}}.no-anim .statement-text .word{opacity:1!important}.no-anim .about-photo-wrap{clip-path:none}.no-anim body{cursor:auto}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;pointer-events:none;z-index:900;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;animation:grain-move .5s steps(2) infinite}@keyframes grain-move{0%{transform:translate(0)}25%{transform:translate(-2%,-3%)}50%{transform:translate(3%,2%)}75%{transform:translate(-1%,4%)}to{transform:translate(2%,-1%)}}.grid-lines{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none;z-index:1}.gl{flex:1;border-right:1px solid rgba(245,240,232,.04)}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--accent);z-index:999;transform-origin:left}.cursor-ring,.cursor-dot{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring{width:24px;height:24px;border:1.5px solid var(--accent);transition:width .2s,height .2s,border-color .2s,opacity .3s;opacity:0}.cursor-dot{width:4px;height:4px;background:var(--accent);opacity:0;transition:opacity .3s}.cursor-ring.is-hovering{width:40px;height:40px}@media (pointer: coarse){.cursor-ring,.cursor-dot{display:none}body{cursor:auto}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;overflow:hidden}.loader-cols{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.loader-col{flex:1;background:var(--bg);transform-origin:bottom}.loader-initials{position:relative;font-size:min(46vw,45vh);letter-spacing:.06em;color:var(--text);z-index:1;pointer-events:none;line-height:1;display:flex;align-items:baseline}.loader-char{display:inline-block;opacity:0}.loader-cursor{display:inline-block;color:var(--accent);font-size:.75em;margin-left:.05em;line-height:1;transform:translateY(.04em)}.section{position:relative;z-index:2}.section--hero{background:var(--hero-bg);min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 clamp(1.5rem,6vw,6rem);overflow:clip}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;z-index:1;-webkit-mask-image:linear-gradient(to right,black 25%,transparent 48%);mask-image:linear-gradient(to right,black 25%,transparent 48%)}@media (max-width: 900px){.hero-bg{-webkit-mask-image:none;mask-image:none}}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(245,240,232,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,240,232,.03) 1px,transparent 1px);background-size:60px 60px;animation:hero-grid-shift 20s linear infinite}@keyframes hero-grid-shift{0%{background-position:0 0}to{background-position:60px 60px}}.hero-pulse{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--hero-pulse-x, 50%) var(--hero-pulse-y, 50%),rgba(245,158,11,.06) 0%,transparent 60%);animation:pulse-breathe 6s ease-in-out infinite}@keyframes pulse-breathe{0%,to{opacity:.6}50%{opacity:1}}.hero-content{position:relative;z-index:2}.hero-eyebrow{font-size:clamp(.7rem,1.2vw,.85rem);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.hero-headline{font-size:clamp(3rem,18vw,18rem);line-height:.9;letter-spacing:-.02em;color:var(--text);white-space:nowrap}.hero-sub{font-size:clamp(.75rem,1.5vw,1rem);color:var(--muted);letter-spacing:.08em;margin-top:1.5rem}.hero-samurai{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;will-change:transform}.hero-samurai svg,.samurai-video{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;overflow:hidden}@media (min-width: 901px){.samurai-video{object-fit:contain;max-width:1705px;max-height:960px;margin:auto;background:var(--hero-bg)}}.hero-samurai svg{opacity:0;transition:opacity .4s ease}.hero-samurai svg.is-visible{opacity:1}.hero-samurai.has-video svg{opacity:0}.hero-samurai:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,var(--hero-bg) 0%,rgba(5,5,4,.72) 26%,rgba(5,5,4,.2) 44%,transparent 58%),linear-gradient(to top,var(--bg) 0%,transparent 16%)}@media (max-width: 900px){.section--hero{justify-content:flex-start;padding-top:13vh}.samurai-video,.hero-samurai svg{filter:brightness(.82)}.hero-samurai:after{background:linear-gradient(to bottom,var(--hero-bg) 0%,rgba(5,5,4,.95) 33%,rgba(5,5,4,.5) 42%,transparent 52%),linear-gradient(to top,var(--bg) 0%,transparent 12%)}.hero-headline,.hero-sub{text-shadow:0 2px 18px rgba(5,5,4,.9)}.server-select{background:#050504db}}.server-select{margin-top:2.5rem;width:min(15rem,70vw);border:1px solid var(--border);background:#0e0d0cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.75rem 0}.server-select-title{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:0 1rem .6rem;border-bottom:1px solid var(--border)}.server-select-list{list-style:none;margin:0;padding:.4rem 0}.server-select-item{display:block;padding:.55rem 1rem;font-size:.8rem;letter-spacing:.15em;color:var(--text);text-decoration:none;transition:color .2s ease,background .2s ease,padding-left .2s ease}.server-select-item:hover{color:var(--accent);background:var(--accent-dim);padding-left:1.4rem}.server-select-exit{display:block;margin:.4rem 1rem .25rem;padding:.4rem .75rem;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;text-align:center;color:var(--muted);text-decoration:none;border:1px solid var(--border);transition:color .2s ease,border-color .2s ease}.server-select-exit:hover{color:var(--accent);border-color:var(--accent)}.hero-scroll-cue{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);z-index:1}.scroll-arrow{display:block;font-size:1.5rem;color:var(--muted);animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.section--statement{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:4rem clamp(1.5rem,6vw,6rem)}.statement-inner{max-width:900px;width:100%}.statement-text{font-size:clamp(1.75rem,7.5vw,5.5rem);line-height:1.2;letter-spacing:-.01em}.statement-text .word{display:inline-block;opacity:.15;transition:none}.section--work{position:relative;padding-top:6rem}.work-label{position:sticky;top:2rem;z-index:10;padding:0 clamp(1.5rem,6vw,6rem);margin-bottom:2rem;display:flex;align-items:baseline;gap:1rem;pointer-events:none}.work-label .section-title{font-size:.7rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}.cards-container{position:relative;padding-bottom:4rem}.card{position:sticky;top:6rem;min-height:70vh;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,4vw,4rem) clamp(1.5rem,6vw,6rem);will-change:transform,opacity}.card-inner{max-width:1040px;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,3vw,3rem);align-items:center;background:#f5f0e808;border:1px solid var(--border);border-radius:2px;padding:clamp(2rem,4vw,3.5rem);position:relative;overflow:hidden;cursor:pointer;transition:background .25s ease,border-color .25s ease}.card-media{border:1px solid var(--border);border-radius:2px;overflow:hidden}.card-media img{width:100%;height:100%;aspect-ratio:16 / 10;object-fit:cover;filter:saturate(.9);transition:filter .25s ease}.card-inner:hover .card-media img{filter:saturate(1)}@media (max-width: 768px){.card-inner{grid-template-columns:1fr}.card-media{order:-1}}.card-inner:hover{background:#f5f0e80e;border-color:#f59e0b33}.card-inner:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--accent);opacity:.4;transition:opacity .25s ease}.card-inner:hover:before{opacity:.8}.card-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.card-year{font-size:.7rem;color:var(--muted);letter-spacing:.1em}.card-name{font-size:clamp(1.5rem,3.2vw,2.75rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:1.25rem;max-width:18ch}.card-metric{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.card-desc{font-size:clamp(.85rem,1.5vw,1rem);color:var(--muted);line-height:1.7;max-width:56ch;margin-bottom:1.5rem}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.tag{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border:1px solid var(--border);color:var(--muted)}.tag--eclair{border-color:#f59e0b66;color:var(--accent);background:var(--accent-dim)}.card-link{font-size:.75rem;letter-spacing:.1em;color:var(--text);text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:2px;display:inline-block;cursor:pointer;transition:color .2s ease,letter-spacing .2s ease}.card-link:hover{color:var(--accent);letter-spacing:.14em}.section--about{min-height:100svh;display:flex;align-items:center;padding:6rem clamp(1.5rem,6vw,6rem)}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:4rem;max-width:1100px;width:100%;margin:0 auto}@media (max-width: 768px){.about-grid{grid-template-columns:1fr;gap:2rem}}.about-left{display:flex;flex-direction:column;padding-top:.25rem}.about-heading{font-size:clamp(3rem,8vw,7rem);line-height:1;letter-spacing:-.02em;margin-top:.5rem}.about-right{display:flex;flex-direction:column;gap:2rem}.about-photo-wrap{width:100%;max-width:360px;aspect-ratio:3/4;overflow:hidden;clip-path:inset(100% 0 0 0)}.about-photo{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(20%)}.about-text{display:flex;flex-direction:column;gap:1rem}.about-bio{font-size:clamp(.85rem,1.5vw,1rem);line-height:1.8;color:var(--muted)}.about-bio--secondary{font-size:.85rem}.about-link{color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:1px;transition:color .2s}.about-link:hover{color:var(--accent)}.about-values{display:flex;gap:2rem;margin-top:.5rem}.about-value{font-size:.8rem;letter-spacing:.05em;color:var(--muted)}.about-value em{color:var(--accent);font-style:normal;margin-right:.5rem}.section--marquee{padding:3rem 0;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.marquee-row{overflow:hidden;padding:.5rem 0}.marquee-track{display:flex;white-space:nowrap;width:max-content}.marquee-row--1 .marquee-track{font-size:clamp(1.2rem,3vw,2rem);letter-spacing:.05em;text-transform:uppercase;color:var(--text)}.marquee-row--2 .marquee-track{font-size:clamp(1rem,2.5vw,1.5rem);letter-spacing:.03em;color:var(--muted)}.section--contact{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:6rem clamp(1.5rem,6vw,6rem);position:relative}.contact-inner{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2rem}.contact-headline{font-size:clamp(3.5rem,14vw,14rem);line-height:.9;letter-spacing:-.02em}.contact-availability{font-size:clamp(.75rem,1.3vw,.9rem);color:var(--accent);letter-spacing:.12em;text-transform:uppercase}.contact-sub{font-size:clamp(.8rem,1.5vw,1rem);color:var(--muted);letter-spacing:.08em}.contact-ctas{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.cta-primary{display:inline-block;padding:1rem 2rem;background:var(--accent);color:var(--bg);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:400;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.cta-primary:hover{opacity:.88;transform:translateY(-1px)}.cta-secondary{display:inline-block;padding:1rem 2rem;border:1px solid var(--border);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease}.cta-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.contact-info{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.contact-link{font-size:.8rem;letter-spacing:.08em;color:var(--muted);cursor:pointer;transition:color .2s ease}.contact-link:hover{color:var(--accent)}.card-link,.contact-link,.about-link{position:relative}.card-link:after,.contact-link:after,.about-link:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.contact-footer{width:100%;padding-top:3rem;font-size:.7rem;color:#f5f0e880;letter-spacing:.08em}.card--featured .card-inner{background:#f59e0b0a;border-color:#f59e0b2e}.card--featured .card-inner:before{opacity:.7}.card--featured .card-inner:hover{background:#f59e0b12;border-color:#f59e0b59}.about-link{cursor:pointer}@media (max-width: 768px){.about-photo-wrap{max-width:100%}}@media (max-width: 480px){.hero-headline{font-size:15vw;white-space:nowrap}.contact-headline{font-size:clamp(2.8rem,14vw,5rem)}.card{top:3rem;min-height:55vh}.card-inner{padding:1.75rem}.work-label{top:1rem;gap:.5rem}.statement-text{font-size:clamp(1.75rem,8.5vw,5.5rem)}.about-grid{gap:1.5rem}.about-photo-wrap{aspect-ratio:auto;max-width:100%;overflow:visible}.about-photo{height:auto;object-fit:initial}.about-heading{font-size:clamp(2.5rem,12vw,5rem)}.about-values{flex-direction:column;gap:.75rem}.loader-initials{font-size:min(32vw,42vh)}.contact-ctas{flex-direction:column;align-items:flex-start}.cta-primary,.cta-secondary{width:100%;text-align:center}.contact-info{gap:1rem}}
