.ed{--black:#000;--white:#fff;--t2:#525252;--t3:#737373;--line:#0000001a;--overlay:#0000001a;--ease:cubic-bezier(.16, 1, .3, 1);background:var(--white);color:var(--black);letter-spacing:-.02em;-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:400;line-height:1.5;overflow-x:hidden}.ed *{box-sizing:border-box;margin:0;padding:0}.ed a{color:inherit;text-decoration:none}.ed img{max-width:100%;display:block}.ed-content{pointer-events:none}.portfolio-reveal{opacity:0;filter:blur(10px);transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease);will-change:opacity,filter,transform;transform:translateY(12px)scale(.985)}.portfolio-reveal.is-revealed,.ed-portfolio-revealed .portfolio-reveal,.ed-intro-complete .portfolio-reveal{pointer-events:auto;filter:blur();opacity:1;transform:translate(0)scale(1)}@media(hover:hover)and (pointer:fine){.ed,.ed *{cursor:none}}.ed-meta{text-transform:uppercase;letter-spacing:.1em;color:var(--t3);font-family:ui-monospace,SFMono-Regular,JetBrains Mono,monospace;font-size:14px}.ed-header{z-index:100;color:var(--black);justify-content:space-between;align-items:center;padding:24px 6rem;display:flex;position:fixed;top:0;left:0;right:0}.ed-logo{letter-spacing:-.04em;align-items:center;font-size:1.05rem;font-weight:700;display:inline-flex}.ed-nav{align-items:center;gap:2rem;display:flex}.ed-nav a,.ed-nav button{letter-spacing:-.01em;color:inherit;background:0 0;border:none;font-size:.85rem;font-weight:500}.ed-nav button{text-transform:uppercase;letter-spacing:.1em;font-family:ui-monospace,monospace;font-size:.75rem}@media(max-width:800px){.ed-header{padding:20px}.ed-nav{gap:1.1rem}.ed-nav a:not([href="#contact"]){display:none}}.lp-intro{z-index:9999;color:var(--white);isolation:isolate;touch-action:none;background:#050505;position:fixed;inset:0;overflow:hidden}.lp-intro:before{content:"";opacity:.14;pointer-events:none;background:radial-gradient(circle at 50% 62%,#ffffff14,#0000 24%),repeating-radial-gradient(circle at 48% 42%,#ffffff09 0 1px,#0000 1px 5px);position:absolute;inset:0}.lp-vignette{pointer-events:none;background:radial-gradient(circle at 50% 45%,#0000 18%,#000000c7 82%),linear-gradient(#ffffff08,#0000 18% 82%,#ffffff06);position:absolute;inset:0}.lp-center{z-index:4;text-align:center;transform:translate(-50%,var(--lp-title-y,0px));opacity:var(--lp-title,1);will-change:opacity,transform;flex-direction:column;align-items:center;display:flex;position:absolute;top:39vh;left:50%}.lp-center h1{letter-spacing:.045em;color:#f5f7faf5;text-transform:uppercase;white-space:nowrap;margin:0 0 clamp(4.4rem,9vh,7.2rem);font-family:Rajdhani,Michroma,Inter Tight,ui-sans-serif,system-ui,sans-serif;font-size:clamp(22px,3.2vw,38px);font-weight:500;line-height:1}.lp-scroll-cue{color:#fffffff2;opacity:var(--lp-hint,1);transform:translateY(var(--lp-hint-y,0px));will-change:opacity,transform;margin-bottom:1.45rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:clamp(52px,5vw,72px);line-height:.58;animation:2s cubic-bezier(.77,0,.175,1) infinite lp-scroll-bounce;display:grid}.lp-hint{letter-spacing:.08em;color:#ffffffd9;opacity:var(--lp-hint,1);transform:translateY(var(--lp-hint-y,0px));will-change:opacity,transform;font-family:ui-monospace,JetBrains Mono,monospace;font-size:clamp(16px,1.8vw,22px)}.lp-intro-mark{z-index:3;color:#f5f7fa;width:min(36vw,280px);max-width:280px;transform:translate3d(-50%,calc(var(--lp-hidden,70%) - (var(--lp-mark-lift,0) * 22vh)),0) scale3d(var(--lp-mark-scale,1),var(--lp-mark-scale,1),1);transform-origin:50%;opacity:.96;will-change:transform,opacity;pointer-events:none;position:absolute;bottom:0;left:50%}.lp-intro-mark:before{content:"";z-index:-1;opacity:calc(.16 + (var(--lp-mark-glow,0) * .72));transform:scale3d(calc(.72 + (var(--lp-mark-glow,0) * .42)),calc(.72 + (var(--lp-mark-glow,0) * .42)),1);will-change:opacity,transform;background:radial-gradient(circle,#ffffff57,#ffffff14 32%,#0000 68%);border-radius:50%;position:absolute;inset:-55%}.lp-intro-mark-inner{will-change:transform;animation:5.5s ease-in-out infinite lp-subtle-float;position:relative}.lp-intro-mark .brand-logo-mark{width:100%;height:auto;transform:none}.lp-portal-curtain{z-index:58;width:100%;height:100%;opacity:var(--lp-curtain-opacity,1);pointer-events:none;position:absolute;inset:0}.lp-thunder{z-index:6;opacity:0;pointer-events:none;background:linear-gradient(112deg,#0000 30%,#ffffffeb 43%,#ffffff47 48%,#0000 62%),radial-gradient(circle at 50% 55%,#ffffffbd,#ffffff3d 30%,#0000 66%);position:absolute;inset:0}.lp-intro[data-scene="8"] .lp-thunder,.lp-thunder{opacity:calc(var(--lp-final,0) * (1 - var(--lp-final,0)) * 2.4)}.final-lightning-layer{z-index:40;pointer-events:none;opacity:var(--lp-thunder-opacity,0);filter:blur(calc((1 - var(--lp-final,0)) * 12px));transform:scale(calc(1.04 - (var(--lp-final,0) * .04)));will-change:opacity,filter,transform;background:#050505;position:fixed;inset:0}.scene-8-lightning-canvas{opacity:.95;mix-blend-mode:screen;width:100%;height:100%}.final-flash{z-index:60;pointer-events:none;opacity:0;will-change:opacity;background:#f5f7fa;position:fixed;inset:0}.scene-8-portal-open{z-index:55;pointer-events:none;opacity:var(--lp-portal-opacity,1);filter:blur(var(--lp-portal-blur,24px));clip-path:circle(var(--lp-portal-size,0%) at 50% 50%);will-change:clip-path,filter,opacity;background:radial-gradient(#f5f7fa00,#f5f7fa14 18%,#050505e0 42%,#050505);position:fixed;inset:0}.scene-8-shake{animation:.48s ease-in-out scene8Shake}.lp-progress{z-index:7;background:#ffffff0d;height:4px;position:absolute;bottom:0;left:0;right:0}.lp-progress span{background:var(--white);width:100%;height:100%;transform:scaleX(var(--lp-progress,0));transform-origin:0;will-change:transform;display:block;box-shadow:0 0 24px #ffffffc7}.lp-intro-final{animation:.62s cubic-bezier(.77,0,.175,1) forwards lp-intro-exit}@keyframes lp-scroll-bounce{0%,to{transform:translateY(var(--lp-hint-y,0px));opacity:.35}50%{transform:translateY(calc(var(--lp-hint-y,0px) + 8px));opacity:1}}@keyframes lp-subtle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes scene8Shake{0%,to{transform:translate(0)}20%{transform:translate(2px,-1px)}45%{transform:translate(-2px,1px)}70%{transform:translate(1px,1px)}}@keyframes lp-screen-shake{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}42%{transform:translate(2px,-1px)}64%{transform:translate(-2px,-1px)}82%{transform:translate(1px,1px)}}@keyframes lp-intro-exit{0%{opacity:1;transform:scale(1)}58%{opacity:1;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(1.012)}}@media(max-width:800px){.lp-center{top:41vh}.lp-center h1{letter-spacing:.035em;margin-bottom:clamp(3.9rem,8vh,5.6rem);font-size:clamp(38px,11vw,58px)}.lp-scroll-cue{font-size:48px}.lp-hint{font-size:18px}.lp-intro-mark{width:min(46vw,210px)}}.ed-hero{flex-direction:column;justify-content:center;min-height:86vh;padding:0 6rem;display:flex}.ed-hero-meta{margin-bottom:1.8rem}.ed-hero-title{letter-spacing:-.045em;font-size:clamp(2.8rem,9vw,8rem);font-weight:700;line-height:.92}.ed-line{display:block;overflow:hidden}.ed-line-inner{will-change:transform;display:block}.ed-hero-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:3rem;margin-top:3rem;display:flex}.ed-hero-sub{max-width:44ch;color:var(--t2);font-size:1.05rem}.ed-hero-links{flex-wrap:wrap;gap:2rem;display:flex}.ed-hero-links a{border-bottom:1px solid var(--black);transition:opacity .5s var(--ease);padding-bottom:2px;font-size:1rem;font-weight:500}.ed-hero-links a:hover{opacity:.5}@media(max-width:800px){.ed-hero{min-height:80vh;padding:0 20px}.ed-hero-title{font-size:13vw}.ed-hero-foot{flex-direction:column;align-items:flex-start;gap:1.5rem}}.ed-cover{transition:transform .7s var(--ease);flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex;position:absolute;inset:0}.ed-cover-light{background:var(--white);color:var(--black);border:1px solid var(--line)}.ed-cover-dark{background:var(--black);color:var(--white)}.ed-cover-dark .ed-meta{color:#ffffff8c}.ed-cover-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ed-cover-sym{font-size:1.8rem;line-height:1}.ed-cover-title{letter-spacing:-.05em;font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:700;line-height:.9}.ed-cover-bot{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.ed-cover-desc{opacity:.85;max-width:28ch;font-size:.9rem}.ed-cover-year{flex:none}.ed-cover-dark .ed-cover-desc{color:#ffffffbf}.ed-marquee{--mq-gap:clamp(1rem, 2vw, 1.5rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;padding:clamp(2.5rem,6vw,4rem) 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ed-marquee-track{gap:var(--mq-gap);will-change:transform;width:max-content;animation:34s linear infinite ed-carousel-loop;display:flex}.ed-marquee:hover .ed-marquee-track{animation-play-state:paused}.ed-marquee-group{gap:var(--mq-gap);flex:none;display:flex}@keyframes ed-carousel-loop{0%{transform:translate(0)}to{transform:translate3d(calc(-50% - (var(--mq-gap) / 2)),0,0)}}.ed-mq-card{aspect-ratio:5/7;flex:none;width:clamp(250px,20vw,360px);position:relative;overflow:hidden}.ed-mq-card:hover .ed-cover{transform:scale(1.04)}.ed-mq-card .ed-cover{padding:clamp(1.1rem,1.8vw,1.55rem)}.ed-mq-card .ed-cover-title{font-size:clamp(1.45rem,1.9vw,2rem)}.ed-mq-card .ed-cover-desc{font-size:clamp(.8rem,.85vw,.92rem)}.ed-mq-0{border-top-left-radius:100px}.ed-mq-1{border-top-right-radius:100px;border-bottom-left-radius:44px}.ed-mq-2{border-radius:44px}.ed-mq-card .ed-cover{border-radius:inherit}@media(max-width:800px){.ed-marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.ed-marquee-track{animation-duration:24s}.ed-mq-card{width:min(74vw,300px)}}.ed-section{padding:7rem 6rem}.ed-section-head{max-width:60ch;margin-bottom:4rem}.ed-section-title{letter-spacing:-.05em;margin:.8rem 0;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:.95}.ed-section-desc{color:var(--t2);max-width:45ch;font-size:1.05rem}@media(max-width:800px){.ed-section{padding:4.5rem 20px}}.ed-work-section{isolation:isolate;position:relative;overflow:visible}.ed-work-journey{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:visible}.ed-work-journey svg{transform-box:fill-box;transform-origin:50%;width:100%;height:100%;transition:opacity .22s var(--ease);will-change:opacity;overflow:visible}.ed-journey-track,.ed-journey-line,.ed-journey-node-halo,.ed-journey-node{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.ed-journey-track{stroke:#0000001a;stroke-width:2px}.ed-journey-line{stroke:url(#ed-journey-gradient);stroke-width:3px;opacity:var(--lp-flash-opacity,0);filter:drop-shadow(0 0 12px #4f46e538);transition:opacity .18s}.ed-journey-node-halo{fill:#ffffffbd;stroke:#00000014;stroke-width:1px}.ed-journey-node{fill:var(--white);stroke:#00000038;stroke-width:2px;opacity:.72;transform-box:fill-box;transform-origin:50%;transition:fill .32s var(--ease),opacity .32s var(--ease),stroke .32s var(--ease),transform .32s var(--ease),filter .32s var(--ease)}.ed-journey-node[data-active=true]{fill:#7c3aed;stroke:#f8fafc;opacity:1;filter:drop-shadow(0 0 12px #7c3aed6b);transform:scale(1.22)}.ed-journey-orb-glow,.ed-journey-orb-core{pointer-events:none;transform-box:fill-box;transform-origin:50%;transition:opacity .22s var(--ease);will-change:opacity}.ed-journey-orb-glow{fill:#7c3aed47;opacity:1;filter:blur(1.5px)drop-shadow(0 0 18px #7c3aed8c)drop-shadow(0 0 28px #06b6d438)}.ed-journey-orb-core{fill:#7c3aed;stroke:#f8fafce6;stroke-width:1.5px;opacity:1;filter:drop-shadow(0 0 6px #ffffffc7)drop-shadow(0 0 12px #7c3aede0)drop-shadow(0 0 22px #06b6d457)}.ed-list{z-index:2;position:relative}.ed-list-with-journey{padding:2rem 0 3rem}.ed-row{border:0;align-items:center;min-height:clamp(38rem,86vh,58rem);display:flex;position:relative}.ed-row-left{justify-content:flex-start}.ed-row-right{justify-content:flex-end}.ed-row-link{border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(64vw,760px);transition:transform .5s var(--ease),opacity .5s var(--ease);background:#ffffffb8;grid-template-columns:3.5rem 1fr auto 1.75rem;align-items:center;gap:2rem;padding:clamp(2rem,4vw,3.5rem) 0;display:grid}.ed-row-link:hover{transform:translate(10px)}.ed-row-right .ed-row-link:hover{transform:translate(-10px)}.ed-row-index{align-self:start;padding-top:.7rem}.ed-row-titlewrap{flex-direction:column;gap:.55rem;min-width:0;display:flex}.ed-row-title{letter-spacing:-.045em;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:.95}.ed-row-desc{color:var(--t2);max-width:54ch;font-size:1rem}.ed-row-end{text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.ed-row-arrow{opacity:0;width:28px;height:28px;transition:opacity .45s var(--ease),transform .45s var(--ease);transform:translate(-10px,10px)}.ed-row-link:hover .ed-row-arrow{opacity:1;transform:translate(0)}@media(max-width:800px){.ed-list-with-journey{padding-left:2.6rem}.ed-journey-track{stroke-width:1.4px}.ed-journey-line{stroke-width:2px}.ed-journey-node{stroke-width:1.5px}.ed-row{justify-content:flex-start;min-height:clamp(31rem,74vh,46rem)}.ed-row-link{background:#ffffffd1;grid-template-columns:1fr;gap:.7rem;width:100%;padding:2.2rem 0}.ed-row-link:hover,.ed-row-right .ed-row-link:hover{transform:none}.ed-row-index{display:none}.ed-row-end{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}.ed-row-arrow{display:none}}.ed-stackwrap{padding-top:0}.ed-stack{flex-wrap:wrap;gap:.6rem 1.5rem;display:flex}.ed-stack span{letter-spacing:-.04em;transition:color .4s var(--ease);font-size:clamp(1.6rem,4vw,3rem);font-weight:700}.ed-stack span:hover{color:var(--t3)}.ed-contact{padding:8rem 6rem}.ed-contact-mail{letter-spacing:-.05em;transition:opacity .5s var(--ease);margin-top:1.5rem;font-size:clamp(2rem,7vw,6rem);font-weight:700;line-height:1;display:inline-block}.ed-contact-mail:hover{opacity:.5}@media(max-width:800px){.ed-contact{padding:5rem 20px}.ed-contact-mail{word-break:break-word}}.ed-footer{color:var(--white);background:#0a0a0a;padding:5rem 6rem 2.5rem}.ed-footer-grid{grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:4rem;display:grid}.ed-footer-logo{letter-spacing:-.04em;margin-bottom:1rem;font-size:2rem;font-weight:700;display:inline-flex}.ed-footer-bio{color:#fff9;max-width:42ch}.ed-footer-col{flex-direction:column;gap:.6rem;display:flex}.ed-footer-col .ed-meta{color:#ffffff73;margin-bottom:.5rem}.ed-footer-col a,.ed-footer-col span{color:var(--white);transition:opacity .4s var(--ease);font-size:.95rem}.ed-footer-col a:hover{opacity:.55}.ed-footer-bottom{color:#fff9;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:14px;display:flex}.ed-footer-bottom .ed-meta{color:#fff6}@media(max-width:800px){.ed-footer{padding:3.5rem 20px 2rem}.ed-footer-grid{grid-template-columns:1fr;gap:2.2rem}}.ed-detail{padding:9rem 6rem 0}.ed-detail-back{text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--black);margin-bottom:3rem;padding-bottom:2px;font-family:ui-monospace,monospace;font-size:13px;display:inline-block}.ed-detail-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:2.5rem;display:flex}.ed-detail-title{letter-spacing:-.05em;font-size:clamp(3rem,9vw,8rem);font-weight:700;line-height:.9}.ed-detail-headmeta{text-align:right}.ed-detail-desc{color:var(--t2);max-width:60ch;margin:2.5rem 0 3rem;font-size:1.15rem}.ed-detail-preview{aspect-ratio:16/10;border:1px solid var(--line);background:#f7f7f7;width:100%;position:relative;overflow:hidden}.ed-detail-preview iframe{border:0;width:100%;height:100%}.ed-detail-coverwrap{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.ed-detail-coverwrap .ed-cover-title{font-size:clamp(2.5rem,6vw,5rem)}.ed-detail-actions{flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 0;display:flex}.ed-detail-btn{font:inherit;color:inherit;border:0;border-bottom:1px solid var(--black);cursor:pointer;transition:opacity .4s var(--ease);background:0 0;padding:0 0 3px;font-weight:600;display:inline-block}.ed-detail-btn:hover{opacity:.5}.ed-detail-note{color:var(--t3);max-width:60ch;margin-top:1.25rem;font-size:.9rem}.ed-detail-about{grid-template-columns:1fr 1fr;gap:3rem 4rem;padding:5rem 0 7rem;display:grid}.ed-detail-about h2{letter-spacing:-.04em;margin-bottom:1rem;font-size:1.6rem;font-weight:700}.ed-detail-about p{color:var(--t2)}.ed-detail-list{list-style:none}.ed-detail-list li{border-bottom:1px solid var(--line);padding:.6rem 0}.ed-detail-tags{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.ed-detail-tags span{letter-spacing:-.03em;font-size:1.25rem;font-weight:700}.ed-detail-shots{padding:4rem 0 0}.ed-detail-shots .ed-meta{margin-bottom:1.5rem}.ed-shots-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media(max-width:800px){.ed-shots-grid{grid-template-columns:1fr}}.ed-shot{border:1px solid var(--line);background:#f2f2f2;display:block;overflow:hidden}.ed-shot img{filter:grayscale();width:100%;transition:filter .6s var(--ease),transform .6s var(--ease);display:block}.ed-shot:hover img{filter:grayscale(0);transform:scale(1.02)}@media(max-width:800px){.ed-detail{padding:7rem 20px 0}.ed-detail-head{align-items:flex-start}.ed-detail-headmeta{text-align:left}.ed-detail-about{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 0 5rem}}.ed-brand{perspective:1400px;justify-content:center;align-items:center;min-height:110vh;padding:16rem 6rem;display:flex;overflow:hidden}.ed-brand-mark{aspect-ratio:1;width:clamp(150px,22vw,320px);transform-style:preserve-3d;will-change:transform;justify-content:center;align-items:center;display:flex}.ed-brand-mark .brand-logo{font-size:clamp(9rem,22vw,20rem)}@media(max-width:800px){.ed-brand{min-height:90vh;padding:9rem 20px}}.zl-overlay{z-index:9998;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;display:flex;position:fixed;inset:0}.zl-mark{filter:drop-shadow(0 0 28px #ffffff14)}.zl-text{text-transform:uppercase;letter-spacing:.3em;color:#ffffff80;font-family:ui-monospace,JetBrains Mono,monospace;font-size:12px;animation:1.6s ease-in-out infinite zl-pulse}@keyframes zl-pulse{0%,to{opacity:.35}50%{opacity:.9}}@media(prefers-reduced-motion:reduce){.ed *{transition:none!important}}
