:root{--bg: #08080a;--bg-2: #0d0d10;--bg-3: #131217;--ink: #f3ede4;--ink-soft: #cdc7bd;--muted: #837d74;--muted-2: #5b564f;--line: rgba(243, 237, 228, .1);--line-2: rgba(243, 237, 228, .06);--amber: #ff7a2e;--amber-lit: #ffb066;--amber-deep:#c0431a;--ember: #ff5a1f;--glow: rgba(255, 122, 46, .55);--serif: "Fraunces", "Times New Roman", serif;--sans: "Space Grotesk", "Helvetica Neue", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--pad: clamp(20px, 5vw, 72px);--maxw: 1320px;--ease: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--amber);color:#1a0d04}.fx-grain,.fx-vignette{position:fixed;inset:0;pointer-events:none;z-index:9000}.fx-vignette{background:radial-gradient(120% 100% at 50% 32%,transparent 40%,rgba(0,0,0,.55) 100%)}.fx-grain{opacity:.05;z-index:9001;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 6s steps(6) infinite}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,4%)}80%{transform:translate(4%,2%)}}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber-lit);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--amber);opacity:.7}h1,h2,h3{font-family:var(--serif);font-weight:360;line-height:.98;letter-spacing:-.015em}.display{font-size:clamp(56px,13vw,188px);font-weight:350;line-height:.86;letter-spacing:-.03em}.display em{font-style:italic;font-weight:350;color:var(--amber-lit)}.section-title{font-size:clamp(34px,6vw,76px);font-weight:360}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);mix-blend-mode:difference}.nav.scrolled{mix-blend-mode:normal}.brand{font-family:var(--serif);font-size:22px;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--glow);animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);position:relative;padding:4px 0}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--amber);transition:width .4s var(--ease)}.nav-links a:hover:after{width:100%}@media(max-width:720px){.nav-links a:not(.btn-mini){display:none}}.btn-mini{border:1px solid var(--line);border-radius:100px;padding:9px 16px!important;transition:border-color .3s,color .3s,background .3s}.btn-mini:hover{border-color:var(--amber);color:var(--amber-lit)}.btn-mini:after{display:none}#hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:0 var(--pad) clamp(40px,8vh,96px);overflow:hidden}#hero-canvas{position:fixed;inset:0;z-index:0;width:100vw;height:100svh}#hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(50% 45% at 62% 42%,rgba(255,90,31,.16),transparent 70%),radial-gradient(70% 60% at 50% 120%,rgba(255,122,46,.1),transparent 60%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto}.hero-eyebrow{margin-bottom:26px}.hero-title{margin-bottom:28px}.hero-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px}.hero-lede{max-width:30ch;font-size:clamp(15px,1.5vw,18px);color:var(--ink-soft);line-height:1.55}.hero-lede b{color:var(--ink);font-weight:500}.scroll-cue{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:inline-flex;flex-direction:column;align-items:center;gap:10px}.scroll-cue .bar{width:1px;height:46px;background:linear-gradient(var(--amber),transparent);animation:drop 2s var(--ease) infinite}@keyframes drop{0%{transform:scaleY(0);transform-origin:top}40%{transform:scaleY(1);transform-origin:top}60%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.marquee{position:relative;z-index:2;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:#08080a99;backdrop-filter:blur(6px);overflow:hidden;padding:18px 0}.marquee-track{display:flex;gap:56px;width:max-content;animation:scroll 32s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{font-family:var(--serif);font-size:clamp(22px,3vw,38px);font-style:italic;color:var(--ink-soft);display:inline-flex;align-items:center;gap:56px;white-space:nowrap}.marquee-track span:after{content:"✦";color:var(--amber);font-style:normal;font-size:.5em}@keyframes scroll{to{transform:translate(-50%)}}.section{position:relative;z-index:2;background:var(--bg);padding:clamp(80px,12vh,160px) var(--pad)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;max-width:var(--maxw);margin:0 auto clamp(40px,6vh,80px);border-bottom:1px solid var(--line);padding-bottom:22px;flex-wrap:wrap}.section-index{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--muted)}.wrap{max-width:var(--maxw);margin:0 auto}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2vw,30px)}.project{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(160deg,var(--bg-3),var(--bg-2));text-decoration:none;display:flex;flex-direction:column;transition:transform .6s var(--ease),border-color .5s,box-shadow .6s;will-change:transform}.project:hover{transform:translateY(-6px);border-color:#ff7a2e66;box-shadow:0 30px 80px -40px var(--glow)}.project.lg{grid-column:span 7}.project.sm{grid-column:span 5}.project.full{grid-column:span 12}@media(max-width:900px){.project.lg,.project.sm,.project.full{grid-column:span 12}}.project-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#000}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),opacity .6s}.project:hover .project-media img{transform:scale(1.05)}.project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#08080ad9)}.project-shots{display:flex;gap:14px;padding:30px;align-items:center;justify-content:center;height:100%}.project-shots img{height:78%;width:auto;border-radius:16px;box-shadow:0 24px 50px -20px #000c}.project-body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:12px;flex:1}.project-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-lit)}.project-name{font-family:var(--serif);font-size:clamp(26px,3vw,40px);line-height:1}.project-desc{color:var(--muted);font-size:14.5px;line-height:1.6;max-width:48ch}.project-cta{margin-top:auto;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.project-cta .arrow{transition:transform .4s var(--ease)}.project:hover .project-cta .arrow{transform:translate(6px)}.project-icon{position:absolute;top:22px;left:22px;width:54px;height:54px;border-radius:13px;z-index:2;box-shadow:0 10px 30px #0009;border:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}@media(max-width:860px){.about-grid{grid-template-columns:1fr}}.about-lede{font-family:var(--serif);font-size:clamp(24px,3vw,40px);line-height:1.18;font-weight:350}.about-lede em{font-style:italic;color:var(--amber-lit)}.about-text{margin-top:26px;color:var(--ink-soft);font-size:16px;line-height:1.7;max-width:52ch}.about-text+.about-text{margin-top:16px;color:var(--muted)}.cap-list{list-style:none;border-top:1px solid var(--line)}.cap-list li{display:flex;align-items:baseline;gap:18px;padding:18px 4px;border-bottom:1px solid var(--line);transition:padding .4s var(--ease),color .4s;cursor:default}.cap-list li:hover{padding-left:16px;color:var(--amber-lit)}.cap-list .n{font-family:var(--mono);font-size:11px;color:var(--muted);min-width:30px}.cap-list .c{font-family:var(--serif);font-size:clamp(20px,2.4vw,30px);flex:1}.cap-list .meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em}.contact{text-align:center;padding:clamp(90px,16vh,200px) var(--pad);position:relative;z-index:2;background:var(--bg)}.contact .eyebrow{justify-content:center}.contact-mail{display:inline-block;margin:28px 0 10px;font-family:var(--serif);font-size:clamp(34px,7vw,96px);line-height:1;letter-spacing:-.03em;position:relative}.contact-mail span{background:linear-gradient(var(--ink),var(--ink)) bottom / 0% 2px no-repeat;transition:background-size .5s var(--ease);padding-bottom:6px}.contact-mail:hover span{background-size:100% 2px;color:var(--amber-lit)}.socials{display:flex;gap:26px;justify-content:center;margin-top:40px;flex-wrap:wrap}.socials a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .3s}.socials a:hover{color:var(--amber-lit)}footer.foot{position:relative;z-index:2;background:var(--bg);border-top:1px solid var(--line);padding:30px var(--pad);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}footer.foot a:hover{color:var(--amber-lit)}.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.fx-grain,.marquee-track,.scroll-cue .bar,.brand .dot{animation:none!important}}body.no-webgl #hero-canvas{display:none}body.no-webgl #hero{background:#08080a center/cover no-repeat;background-image:radial-gradient(60% 50% at 64% 40%,rgba(255,90,31,.18),transparent 70%),url(/assets/gen/og.png)}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.6vw,24px);max-width:var(--maxw);margin:clamp(44px,6vh,72px) auto 0}@media(max-width:920px){.cap-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cap-grid{grid-template-columns:1fr}}.cap-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line);background:var(--bg-2);display:flex;align-items:flex-end;transition:transform .6s var(--ease),border-color .5s,box-shadow .6s;will-change:transform}.cap-card:hover{transform:translateY(-6px);border-color:#ff7a2e73;box-shadow:0 30px 70px -36px var(--glow)}.cap-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.88;transition:transform 1.1s var(--ease),opacity .6s}.cap-card:hover img{transform:scale(1.08);opacity:1}.cap-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 28%,#0605078c 62%,#060507f0)}.cap-card .idx{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--mono);font-size:11px;color:var(--amber-lit);letter-spacing:.16em;opacity:.9}.cap-card .cc{position:relative;z-index:2;padding:22px;width:100%;transition:transform .5s var(--ease)}.cap-card:hover .cc{transform:translateY(-3px)}.cap-card .cc h3{font-family:var(--serif);font-size:clamp(23px,2.5vw,31px);line-height:1;margin-bottom:8px}.cap-card .cc .t{font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;opacity:.82}
