@font-face{font-family:Inter;src:url('assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Oswald;src:url('assets/Oswald-VF.woff2') format('woff2');font-weight:200 700;font-display:swap}
:root{--paper:#f5f4ef;--ink:#151515;--muted:#74736e;--line:#d9d8d2;--description:#5d5c57;--hero-surface:#ebeae5;--hero-alt:#e7e5df;--dot:#bab9b3;--edge:#0001;--ease:cubic-bezier(.4,0,.2,1);--page-ease:cubic-bezier(.6,0,.18,1);--gutter:5vw;--card-width:clamp(580px,61vw,900px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.home-active{overflow:hidden}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0;background:none}
button:disabled{cursor:default;opacity:.35}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
button::-moz-focus-inner{border:0}
[hidden]{display:none!important}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-70px;padding:12px 20px;background:var(--ink);color:var(--paper);z-index:100}
.skip-link:focus{top:16px}
.site-header{position:fixed;inset:0 0 auto;z-index:30;padding:28px var(--gutter);height:114px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(var(--paper) 65%,transparent);pointer-events:none}
.site-header a,.site-header button{pointer-events:auto}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{display:block;position:relative;overflow:hidden;width:56px;height:56px;flex:none;border-radius:50%}
.brand-mark img{position:absolute;max-width:none;width:191px;height:auto;left:-69px;top:-28px}
.brand-copy{font-size:12px;line-height:1.3;letter-spacing:.035em;font-weight:600}
.brand-copy span{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:4px}
.site-header nav{display:flex;align-items:center;gap:34px}
.nav-link{font-size:12px;display:flex;align-items:center;gap:7px;position:relative;padding:8px 0}
.nav-link::after,.back-link::after{content:'';position:absolute;height:1px;left:0;right:0;bottom:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-link:hover::after,.back-link:hover::after{transform:scaleX(1)}
.nav-arrow{font-size:16px}
.count{font-size:10px;min-width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-variant-numeric:tabular-nums}
.basket-link{padding:8px 0;gap:8px}
.basket-link svg{width:17px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3}
.home-view{position:relative;height:100svh;min-height:580px;overflow:hidden;isolation:isolate}
.home-view::after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--paper));pointer-events:none;z-index:3}
.hero-copy{position:absolute;left:var(--gutter);top:49%;transform:translateY(-50%);width:42%;z-index:4;pointer-events:none}
.hero-copy a{pointer-events:auto}
.eyebrow{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;margin:0 0 25px}
.title-clip{overflow:hidden;padding-bottom:12px;margin-left:-4px}
.hero-copy h1{font-family:Oswald,Impact,sans-serif;font-size:clamp(100px,12.9vw,202px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0;will-change:transform}
.hero-description{font-size:12px;line-height:1.8;max-width:284px;margin:22px 0 25px;color:var(--description)}
.text-link{font-size:12px;display:inline-flex;gap:24px;align-items:center;padding:8px 0;border-bottom:1px solid var(--ink);font-weight:500}
.text-link span{font-size:20px;transition:transform .35s var(--ease)}
.text-link:hover span{transform:translate(3px,-3px)}
.stage{position:absolute;inset:0 0 0 43%;perspective:1600px;perspective-origin:54% 46%;touch-action:none;cursor:grab;z-index:2;user-select:none;contain:layout style}
.stage.dragging{cursor:grabbing}
.tilt-rig{position:absolute;width:var(--card-width);aspect-ratio:1.619;left:52%;top:49%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(-11deg) rotateY(-27deg) rotateZ(1.5deg);will-change:transform}
.card-world{position:absolute;inset:0;transform-style:preserve-3d}
.collection-card{position:absolute;inset:0;padding:0;border:0;display:block;background:var(--hero-surface);overflow:visible;backface-visibility:hidden;will-change:transform,opacity;transform-style:preserve-3d;box-shadow:22px 30px 46px -27px #0005;cursor:pointer;text-align:left}
.collection-card::after{content:'';position:absolute;inset:0;border:1px solid var(--edge);pointer-events:none}
.card-art{height:100%;width:100%;display:flex;align-items:center;justify-content:center;gap:1.8%;padding:4.2%;overflow:hidden;background:var(--hero-surface);position:relative}
.card-art .art-panel{display:flex;align-items:center;justify-content:center;min-width:0;flex:1;height:100%;overflow:hidden}
.card-art img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.card-art[data-panels='1']{padding:4%;background:var(--hero-alt)}
.card-art[data-panels='1'] .art-panel{max-width:57%}
.card-art[data-panels='2']{gap:7%;padding:4.5% 15%;background:var(--hero-alt)}
.collection-card--poster{background:transparent;box-shadow:none}
.collection-card--poster::after,.collection-card--poster .card-light{display:none}
.collection-card--poster .card-art--single{padding:0;gap:0;background:transparent;overflow:visible}
.collection-card--poster .art-panel{flex:0 0 auto;width:auto;max-width:none;aspect-ratio:12/17;overflow:visible}
.collection-card--poster .art-panel img{box-shadow:18px 28px 44px -25px #0005}
.collection-card--poster .card-caption{left:28.2%;right:28.2%}
.card-caption{position:absolute;left:0;right:0;bottom:-27px;color:var(--ink);font-size:10px;letter-spacing:.03em;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.card-caption span:last-child{font-size:9px;color:var(--muted)}
.card-light{position:absolute;inset:0;background:linear-gradient(110deg,#fff2,transparent 50%,#0001);pointer-events:none}
.card-hint{position:absolute;left:0;top:0;z-index:7;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.03em;padding:12px 16px;border-radius:30px;pointer-events:none;opacity:0;transition:opacity .15s;will-change:transform}
.stage:hover .card-hint{opacity:1}
.stage.dragging .card-hint,.stage.transitioning .card-hint{opacity:0}
.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:33px;z-index:5;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.hero-bottom button{pointer-events:auto}
.edition{display:flex;align-items:center;gap:16px;font-size:10px;line-height:1.6;color:var(--muted)}
.small-rule{width:29px;height:1px;background:var(--ink)}
.slide-nav{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:42px}
.slide-number{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.045em;margin-right:16px;min-width:45px}
.slide-dots{display:flex;align-items:center;gap:2px;margin-right:16px}
.slide-dot{width:18px;height:22px;padding:6px;position:relative}
.slide-dot::after{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--dot);transition:transform .35s,background .35s}
.slide-dot[aria-current='true']::after{transform:scale(1.65);background:var(--ink)}
.circle-button{display:grid;place-items:center;width:41px;height:41px;flex:none;border:1px solid var(--line);border-radius:50%;font-size:19px;line-height:1;transition:background .25s,color .25s,border .25s;position:relative}
.circle-button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.scroll-note{display:flex;align-items:center;gap:11px;font-size:10px;color:var(--muted);white-space:nowrap}
.scroll-tick{height:24px;width:1px;background:var(--line);display:block;position:relative;overflow:hidden}
.scroll-tick::after{content:'';position:absolute;top:0;left:0;width:1px;height:10px;background:var(--ink);animation:scroll-tick 2s var(--ease) infinite}
@keyframes scroll-tick{0%{transform:translateY(-12px)}60%,100%{transform:translateY(28px)}}
.home-view.entering .hero-copy{animation:copy-in .9s var(--page-ease) both}
.home-view.entering .hero-bottom{animation:fade-in 1.3s .1s both}
.home-view.entering .stage{animation:stage-in 1.3s var(--page-ease) both}
@keyframes copy-in{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}
@keyframes stage-in{from{opacity:0;translate:16% 3%}to{opacity:1;translate:0 0}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.shop-view{padding:150px var(--gutter) 0;min-height:100svh}
.shop-heading{margin-bottom:44px;max-width:1100px}
.back-link{position:relative;font-size:11px;display:inline-block;padding:6px 0;margin-bottom:38px;color:var(--muted)}
.shop-heading-line{display:flex;gap:22px;align-items:baseline}
.shop-heading h1{font:500 clamp(65px,8vw,130px)/1.05 Oswald,Impact,sans-serif;letter-spacing:-.045em;margin:0}
.shop-count{font-size:11px;white-space:nowrap}
.shop-description{font-size:12px;line-height:1.8;max-width:490px;margin:24px 0 0;color:var(--muted)}
.shop-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:32px}
.filters{display:flex;flex-wrap:wrap;gap:7px}
.filter{font-size:10px;padding:11px 14px;border:1px solid transparent;border-radius:30px;white-space:nowrap;transition:background .2s,border-color .2s}
.filter:hover{border-color:var(--line)}
.filter[aria-current='page']{color:var(--paper);background:var(--ink)}
.filter small{font-size:8px;opacity:.6;margin-left:5px}
.search-field{display:flex;align-items:center;border-bottom:1px solid var(--line);width:210px;gap:10px;padding:10px 0;flex:none}
.search-field svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}
.search-field input{width:100%;min-width:0;border:0;padding:0;background:none;font-size:11px;color:var(--ink);outline-offset:10px}
.search-field input::placeholder{color:var(--muted)}
.search-key{font-size:16px;color:var(--muted)}
.poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 24px}
.poster-item{position:relative;min-width:0}
.poster-open{display:block;width:100%;text-align:left;padding:0}
.poster-image{aspect-ratio:var(--poster-aspect,2/3);overflow:visible;background:transparent;display:block;position:relative}
.poster-image img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--page-ease);transform:translateY(0) scale(1)}
.poster-open:hover .poster-image img,.poster-open:focus-visible .poster-image img{transform:translateY(-4px) scale(1.015)}
.poster-meta{padding-top:15px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.poster-meta .poster-name{font-size:12px;font-weight:500;margin:0;color:var(--ink)}
.poster-meta>span:last-child{font-size:10px;color:var(--muted);transition:transform .3s}
.poster-open:hover .poster-meta>span:last-child{transform:translate(2px,-2px)}
.poster-tag{margin:5px 0 0;font-size:9px;color:var(--muted)}
.save-poster{position:absolute;right:10px;top:10px;z-index:2;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--paper);border:1px solid var(--edge);transition:background .2s,color .2s}
.save-poster svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.4;fill:none}
.save-poster[aria-pressed='true']{color:var(--paper);background:var(--ink)}
.save-poster[aria-pressed='true'] svg{fill:currentColor}
.poster-item.reveal{animation:poster-in .65s var(--page-ease) both;animation-delay:var(--delay,0ms)}
@keyframes poster-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.empty-state{padding:70px 0 110px;text-align:center}
.empty-state p{font-size:16px;color:var(--muted);margin:0 0 20px}
.shortlist-tools{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:60px;padding-top:26px}
.shortlist-tools p{font-size:11px;color:var(--muted)}
.pill-button{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:18px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:40px;font-size:11px;transition:background .25s,color .25s}
.pill-button:hover{background:transparent;color:var(--ink)}
.pill-button span{font-size:18px;line-height:1}
.shop-footer{margin-top:100px;border-top:1px solid var(--line);padding:35px 0 28px;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:12px;align-items:center}
.shop-footer>span{font:500 22px Oswald,Impact,sans-serif;letter-spacing:-.02em}
.shop-footer p,.shop-footer a{font-size:10px;margin:0}
.shop-footer a{justify-self:end}
.shop-footer small{font-size:9px;color:var(--muted);grid-column:1/-1;margin-top:24px}
.product-dialog{padding:0;border:0;width:min(1150px,92vw);max-width:none;max-height:90svh;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:0 15px 80px #0003}
.product-dialog::backdrop{background:#1b1b1b80;backdrop-filter:blur(8px)}
.product-dialog[open]{animation:dialog-in .5s var(--page-ease) both}
@keyframes dialog-in{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.dialog-close{position:absolute;right:20px;top:20px;background:var(--paper);z-index:3;font-size:25px}
.product-layout{overscroll-behavior:contain;scrollbar-gutter:stable;display:grid;grid-template-columns:1.1fr 1fr;min-height:min(640px,calc(90svh - 61px));max-height:calc(90svh - 61px);overflow:auto}
.product-art{background:transparent;padding:35px 45px 70px;position:relative;display:flex;align-items:center;justify-content:center;min-height:500px}
.product-art>img{width:100%;height:66svh;max-height:700px;object-fit:contain;transition:opacity .2s}
.image-switch{position:absolute;bottom:22px;left:20px;right:20px;display:flex;justify-content:center;gap:6px}
.image-switch button{padding:9px 14px;font-size:9px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.image-switch button[aria-pressed='true']{background:var(--ink);color:var(--paper)}
.product-info{padding:85px 50px 40px;align-self:center}
.product-info .eyebrow{color:var(--muted);margin-bottom:18px}
.product-info h2{font:500 clamp(44px,5vw,78px)/1.1 Oswald,Impact,sans-serif;letter-spacing:-.035em;margin:0 0 22px}
.product-subtitle{font-size:12px;line-height:1.8;max-width:250px;color:var(--muted);margin:0 0 34px}
.product-info dl{margin:0 0 36px;font-size:10px}
.product-info dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:12px}
.product-info dt{color:var(--muted)}
.product-info dd{margin:0}
.product-info .pill-button{width:100%}
.product-note{font-size:9px;color:var(--muted);text-align:center;margin:12px 0 20px}
.product-shortlist{font-size:10px}
.availability-note{font-size:9px;line-height:1.65;color:var(--muted);margin:30px 0 0;max-width:290px}
.product-quantity{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px;font-size:10px}
.quantity-control{display:flex;align-items:center;height:34px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:var(--paper)}
.quantity-control button{width:33px;height:32px;display:grid;place-items:center;font-size:16px;padding:0}
.quantity-control input{width:32px;min-width:0;padding:0;border:0;background:transparent;text-align:center;font-size:11px;color:var(--ink);appearance:textfield;-moz-appearance:textfield}
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity-control button:focus-visible,.quantity-control input:focus-visible{outline-offset:-3px;border-radius:14px}
.product-secondary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px}
.product-secondary .text-link{font-size:10px;gap:12px;border-color:var(--line)}
.product-secondary .text-link span{font-size:16px}
.product-secondary+.availability-note{margin-top:20px}
.basket-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(500px,100vw);height:100dvh;max-width:none;max-height:100dvh;padding:0;border:0;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:-20px 0 80px #0002}
.basket-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:basket-in .5s var(--page-ease) both}
.basket-dialog::backdrop{background:#1b1b1b70;backdrop-filter:blur(5px)}
@keyframes basket-in{from{transform:translateX(103%);opacity:.5}to{transform:translateX(0);opacity:1}}
.basket-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:36px 32px 28px;border-bottom:1px solid var(--line)}
.basket-header .eyebrow{font-size:8px;color:var(--muted);margin:0 0 15px}
.basket-header h2{font:500 60px/1.05 Oswald,Impact,sans-serif;letter-spacing:-.04em;margin:0}
.basket-header .circle-button{width:35px;height:35px;font-size:25px}
.basket-content{scrollbar-gutter:stable;overflow:auto;padding:0 32px;overscroll-behavior:contain}
.basket-item{display:grid;grid-template-columns:75px minmax(0,1fr) 22px;align-items:start;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.basket-item:last-child{border-bottom:0}
.basket-art{display:block;aspect-ratio:2/3;width:75px;padding:0;background:transparent}
.basket-art img{width:100%;height:100%;object-fit:contain}
.basket-item-info{padding-top:5px}
.basket-item-title{display:block;padding:0;text-align:left;font-size:12px;font-weight:500;line-height:1.4}
.basket-item-info p{font-size:9px;margin:7px 0 19px;color:var(--muted)}
.basket-item .quantity-control{width:max-content;height:29px}
.basket-item .quantity-control button{height:27px;width:28px;font-size:14px}
.basket-item .quantity-control input{width:28px;font-size:10px}
.basket-remove{font-size:20px;line-height:1;padding:0;margin-top:1px;color:var(--muted)}
.basket-remove:hover{color:var(--ink)}
.basket-empty{padding:100px 0 70px;text-align:center}
.basket-empty p{font:400 35px/1.1 Oswald,Impact,sans-serif;letter-spacing:-.02em;margin:0 0 20px}
.basket-footer{padding:25px 32px 28px;border-top:1px solid var(--line);background:var(--paper)}
.basket-summary{font-size:11px;display:flex;justify-content:space-between;gap:20px;margin-bottom:23px}
.basket-summary span:last-child{font-variant-numeric:tabular-nums;color:var(--muted)}
.basket-footer .pill-button{width:100%;font-size:11px}
.basket-footer>.text-link{display:flex;justify-content:center;width:max-content;margin:13px auto 0;gap:15px;font-size:10px;border-color:var(--line)}
.basket-note{font-size:9px;color:var(--muted);text-align:center;margin:17px 0 0;line-height:1.5}
@media(max-width:480px){.brand-copy{display:none}.basket-header{padding:28px 23px 24px}.basket-header h2{font-size:52px}.basket-content{padding:0 23px}.basket-item{gap:16px}.basket-footer{padding:22px 23px 24px}.product-secondary{gap:12px}.product-secondary .text-link{font-size:9px;gap:8px}}
.product-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:20px 28px;font-size:10px}
.product-navigation button{font-size:10px;padding:6px 0}
.product-navigation span{font-variant-numeric:tabular-nums;color:var(--muted)}
.transition-curtain{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;transform:translateY(101%);background:var(--ink);color:var(--paper);pointer-events:none;will-change:transform}
.transition-curtain span{font:500 clamp(45px,7vw,100px) Oswald,Impact,sans-serif;letter-spacing:-.04em}
body.transitioning{cursor:progress}
body.transitioning .site-header{pointer-events:none}
body.transitioning .site-header a{pointer-events:none}
body.transitioning .site-header button{pointer-events:none}
.toast{width:max-content;max-width:calc(100vw - 32px);text-align:center;position:fixed;left:50%;bottom:30px;transform:translate(-50%,15px);opacity:0;z-index:60;background:var(--ink);color:var(--paper);font-size:11px;padding:14px 22px;border-radius:40px;pointer-events:none;transition:transform .3s var(--ease),opacity .3s var(--ease);white-space:normal;line-height:1.5}
.toast.visible{opacity:1;transform:translate(-50%,0)}
.noscript{position:fixed;inset:120px 20px auto;z-index:100;background:var(--paper);padding:24px;border:1px solid var(--line);font-size:14px}
.noscript a{text-decoration:underline}
@media(min-width:1700px){:root{--gutter:6vw;--card-width:980px}.hero-copy h1{font-size:235px}.hero-description{font-size:14px;max-width:330px}.hero-copy .eyebrow{font-size:11px}.text-link{font-size:14px}.tilt-rig{left:50%}}
@media(max-width:1100px){:root{--card-width:720px}.hero-copy{width:45%}.hero-copy h1{font-size:clamp(100px,13.5vw,160px)}.hero-description{max-width:240px}.tilt-rig{left:54%;transform:translate(-50%,-50%) rotateX(-10deg) rotateY(-27deg) rotateZ(1.5deg)}.scroll-note{display:none}.slide-nav{margin-right:0}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-tools{align-items:flex-start;flex-direction:column}.search-field{width:260px}.product-info{padding:70px 30px 35px}.product-art{padding:35px 25px 70px}}
@media(max-width:760px){:root{--gutter:6vw;--card-width:min(108vw,650px)}.site-header{height:89px;padding-top:19px;padding-bottom:19px}.brand-mark{width:43px;height:43px}.brand-mark img{width:147px;left:-53px;top:-21px}.brand-copy{font-size:10px}.brand-copy span{font-size:8px}.site-header nav{gap:18px}.nav-link{font-size:10px}.nav-arrow{display:none}.count{height:19px;min-width:19px;font-size:8px}.home-view{min-height:640px}.hero-copy{left:var(--gutter);top:122px;transform:none;width:80%;pointer-events:none}.hero-copy .eyebrow{font-size:8px;margin-bottom:15px}.hero-copy h1{font-size:clamp(77px,16.6vw,125px);line-height:1.01}.title-clip{padding-bottom:6px;margin-left:-2px}.hero-description{font-size:10px;line-height:1.7;max-width:210px;margin:12px 0 9px}.hero-copy .text-link{font-size:10px;gap:20px;padding:5px 0}.hero-copy .text-link span{font-size:16px}.stage{inset:33% -12% 3% 4%;perspective:1100px;perspective-origin:68% 50%;z-index:2}.tilt-rig{left:64%;top:53%;transform:translate(-50%,-50%) rotateX(-8deg) rotateY(-22deg) rotateZ(2deg)}.card-caption{font-size:8px;bottom:-23px}.card-caption span:last-child{font-size:8px}.hero-bottom{bottom:22px}.edition{font-size:8px;gap:9px}.small-rule{width:17px}.slide-nav{gap:8px}.slide-number{font-size:9px;margin-right:7px;min-width:38px}.slide-dots{margin-right:5px;gap:0}.slide-dot{width:14px;padding:5px}.circle-button{width:33px;height:33px;font-size:16px}.card-hint{display:none}.shop-view{padding-top:125px}.shop-heading{margin-bottom:28px}.back-link{margin-bottom:26px;font-size:10px}.shop-heading h1{font-size:70px}.shop-heading-line{gap:12px}.shop-count{font-size:9px}.shop-description{font-size:11px;margin-top:18px}.shop-tools{margin-bottom:24px;padding-bottom:19px;gap:18px}.filters{gap:3px}.filter{font-size:9px;padding:9px 12px}.search-field{width:100%}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.poster-meta{padding-top:11px;gap:5px}.poster-meta .poster-name{font-size:10px}.poster-tag{font-size:8px}.save-poster{width:27px;height:27px;right:7px;top:7px}.save-poster svg{width:12px;height:12px}.shop-footer{margin-top:65px;grid-template-columns:1fr 1fr}.shop-footer p{grid-column:1/-1;grid-row:2;font-size:9px}.shop-footer a{grid-column:2;grid-row:1;font-size:9px}.shop-footer small{margin-top:18px}.product-dialog{width:94vw;max-height:94svh}.product-layout{grid-template-columns:1fr;min-height:auto}.dialog-close{right:12px;top:12px;width:35px;height:35px;font-size:24px}.product-art{padding:30px 30px 67px;min-height:0}.product-art>img{height:51svh;max-height:620px}.product-info{padding:30px}.product-info h2{font-size:52px;margin-bottom:15px}.product-subtitle{margin-bottom:24px}.product-info dl{margin-bottom:26px}.availability-note{margin-top:22px}.product-navigation{padding:18px 20px}.shortlist-tools{align-items:flex-start;flex-direction:column;gap:6px;margin-top:40px}.toast{bottom:20px;font-size:10px}.transition-curtain span{font-size:56px}}
@media(max-width:400px){.brand-copy{display:none}.site-header nav{gap:18px}.hero-copy{top:109px}.hero-copy h1{font-size:76px}.hero-copy .eyebrow{font-size:7px}.hero-description{max-width:185px;font-size:9px}.stage{inset:35% -17% 3% 1%}.tilt-rig{top:54%}.edition{display:none}.slide-nav{margin:0;width:100%;justify-content:flex-end}.slide-number{margin-right:auto}.shop-heading h1{font-size:59px}.filter{padding:9px 10px}.poster-meta .poster-name{font-size:9px}.poster-meta>span:last-child{font-size:9px}.poster-grid{gap:25px 12px}}
@media(max-height:680px) and (min-width:761px){.home-view{min-height:500px}.site-header{height:92px;padding-top:18px;padding-bottom:18px}.hero-copy h1{font-size:clamp(93px,10vw,148px)}.hero-copy .eyebrow{margin-bottom:13px}.hero-description{margin:12px 0 16px;font-size:11px}.hero-bottom{bottom:19px}.tilt-rig{top:49%;width:min(57vw,760px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.card-hint{display:none}.collection-card,.tilt-rig,.hero-copy h1{will-change:auto}}

@media(pointer:coarse){
  .circle-button{width:44px;height:44px}
  .save-poster{width:44px;height:44px}
  .quantity-control,.basket-item .quantity-control{height:44px}
  .quantity-control button,.basket-item .quantity-control button{width:44px;height:42px}
  .quantity-control input,.basket-item .quantity-control input{width:38px;min-height:42px}
  .image-switch button,.product-navigation button,.filter,.text-link{min-height:44px}
  .basket-item{position:relative;grid-template-columns:75px minmax(0,1fr);gap:12px}
  .basket-remove{position:absolute;right:0;top:24px;width:44px;height:44px;margin-top:0}
  .basket-item-title{padding-right:36px}
  .basket-header .circle-button,.dialog-close{width:44px;height:44px}
  .basket-header{padding-top:calc(28px + env(safe-area-inset-top,0px))}
  .basket-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:760px) and (pointer:coarse){
  .site-header nav{gap:14px}
  .nav-link{min-height:44px}
  .hero-bottom{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  .slide-dots,.edition{display:none}
  .slide-nav{margin:0;width:100%;justify-content:flex-end}
  .slide-number{margin-right:auto}
  .product-secondary{flex-wrap:wrap;gap:8px 16px}
  .shortlist-tools{gap:12px}
}

:root[data-theme='dark']{--paper:#111111;--ink:#f5f4ef;--muted:#aeada6;--line:#373735;--description:#bbb9b2;--hero-surface:#252524;--hero-alt:#202020;--dot:#696862;--edge:#fff2}
.theme-toggle{width:38px;height:38px;padding:0;flex:none;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:transparent;transition:background-color .24s,color .24s,border-color .24s}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;grid-area:1/1;transition:transform .3s var(--ease)}
.theme-toggle:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.theme-toggle:hover svg{transform:rotate(-12deg)}
.theme-sun{display:none}
[data-theme='dark'] .theme-moon{display:none}
[data-theme='dark'] .theme-sun{display:block}
.shortlist-icon{display:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.theme-changing body,.theme-changing .hero-description,.theme-changing .shop-description,.theme-changing .poster-tag,.theme-changing .brand-copy span,.theme-changing .count,.theme-changing .filter,.theme-changing .product-dialog,.theme-changing .basket-dialog,.theme-changing .basket-footer,.theme-changing .save-poster,.theme-changing .card-art{transition:background-color .24s ease,color .24s ease,border-color .24s ease}
@media(max-width:520px){.shortlist-label{display:none}.shortlist-icon{display:block}.site-header nav{gap:12px}.brand-copy{display:none}}
@media(pointer:coarse){.theme-toggle{width:44px;height:44px}}
@media(max-width:760px) and (pointer:coarse){.site-header nav{gap:10px}}
@media(hover:none){.poster-open:hover .poster-image img{transform:none}}

/* Mobile is a single portrait carousel, with its own layout and gesture axis. */
@media(max-width:760px){
  :root{--gutter:20px}
  body.home-active{overflow:auto}
  .site-header{height:76px;padding:12px var(--gutter);background:var(--paper)}
  .brand-copy,.shortlist-label,.nav-arrow{display:none}
  .shortlist-icon{display:block}
  .site-header nav{gap:10px}
  .nav-link{min-height:44px;font-size:11px}
  .count{height:17px;min-width:17px;font-size:8px}
  .basket-link,.shortlist-link{gap:4px}
  .theme-toggle{height:40px;width:40px}
  .home-view{height:100svh;min-height:570px;padding:88px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:8px;overflow:hidden}
  .home-view::after{display:none}
  .hero-copy{display:contents}
  .hero-copy .eyebrow{grid-row:1;font-size:8px;margin:0;text-align:center;letter-spacing:.08em}
  .title-clip{grid-row:2;margin:0;padding:0 0 4px;text-align:center;overflow:hidden}
  .hero-copy h1{font-size:clamp(36px,9.8vw,56px);line-height:1.12;letter-spacing:-.035em;white-space:nowrap}
  .hero-description{grid-row:3;font-size:11px;line-height:1.5;margin:0 auto;max-width:330px;min-height:33px;text-align:center}
  .stage{grid-row:4;position:relative;inset:auto;min-height:0;width:100%;perspective:none;overflow:hidden;touch-action:pan-y;contain:layout style;cursor:grab}
  .tilt-rig{left:50%;top:calc(50% - 16px);aspect-ratio:12/17;transform-style:flat;transform:translate(-50%,-50%)}
  .card-world,.collection-card{transform-style:flat}
  .collection-card{background:transparent;box-shadow:none;backface-visibility:visible}
  .collection-card::after,.card-light,.card-hint{display:none}
  .collection-card .card-art{padding:0;gap:0;background:transparent;overflow:visible}
  .collection-card .card-art .art-panel{display:none}
  .collection-card .card-art .art-panel:first-child{display:flex;flex:none;width:100%;max-width:none;height:100%;aspect-ratio:auto;overflow:visible}
  .collection-card .art-panel img{box-shadow:none;object-fit:contain}
  .collection-card .card-caption{left:0;right:0;bottom:-25px;font-size:10px;letter-spacing:0}
  .card-caption span:last-child{font-size:9px}
  .hero-copy .text-link{grid-row:5;justify-self:center;font-size:12px;min-height:44px;gap:30px;padding:8px 0}
  .hero-bottom{grid-row:6;position:relative;inset:auto;padding-top:6px;pointer-events:auto}
  .edition,.slide-dots,.scroll-note{display:none}
  .slide-nav{margin:0;width:100%;gap:12px;justify-content:flex-end}
  .slide-number{margin-right:auto;font-size:11px;min-width:50px}
  .slide-nav .circle-button{height:44px;width:44px;font-size:22px}
  .home-view.entering .hero-copy{animation:none}
  .home-view.entering .stage{animation:fade-in .7s both}
  .shop-view{padding-top:102px}
  .shop-heading-line{align-items:center;flex-wrap:wrap;gap:8px 16px}
  .shop-heading h1{font-size:clamp(42px,11vw,68px);overflow-wrap:anywhere}
  .shop-description{font-size:12px;line-height:1.7}
  .shop-count{font-size:11px}
  .back-link{font-size:12px;margin-bottom:22px}
  .filters{width:100%;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 8px;gap:6px;scrollbar-width:thin}
  .shop-tools{min-width:0;gap:12px}
  .filter{font-size:11px;min-height:44px;display:inline-flex;align-items:center;padding:10px 14px}
  .search-field{width:100%;min-height:48px}
  .search-field input{font-size:16px}
  .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
  .poster-meta .poster-name{font-size:12px;line-height:1.4}
  .poster-tag{font-size:10px;line-height:1.4}
  .save-poster{width:40px;height:40px;right:5px;top:5px}
  .save-poster svg{width:16px;height:16px}
  .product-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:hidden}
  .product-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr) auto}
  .product-layout{max-height:none;min-height:0;display:block;scrollbar-gutter:auto}
  .product-art{padding:24px 28px 70px}
  .product-art>img{height:48svh;max-height:520px}
  .product-info{padding:24px}
  .product-info h2{font-size:48px;overflow-wrap:anywhere}
  .dialog-close{width:44px;height:44px;right:14px;top:14px}
  .product-quantity,.product-info dl{font-size:12px}
  .quantity-control input{font-size:16px}
  .product-navigation{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));gap:8px}
  .product-navigation button{font-size:11px;min-height:44px}
  .product-secondary{flex-wrap:wrap;gap:8px 16px}
  .shortlist-tools .pill-button{width:100%}
}
@media(max-width:359px){
  :root{--gutter:14px}
  .site-header nav{gap:6px}
  .brand-mark{width:38px;height:38px}
  .brand-mark img{width:130px;left:-47px;top:-19px}
  .site-header .count{position:absolute;right:-3px;top:0;background:var(--paper)}
  .shortlist-link,.basket-link{width:34px;justify-content:center}
}
@media(max-width:760px) and (max-height:600px){
  .home-view{min-height:510px;padding-top:80px;gap:5px}
  .hero-copy .eyebrow{display:none}
  .hero-description{font-size:10px;min-height:30px}
  .hero-copy h1{font-size:36px}
}

/* Three separate, frameless emotion prints; no enclosing template. */
.collection-card--triptych{background:transparent;box-shadow:none}
.collection-card--triptych::after,.collection-card--triptych .card-light{display:none}
.collection-card--triptych .card-art{padding:0 3%;gap:4%;background:transparent;overflow:visible}
.collection-card--triptych .art-panel{height:auto;aspect-ratio:12/17;overflow:visible}
.collection-card--triptych .art-panel:nth-child(1){transform:translateY(-5%)}
.collection-card--triptych .art-panel:nth-child(3){transform:translateY(5%)}
.collection-card--triptych .poster-cover{box-shadow:14px 22px 32px -18px #0006}
.collection-card--triptych .card-caption{left:3%;right:3%}
/* Real ornamental silhouette over an uncropped quote image. */
.collection-card--baroque .card-art .art-panel{position:relative;aspect-ratio:10/13;width:auto;max-width:none;flex:none;overflow:visible}
.collection-card--baroque .art-panel .poster-cover{position:absolute;left:11%;top:10%;width:78%;height:80%;object-fit:contain;box-shadow:none}
.collection-card--baroque .art-panel .baroque-frame{position:relative;width:100%;height:100%;max-width:none;object-fit:fill;filter:drop-shadow(12px 18px 10px #0003);z-index:1}
.collection-card--baroque .card-caption{left:26.25%;right:26.25%}
@media(max-width:760px){
  .collection-card--triptych .card-art{display:flex;padding:0;gap:4%;align-items:center}
  .collection-card--triptych .card-art .art-panel,.collection-card--triptych .card-art .art-panel:first-child{display:flex;flex:1;min-width:0;width:auto;max-width:none;height:auto;aspect-ratio:12/17}
  .collection-card--triptych .card-caption{left:0;right:0}
  .collection-card--triptych .poster-cover{box-shadow:5px 10px 14px -8px #0006}
  .collection-card--baroque .card-art .art-panel:first-child{width:100%;height:100%;aspect-ratio:10/13}
  .collection-card--baroque .art-panel .baroque-frame{filter:drop-shadow(3px 6px 4px #0003)}
  .collection-card--baroque .card-caption{left:0;right:0}
}
@media(max-width:760px){
  .collection-card--triptych{width:calc(100vw - var(--gutter)*2);margin-left:calc((100% - (100vw - var(--gutter)*2))/2)}
  .collection-card--triptych .card-caption{top:calc(50% + (100vw - var(--gutter)*2)*.306*17/12/2 + 16px);bottom:auto}
}

/* Phone mirrors the desktop composition, not a separate stacked homepage. */
.collection-card--baroque .art-panel .poster-cover{left:18.7%;top:16.4%;width:63%;height:65%;object-fit:contain}
.collection-card--baroque .art-panel::before{content:'';position:absolute;inset:16.4% 18.3% 18.6% 18.7%;background:#d8d3ca;box-shadow:inset 0 0 8px #0005}
.collection-card--baroque .art-panel .baroque-frame{filter:drop-shadow(10px 15px 9px #0005)}
/* Collection panels keep their perspective on every screen. */
.mobile-collection-art{display:none}
@media(max-width:760px){
  :root{--gutter:20px}
  body.home-active{overflow:hidden}
  .site-header{height:76px;padding:12px var(--gutter)}
  .home-view{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100svh;min-height:0;padding:91px var(--gutter) calc(14px + env(safe-area-inset-bottom,0px));gap:12px;touch-action:pan-x pinch-zoom}
  .hero-copy{display:contents;position:static;transform:none;width:auto;pointer-events:none}
  .hero-copy .eyebrow{display:none}
  .title-clip{grid-row:1;text-align:left;margin:0;padding:0 0 3px;overflow:hidden}
  .hero-copy h1{font-size:clamp(38px,11vw,68px);line-height:1.13;letter-spacing:-.035em;white-space:nowrap}
  .hero-description{display:none}
  .stage{grid-row:2;position:relative;inset:auto;width:100%;height:100%;min-height:0;perspective:1000px;perspective-origin:50% 48%;overflow:hidden;touch-action:pan-x pinch-zoom;contain:layout style}
  .tilt-rig{left:50%;top:calc(50% - 15px);aspect-ratio:1.02;transform-style:preserve-3d}
  .card-world,.collection-card{transform-style:preserve-3d}
  .collection-card{background:transparent;box-shadow:none;backface-visibility:hidden;width:100%;margin-left:0}
  .home-view .collection-card .card-art{display:none}
  .mobile-collection-art{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));column-gap:4.5%;row-gap:5%;width:100%;height:100%;transform-style:preserve-3d}
  .mobile-print{display:block;min-width:0;min-height:0;position:relative;transform:translateZ(1px)}
  .mobile-print-art{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(4px 8px 6px #0003)}
  .mobile-print:nth-child(3n + 2){transform:translate3d(0,2%,1px)}
  .mobile-print:nth-child(3n){transform:translate3d(0,4%,1px)}
  .mobile-print--framed{align-self:center;aspect-ratio:10/13}
  .mobile-print--framed::before{content:'';position:absolute;inset:16.4% 18.3% 18.6% 18.7%;background:#d8d3ca}
  .mobile-print--framed .mobile-print-art{position:absolute;left:18.7%;top:16.4%;width:63%;height:65%;filter:none}
  .mobile-print-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:drop-shadow(3px 6px 4px #0004);pointer-events:none}
  .home-view .collection-card .card-caption{top:auto;bottom:-30px;left:0;right:0;display:flex;flex-direction:row;align-items:center;font-size:10px;gap:8px;letter-spacing:0}
  .card-caption span:last-child{font-size:9px;white-space:nowrap}
  .hero-copy .text-link{grid-row:3;justify-self:start;min-height:44px;font-size:12px;gap:25px;padding:8px 0;pointer-events:auto}
  .hero-copy .text-link span{font-size:20px}
  .hero-bottom{grid-row:4;position:relative;inset:auto;padding:0;pointer-events:auto}
  .slide-nav{width:100%;margin:0;gap:10px}
  .slide-number{font-size:11px;margin-right:auto}
  .slide-dots{display:flex;gap:1px;margin-right:auto}
  .slide-dot{width:20px;height:30px}
  .edition,.scroll-note,.card-hint{display:none}
  .home-view.entering .stage{animation:fade-in .7s both}
}
@media(max-width:359px){
  :root{--gutter:14px}
  .hero-copy h1{font-size:36px}
  .home-view{padding-top:84px;gap:8px}
}
@media(max-width:760px) and (max-height:600px){
  .home-view{padding-top:78px;gap:5px;padding-bottom:8px}
  .hero-copy h1{font-size:32px}
  .hero-copy .text-link{min-height:36px;font-size:11px;padding:5px 0}
  .slide-nav .circle-button{width:38px;height:38px}
}
