:root{--ink:#100d05;--paper:#f6effb;--violet:#592581;--magenta:#a30098;--gold:#d69a10;--muted:#8f8991;--line:rgba(246,239,251,.2);--display:'Archivo Black',Impact,sans-serif;--body:'Space Grotesk',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);overflow-x:hidden;cursor:none}a,button{color:inherit}a{ text-decoration:none}button{font:inherit}.noise{position:fixed;inset:-50%;pointer-events:none;z-index:30;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");animation:noiseShift .25s steps(2) infinite}.cursor{position:fixed;z-index:100;left:0;top:0;width:18px;height:18px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;transition:width .2s,height .2s,background .2s,border-radius .2s;mix-blend-mode:difference}.cursor.active{width:74px;height:74px;background:var(--gold);color:var(--ink);border-color:var(--gold)}.topbar{height:76px;position:absolute;z-index:60;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 4.2vw;border-bottom:1px solid rgba(246,239,251,.13)}.brand{display:flex;align-items:center;gap:10px;font:15px var(--display);letter-spacing:-.04em}.brand sup{font:9px var(--mono);vertical-align:top;margin-left:2px;color:var(--gold)}.brand-light{font-family:var(--body);font-weight:300}.brand-mark{width:28px;height:28px;object-fit:contain}.topbar-status,.menu-meta,.menu-bottom,.hero-kicker,.hero-index,.scroll-cue,.section-label,.micro-copy,.project-meta>span,.work-footer,.eyebrow,.about-facts span,.service-no,.service-bottom p,.contact-top,footer,.dialog-index,.dialog-footer,.portrait-tag,.portrait-number{font:10px var(--mono);letter-spacing:.06em}.topbar-status{color:#a9a2ab}.topbar-status i{display:inline-block;width:6px;height:6px;background:#b8e2a4;border-radius:50%;margin-right:8px;box-shadow:0 0 12px #b8e2a4}.menu-toggle{border:0;background:none;display:flex;align-items:center;gap:11px;font:10px var(--mono);letter-spacing:.1em;cursor:none}.menu-toggle b{display:block;width:17px;height:1px;background:var(--paper);position:absolute;right:4.2vw;transition:transform .3s}.menu-toggle b:first-of-type{transform:translateY(-3px)}.menu-toggle b:last-of-type{transform:translateY(3px)}.menu-toggle span{margin-right:32px}.menu-toggle[aria-expanded=true] b:first-of-type{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] b:last-of-type{transform:rotate(-45deg)}.site-menu{position:fixed;z-index:55;inset:0;background:var(--violet);padding:100px 7vw 35px;display:flex;flex-direction:column;justify-content:center;transform:translateY(-105%);transition:transform .65s cubic-bezier(.76,0,.24,1)}.site-menu.open{transform:translateY(0)}.menu-meta,.menu-bottom{display:flex;justify-content:space-between;color:rgba(246,239,251,.65)}.site-menu>a{font:clamp(36px,7vw,100px)/1.06 var(--display);letter-spacing:-.07em;border-bottom:1px solid rgba(246,239,251,.25);padding:1.3vh 0;transition:padding .3s,color .3s}.site-menu>a:hover{padding-left:2vw;color:var(--gold)}.site-menu>a small{font:11px var(--mono);letter-spacing:0;vertical-align:top;margin-right:2vw}.site-menu>a em{float:right;font:normal .5em var(--body);margin-top:1em}.menu-bottom{margin-top:5vh}.hero{min-height:100svh;position:relative;overflow:hidden;padding:120px 4.2vw 30px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 52% 48%,rgba(89,37,129,.2),transparent 42%),var(--ink)}.hero-kicker{display:flex;justify-content:space-between;color:#aaa3ac;position:relative;z-index:3}.hero-wordmark{position:absolute;top:17%;left:4.5%;right:3%;font:clamp(110px,24.8vw,370px)/.69 var(--display);letter-spacing:-.105em;color:var(--paper);z-index:1;white-space:nowrap;user-select:none}.hero-wordmark>span{display:block}.hero-wordmark .wordmark-bottom{margin-left:23%;color:transparent;-webkit-text-stroke:1px rgba(246,239,251,.7)}.period{color:var(--magenta);-webkit-text-stroke:0}.hero-logo{position:absolute;width:clamp(220px,31vw,440px);aspect-ratio:1;object-fit:contain;left:47%;top:24%;transform:translateX(-50%) rotate(-8deg);z-index:2;filter:drop-shadow(0 0 45px rgba(163,0,152,.2));will-change:transform}.hero-orbit{position:absolute;border:1px solid rgba(214,154,16,.3);border-radius:50%;width:44vw;height:44vw;max-width:640px;max-height:640px;left:47%;top:49%;transform:translate(-50%,-50%);z-index:0}.orbit-two{width:58vw;height:58vw;border-color:rgba(163,0,152,.2);transform:translate(-50%,-50%) rotate(32deg) scaleY(.55)}.hero-scratch{position:absolute;inset:14% -8% 8% 20%;background:url('assets/scratches.png') center/cover no-repeat;mix-blend-mode:screen;opacity:.14;pointer-events:none;transform:rotate(-9deg);z-index:3}.hero-side-note{position:absolute;right:4.2vw;top:43%;display:flex;align-items:center;gap:12px;font:10px var(--mono);line-height:1.45;letter-spacing:.08em;z-index:4}.side-line{width:35px;height:1px;background:var(--gold)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;position:relative;z-index:5}.hero-bottom p{font-size:14px;line-height:1.45;color:#a9a2ab;margin:0}.hero-bottom p span{color:var(--paper)}.scroll-cue{justify-self:center;display:flex;align-items:center;gap:18px}.scroll-cue b{font-size:17px;color:var(--gold);font-weight:400}.hero-index{justify-self:end;color:#a9a2ab}.hero-star{position:absolute;color:var(--gold);font-size:20px;z-index:4}.star-a{top:27%;left:19%}.star-b{right:20%;bottom:27%;font-size:13px;color:var(--magenta)}.reel-section,.work-section,.about-section,.services-section{padding:34px 4.2vw 120px;position:relative}.section-label{display:flex;justify-content:space-between;color:#a9a2ab}.reel-frame{margin:55px auto 0;position:relative;width:88%;height:min(70vw,690px);min-height:430px;background:#19121e;overflow:hidden;isolation:isolate}.reel-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#6b2e8c 0,transparent 32%),radial-gradient(ellipse at 36% 67%,#302039 0,transparent 42%),linear-gradient(130deg,#100d05,#25162e 60%,#100d05)}.reel-ring{position:absolute;border:1px solid rgba(246,239,251,.45);width:58%;aspect-ratio:1;border-radius:50%;left:49%;top:50%;transform:translate(-50%,-50%) rotateX(62deg) rotate(30deg)}.ring-b{width:83%;transform:translate(-50%,-50%) rotateX(62deg) rotate(-38deg);border-color:rgba(214,154,16,.5)}.reel-sphere{position:absolute;width:33%;aspect-ratio:1;border-radius:45% 55% 62% 38%;left:49%;top:45%;transform:translate(-50%,-50%) rotate(25deg);background:linear-gradient(130deg,#f6effb 0%,#9b78b6 15%,#25132e 35%,#d69a10 56%,#592581 74%,#100d05 95%);box-shadow:inset -28px -20px 40px #100d05, inset 12px 10px 30px #fff4,0 0 100px #59258166;animation:floatSphere 8s ease-in-out infinite}.reel-cross{position:absolute;left:65%;top:23%;font-size:clamp(30px,6vw,90px);color:var(--magenta);animation:spin 30s linear infinite}.reel-type{position:absolute;top:16%;left:8%;font:clamp(34px,7vw,100px)/.83 var(--display);letter-spacing:-.07em;color:var(--paper);z-index:2}.reel-type i{font-style:normal;color:var(--gold)}.reel-scratch-overlay{position:absolute;inset:-10%;background:url('assets/scratches.png') center/cover;mix-blend-mode:screen;opacity:.15;transform:rotate(8deg)}.reel-play{position:absolute;right:5%;bottom:12%;display:flex;align-items:center;gap:12px;background:var(--gold);color:var(--ink);border:0;padding:15px 18px;border-radius:50px;cursor:none;z-index:4}.reel-play span{font-size:24px}.reel-play small{font:9px var(--mono);text-align:left;line-height:1.5}.reel-caption{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;padding:18px 20px;font:9px var(--mono);letter-spacing:.06em;border-top:1px solid #f6effb55;z-index:3}.reel-bottomline{width:88%;margin:25px auto 0;display:flex;align-items:end;justify-content:space-between}.reel-bottomline p{font-size:clamp(19px,2.5vw,32px);line-height:1.12;margin:0;letter-spacing:-.05em}.reel-bottomline p span{color:#89818e}.micro-copy{color:#a9a2ab}.work-section{padding-top:95px;overflow:hidden}.work-heading{position:relative;min-height:440px}.work-heading h2{font:clamp(90px,18vw,260px)/.76 var(--display);letter-spacing:-.105em;margin:75px 0 0 8%;position:relative;z-index:1}.heading-outline{color:transparent;-webkit-text-stroke:1px var(--paper);margin-left:.13em}.heading-star{color:var(--magenta);font:0.42em var(--body);vertical-align:top;display:inline-block;margin:0 0 0 .15em;animation:spin 25s linear infinite}.work-intro{position:absolute;right:4%;top:50%;font-size:13px;line-height:1.5;color:#b7aebb}.project-field{position:relative;min-height:1420px;margin-top:35px}.project{position:absolute;cursor:none;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.project:hover{z-index:10}.project-01{width:45%;left:4%;top:0}.project-02{width:32%;right:4%;top:14%}.project-03{width:37%;left:20%;top:52%}.project-04{width:31%;right:4%;top:67%}.project-visual{width:100%;aspect-ratio:1.12;position:relative;overflow:hidden;background:#21172a;isolation:isolate;transition:transform .5s}.project:hover .project-visual{transform:scale(.985)}.visual-3d{background:radial-gradient(ellipse at 50% 50%,#6e4b83 0,transparent 36%),linear-gradient(135deg,#17111a,#3a2444 55%,#100d05)}.visual-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:#a3009855;filter:blur(45px);left:15%;top:18%}.chrome-object{position:absolute;width:47%;height:58%;left:28%;top:18%;border-radius:44% 56% 32% 68%;transform:rotate(32deg);background:linear-gradient(135deg,#f6effb,#84748c 13%,#251d2a 24%,#d69a10 37%,#f6effb 43%,#36213e 57%,#a30098 70%,#100d05 86%);box-shadow:inset -20px -30px 35px #100d05, inset 10px 10px 20px #fff8,0 30px 50px #0009;transition:transform .8s}.project:hover .chrome-object{transform:rotate(48deg) scale(1.08)}.visual-stamp{position:absolute;left:6%;top:6%;font:10px var(--mono);line-height:1.3}.visual-serial{position:absolute;right:5%;bottom:5%;font:9px var(--mono);color:var(--gold)}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:14px}.project-meta>span{font-size:9px;color:#a9a2ab}.project-meta>span:nth-child(2){text-align:right}.project-meta h3{grid-column:1/-1;font:clamp(28px,4.5vw,64px)/.82 var(--display);letter-spacing:-.075em;margin:9px 0 0;position:relative}.project-meta h3 span{font:24px var(--body);color:var(--gold);float:right;transition:transform .3s}.project:hover .project-meta h3 span{transform:translate(5px,-5px)}.visual-type{background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center}.type-giant{font:clamp(38px,6vw,84px)/.75 var(--display);letter-spacing:-.1em;transform:rotate(-8deg);position:relative;z-index:2}.type-giant span{color:var(--magenta)}.type-mini{position:absolute;bottom:6%;left:6%;font:9px var(--mono);line-height:1.5}.type-stripe{position:absolute;inset:48% -10% auto;height:24%;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 9px);transform:rotate(-25deg);opacity:.85}.visual-film{background:linear-gradient(180deg,#302d32 0%,#9b6747 47%,#1c1720 100%)}.film-sun{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f6effb,#d69a10 40%,#a34d39 65%,transparent 70%);left:28%;top:8%;filter:blur(1px)}.film-silhouette{position:absolute;bottom:-18%;left:28%;width:42%;height:62%;border-radius:45% 45% 0 0;background:#100d05;transform:rotate(-9deg);box-shadow:60px 0 0 #100d05}.film-title{position:absolute;left:7%;top:10%;font:clamp(30px,5vw,66px)/.8 var(--display);letter-spacing:-.09em}.film-time{position:absolute;bottom:5%;right:5%;font:9px var(--mono)}.visual-texture{background:#050505}.visual-texture img{width:100%;height:100%;object-fit:cover;opacity:.92;mix-blend-mode:screen;transition:transform .8s}.project:hover .visual-texture img{transform:scale(1.08) rotate(2deg)}.texture-label{position:absolute;top:9%;left:8%;font:clamp(30px,4vw,56px)/.8 var(--display);letter-spacing:-.08em}.texture-index{position:absolute;right:5%;bottom:5%;font:10px var(--mono);color:var(--gold)}.field-note{position:absolute;font:clamp(12px,1.6vw,20px)/.95 var(--display);letter-spacing:-.04em;color:var(--gold)}.note-one{top:34%;right:7%;transform:rotate(8deg)}.note-two{top:87%;left:3%;color:var(--magenta);transform:rotate(-7deg)}.field-logo{position:absolute;width:100px;height:100px;object-fit:contain;left:3%;top:37%;opacity:.8;transform:rotate(14deg)}.work-footer{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;color:#a9a2ab}.statement-section{position:relative;min-height:92vh;overflow:hidden;padding:80px 4.2vw 45px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}.statement-section .section-label{color:#6b626d;position:relative;z-index:2}.statement-bg-word{position:absolute;left:-4%;top:19%;font:clamp(130px,30vw,440px)/.8 var(--display);letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px rgba(89,37,129,.22);white-space:nowrap}.statement{position:relative;z-index:1;font:clamp(60px,12vw,170px)/.82 var(--display);letter-spacing:-.1em;margin:8vh 0 10vh 8%;}.statement span{color:var(--violet);margin-left:12%}.statement-bottom{display:flex;align-items:end;justify-content:space-between;position:relative;z-index:2}.statement-symbol{font-size:55px;color:var(--magenta);animation:spin 30s linear infinite}.statement-bottom p{font-size:14px;line-height:1.4;margin:0 auto 0 20px}.statement-bottom>span:last-child{font:10px var(--mono);letter-spacing:.05em}.about-section{padding-top:95px;padding-bottom:145px}.about-layout{display:grid;grid-template-columns:1fr .9fr;gap:11%;align-items:center;margin:80px 6% 0}.portrait-wrap{position:relative;width:100%;max-width:520px}.portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:48% 25%;filter:saturate(.7) contrast(1.04);position:relative;z-index:1}.portrait-frame{position:absolute;inset:5% -7% 0 7%;border:1px solid var(--magenta);z-index:0}.portrait-tag{position:absolute;left:-10%;bottom:18%;z-index:2;background:var(--gold);color:var(--ink);padding:14px;line-height:1.4;transform:rotate(-5deg)}.portrait-number{position:absolute;right:-5%;top:4%;z-index:2;writing-mode:vertical-rl;color:var(--gold)}.about-copy{padding-top:30px}.eyebrow{color:var(--gold)}.about-copy h2{font:clamp(65px,10vw,140px)/.78 var(--display);letter-spacing:-.1em;margin:30px 0 36px}.about-copy h2 span{color:var(--magenta)}.about-lead{font-size:clamp(20px,2.3vw,30px);line-height:1.12;letter-spacing:-.05em;max-width:460px}.about-body{font-size:14px;line-height:1.75;color:#aaa2ad;max-width:440px;margin-top:24px}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0}.about-facts div{border-top:1px solid var(--line);padding-top:12px}.about-facts span{display:block;color:var(--gold);margin-bottom:12px}.about-facts b{font-size:13px;line-height:1.5;font-weight:500}.text-link{font:10px var(--mono);letter-spacing:.05em;display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid var(--gold);padding-bottom:12px}.text-link span{color:var(--gold);font-size:18px}.services-section{padding-top:80px;padding-bottom:140px;background:#17111b}.services-heading{display:flex;align-items:end;justify-content:space-between;margin:70px 0 50px}.services-heading h2{font:clamp(60px,10vw,140px)/.8 var(--display);letter-spacing:-.1em;margin:0}.services-heading h2 span{color:var(--magenta)}.services-heading p{font-size:14px;line-height:1.4;color:#a9a2ab;margin:0 4% 4px 0}.service-grid{display:grid;grid-template-columns:1.2fr .85fr .85fr;gap:12px;align-items:start}.service{position:relative;min-width:0;cursor:none}.service:nth-child(2){margin-top:100px}.service:nth-child(3){margin-top:35px}.service-no{display:block;color:#aaa2ad;margin-bottom:12px}.service-art{aspect-ratio:.83;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.service-art-3d{background:radial-gradient(ellipse,#513165 0,transparent 60%),#100d05}.service-orb{width:58%;aspect-ratio:1;border-radius:40% 60% 60% 40%;background:linear-gradient(130deg,#f6effb,#8d7a99 15%,#2b1d32 27%,#d69a10 41%,#f6effb 48%,#592581 64%,#100d05 86%);box-shadow:inset -25px -25px 35px #100d05,inset 10px 10px 18px #fff9,0 20px 50px #0008;transform:rotate(-22deg);transition:transform .8s}.service:hover .service-orb{transform:rotate(15deg) scale(1.08)}.service-art-3d>span{position:absolute;right:8%;top:8%;font:clamp(30px,4vw,65px) var(--display);color:var(--gold)}.service-art-motion{background:var(--magenta)}.motion-letter{font:clamp(180px,25vw,360px)/.8 var(--display);letter-spacing:-.15em;color:var(--ink);transform:rotate(-12deg) translateX(-12%);transition:transform .5s}.motion-letter.second{position:absolute;color:var(--paper);opacity:.6;transform:rotate(12deg) translate(13%,4%);mix-blend-mode:screen}.service:hover .motion-letter{transform:rotate(0) translateX(-8%)}.motion-cross{position:absolute;right:8%;bottom:8%;font-size:35px;color:var(--gold)}.service-art-film{background:linear-gradient(150deg,#d69a10,#592581 52%,#100d05)}.service-art-film>span{font:clamp(30px,4.4vw,65px)/.82 var(--display);letter-spacing:-.09em;position:relative;z-index:2;transform:rotate(-8deg)}.film-bars{position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 22px,#100d0580 23px 26px,transparent 27px 48px);transform:scale(1.3);transition:transform .6s}.service:hover .film-bars{transform:scale(1.6) rotate(5deg)}.service-bottom{position:relative;padding:18px 0 0;border-top:1px solid #f6effb55;margin-top:14px}.service-bottom h3{font:clamp(24px,3vw,38px) var(--display);letter-spacing:-.07em;margin:0 0 9px}.service-bottom p{color:#aaa2ad;line-height:1.5;max-width:250px;font-size:9px}.service-arrow{position:absolute;right:0;top:15px;font-size:20px;color:var(--gold)}.contact-section{position:relative;overflow:hidden;padding:35px 4.2vw 25px;background:var(--paper);color:var(--ink);min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}.contact-top{display:flex;justify-content:space-between;position:relative;z-index:2;color:#5c535f}.contact-section h2{position:relative;z-index:2;font:clamp(100px,21vw,300px)/.69 var(--display);letter-spacing:-.12em;margin:10vh 0 8vh 4%;}.contact-section h2>span:first-child{color:var(--violet);margin-left:16%}.contact-dot{color:var(--magenta)}.contact-scratch{position:absolute;right:-8%;top:5%;width:58%;height:65%;background:url('assets/scratches.png') center/cover;opacity:.19;mix-blend-mode:multiply;transform:rotate(-12deg)}.contact-bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:2;margin:0 2% 70px}.contact-bottom p{font-size:clamp(19px,2.5vw,32px);line-height:1.12;letter-spacing:-.05em;margin:0 0 28px}.email-link{display:inline-block;font:clamp(22px,3vw,40px) var(--display);letter-spacing:-.06em;border-bottom:2px solid var(--magenta);padding-bottom:8px}.contact-bottom small{display:block;font-size:10px;color:#776d7b;margin-top:12px}.contact-right{display:grid;grid-template-columns:70px auto;gap:8px 16px;align-items:center}.contact-right img{width:70px;height:70px;object-fit:contain;grid-row:span 2}.contact-right>span{font:10px var(--mono);line-height:1.5}.contact-right>a{font:9px var(--mono);color:#6f6474}.contact-section footer{position:relative;z-index:2;border-top:1px solid #100d0533;padding-top:16px;display:flex;justify-content:space-between;color:#756b79;font-size:9px}.contact-section footer a{color:var(--ink);font-family:var(--display)}.project-dialog{width:min(760px,90vw);max-height:90vh;overflow:auto;background:var(--paper);color:var(--ink);border:0;padding:35px}.project-dialog::backdrop{background:#100d05d9;backdrop-filter:blur(10px)}.dialog-close{position:absolute;right:22px;top:22px;border:1px solid #100d0555;background:none;padding:9px 12px;font:10px var(--mono);cursor:pointer}.dialog-index{color:#776d7b}.project-dialog h2{font:clamp(45px,8vw,90px)/.85 var(--display);letter-spacing:-.09em;margin:30px 0 10px}.project-dialog>p{color:#776d7b;font-size:14px}.dialog-art{height:280px;margin:28px 0;background:radial-gradient(ellipse at center,#592581,#100d05);position:relative;overflow:hidden}.dialog-footer{display:flex;justify-content:space-between;border-top:1px solid #100d0533;padding-top:14px;color:#776d7b}@keyframes floatSphere{0%,100%{transform:translate(-50%,-50%) rotate(25deg) translateY(0)}50%{transform:translate(-50%,-50%) rotate(40deg) translateY(-15px)}}@keyframes spin{to{rotate:360deg}}@keyframes noiseShift{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1500px){.hero-wordmark{top:14%}.project-field{min-height:1650px}.project-03{top:49%}.project-04{top:68%}}
@media(max-width:800px){body{cursor:auto}.cursor{display:none}.topbar{height:65px;padding:0 5vw}.menu-toggle{cursor:pointer}.menu-toggle b{right:5vw}.hero{padding:100px 5vw 25px;min-height:90svh}.hero-wordmark{top:24%;left:3%;font-size:25vw}.hero-logo{width:48vw;left:49%;top:30%}.hero-side-note{right:5vw;top:55%;font-size:8px}.hero-orbit{width:70vw;height:70vw;top:48%}.orbit-two{width:90vw;height:90vw}.hero-bottom{grid-template-columns:1fr auto;gap:20px}.hero-bottom p{font-size:12px}.scroll-cue{justify-self:end}.hero-index{display:none}.hero-kicker{font-size:8px}.reel-section,.work-section,.about-section,.services-section{padding-left:5vw;padding-right:5vw}.reel-frame{width:100%;min-height:400px;height:75vw;margin-top:35px}.reel-bottomline{width:100%}.reel-bottomline .micro-copy{max-width:130px;text-align:right;line-height:1.5}.work-heading{min-height:350px}.work-heading h2{margin-left:0;font-size:20vw;margin-top:80px}.work-intro{right:0;top:auto;bottom:5px;font-size:11px}.project-field{min-height:1180px;margin-top:40px}.project-01{width:65%;left:0;top:0}.project-02{width:46%;right:0;top:20%}.project-03{width:55%;left:6%;top:53%}.project-04{width:46%;right:0;top:72%}.project-meta h3{font-size:clamp(27px,6vw,48px)}.project-meta>span{font-size:7px}.field-logo{width:70px;height:70px;top:44%;left:auto;right:5%}.note-one{top:45%;right:4%}.note-two{top:92%;left:0}.statement-section{min-height:75vh;padding:45px 5vw 30px}.statement{margin:10vh 0;font-size:13vw}.statement span{margin-left:4%}.statement-bottom p{font-size:12px}.statement-bottom>span:last-child{font-size:8px;max-width:100px;text-align:right}.statement-symbol{font-size:38px}.about-layout{grid-template-columns:1fr;gap:70px;margin:60px 7% 0}.portrait-wrap{width:80%;max-width:400px}.about-copy{padding:0}.about-copy h2{font-size:clamp(75px,16vw,130px)}.about-body{max-width:560px}.services-heading{margin:55px 0 35px;align-items:start;flex-direction:column;gap:25px}.services-heading h2{font-size:13vw}.services-heading p{margin:0}.service-grid{grid-template-columns:1fr 1fr;gap:25px 12px}.service:nth-child(2),.service:nth-child(3){margin-top:0}.service-main{grid-column:span 2;width:75%}.service-art{aspect-ratio:.9}.service-bottom h3{font-size:clamp(23px,4.5vw,36px)}.contact-section{padding:30px 5vw 22px;min-height:90svh}.contact-section h2{font-size:23vw;margin:13vh 0 12vh}.contact-bottom{margin:0 0 55px;gap:20px}.contact-right{grid-template-columns:45px auto;gap:7px 10px}.contact-right img{width:45px;height:45px}.contact-right>span{font-size:8px}.contact-right>a{font-size:8px}.contact-bottom p{font-size:19px}.contact-section footer{font-size:7px}.contact-section footer span:nth-child(2){display:none}.project-dialog{padding:25px}}
@media(max-width:480px){.topbar-status{display:none}.hero-kicker span:last-child{display:none}.hero-wordmark{top:29%;font-size:27vw}.hero-logo{width:58vw;top:34%}.hero-side-note{top:60%}.hero-bottom p{font-size:11px}.scroll-cue{font-size:8px;gap:8px}.reel-frame{min-height:350px}.reel-type{font-size:13vw;top:17%}.reel-sphere{width:46%;left:55%;top:51%}.reel-caption{padding:12px;font-size:7px}.reel-caption span:last-child{max-width:115px;text-align:right}.reel-play{right:4%;bottom:14%;padding:10px 12px}.work-heading{min-height:310px}.work-heading h2{font-size:21vw}.work-intro{font-size:10px}.project-field{min-height:980px}.project-01{width:75%}.project-02{width:51%;top:23%}.project-03{width:63%;top:54%;left:0}.project-04{width:52%;top:75%}.project-meta{gap:5px}.project-meta>span{font-size:6px}.project-meta h3{font-size:27px}.project-meta h3 span{font-size:16px}.field-note{font-size:11px}.field-logo{width:52px;height:52px}.work-footer{font-size:7px}.statement{font-size:13.5vw;margin:12vh 0}.statement-bottom{gap:10px}.statement-bottom p{font-size:10px}.statement-symbol{font-size:28px}.statement-bottom>span:last-child{font-size:7px}.about-layout{margin-left:5%;margin-right:5%}.portrait-wrap{width:90%}.about-copy h2{font-size:21vw}.about-lead{font-size:22px}.about-body{font-size:13px}.about-facts{gap:12px}.about-facts b{font-size:11px}.service-grid{grid-template-columns:1fr 1fr}.service-main{width:100%}.service-bottom p{font-size:8px}.services-heading h2{font-size:14vw}.contact-section h2{font-size:24vw;margin:12vh 0}.contact-bottom{align-items:start;flex-direction:column}.contact-right{align-self:end;margin-top:10px}.contact-section footer{gap:10px}.contact-section footer span:last-child{text-align:right}.contact-top{font-size:8px}.contact-top span:last-child{max-width:130px;text-align:right}.dialog-art{height:200px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.noise{display:none}}

/* Actual portfolio content: expanded project field. */
.project-field-real{min-height:2600px}
.project-05{width:32%;left:1%;top:39%}
.project-06{width:31%;right:1%;top:43%}
.project-07{width:39%;left:8%;top:72%}
.project-08{width:30%;right:3%;top:81%}
.project-field-real .project-03{top:28%;left:25%;width:34%}
.project-field-real .project-04{top:34%;right:3%;width:29%}
.project-field-real .project-01{top:0;left:2%;width:43%}
.project-field-real .project-02{top:8%;right:4%;width:34%}
.project-meta h3{max-width:100%}
.dialog-footer a{color:var(--violet);text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){.project-field-real{min-height:2900px}.project-05{top:39%}.project-06{top:44%}.project-07{top:72%}.project-08{top:82%}}
@media(max-width:800px){.project-field-real{min-height:1850px}.project-field-real .project-01{width:65%;left:0;top:0}.project-field-real .project-02{width:46%;right:0;top:13%}.project-field-real .project-03{width:55%;left:5%;top:27%}.project-field-real .project-04{width:46%;right:0;top:38%}.project-field-real .project-05{width:52%;left:0;top:50%}.project-field-real .project-06{width:46%;right:0;top:59%}.project-field-real .project-07{width:57%;left:4%;top:70%}.project-field-real .project-08{width:45%;right:0;top:82%}}
@media(max-width:480px){.project-field-real{min-height:1580px}.project-field-real .project-01{width:75%;left:0;top:0}.project-field-real .project-02{width:51%;right:0;top:13%}.project-field-real .project-03{width:63%;left:0;top:26%}.project-field-real .project-04{width:52%;right:0;top:38%}.project-field-real .project-05{width:57%;left:0;top:49%}.project-field-real .project-06{width:50%;right:0;top:60%}.project-field-real .project-07{width:63%;left:0;top:70%}.project-field-real .project-08{width:53%;right:0;top:82%}}

/* Keep the grain texture static and viewport-sized to reduce repaint work. */
.noise{display:block;inset:0;opacity:.035;animation:none}

/* Native dialogs render above the page-level custom cursor. Keep a visible system pointer inside. */
.project-dialog{cursor:auto}
.project-dialog a{cursor:pointer}

/* Give project details more room while keeping the dialog usable on small screens. */
.project-dialog{width:min(1080px,92vw);max-height:min(92dvh,1000px);padding:clamp(28px,4.5vw,60px)}
.project-dialog>p{max-width:78ch;font-size:clamp(15px,1.25vw,18px);line-height:1.7;margin:16px 0 0}
.dialog-art{height:clamp(280px,38vh,420px);margin:30px 0}
.dialog-footer{gap:14px;align-items:center;flex-wrap:wrap}
@media(max-width:800px){.project-dialog{width:min(720px,94vw);max-height:92dvh;padding:28px 24px}.dialog-art{height:clamp(220px,38vh,340px)}}
@media(max-width:480px){.project-dialog{width:calc(100vw - 24px);max-height:94dvh;padding:24px 18px}.project-dialog h2{font-size:clamp(36px,10vw,52px)}.dialog-art{height:200px;margin:22px 0}.dialog-footer{align-items:flex-start;flex-direction:column}}

/* Separate each project's summary, role and production details. */
.dialog-art{height:clamp(220px,30vh,320px)}
.dialog-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 42px;margin:26px 0 30px}
.dialog-block{min-width:0;border-top:1px solid #100d0533;padding-top:12px}
.dialog-description-block{grid-column:1/-1}
.dialog-block h3{margin:0 0 9px;color:var(--violet);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.dialog-block p{margin:0;color:#413a44;font-size:14px;line-height:1.7}
.dialog-block[hidden]{display:none}
@media(max-width:800px){.dialog-details{gap:20px 24px;margin:22px 0 26px}.dialog-art{height:clamp(200px,30vh,300px)}}
@media(max-width:480px){.dialog-details{grid-template-columns:1fr;gap:17px;margin:20px 0 24px}.dialog-description-block{grid-column:auto}.dialog-block p{font-size:13px;line-height:1.6}}
.software-list{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 22px;min-height:28px;color:#776d7b;font-size:13px}
.software-chip{display:inline-flex;flex-direction:column;align-items:center;gap:9px;min-width:78px;color:#413a44;font-size:12px;line-height:1.3;text-align:center}
.software-chip img{display:block;width:56px;height:56px;object-fit:contain}
.dialog-art::after{display:none;content:none}

/* Keep every project in document flow so cards never collide at any viewport. */
.project-field-real{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-items:start;gap:clamp(52px,7vw,96px) clamp(20px,5vw,72px);min-height:0;height:auto;margin-top:35px}
.project-field-real>.project{position:relative;inset:auto;width:auto;min-width:0}
.project-field-real>.field-note,.project-field-real>.field-logo{display:none}
@media(max-width:640px){.project-field-real{grid-template-columns:1fr;gap:48px;margin-top:40px}.project-field-real .project-meta>span{font-size:8px}}
.project-field-real>.project:nth-child(4n+1){width:91%;justify-self:start}
.project-field-real>.project:nth-child(4n+2){width:83%;justify-self:end;margin-top:clamp(32px,4vw,64px)}
.project-field-real>.project:nth-child(4n+3){width:84%;justify-self:start;margin-top:clamp(14px,2.5vw,38px)}
.project-field-real>.project:nth-child(4n){width:93%;justify-self:end}
.project-drag-handle{position:absolute;top:12px;right:12px;z-index:15;display:grid;place-items:center;width:36px;height:36px;border:1px solid #f6effb99;border-radius:50%;padding:0;background:#100d05d9;color:var(--paper);font-size:19px;line-height:1;cursor:none;touch-action:none;opacity:0;pointer-events:none;transition:opacity .2s}
.project-drag-handle:active{cursor:none}
body.project-drag-active{user-select:none}
body.project-drag-active .cursor{z-index:300}
.project-placeholder{visibility:hidden!important;pointer-events:none!important}
.project-dragging{z-index:200!important;opacity:.96;box-shadow:0 28px 60px #0009;cursor:grabbing!important}
@media(max-width:640px){.project-field-real>.project:nth-child(4n+1){width:96%}.project-field-real>.project:nth-child(4n+2){width:86%;margin-top:0}.project-field-real>.project:nth-child(4n+3){width:89%;margin-top:0}.project-field-real>.project:nth-child(4n){width:95%}}

/* Compact, freely movable desktop project cards. */
.project-field-real.free-layout-active{display:block;position:relative;min-height:0}
.project-field-real.free-layout-active>.project{position:absolute;inset:auto;min-width:0;transform:none}
.project-dragging{transform:none!important;transition:none!important;touch-action:none;z-index:200!important}
@media(max-width:640px){.project-drag-handle{display:none}}
.project-drag-handle{width:38px;min-width:38px;height:38px;padding:0;border-radius:50%;font:20px/1 var(--body);letter-spacing:0;opacity:0;pointer-events:none;cursor:none;background:#100d05e8;box-shadow:0 3px 14px #0005}
.project-drag-handle:hover,.project-drag-handle:focus-visible{opacity:1;background:var(--gold);color:var(--ink);border-color:var(--gold)}
.project-field-real>.project:hover .project-drag-handle,.project-drag-handle:focus-visible{opacity:1;pointer-events:auto}
@media(pointer:coarse){.project-drag-handle{opacity:1;pointer-events:auto}}

/* Keep headings readable: words stay intact and line breaks balance naturally. */
h1,h2,h3,h4{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
p{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:pretty}
.work-heading h2{font-size:clamp(54px,13.2vw,190px);line-height:.84;letter-spacing:-.09em;margin:clamp(48px,5.2vw,76px) 0 0 clamp(0px,5vw,68px);max-width:calc(100% - clamp(0px,5vw,68px))}
.heading-outline{display:inline-block;margin-left:0}
.heading-star{font-size:.28em;vertical-align:top;margin-left:.22em}
.statement{font-size:clamp(54px,11.5vw,155px);line-height:.88;letter-spacing:-.085em;max-width:92%;margin:clamp(64px,8vh,100px) 0 90px 6%}
.statement span{margin-left:clamp(0px,4.5vw,56px)}
.about-copy h2{font-size:clamp(52px,8.2vw,112px);line-height:.88;letter-spacing:-.09em;max-width:100%}
.services-heading h2{font-size:clamp(56px,8vw,112px);line-height:.88;letter-spacing:-.085em}
.services-heading>p{max-width:24ch;line-height:1.55}
.contact-section h2{font-size:clamp(76px,16vw,230px);line-height:.78;letter-spacing:-.1em}
.contact-bottom p{max-width:26ch;line-height:1.4}
.project-meta h3{font-size:clamp(20px,2.25vw,32px);line-height:.96;letter-spacing:-.055em;padding-right:24px;text-wrap:balance}
.project-meta h3 span{position:absolute;right:0;bottom:0;float:none;font-size:18px;line-height:1}
.type-giant{font-size:clamp(34px,4.7vw,64px);line-height:.88;letter-spacing:-.075em}
.project-06 .type-giant{font-size:clamp(30px,4.3vw,56px);white-space:nowrap}
@media(max-width:800px){
  .work-heading h2{font-size:clamp(58px,14vw,112px);margin-left:0;max-width:100%}
  .statement{font-size:clamp(52px,11.5vw,90px);max-width:100%;margin-left:0}
  .statement span{margin-left:0}
  .about-copy h2{font-size:clamp(56px,12vw,96px)}
  .services-heading h2{font-size:clamp(52px,10.5vw,84px)}
  .contact-section h2{font-size:clamp(68px,14vw,112px);margin-left:0}
}
@media(max-width:480px){
  .hero-wordmark{font-size:clamp(68px,21vw,100px)}
  .work-heading h2{font-size:clamp(54px,14vw,68px);margin-top:54px}
  .statement{font-size:clamp(38px,11.5vw,56px);line-height:.92;margin-top:68px;margin-bottom:72px}
  .about-copy h2{font-size:clamp(50px,13.6vw,68px);margin:26px 0 30px}
  .services-heading h2{font-size:clamp(48px,11vw,56px)}
  .contact-section h2{font-size:clamp(68px,15vw,76px);margin:9vh 0 10vh}
}

/* Center the wordmark in the hero and keep the larger emblem behind it. */
.hero-wordmark{top:50%;left:50%;right:auto;width:max-content;transform:translate(-50%,-50%);text-align:center;font-size:clamp(100px,min(24.8vw,30svh),370px);z-index:4}
.hero-wordmark .wordmark-top{transform:translateX(-.035em)}
.hero-wordmark .wordmark-bottom{width:100%;margin-left:0}
.hero-wordmark .hero-byline{position:absolute;top:calc(100% + clamp(32px,6vh,68px));left:50%;transform:translateX(-50%);font:clamp(9px,.72vw,12px)/1 var(--mono);letter-spacing:.16em;color:#aaa3ac;white-space:nowrap}
.hero-logo{left:50%;top:50%;width:clamp(460px,58vw,900px);transform:translate(-50%,-50%) rotate(-8deg);z-index:1;opacity:.68}
@media(max-width:800px){
  .hero-wordmark{top:50%;font-size:clamp(78px,min(25vw,20svh),220px)}
  .hero-logo{top:50%;width:clamp(400px,100vw,760px)}
}
@media(max-width:480px){
  .hero-wordmark{top:50%;font-size:clamp(68px,min(21vw,16svh),100px)}
  .hero-logo{top:50%;width:clamp(360px,115vw,550px)}
}

/* Fill the showreel frame with the local video while keeping native playback controls usable. */
.reel-frame{height:auto;min-height:0;aspect-ratio:16/9}
.reel-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#100d05;cursor:auto}

/* Give the avatar visual weight alongside the biography, with room for every pose. */
.about-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(44px,5vw,100px);margin:64px 3% 0}
.portrait-wrap{width:100%;max-width:740px;justify-self:center;background:var(--ink);aspect-ratio:4/5}
.portrait-frame{inset:3% 3% 11%;z-index:2;pointer-events:none}
.portrait-tag{left:0;bottom:16%}
.portrait-stage{position:absolute;inset:3% 3% 11%;z-index:1;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,rgba(89,37,129,.12),transparent 70%)}
.portrait-avatar{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-color:var(--gold);opacity:0;transition:opacity .35s;cursor:grab}
.portrait-avatar:active{cursor:grabbing}
.portrait-wrap.avatar-ready .portrait-avatar{opacity:1}
.avatar-status{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;color:var(--paper);font:11px var(--mono);text-align:center}
.avatar-spinner{width:25px;height:25px;border:1px solid rgba(214,154,16,.25);border-top-color:var(--gold);border-radius:50%;animation:spin 1.2s linear infinite}
.avatar-status[hidden],.avatar-spinner[hidden],.avatar-retry[hidden],.portrait-controls[hidden]{display:none}
.avatar-retry{border:1px solid var(--gold);background:transparent;color:var(--paper);padding:8px 12px;font:inherit;cursor:pointer}
.portrait-controls{position:absolute;right:5%;bottom:3%;z-index:4;display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:84%;gap:8px}
.portrait-pose{width:36px;height:36px;border:1px solid rgba(214,154,16,.8);border-radius:50%;background:rgba(16,13,5,.82);color:var(--paper);font:10px var(--mono);cursor:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.portrait-pose:hover,.portrait-pose:focus-visible,.portrait-pose[aria-pressed=true]{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.portrait-pose:hover{transform:scale(1.08)}
@media(max-width:800px){.about-layout{grid-template-columns:minmax(0,1fr);gap:40px;margin:48px 4% 0}.portrait-wrap{width:min(100%,480px)}.portrait-controls{right:4%;gap:6px}.portrait-pose{width:32px;height:32px}}
@media(max-width:480px){.about-layout{margin-left:0;margin-right:0}.portrait-wrap{width:100%;max-width:400px}}

/* Real project posters remain lightweight while the full video stays in the detail view. */
.project-visual .project-thumbnail{display:block;width:100%;height:100%;object-fit:cover;opacity:1;mix-blend-mode:normal;transition:transform .8s}
.project:hover .project-thumbnail{transform:scale(1.05)}

/* Project videos keep their original proportions and load only when the visitor opens one. */
.dialog-art.project-media-gallery{display:grid;grid-template-columns:1fr;gap:18px;height:auto;min-height:0;aspect-ratio:auto;margin:28px 0;background:transparent;overflow:visible}
.dialog-art.project-media-gallery::after{content:none;display:none}
.dialog-media-item{min-width:0;margin:0}
.dialog-video-frame{display:grid;place-items:center;width:100%;overflow:hidden;background:var(--ink)}
.dialog-video-frame[data-ratio="wide"]{aspect-ratio:16/9}
.dialog-video-frame[data-ratio="square"]{width:min(100%,58vh);aspect-ratio:1;margin-inline:auto}
.dialog-video-frame[data-ratio="portrait"]{width:min(100%,38vh);aspect-ratio:9/16;margin-inline:auto}
.dialog-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:var(--ink);cursor:auto}
.dialog-video-frame iframe{display:block;width:100%;height:100%;border:0;background:var(--ink)}
.dialog-video-frame.dialog-image-frame{width:100%;height:auto;max-height:80vh;aspect-ratio:auto;background:transparent}
.dialog-image-frame img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;margin:auto}
.dialog-video-frame .youtube-preview{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:var(--ink);cursor:pointer;overflow:hidden}
.dialog-video-frame .youtube-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.dialog-video-frame .youtube-play-icon{position:relative;display:grid;place-items:center;width:clamp(52px,6vw,76px);aspect-ratio:1;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(16,13,5,.72);box-shadow:0 8px 28px rgba(0,0,0,.36);transition:transform .2s,background .2s,border-color .2s}
.dialog-video-frame .youtube-play-icon::after{content:"";display:block;width:0;height:0;margin-left:4px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid #fff}
.dialog-video-frame .youtube-preview:hover .youtube-play-icon,.dialog-video-frame .youtube-preview:focus-visible .youtube-play-icon{transform:scale(1.08);border-color:var(--gold);background:rgba(16,13,5,.9)}
.dialog-video-frame .youtube-preview:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.dialog-media-caption{margin:0;padding:9px 12px;background:var(--ink);color:var(--paper);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){.dialog-video-frame .youtube-play-icon{transition:none}}
@media(max-width:480px){.dialog-art.project-media-gallery{margin:22px 0}.dialog-video-frame[data-ratio="square"]{width:min(100%,52vh)}.dialog-video-frame[data-ratio="portrait"]{width:min(100%,34vh)}}

/* Light project sheets with a paper grain and a fading halftone print accent. */
.project-dialog{isolation:isolate;color:var(--ink);background:radial-gradient(ellipse at 100% 0%,rgba(89,37,129,.075),transparent 48%),radial-gradient(ellipse at 0% 100%,rgba(214,154,16,.055),transparent 42%),#fff;border:1px solid rgba(89,37,129,.2);box-shadow:0 28px 100px #000b}
.project-dialog::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.28'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.22;mix-blend-mode:multiply}
.project-dialog::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(89,37,129,.42) 1.25px,transparent 1.55px);background-size:8px 8px;opacity:.68;mask-image:radial-gradient(ellipse 62% 56% at 100% 0%,#000 0%,transparent 100%)}
.project-dialog>:not(.dialog-close){position:relative;z-index:1}
.project-dialog h2{color:var(--ink)}
.project-dialog .dialog-close{z-index:2;border-color:rgba(16,13,5,.3);background:rgba(255,255,255,.9);color:var(--ink)}
.project-dialog .dialog-close:hover,.project-dialog .dialog-close:focus-visible{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.project-dialog .dialog-block{border-color:rgba(16,13,5,.2)}
.project-dialog .dialog-block h3{color:var(--violet)}
.project-dialog .dialog-block p{color:#413a44}
.project-dialog .software-list{color:#776d7b}
.project-dialog .software-chip{color:#413a44;background:rgba(89,37,129,.035);border:1px solid rgba(89,37,129,.12);padding:12px 10px 10px}
.project-dialog .dialog-footer{border-top-color:rgba(16,13,5,.2);color:#776d7b}

/* Sticky translucent navigation; its tone follows the light sections. */
.topbar{position:fixed;background:rgba(16,13,5,.38);transition:background-color .25s,border-color .25s,color .25s,transform .28s ease}
.topbar.topbar-on-light{background:rgba(246,239,251,.84);border-bottom-color:rgba(16,13,5,.16);color:var(--ink)}
.topbar.topbar-on-light .topbar-status{color:#5c535f}.topbar.topbar-on-light .brand-mark{filter:brightness(.55) saturate(1.2)}
.topbar.topbar-on-light .menu-toggle b{background:var(--ink)}
.topbar.topbar-hidden{transform:translateY(-105%);pointer-events:none}
.topbar.topbar-hidden:has(:focus-visible),body.menu-open .topbar.topbar-hidden{transform:translateY(0);pointer-events:auto}

/* Galerie photo. */
.photo-gallery-section{position:relative;min-height:100svh;overflow:hidden;padding:clamp(72px,9vh,110px) 4.2vw clamp(55px,7vh,90px);background:#f7f6f4;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}
.photo-gallery-heading{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);gap:clamp(28px,4vw,90px);align-items:center;width:100%;margin:0 0 36px}
.photo-gallery-heading h2{margin:0;font:clamp(54px,12.5vw,190px)/.84 var(--display);letter-spacing:-.09em}
.photo-gallery-heading .gallery-heading-outline,.photo-collection-toolbar .gallery-heading-outline{display:inline-block;color:transparent;-webkit-text-stroke:1px var(--ink);white-space:nowrap}
.photo-gallery-heading>p{justify-self:end;max-width:330px;margin:0;color:#4d4550;font-size:14px;line-height:1.65}
.photo-gallery-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr 1.1fr 1fr;grid-template-rows:repeat(2,auto);align-items:start;gap:10px;width:100%;max-width:1100px;margin-inline:auto}
.photo-gallery-photo{position:relative;min-width:0;margin:0;background:transparent}
.photo-gallery-grid .photo-gallery-photo:nth-child(1){grid-column:1;grid-row:1/3}
.photo-gallery-grid .photo-gallery-photo:nth-child(2){grid-column:2;grid-row:1}
.photo-gallery-grid .photo-gallery-photo:nth-child(3){grid-column:3;grid-row:1/3}
.photo-gallery-grid .photo-gallery-photo:nth-child(4){grid-column:2;grid-row:2}
.photo-gallery-link{display:block;overflow:hidden;cursor:zoom-in}
.photo-gallery-grid .photo-gallery-link{width:100%}
.photo-gallery-link:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.photo-gallery-grid .photo-gallery-photo img{display:block;width:100%;height:auto}
.photo-gallery-actions{position:relative;z-index:1;display:flex;justify-content:flex-end;width:100%;max-width:1100px;margin:18px auto 0}
.photo-gallery-all{padding:13px 18px;border:1px solid #a9a7a3;background:#fff;color:var(--ink);font:600 13px var(--body);letter-spacing:.06em;cursor:pointer;transition:background-color .2s,border-color .2s}
.photo-gallery-all:hover{background:#eae9e6;border-color:var(--ink)}
.photo-gallery-all:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
#gallery{scroll-margin-top:0}
#gallery-title{scroll-margin-top:90px}
body.photo-viewer-open{overflow:hidden}
body.photo-viewer-open .cursor{opacity:0}
.photo-collection-dialog{width:min(1240px,96vw);height:min(94dvh,1100px);max-width:96vw;max-height:94dvh;padding:0;border:0;background:#f7f6f4;color:var(--ink);overflow:hidden;cursor:auto}
.photo-collection-dialog::backdrop{background:#100d05b8;backdrop-filter:blur(8px)}
.photo-collection-toolbar{display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 22px}
.photo-collection-toolbar h2{margin:0;font:clamp(25px,3vw,42px)/1 var(--display);letter-spacing:-.06em}
.photo-collection-close{padding:10px 0 10px 16px;border:0;background:transparent;color:var(--ink);font:11px var(--mono);cursor:pointer}
.photo-collection-scroll{height:calc(100% - 76px);overflow-y:auto;overscroll-behavior:contain;padding:0 22px 22px;scrollbar-color:#aaa7a2 #f7f6f4}
.photo-collection-grid{columns:4;column-gap:12px}
.photo-collection-grid .photo-gallery-photo{break-inside:avoid;margin:0 0 12px}
.photo-collection-grid .photo-gallery-photo img{display:block;width:100%;height:auto}
.photo-collection-dialog button:hover{color:var(--violet)}
.photo-collection-dialog button:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.photo-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden;cursor:auto}
.photo-dialog::backdrop{background:#100d05c2;backdrop-filter:blur(12px)}
.photo-dialog [hidden]{display:none!important}
.photo-dialog-stage{--photo-nav-offset:clamp(54px,5.5vw,80px);position:relative;display:grid;place-items:center;width:100%;height:100%;padding:32px calc(var(--photo-nav-offset) + 12px)}
.photo-dialog-frame{position:relative;max-width:100%;max-height:100%}
.photo-dialog-image{display:block;width:100%;height:100%;object-fit:contain;cursor:auto}
.photo-dialog-nav{position:absolute;z-index:1;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:7px;border:0;border-radius:0;background:transparent;color:#fff;filter:drop-shadow(0 1px 4px #000);transform:translateY(-50%);cursor:pointer}
.photo-dialog-prev{left:calc(-1 * var(--photo-nav-offset))}.photo-dialog-next{right:calc(-1 * var(--photo-nav-offset))}
.photo-dialog-nav svg{width:26px;height:26px;pointer-events:none}
.photo-dialog button:hover{background:transparent;color:var(--gold)}
.photo-dialog button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.photo-dialog-status{position:absolute;left:50%;top:50%;max-width:80%;margin:0;padding:10px 14px;transform:translate(-50%,-50%);background:#100d05d9;color:var(--paper);font:11px var(--mono);text-align:center;pointer-events:none}
@media(max-width:1100px){
  .photo-gallery-heading{grid-template-columns:1fr;gap:22px}
  .photo-gallery-heading>p{justify-self:start;max-width:55ch}
}
@media(max-width:800px){
  .photo-gallery-section{padding:80px 5vw 60px}
  .photo-gallery-heading{grid-template-columns:1fr;gap:18px;margin:0 auto 28px}
  .photo-gallery-heading h2{font-size:clamp(58px,14vw,110px)}
  .photo-gallery-heading>p{max-width:55ch}
  .photo-collection-grid{columns:3}
}
@media(max-width:600px){
  .photo-gallery-heading h2{font-size:clamp(58px,14vw,78px)}
  .photo-gallery-heading>p{font-size:13px}
  .photo-gallery-grid{grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;gap:8px;max-width:420px}
  .photo-gallery-grid .photo-gallery-photo:nth-child(1){grid-column:1;grid-row:1}
  .photo-gallery-grid .photo-gallery-photo:nth-child(2){grid-column:1;grid-row:2}
  .photo-gallery-grid .photo-gallery-photo:nth-child(3){grid-column:2;grid-row:1}
  .photo-gallery-grid .photo-gallery-photo:nth-child(4){grid-column:2;grid-row:2}
  .photo-gallery-grid .photo-gallery-photo:nth-child(4){align-self:end}
  .photo-gallery-actions{max-width:420px}
  .photo-gallery-all{width:100%}
  .photo-collection-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;border:0}
  .photo-collection-toolbar{height:68px;padding:0 14px}
  .photo-collection-scroll{height:calc(100% - 68px);padding:0 8px 8px}
  .photo-collection-grid{columns:2;column-gap:8px}
  .photo-collection-grid .photo-gallery-photo{margin-bottom:8px}
  .photo-dialog-stage{--photo-nav-offset:48px;padding:20px calc(var(--photo-nav-offset) + 8px)}
  .photo-dialog-nav{width:36px;height:36px;padding:4px}
}
/* Un léger mouvement signale que les cartes de projets peuvent être déplacées. */
.project-field-real.free-layout-active>.project:not(.project-dragging){animation:project-card-float 5.8s ease-in-out infinite}
.project-field-real.free-layout-active>.project:nth-child(3n + 2):not(.project-dragging){animation-delay:-1.8s;animation-duration:6.6s}
.project-field-real.free-layout-active>.project:nth-child(3n):not(.project-dragging){animation-delay:-3.2s;animation-duration:5.1s}
.project-field-real.free-layout-active>.project.project-dragging{animation:none!important;translate:none!important}
@keyframes project-card-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@media(prefers-reduced-motion:reduce){
  .project-field-real.free-layout-active>.project{animation:none!important;translate:none!important}
}

/* Compact section rhythm after the hero; media keep their existing dimensions. */
.contact-bottom .contact-email{font-size:13px;color:#5c535f;line-height:1.5;user-select:text;cursor:text}
.reel-section{padding-bottom:64px}
.work-section{display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;padding-top:56px;padding-bottom:64px}
.work-heading{min-height:clamp(160px,17vw,230px)}
.work-heading h2{margin-top:40px}
.project-field-real{margin-top:24px}
.photo-gallery-section{min-height:100svh;justify-content:space-between;padding-top:clamp(72px,9vh,110px);padding-bottom:clamp(55px,7vh,90px)}
.photo-gallery-heading{margin-top:0;margin-bottom:28px}
.about-section{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding-top:56px;padding-bottom:72px}
.about-layout{margin-top:0}
.about-copy{padding-top:0}
.about-copy h2{margin-top:0;margin-bottom:28px}
.contact-section{min-height:100svh}

@media(max-width:800px){
  .reel-section{padding-bottom:48px}
  .work-section,.about-section{padding-top:40px;padding-bottom:56px}
  .work-section{padding-top:72px}
  .work-heading{display:flow-root;min-height:0}
  .work-heading h2{margin-top:20px}
  .work-intro{position:static;margin:20px 0 0}
  .photo-gallery-section{padding-top:80px;padding-bottom:60px}
  .about-layout{gap:28px;margin-top:12px}
}

/* The biography follows the same oversized title and open grid as Projects and Gallery. */
.about-section{display:block;min-height:100svh;padding:clamp(80px,9vh,120px) 4.2vw clamp(64px,8vh,100px);background:radial-gradient(ellipse at 18% 54%,rgba(89,37,129,.1),transparent 48%),var(--ink)}
.about-heading{max-width:1520px;margin:0 auto}
.about-heading h2{margin:0;color:transparent;-webkit-text-stroke:1px var(--paper);font:clamp(76px,12.8vw,190px)/.83 var(--display);letter-spacing:-.09em;white-space:nowrap}
.about-layout{max-width:1520px;grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:clamp(42px,7vw,132px);align-items:center;margin:clamp(28px,4vw,52px) auto 0;padding-top:clamp(24px,2.5vw,38px);border-top:1px solid var(--line)}
.portrait-wrap{width:100%;max-width:520px;justify-self:start}
.portrait-tag{left:-12px;bottom:16%}
.about-copy{padding:0}
.about-copy h3{margin:0 0 22px;font:clamp(42px,4.45vw,76px)/.9 var(--display);letter-spacing:-.085em;white-space:nowrap}
.about-copy h3 span{color:var(--magenta)}
.about-lead{max-width:30ch;margin:0 0 20px;font-size:clamp(20px,2.1vw,29px);line-height:1.16;letter-spacing:-.035em}
.about-body{max-width:56ch;margin:0;color:#b9b0bb;font-size:14px;line-height:1.65}
.about-body p{margin:0 0 10px}
.about-current{max-width:56ch;margin-top:24px;padding:18px 22px;border-left:2px solid var(--magenta);background:linear-gradient(90deg,rgba(89,37,129,.25),rgba(89,37,129,.04))}
.about-current p{margin:0;font-size:15px;line-height:1.5}
.about-current a{font-weight:700;color:var(--paper);border-bottom:1px solid var(--gold)}
.about-current a:hover,.about-current a:focus-visible{color:var(--gold)}
.about-details{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.about-details p{margin:0}
.about-details strong{display:block;margin-bottom:8px;color:var(--gold);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.about-details span{display:block;color:var(--paper);font-size:13px;line-height:1.45}
@media(max-width:900px){
  .about-section{padding:88px 5vw 64px}
  .about-heading h2{font-size:clamp(64px,13vw,112px)}
  .about-layout{grid-template-columns:1fr;gap:28px;margin-top:32px;padding-top:28px}
  .portrait-wrap{width:min(100%,440px);justify-self:center}
  .about-copy{width:min(100%,650px);justify-self:center}
  .about-copy h3{font-size:clamp(42px,8vw,68px);white-space:normal}
}
@media(max-width:600px){
  .about-heading h2{font-size:clamp(56px,13.5vw,82px)}
  .portrait-wrap{width:min(90vw,380px)}
  .about-copy h3{font-size:clamp(38px,10vw,56px)}
  .about-lead{font-size:22px}
  .about-current{padding:16px 18px}
  .about-details{grid-template-columns:1fr;gap:14px}
  .about-details p+p{padding-top:14px;border-top:1px solid var(--line)}
}

/* Project details and the full photo collection read as full-screen pages. */
.project-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow-y:auto;overscroll-behavior:contain}
.project-dialog::backdrop,.photo-collection-dialog::backdrop{background:transparent;backdrop-filter:none}
.project-dialog::before,.project-dialog::after{position:fixed}
.project-page-content{position:relative;z-index:1;width:min(100%,1500px);margin:0 auto;padding:clamp(100px,11vh,140px) clamp(24px,6vw,96px) 80px}
.project-dialog .dialog-close{position:fixed;z-index:10;top:clamp(18px,2.5vw,40px);right:clamp(18px,4.2vw,80px);padding:12px 16px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);color:var(--ink)}
.project-dialog h2{max-width:14ch;margin:0 0 clamp(28px,4vw,54px);font-size:clamp(52px,8vw,130px);line-height:.88}
.project-dialog .dialog-art.project-media-gallery{margin:0 0 clamp(32px,4vw,56px)}
.project-dialog .dialog-details{gap:28px clamp(28px,5vw,72px);margin:0}
.project-dialog .dialog-description-block p{max-width:72ch}
.project-dialog .dialog-block p{font-size:clamp(14px,1.1vw,18px)}
.project-dialog .dialog-footer{margin-top:clamp(42px,5vw,72px);padding-top:20px}
.photo-collection-dialog{--collection-toolbar-height:clamp(78px,9vh,110px);width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}
.photo-collection-toolbar{height:var(--collection-toolbar-height);padding:0 clamp(20px,4.2vw,80px);border-bottom:1px solid rgba(16,13,5,.16);background:#f7f6f4}
.photo-collection-toolbar h2{font-size:clamp(34px,4.2vw,64px);line-height:.84;letter-spacing:-.09em}
.photo-collection-scroll{height:calc(100% - var(--collection-toolbar-height));padding:clamp(20px,3vw,44px) clamp(20px,4.2vw,80px) 70px}
.photo-collection-grid{max-width:1500px;margin:0 auto;column-gap:16px}
.photo-collection-grid .photo-gallery-photo{margin-bottom:16px}
@media(max-width:600px){
  .project-page-content{padding:98px 20px 56px}
  .project-dialog h2{font-size:clamp(40px,10.5vw,62px)}
  .project-dialog .dialog-close{top:16px;right:16px}
  .project-dialog .dialog-details{grid-template-columns:1fr;gap:22px}
  .project-dialog .dialog-description-block{grid-column:auto}
  .photo-collection-dialog{--collection-toolbar-height:72px}
  .photo-collection-toolbar{padding:0 18px}
  .photo-collection-scroll{padding:18px 12px 40px}
  .photo-collection-grid{columns:2;column-gap:8px}
  .photo-collection-grid .photo-gallery-photo{margin-bottom:8px}
}

/* The project filters use the same simple type and gold accent as the rest of the page. */
.project-toolbar{margin:6px 0 0;padding-left:clamp(0px,5vw,68px)}
.project-filters{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.project-filter{min-height:34px;padding:8px 12px;border:0;border-radius:0;background:transparent;color:#b7aebb;font:600 12px/1.2 var(--body);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;cursor:none;transition:background .2s,color .2s}
.project-filter:hover,.project-filter:focus-visible{color:var(--gold);outline:none}
.project-filter:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
.project-filter.is-active,.project-filter.is-active:hover{background:var(--gold);color:var(--ink)}
.project-results{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-field-real{margin-top:28px}
.project-field-real>.project[hidden]{display:none!important}
.project-tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:7px}
.project-tag{position:relative;display:inline-block;padding:4px 0;border:0;background:transparent;color:#b7aebb;font:9px/1.2 var(--mono);text-transform:uppercase;white-space:nowrap;cursor:none;transition:color .2s}
.project-tag+.project-tag::before{content:'·';position:absolute;left:-10px;color:var(--gold)}
.project-tag:hover,.project-tag:focus-visible{color:var(--gold);outline:none}
.project-tag:focus-visible{box-shadow:0 2px var(--gold)}
.work-section{justify-content:flex-start}
@media(max-width:800px){.project-toolbar{padding-left:0}}
@media(max-width:640px){.project-filters{gap:4px}.project-filter{font-size:11px;cursor:pointer}.project-field-real{margin-top:28px}.project-tag{font-size:8px;cursor:pointer}}

/* Keep the mobile sections balanced, with a shorter showreel interlude. */
@media(max-width:800px){.hero{min-height:100svh}}
@media(max-width:640px){
  .hero,.work-section,.photo-gallery-section,.about-section,.contact-section{min-height:100vh;min-height:100svh;min-height:100dvh}
  .hero{padding:90px 5vw max(28px,env(safe-area-inset-bottom));}
  .hero-bottom{width:100%;grid-template-columns:1fr;margin-top:auto}
  .reel-section{display:flex;flex-direction:column;justify-content:center;min-height:70vh;min-height:70svh;min-height:70dvh;gap:20px;padding-top:clamp(48px,7vh,72px);padding-bottom:clamp(48px,7vh,72px)}
  .reel-frame,.reel-bottomline{margin:0 auto}
  .reel-bottomline{justify-content:center;text-align:center}
  .project-field-real{justify-items:center}
  .project-field-real>.project:nth-child(n){width:min(100%,420px);justify-self:center;margin-top:0}
  .photo-gallery-section{justify-content:center;gap:clamp(18px,3vh,28px)}
  .photo-gallery-heading{margin:0 auto}
  .photo-gallery-actions{margin:0 auto}
  .about-section{display:flex;flex-direction:column;justify-content:center}
  .about-heading,.about-layout{width:100%}
  .contact-section{justify-content:flex-start;padding-top:clamp(60px,8vh,90px)}
  .contact-section h2{align-self:center;margin:auto 0 30px;text-align:center}
  .contact-section h2>span:first-child{margin-left:0}
  .contact-bottom{width:min(100%,420px);align-items:center;margin:0 auto auto;text-align:center}
  .contact-right{align-self:center;text-align:left}
}

/* Navigation and controls remain usable with a keyboard or a touch screen. */
.hero-wordmark{margin:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;padding:12px 16px;background:var(--gold);color:var(--ink);font:12px var(--mono);transform:translateY(-160%)}
.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--paper);outline-offset:2px}
a:focus-visible,button:focus-visible,model-viewer:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body.menu-open{overflow:hidden}
.topbar .brand,.menu-toggle{min-height:44px}
.project-dialog .dialog-close,.photo-collection-close{min-height:44px}
.no-js body,.no-js a,.no-js button,.no-js .project{cursor:auto!important}
.no-js .cursor{display:none}
[tabindex="-1"]:focus{outline:none}
.project-meta h3{padding-right:0}
.project-meta h3 .project-open{position:relative;display:block;width:100%;min-height:44px;padding-right:46px;color:inherit;font:inherit;letter-spacing:inherit;cursor:none}
.project-meta h3 .project-open span{position:absolute;right:0;bottom:0;color:var(--gold);font:18px/1 var(--body)}
.project-open:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.project-visual .project-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.project-visual .project-thumbnail{position:relative;z-index:1}
.work-section:not(.projects-visible) .project-field-real>.project{animation-play-state:paused}
@media(pointer:coarse){body{cursor:auto}.cursor{display:none}.project,.project-open,.project-filter,.project-tag,.portrait-pose{cursor:pointer}}
@media(max-width:640px){
  .contact-section h2{font-size:clamp(40px,13vw,68px)}
  .project-filter{min-height:44px;padding:11px 12px}
  .project-tag{min-width:44px;min-height:44px;padding:13px 0;font-size:10px}
  .portrait-pose{width:44px;height:44px}
  .photo-dialog-nav{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;transform:none}}

/* Project sheets use the same paper surface and editorial rhythm as the site. */
.project-dialog{background:radial-gradient(ellipse at 93% 5%,rgba(89,37,129,.09),transparent 42%),radial-gradient(ellipse at 0 95%,rgba(214,154,16,.06),transparent 40%),#f8f7f4}
.project-dialog .project-page-content{width:min(100%,1240px);padding:clamp(88px,8vh,112px) clamp(22px,5vw,62px) clamp(56px,7vw,88px)}
.project-dialog-header{margin:0 0 clamp(26px,3vw,38px)}
.project-dialog h2{max-width:100%;margin:0;font-size:clamp(48px,6.5vw,94px);line-height:.9;letter-spacing:-.085em;text-wrap:balance;overflow-wrap:break-word}
.project-dialog h2::after{content:"";display:inline-block;width:.105em;aspect-ratio:1;margin-left:.06em;background:var(--magenta);vertical-align:baseline}
.project-dialog .dialog-tags{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:clamp(18px,2.2vw,26px) 0 0;padding:0}
.project-dialog .dialog-tags li{color:var(--violet);font:600 12px/1.3 var(--body)}
.project-dialog .dialog-art.project-media-gallery{width:100%;max-width:1120px;gap:clamp(20px,3vw,32px);margin:0 auto clamp(36px,4vw,56px)}
.project-dialog .dialog-media-caption{padding:10px 0;background:transparent;border-bottom:1px solid rgba(16,13,5,.18);color:#554c58;font-size:10px}
.project-dialog .dialog-details{display:block;margin:0}
.project-dialog .dialog-story,.project-dialog .dialog-production{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(26px,4vw,62px)}
.project-dialog .dialog-story:not(.has-contribution){grid-template-columns:1fr}
.project-dialog .dialog-story[hidden]{display:none}
.project-dialog .dialog-story[hidden]+.dialog-production{margin-top:0}
.project-dialog .dialog-production:not(.has-two){grid-template-columns:1fr}
.project-dialog .dialog-story .dialog-description-block{grid-column:auto}
.project-dialog .dialog-production{margin-top:clamp(28px,3.5vw,48px)}
.project-dialog .dialog-production[hidden]{display:none}
.project-dialog .dialog-block{border-top:1px solid rgba(16,13,5,.22);padding-top:14px}
.project-dialog .dialog-block h3{margin:0 0 13px;color:var(--violet);font:500 11px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.project-dialog .dialog-block p{max-width:62ch;color:#39323c;font-size:clamp(16px,1.25vw,19px);line-height:1.62;white-space:pre-line}
.project-dialog .dialog-description-block p{max-width:56ch;font-size:clamp(19px,1.55vw,23px);line-height:1.46}
.project-dialog .software-list{gap:12px}
.project-dialog .software-chip{min-width:84px;padding:11px 9px;background:rgba(89,37,129,.035);border-color:rgba(89,37,129,.16)}
@media(max-width:700px){
  .project-dialog .project-page-content{padding:82px 20px 52px}
  .project-dialog h2{font-size:clamp(36px,10vw,62px);line-height:.94}
  .project-dialog .dialog-tags{margin-top:17px;gap:8px 16px}
  .project-dialog .dialog-tags li{font-size:11px}
  .project-dialog .dialog-art.project-media-gallery{margin-bottom:34px}
  .project-dialog .dialog-story,.project-dialog .dialog-production{grid-template-columns:1fr;gap:24px}
  .project-dialog .dialog-production{margin-top:24px}
  .project-dialog .dialog-block p{font-size:16px;line-height:1.58}
  .project-dialog .dialog-description-block p{font-size:19px;line-height:1.5}
}
@media(max-width:480px){.project-dialog h2::after{display:none}}
