.art{position:absolute;inset:0;overflow:hidden}
.art::before{content:'';position:absolute;width:78%;aspect-ratio:1;left:11%;top:6%;border-radius:50%;border:1px solid rgba(255,248,235,.28)}
.art::after{content:'';position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 100%,rgba(255,255,255,.2),transparent 70%);pointer-events:none}
.art svg{position:absolute;left:50%;bottom:14%;width:min(46%,230px);height:auto;transform:translateX(-50%);filter:drop-shadow(0 16px 20px rgba(0,0,0,.3))}
.art svg.b{left:auto;right:8%;bottom:11%;width:24%;transform:none}
.art svg.c{left:8%;right:auto;bottom:11%;width:22%;transform:none}
.g-hero{position:relative;background:var(--dark);color:var(--dark-fg);height:280vh}
.g-hero-sticky{position:sticky;top:env(safe-area-inset-top,0px);height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden}
.g-hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 45% at 78% 22%,rgba(208,122,68,.34),transparent 70%),radial-gradient(45% 40% at 10% 85%,rgba(92,128,98,.26),transparent 70%)}
.g-title{position:absolute;inset:0;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-weight:500;font-size:clamp(4.4rem,22vw,17rem);line-height:.84;letter-spacing:-.03em;text-align:center;pointer-events:none;will-change:transform,opacity}
.g-title span{display:block;font-size:.42em;font-style:italic;letter-spacing:.02em;color:var(--dark-muted)}
.g-title em{display:block;color:var(--copper);font-weight:400}
.fl{position:absolute;z-index:2;width:clamp(70px,11vw,150px);aspect-ratio:3/4.3;border-radius:999px 999px 14px 14px;background:var(--g);overflow:hidden;color:rgba(255,248,235,.94);will-change:transform,opacity}
.fl .art svg{width:58%;bottom:12%}
.fl1{left:6%;top:10%}.fl2{right:8%;top:8%}.fl3{left:3%;top:52%}.fl4{right:4%;top:46%}.fl5{left:20%;bottom:6%}.fl6{right:22%;bottom:5%}
.g-window{position:absolute;inset:0;z-index:3;background:var(--g);overflow:hidden;color:rgba(255,248,235,.95);clip-path:inset(20% 34% 20% 34% round 205px 205px 28px 28px);will-change:clip-path}
@media (max-width:700px){.g-window{clip-path:inset(20% 18% 20% 18% round 120px 120px 28px 28px)}}
.g-art{position:absolute;inset:0;will-change:transform}
.g-art::before{content:'';position:absolute;left:50%;top:50%;width:min(120vh,120vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,248,235,.22)}
.g-art::after{content:'';position:absolute;left:50%;top:50%;width:min(80vh,80vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,248,235,.16)}
.g-art svg{position:absolute;z-index:1;left:50%;bottom:10%;height:52%;width:auto;transform:translateX(-50%);filter:drop-shadow(0 20px 26px rgba(0,0,0,.35))}
.g-art svg.b{left:auto;right:12%;bottom:12%;height:30%;transform:none}
.g-art svg.c{left:12%;right:auto;bottom:12%;height:26%;transform:none}
.g-cap{position:absolute;z-index:2;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 30px);text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3vw,2rem);color:rgba(255,248,235,.94);opacity:0;margin:0}
.g-scroll{position:absolute;z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dark-muted);pointer-events:none;margin:0}
.g-scroll i{display:block;width:1px;height:44px;background:linear-gradient(var(--copper),transparent);transform-origin:top;animation:g-line 2s var(--ease) infinite}
@keyframes g-line{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.g-intro{padding:clamp(90px,14vw,200px) 0 clamp(30px,5vw,70px)}
.bigtext{overflow:hidden;padding:clamp(10px,3vw,40px) 0 clamp(50px,8vw,110px)}
.bigtext-track{display:flex;width:max-content;white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:clamp(5rem,20vw,16rem);line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--fg);will-change:transform}
.bigtext-track span{display:inline-flex;align-items:center}
.bigtext-track span::after{content:'';display:block;width:.28em;height:.28em;margin:0 .5em;background:var(--accent);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.wall{background:var(--dark);color:var(--dark-fg);padding:clamp(70px,10vw,140px) 0;overflow:hidden}
.g-h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,8vw,6.4rem);line-height:.95;letter-spacing:-.02em;margin-top:14px}
.g-h2 em{color:var(--copper);font-weight:400}
.wall-head{margin-bottom:clamp(30px,5vw,64px)}
.wall-head .label,.mosaic .label{color:var(--dark-muted)}
.wall-row{margin-bottom:clamp(12px,1.8vw,24px)}
.wall-track{display:flex;width:max-content;will-change:transform}
.w-tile{position:relative;flex:none;display:block;width:clamp(170px,24vw,300px);aspect-ratio:3/4.3;margin-right:clamp(12px,1.8vw,24px);border-radius:999px 999px 18px 18px;overflow:hidden;background:var(--g);color:rgba(255,248,235,.94);transition:transform .5s var(--out),filter .4s}
.wall-row:nth-child(even) .w-tile{aspect-ratio:1;border-radius:26px}
.w-tile:hover{transform:translateY(-10px) scale(1.02)}
.w-cap{position:absolute;z-index:2;left:0;right:0;bottom:12px;text-align:center;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.deck{position:relative;background:var(--bg);height:520vh}
.deck-sticky{position:sticky;top:env(safe-area-inset-top,0px);height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column-reverse;justify-content:center;gap:14px;padding:clamp(74px,10vh,100px) var(--pad) 16px;overflow:hidden}
@media (min-width:900px){.deck-sticky{flex-direction:row;align-items:center;gap:clamp(30px,6vw,90px)}.deck-copy{flex:0 0 38%}}
.deck-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,5.6vw,4.6rem);line-height:.98;letter-spacing:-.02em;margin:12px 0 12px;transition:opacity .25s,transform .4s var(--out)}
.deck-copy p{color:var(--muted);max-width:38ch;transition:opacity .25s,transform .4s var(--out)}
.deck-copy .label{color:var(--muted)}
.deck-copy.swap h2,.deck-copy.swap p{opacity:0;transform:translateY(10px)}
.deck-count{display:block;margin-top:14px;font-family:var(--serif);font-size:1.4rem;color:var(--accent);font-variant-numeric:tabular-nums}
.deck-stage{position:relative;flex:1 1 0;min-height:0;width:100%}
@media (min-width:900px){.deck-stage{align-self:stretch}}
.deck-card{position:absolute;left:50%;top:50%;height:min(100%,640px);aspect-ratio:3/4.1;max-width:88vw;border-radius:999px 999px 26px 26px;background:var(--g);overflow:hidden;color:rgba(255,248,235,.95);box-shadow:0 30px 60px -30px rgba(0,0,0,.5);will-change:transform;transform:translate(-50%,-50%)}
.deck-card::after{content:'';position:absolute;inset:0;background:#000;opacity:var(--dim,0);pointer-events:none;z-index:3}
.deck-card .art svg{width:52%;bottom:16%}
.deck-card .num{position:absolute;z-index:2;left:0;right:0;bottom:16px;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.4rem}
.mosaic{background:var(--dark);color:var(--dark-fg);padding:clamp(80px,12vw,170px) 0;border-bottom:1px solid var(--dark-line)}
.mosaic .sec-head p{color:var(--dark-muted)}
.mosaic .g-h2 em{color:var(--copper)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(24px,4vw,44px)}
.chip{min-height:44px;padding:0 20px;border:1px solid var(--dark-line);border-radius:99px;font-size:.9rem;font-weight:500;color:var(--dark-fg);transition:background .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--copper)}
.chip.on{background:var(--copper);color:#100F0D;border-color:var(--copper)}
.grid{columns:2;column-gap:clamp(10px,1.6vw,20px)}
@media (min-width:760px){.grid{columns:3}}
.tile{position:relative;display:block;width:100%;margin:0 0 clamp(10px,1.6vw,20px);border-radius:22px;overflow:hidden;background:var(--g);color:rgba(255,248,235,.95);text-align:left;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;transition:opacity .35s,scale .35s,clip-path 1.1s var(--out)}
.tile.off{opacity:0;scale:.92;pointer-events:none}
.tile.gone{display:none}
.r-t{aspect-ratio:3/4.4}.r-s{aspect-ratio:1}.r-p{aspect-ratio:4/5}.r-w{aspect-ratio:5/4}
.tile .art{inset:-10% 0;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));transition:transform .6s var(--out)}
.t-cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:46px 16px 14px;background:linear-gradient(to top,rgba(10,8,6,.7),transparent);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.t-cap i{font-family:var(--serif);font-style:italic;font-size:1.2rem}
.t-cap b{font-weight:500;font-size:.95rem}
.t-cap small{margin-left:auto;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
html.js .clip{clip-path:inset(100% 0 0 0)}
html.js .clip.in{clip-path:inset(0)}
@keyframes g-clip{to{clip-path:inset(0)}}
html.js .clip{animation:g-clip 0s linear 5s forwards}
@keyframes g-show{to{opacity:1;transform:none}}
html.js .reveal{animation:g-show 0s linear 4s forwards}
.lb{position:fixed;inset:0;z-index:120;display:grid;place-items:center;visibility:hidden;opacity:0;transition:opacity .4s,visibility 0s .4s}
.lb.open{visibility:visible;opacity:1;transition-delay:0s}
.lb-bg{position:absolute;inset:0;background:rgba(10,9,7,.93);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lb-stage{position:relative;z-index:2;width:min(80vw,500px);height:min(58svh,660px);margin-top:calc(env(safe-area-inset-top,0px) + 20px);margin-bottom:110px;touch-action:pan-y}
.lb-art{position:absolute;inset:0;border-radius:999px 999px 26px 26px;background:var(--g);overflow:hidden;color:rgba(255,248,235,.95);transform:translateY(40px) scale(.9);opacity:0;transition:transform .7s var(--out),opacity .5s}
.lb.open .lb-art{transform:none;opacity:1}
.lb.open .lb-art.out-l{transform:translateX(-16vw) rotate(-5deg);opacity:0}
.lb.open .lb-art.out-r{transform:translateX(16vw) rotate(5deg);opacity:0}
.lb.open .lb-art.pre-r{transform:translateX(16vw) rotate(5deg);opacity:0;transition:none}
.lb.open .lb-art.pre-l{transform:translateX(-16vw) rotate(-5deg);opacity:0;transition:none}
.lb-art .art svg{width:52%;bottom:16%}
.lb-x{position:absolute;z-index:3;top:calc(env(safe-area-inset-top,0px) + 14px);right:clamp(14px,2.4vw,32px);min-height:44px;padding:0 20px;border:1px solid rgba(243,236,223,.3);border-radius:99px;color:#F3ECDF;font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:background .3s,color .3s}
.lb-x:hover{background:var(--copper);color:#100F0D;border-color:var(--copper)}
.lb-meta{position:absolute;z-index:3;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,32px);padding:0 16px;color:#F3ECDF}
.lb-text{text-align:center;max-width:36ch}
.lb-count{font-size:.74rem;letter-spacing:.2em;color:var(--copper)}
.lb-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.05;margin:4px 0;color:#F3ECDF}
.lb-cap{font-size:.92rem;color:rgba(243,236,223,.75);line-height:1.4;margin:0}
.lb-nav{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid rgba(243,236,223,.3);display:grid;place-items:center;color:#F3ECDF;transition:background .3s,color .3s,border-color .3s}
.lb-nav:hover{background:var(--copper);color:#100F0D;border-color:var(--copper)}
.lb-nav svg{width:20px;height:20px}
@media (prefers-reduced-motion: reduce){.g-hero{height:auto!important}.g-hero-sticky{position:relative;height:100svh}.g-window{clip-path:none!important}.fl,.g-scroll{display:none}.deck{height:auto!important}.deck-sticky{position:relative;height:auto;overflow:visible;padding-top:60px}.deck-stage{display:grid;gap:16px;flex:none}.deck-card{position:relative!important;left:auto;top:auto;transform:none!important;opacity:1!important;width:min(80vw,380px);height:auto;margin:0 auto}html.js .clip{clip-path:none!important;animation:none}.wall-track,.bigtext-track{transform:none!important}.wall-row{overflow-x:auto}.lb-art{transition:none}}