:root{--bg:#120a2a;--pk:#ff48b0;--tl:#00e0c6;--y:#ffe14d;--t:#fdf6ff;--h:'Syne',sans-serif;--b:'Space Grotesk',system-ui,sans-serif;--s:'Fraunces',serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--t);font:17px/1.55 var(--b);overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;width:100%}
.blobs{position:fixed;inset:0;z-index:-2;filter:blur(90px);opacity:.7;pointer-events:none}
.blobs b{position:absolute;width:55vw;height:55vw;border-radius:50%;animation:fl 22s ease-in-out infinite alternate}
.blobs b:nth-child(1){background:var(--pk);left:-15vw;top:-15vw}.blobs b:nth-child(2){background:#5b2bff;right:-20vw;top:20vh;animation-delay:-7s}.blobs b:nth-child(3){background:var(--tl);left:20vw;bottom:-30vw;animation-delay:-14s;opacity:.6}
@keyframes fl{to{transform:translate(12vw,10vh) scale(1.2)}}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
header{position:sticky;top:14px;z-index:50;margin:14px auto 0;width:min(1100px,94%);display:flex;justify-content:space-between;align-items:center;padding:10px 12px 10px 22px;border-radius:99px;background:#ffffff14;backdrop-filter:blur(14px);border:1px solid #ffffff30}
.logo{font:800 18px var(--h);letter-spacing:.04em}
nav{display:flex;gap:4px}nav a{padding:8px 16px;border-radius:99px;font-weight:600;font-size:14px}nav a i{display:none}
nav a:hover,nav a.on{background:var(--y);color:var(--bg)}
.hero{min-height:88vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 20px}
.eyebrow{font:600 13px var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--y);margin-bottom:12px}
.hero h1{font:800 clamp(70px,16.5vw,250px)/.82 var(--h);letter-spacing:-.04em}
.hero h1 span{display:block;position:relative;color:var(--t);mix-blend-mode:screen}
[data-t]{position:relative}[data-t]::before,[data-t]::after{content:attr(data-t);position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none}
[data-t]::before{color:var(--pk);animation:mis 4s ease-in-out infinite}[data-t]::after{color:var(--tl);animation:mis 4s ease-in-out infinite reverse}
@keyframes mis{0%,100%{transform:translate(-6px,3px)}50%{transform:translate(6px,-3px)}}
.hero h1 span:last-child{font-family:var(--s);font-style:italic;font-weight:400;letter-spacing:0}
.stmt{max-width:560px;margin:30px auto;font-size:19px}.stmt em,.lead em{font-family:var(--s);color:var(--y)}
.btn{display:inline-block;font:700 15px var(--b);background:var(--y);color:var(--bg);padding:14px 28px;border-radius:99px;border:0;cursor:pointer;transition:.25s;box-shadow:0 0 0 0 var(--pk)}
.btn:hover{transform:rotate(-3deg) scale(1.05);box-shadow:6px 6px 0 var(--pk)}.btn.ghost{background:transparent;color:var(--t);border:2px solid var(--t)}
.marquee{transform:rotate(-3deg);margin:20px -20px;background:var(--pk);color:var(--bg);font:800 30px var(--h);white-space:nowrap;overflow:hidden;padding:12px 0}
.marquee div{display:inline-block;animation:mq 30s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}
.wrap{width:min(1200px,92%);margin:auto;padding:80px 0}.pt{padding-top:60px}
.sh{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}
h2{font:800 clamp(44px,7vw,96px)/.9 var(--h);letter-spacing:-.03em}h2 em,.ph em{font:italic 400 1em var(--s);color:var(--tl)}
.lnk{font-weight:600;border-bottom:2px solid var(--pk)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
figure{position:relative;cursor:zoom-in}figure:nth-child(3n+2){margin-top:50px}
figure img{aspect-ratio:3/4;object-fit:cover;border-radius:24px;transition:.4s;box-shadow:0 20px 50px #0008}
figure:hover img{transform:translateY(-6px) rotate(1.5deg);box-shadow:-10px 10px 0 var(--tl),10px -10px 0 var(--pk)}
.no{position:absolute;top:14px;right:14px;z-index:2;background:var(--bg);color:var(--y);font:700 12px var(--b);padding:4px 10px;border-radius:99px}
figcaption{display:flex;justify-content:space-between;padding:12px 4px;font-size:14px}figcaption span{opacity:.6}
.rv{opacity:0;transform:translateY(40px) scale(.96);transition:1s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.band{background:#ffffff12;border:1px solid #ffffff30;border-radius:36px;padding:60px;backdrop-filter:blur(10px);margin-bottom:80px}.band p{font-size:22px;margin-bottom:20px}.acc{color:var(--y)}
.ph{font:800 clamp(80px,15vw,220px)/.85 var(--h);letter-spacing:-.04em;margin-bottom:30px}
.note{opacity:.7;margin-bottom:30px}.lead{font-size:23px;line-height:1.4}
.card{background:linear-gradient(135deg,#ff48b033,#00e0c633);border:1px solid #ffffff40;border-radius:28px;padding:30px;display:grid;gap:8px;backdrop-filter:blur(10px)}
.card small{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:var(--y)}.ens{font:800 clamp(30px,4vw,52px) var(--h)}
code{font:14px monospace;word-break:break-all;background:#0005;padding:12px;border-radius:12px}.row{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.mut{opacity:.6}
.center{text-align:center}
.form{display:flex;max-width:540px;margin:30px auto;background:#ffffff18;border:1px solid #ffffff40;border-radius:99px;padding:6px}
.form input[type=email]{flex:1;min-width:0;border:0;background:none;color:var(--t);padding:0 20px;font:16px var(--b);outline:0}.form input::placeholder{color:#fff9}
.portrait img{border-radius:50% 50% 24px 24px}h3{font:800 22px var(--h);margin:24px 0 6px}
footer{width:min(1200px,92%);margin:auto;padding:40px 0;border-top:1px solid #ffffff30}
footer .big{font:800 clamp(56px,14vw,210px)/.85 var(--h);letter-spacing:-.04em}
.frow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:24px;font-size:14px}.soc a{margin-left:18px}footer small{opacity:.5;font-size:12px}
#lb{position:fixed;inset:0;background:#120a2aee;backdrop-filter:blur(20px);z-index:99;display:none;place-items:center;padding:30px}#lb.on{display:grid}
#lb img{max-height:80vh;width:auto;max-width:100%;border-radius:20px}#lb p{text-align:center;margin-top:14px;color:var(--y)}
#lb button{position:absolute;top:18px;right:22px;font-size:34px;background:var(--y);color:var(--bg);border:0;width:52px;height:52px;border-radius:50%;cursor:pointer}
@media(max-width:800px){figcaption{flex-direction:column;gap:2px}.sh{flex-wrap:wrap;gap:10px}header{padding:8px 8px 8px 16px}.logo{font-size:14px}nav a{padding:7px 9px;font-size:12px}
.grid{grid-template-columns:1fr 1fr;gap:14px}figure:nth-child(3n+2){margin-top:0}figure:nth-child(even){margin-top:30px}.split{grid-template-columns:1fr}.band{padding:30px}.hero{min-height:76vh}.soc a{margin:0 14px 0 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.slogan{font:italic 400 clamp(26px,3.6vw,48px)/1.1 var(--s);color:var(--y);margin:30px auto;max-width:900px;text-shadow:3px 3px 0 var(--pk),-3px -3px 0 #00e0c655}
.slogan.sm{font-size:clamp(24px,2.6vw,34px);margin:0 0 20px;text-align:left}
figure picture{display:block}figure img{height:auto}
/* gallery wall + museum labels */
.wall{display:grid;gap:90px;margin-top:20px}
.piece{display:grid;grid-template-columns:minmax(0,520px) 300px;gap:56px;align-items:end;justify-content:center}
.piece.flip{grid-template-columns:300px minmax(0,520px)}.piece.flip figure{order:2}
.piece figure img{aspect-ratio:3/4}
.label{background:#f6f2ea;color:#1a1a1a;font:13px/1.55 'Space Grotesk',system-ui,sans-serif;padding:20px 22px 22px;border-radius:3px;box-shadow:0 8px 24px #0007;max-width:300px;margin-bottom:40px}
.label .ln{font-size:11px;letter-spacing:.12em;color:#777}.label h3{font:600 17px/1.25 'Space Grotesk',sans-serif;margin:4px 0 2px;color:#111}
.label .lm{font-size:12px;color:#555;margin-bottom:12px}.label .ls{font-size:13.5px;color:#222}
.lbi{display:flex;gap:28px;align-items:center;justify-content:center;max-width:1200px}
#lb .label{margin:0;flex:0 0 280px}#lb .lbc p{color:var(--y)}
@media(max-width:800px){.wall{gap:56px}.piece,.piece.flip{grid-template-columns:1fr;gap:14px}.piece.flip figure{order:0}.label{max-width:none;margin:0}
.lbi{flex-direction:column;gap:14px}#lb .label{flex:none;width:100%}#lb img{max-height:55vh}#lb{overflow:auto}}
/* serious refinement */
.label{background:#f4f1ec;border-radius:0;box-shadow:0 1px 0 #0003,0 10px 30px #0006;padding:22px 24px 24px;font-family:var(--b)}
.label .ln{display:block;font:500 10px/1 var(--b);letter-spacing:.18em;color:#8a8580;margin-bottom:10px}
.label h3{font:400 20px/1.2 'Fraunces',Georgia,serif;font-style:normal;letter-spacing:0;color:#111;margin:0 0 4px}
.label .lm{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b6660;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #d8d2c8}
.label .ls{font-size:13.5px;line-height:1.6;color:#2a2a2a}
.quiet [data-t]::before,.quiet [data-t]::after{animation:none;transform:none;opacity:0}
.quiet figure:hover img{transform:none;box-shadow:0 20px 50px #0008}
.quiet .btn:hover{transform:none;box-shadow:none}
.quiet .blobs b{animation-duration:60s}
.quiet .no{display:none}
#lb .label p{text-align:left;margin-top:0}#lb .label .lm{color:#6b6660;margin-bottom:14px}#lb .label .ls{color:#2a2a2a}#lb .label .ln{color:#8a8580}
