/* ==========================================================================
   LESLIE BROWNSTEIN — ARTIST
   Gallery white + ink, with controlled bursts of the logo's pink / yellow / turquoise.
   1 Tokens · 2 Base · 3 Type · 4 Buttons & UI · 5 Motion · 6 Header · 7 Cart
   8 Home · 9 Shop · 10 Artwork detail · 11 About · 12 Contact & forms
   13 Checkout · 14 Footer · 15 Reduced motion
   ========================================================================== */

/* 1 — TOKENS ------------------------------------------------------------- */
@font-face{font-family:"Jost";src:url("../assets/fonts/jost-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../assets/fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../assets/fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --ink:#101010; --paper:#fff; --bone:#f4f2ed; --bone-2:#e9e6de;
  --pink:#fb3c88; --yellow:#feca0f; --teal:#22c4c4;
  --muted:#5c5a55; --line:rgba(16,16,16,.16); --line-inv:rgba(255,255,255,.22);
  --sans:"Jost","Futura","Century Gothic","Avenir Next",system-ui,sans-serif;
  --serif:"Instrument Serif","Cormorant Garamond","Times New Roman",serif;
  --pad:clamp(20px,4.4vw,72px);
  --sec:clamp(84px,12vw,190px);
  --max:1640px;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --hdr:76px;
}

/* 2 — BASE --------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--hdr)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.is-locked{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}
h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--yellow);color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.on-ink :focus-visible,.cart :focus-visible{outline-color:var(--yellow)}
.cart :focus-visible{outline-color:var(--ink)}
.skip{position:fixed;left:16px;top:-80px;z-index:999;background:var(--ink);color:#fff;padding:12px 18px;transition:top .2s}
.skip:focus{top:16px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.sec{padding-block:var(--sec)}
.bone{background:var(--bone)}
.on-ink{background:var(--ink);color:#fff}
main{display:block;padding-top:var(--hdr)}
hr.rule{border:0;border-top:1px solid var(--line);margin:0}

/* 3 — TYPE --------------------------------------------------------------- */
.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.eyebrow--plain::before{display:none}
.display{font-family:var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:-.035em;line-height:.86;font-size:clamp(3.1rem,11.6vw,12.5rem)}
.display em,.h1 em,.h2 em,.h3 em{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.02em}
.display em{font-size:1.12em;line-height:.7}
.h1{font-weight:600;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:clamp(2.6rem,8.4vw,8.6rem)}
.h1 em{font-size:1.1em}
.h2{font-weight:500;letter-spacing:-.025em;line-height:1;font-size:clamp(2rem,4.6vw,4.6rem)}
.h2 em{font-size:1.08em}
.h3{font-weight:500;letter-spacing:-.015em;line-height:1.1;font-size:clamp(1.4rem,2.2vw,2.1rem)}
.lede{font-family:var(--serif);font-size:clamp(1.55rem,2.7vw,2.9rem);line-height:1.14;letter-spacing:-.012em}
.body-l{font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.62;color:#2c2b28}
.muted{color:var(--muted)}
.on-ink .muted{color:rgba(255,255,255,.66)}
.num{font-variant-numeric:tabular-nums}
.cap{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;gap:12px;align-items:baseline;margin-top:14px}
.cap b{font-weight:500;color:var(--ink)}
.on-ink .cap{color:rgba(255,255,255,.6)} .on-ink .cap b{color:#fff}
.prose p+p{margin-top:1.15em}
.prose{max-width:62ch}

/* 4 — BUTTONS & UI ------------------------------------------------------- */
.btn{--bg:var(--ink);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 30px;font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg);background:var(--bg);border:1px solid var(--bg);overflow:hidden;isolation:isolate;cursor:pointer;transition:color .45s var(--ease),border-color .45s var(--ease),transform .5s var(--ease),translate .6s var(--ease);white-space:nowrap}
.btn::before{content:"";position:absolute;inset:-1px;background:var(--hover,var(--yellow));transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover,.btn:focus-visible{color:var(--ink);border-color:var(--hover,var(--yellow))}
.btn:active{transform:scale(.98)}
.btn--line{--bg:transparent;--fg:var(--ink);border-color:var(--ink);--hover:var(--ink)}
.btn--line:hover,.btn--line:focus-visible{color:#fff;border-color:var(--ink)}
.btn--light{--bg:#fff;--fg:var(--ink)}
.btn--line-inv{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.55);--hover:#fff}
.btn--pink{--hover:var(--pink)}
.btn--block{width:100%}
.btn--sm{min-height:46px;padding:0 20px;font-size:.7rem}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.42;cursor:not-allowed;pointer-events:none}
.btn .arr{width:18px;height:10px;flex:none;transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.link{position:relative;display:inline-flex;align-items:center;gap:12px;font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding-block:10px;cursor:pointer}
.link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}
.link:hover::after{transform:scaleX(0);transform-origin:left}
.link .arr{width:22px;height:10px;transition:transform .5s var(--ease)}
.link:hover .arr{transform:translateX(6px)}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:6px 10px;background:#fff;color:var(--ink);border:1px solid var(--line)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.status::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--teal);flex:none}
.status--reserved::before{background:var(--yellow)}
.status--sold::before{background:transparent;border:1.5px solid var(--ink)}
.status--sold{color:var(--muted)}
.on-ink .status--sold::before{border-color:#fff}

/* shapes (logo vocabulary) */
.shape{position:absolute;display:block;pointer-events:none;will-change:transform}
.s-pink{background:var(--pink)} .s-yellow{background:var(--yellow)} .s-teal{background:var(--teal)} .s-ink{background:var(--ink)} .s-white{background:#fff}
.s-circle{border-radius:50%}
.s-q-tl{border-radius:100% 0 0 0} .s-q-tr{border-radius:0 100% 0 0} .s-q-br{border-radius:0 0 100% 0} .s-q-bl{border-radius:0 0 0 100%}
.s-half-r{border-radius:0 999px 999px 0} .s-half-l{border-radius:999px 0 0 999px} .s-half-t{border-radius:999px 999px 0 0} .s-half-b{border-radius:0 0 999px 999px}
.s-tri{clip-path:polygon(0 0,100% 50%,0 100%)}
.s-tri-d{clip-path:polygon(0 0,100% 0,0 100%)}

/* media */
.media{position:relative;overflow:hidden;background:var(--bone-2)}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media--photo img{filter:grayscale(1) contrast(1.06)}
.media img[data-parallax]{height:124%;top:-12%}
.media.is-failed{background:
  radial-gradient(circle at 70% 30%,var(--bone) 0 18%,transparent 18.4%),
  linear-gradient(135deg,var(--bone-2) 0 50%,#ddd9cf 50%)}
.media.is-failed img{display:none}
.r-45{aspect-ratio:4/5}.r-34{aspect-ratio:3/4}.r-11{aspect-ratio:1}.r-32{aspect-ratio:3/2}.r-169{aspect-ratio:16/9}.r-23{aspect-ratio:2/3}.r-219{aspect-ratio:21/9}
.arch{border-radius:999px 999px 0 0}

/* artwork presentation: a matted canvas on a gallery wall */
.art{position:relative;display:block;background:var(--bone);padding:clamp(18px,7%,64px);overflow:hidden}
.art__img{position:relative;width:100%;box-shadow:0 1px 0 rgba(0,0,0,.05),0 22px 40px -18px rgba(16,16,16,.38);transition:transform 1.1s var(--ease)}
.art__img img{width:100%;height:auto;display:block}
a.art:hover .art__img,.work:hover .art__img{transform:scale(1.025)}
.art .tag{position:absolute;left:12px;top:12px;z-index:2}

/* 5 — MOTION ------------------------------------------------------------- */
.loader{display:none}
.js .loader{display:grid;place-items:center;position:fixed;inset:0;z-index:500;background:#fff;animation:loaderBail 0s 5s forwards}
.loader__logo{width:min(46vw,250px);opacity:0;transform:scale(.94);transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.loader__bars{position:absolute;left:0;right:0;bottom:0;height:6px;display:flex}
.loader__bars i{flex:1;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease-io)}
.loader__bars i:nth-child(1){background:var(--pink)}.loader__bars i:nth-child(2){background:var(--yellow);transition-delay:.12s}.loader__bars i:nth-child(3){background:var(--teal);transition-delay:.24s}
.loader.is-on .loader__logo{opacity:1;transform:none}
.loader.is-on .loader__bars i{transform:none}
.loader.is-off{transform:translateY(-101%);transition:transform .9s var(--ease-io)}
.seen .loader{background:var(--ink)} .seen .loader__logo,.seen .loader__bars{display:none}
.seen .loader.is-off{transition-duration:.7s}
.loader.is-in{transform:translateY(101%);transition:none}
.loader.is-leave{transform:none;transition:transform .5s var(--ease-io);background:var(--ink)}
.loader.is-leave .loader__logo,.loader.is-leave .loader__bars{display:none}
.loader.is-gone{visibility:hidden}
@keyframes loaderBail{to{visibility:hidden}}

.anim [data-reveal="up"]{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease) var(--d,0s),transform 1.2s var(--ease) var(--d,0s)}
.anim [data-reveal="up"].in{opacity:1;transform:none}
.anim [data-reveal="fade"]{opacity:0;transition:opacity 1.4s var(--ease) var(--d,0s)}
.anim [data-reveal="fade"].in{opacity:1}
.anim [data-reveal="mask"]{clip-path:inset(0 0 100% 0);transition:clip-path 1.35s var(--ease-io) var(--d,0s)}
.anim [data-reveal="mask"].in{clip-path:inset(0 0 0 0)}
.anim [data-reveal="mask"] img{transform:scale(1.2);transition:transform 1.9s var(--ease) var(--d,0s)}
.anim [data-reveal="mask"].in img{transform:scale(1.001)}
.anim [data-reveal="mask-x"]{clip-path:inset(0 100% 0 0);transition:clip-path 1.35s var(--ease-io) var(--d,0s)}
.anim [data-reveal="mask-x"].in{clip-path:inset(0)}
.anim [data-reveal="line"]{transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-io) var(--d,0s)}
.anim [data-reveal="line"].in{transform:none}
.anim [data-reveal="pop"]{transform:scale(0);transition:transform 1.1s var(--ease) var(--d,0s)}
.anim [data-reveal="pop"].in{transform:none}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .08em .16em;margin:-.1em -.08em -.16em}
.wi{display:inline-block}
.anim [data-split] .wi{transform:translateY(112%);transition:transform 1.15s var(--ease) calc(var(--d,0s) + var(--i,0) * 55ms)}
.anim [data-split].in .wi{transform:none}

.cursor{position:fixed;left:0;top:0;z-index:300;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) scale(.2);transition:opacity .3s,scale .5s var(--ease);scale:.2}
.cursor.is-on{opacity:1;scale:1}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

.marquee{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding-block:20px}
.on-ink.marquee,.on-ink .marquee{border-color:var(--line-inv)}
.marquee__track{display:inline-flex;align-items:center;gap:44px;padding-right:44px;animation:marquee 36s linear infinite;will-change:transform}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee span{font-size:.8rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
.marquee i{width:14px;height:14px;flex:none;display:block}
@keyframes marquee{to{transform:translateX(-50%)}}

/* 6 — HEADER ------------------------------------------------------------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--hdr);background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:transform .6s var(--ease),border-color .4s}
.hdr.is-scrolled{border-color:var(--line)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr__brand{display:flex;align-items:center;gap:16px;min-height:48px}
.hdr__brand img{height:46px;width:auto}
.hdr__brand span{font-size:.8rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;line-height:1.25}
.hdr__brand small{display:block;font-size:.62rem;font-weight:400;letter-spacing:.42em;color:var(--muted)}
.hdr__nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px)}
.hdr__nav a{position:relative;font-size:.76rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:14px 0}
.hdr__nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.hdr__nav a:hover::after,.hdr__nav a[aria-current="page"]::after{transform:none;transform-origin:left}
.hdr__tools{display:flex;align-items:center;gap:6px}
.cart-btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 4px 0 12px;font-size:.76rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.cart-btn b{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:999px;background:var(--ink);color:#fff;font-size:.72rem;font-weight:500;letter-spacing:0;transition:background .4s,color .4s,transform .5s var(--ease)}
.cart-btn.has-items b{background:var(--yellow);color:var(--ink)}
.cart-btn.bump b{transform:scale(1.3)}
.menu-btn{display:none;width:48px;height:48px;position:relative}
.menu-btn i{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .5s var(--ease),top .5s var(--ease)}
.menu-btn i:nth-child(1){top:19px}.menu-btn i:nth-child(2){top:28px}
.menu-open .menu-btn i:nth-child(1){top:23.5px;transform:rotate(45deg)}
.menu-open .menu-btn i:nth-child(2){top:23.5px;transform:rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:90;background:#fff;padding:calc(var(--hdr) + 28px) var(--pad) 32px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--ease-io),visibility 0s .8s;overflow:hidden}
.menu-open .menu{clip-path:inset(0);visibility:visible;transition:clip-path .8s var(--ease-io)}
.menu__links a{display:flex;align-items:baseline;gap:16px;font-size:clamp(2.9rem,14.5vw,5.4rem);font-weight:600;letter-spacing:-.035em;text-transform:uppercase;line-height:1.04;padding:4px 0;overflow:hidden}
.menu__links a span{display:block;transform:translateY(110%);transition:transform .9s var(--ease) calc(.18s + var(--i) * 70ms)}
.menu__links a small{font-size:.7rem;font-weight:500;letter-spacing:.2em;opacity:0;transition:opacity .6s .6s}
.menu__links a em{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.02em}
.menu-open .menu__links a span{transform:none}.menu-open .menu__links a small{opacity:.6}
.menu__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;position:relative;z-index:1}
.menu .shape{transition:transform 1.2s var(--ease) .25s}
.menu .m1{width:46vw;height:46vw;right:-12vw;bottom:14vh;transform:translate(60%,40%)}
.menu .m2{width:22vw;height:22vw;right:26vw;bottom:8vh;transform:scale(0)}
.menu-open .menu .m1,.menu-open .menu .m2{transform:none}

@media (max-width:899px){
  :root{--hdr:66px}
  .hdr__nav{display:none}.menu-btn{display:block}
  .hdr__brand img{height:40px}.hdr__brand span{display:none}
  .cart-btn span{display:none}.cart-btn{padding-left:6px}
}
@media (min-width:900px){.menu{display:none}}

/* 7 — CART --------------------------------------------------------------- */
.scrim{position:fixed;inset:0;z-index:190;background:rgba(16,16,16,.52);opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s}
.cart-open .scrim{opacity:1;visibility:visible;transition:opacity .6s var(--ease)}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:200;width:min(100%,500px);background:#fff;display:flex;flex-direction:column;transform:translateX(102%);visibility:hidden;transition:transform .8s var(--ease-io),visibility 0s .8s}
.cart-open .cart{transform:none;visibility:visible;transition:transform .8s var(--ease-io)}
.cart__head{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,36px);border-bottom:1px solid var(--line)}
.cart__head h2{font-size:1.05rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.cart__head h2 sup{font-size:.7rem;letter-spacing:0;margin-left:6px;color:var(--muted)}
.x-btn{width:48px;height:48px;display:grid;place-items:center;margin-right:-12px;border-radius:50%;transition:background .4s,transform .6s var(--ease)}
.x-btn:hover{background:var(--bone);transform:rotate(90deg)}
.x-btn svg{width:18px;height:18px}
.cart__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 clamp(20px,5vw,36px)}
.cart__empty{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;position:relative}
.cart__empty p{font-family:var(--serif);font-size:2.2rem;line-height:1.08;max-width:11ch}
.cart__empty .shape{width:150px;height:150px;right:-60px;top:14%}
.ci{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.ci__img{background:var(--bone);padding:10px;display:grid;place-items:center;aspect-ratio:1}
.ci__img img{max-height:100%;width:auto;max-width:100%;box-shadow:0 8px 14px -8px rgba(0,0,0,.4)}
.ci__top{display:flex;justify-content:space-between;gap:12px}
.ci__title{font-size:1.1rem;font-weight:500;line-height:1.2}
.ci__meta{font-size:.84rem;color:var(--muted);line-height:1.45;margin-top:4px}
.ci__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px}
.ci__remove{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:12px 0;text-decoration:underline;text-underline-offset:4px}
.ci__remove:hover{color:var(--ink)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line)}
.qty button{width:44px;height:44px;display:grid;place-items:center;font-size:1.1rem;transition:background .3s}
.qty button:hover:not([disabled]){background:var(--bone)}
.qty button[disabled]{opacity:.3;cursor:not-allowed}
.qty output{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
.one-of-one{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cart__foot{padding:22px clamp(20px,5vw,36px) max(22px,env(safe-area-inset-bottom));border-top:1px solid var(--ink);display:grid;gap:14px}
.cart__total{display:flex;justify-content:space-between;align-items:baseline}
.cart__total span{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase}
.cart__total strong{font-size:1.7rem;font-weight:500;letter-spacing:-.02em}
.cart__note{font-size:.84rem;color:var(--muted);line-height:1.45}
.toast{position:fixed;left:50%;bottom:28px;z-index:400;transform:translate(-50%,calc(100% + 60px));visibility:hidden;background:var(--ink);color:#fff;padding:16px 24px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);transition:transform .7s var(--ease),visibility 0s .7s}
.toast::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow);flex:none}
.toast.is-on{transform:translate(-50%,0);visibility:visible;transition:transform .7s var(--ease)}

/* 8 — HOME --------------------------------------------------------------- */
.hero{position:relative;min-height:calc(100svh - var(--hdr));display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto 1fr auto;column-gap:24px;padding:clamp(18px,3vw,44px) var(--pad) clamp(22px,3vw,40px);max-width:var(--max);margin-inline:auto}
.hero__top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:clamp(18px,3vw,40px)}
.hero__top .eyebrow--plain{color:var(--muted)}
.hero__title{grid-column:1/-1;grid-row:2;align-self:center;position:relative;z-index:3;pointer-events:none}
.hero__title{font-size:clamp(2.6rem,9.4vw,10.2rem)}
.hero__title .l1,.hero__title .l3{display:block}
.hero__title .l2{display:block;padding-left:clamp(0px,7vw,140px)}
.hero__canvas{grid-column:8/13;grid-row:2;align-self:center;justify-self:end;position:relative;width:min(100%,30vw,520px);aspect-ratio:4/5;z-index:2}
.hero__frame{position:absolute;inset:0;border:1px solid var(--ink);background:var(--bone);overflow:hidden}
.hero__frame::after{content:"";position:absolute;inset:10px;border:1px solid var(--line)}
.hero__canvas .shape{z-index:1}
.h-a{width:30%;height:36%;left:14%;top:46%}
.h-b{width:62%;aspect-ratio:1;right:-17%;top:-12%}
.h-c{width:86%;aspect-ratio:2/1;left:-34%;bottom:-11%}
.h-d{width:24%;aspect-ratio:1/1.5;left:44%;top:46%}
.h-e{width:18%;aspect-ratio:1;left:66%;bottom:9%;border:1px solid var(--ink);background:transparent}
.hero__label{position:absolute;right:0;top:calc(100% + 12px);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.hero__bottom{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;align-items:end;padding-top:clamp(24px,4vw,56px)}
.hero__lede{grid-column:1/6;font-size:clamp(1.02rem,1.25vw,1.3rem);line-height:1.5;max-width:40ch}
.hero__cta{grid-column:6/13;display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.scroll-cue{display:flex;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.scroll-cue i{display:block;width:1px;height:40px;background:var(--line);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--ink);animation:cue 2.4s var(--ease-io) infinite}
@keyframes cue{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}
@media (max-width:1023px){
  .hero{display:flex;flex-direction:column;min-height:0;padding-bottom:36px}
  .hero__title{order:1}
  .hero__title .l2{padding-left:0}
  .hero__canvas{order:2;width:72%;max-width:420px;align-self:flex-end;margin:clamp(34px,8vw,64px) 9% 0 0;aspect-ratio:1/1.08}
  .hero__bottom{order:3;display:block;padding-top:clamp(56px,13vw,90px)}
  .hero__cta{justify-content:flex-start;margin-top:26px}
  .hero__cta .scroll-cue{display:none}
  .display{font-size:clamp(3.1rem,16.2vw,8rem)}
  .hero__title{font-size:clamp(2.5rem,13vw,7rem)}
}
@media (max-width:559px){.hero__top .eyebrow--plain{display:none}.hero__cta .btn{flex:1 1 100%}.hero__label{display:none}}

/* intro */
.intro__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.intro__no{grid-column:1/3;font-family:var(--serif);font-size:clamp(3rem,7vw,7rem);line-height:.8}
.intro__text{grid-column:3/8;display:grid;gap:clamp(24px,3vw,44px)}
.intro__fig{grid-column:9/13;position:relative;margin-top:clamp(0px,6vw,110px)}
.intro__fig .shape{width:46%;aspect-ratio:1;left:-23%;bottom:-12%;z-index:2}
.intro__cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:899px){
  .intro__no{grid-column:1/-1;margin-bottom:-4px}.intro__text{grid-column:1/-1}
  .intro__fig{grid-column:3/13;margin-top:40px}
  .intro__cols{grid-template-columns:1fr}
}

/* section heads */
.sec-head{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:clamp(40px,6vw,96px)}
.sec-head__t{grid-column:1/9;display:grid;gap:22px}
.sec-head__a{grid-column:9/13;justify-self:end;text-align:right;display:grid;gap:14px;justify-items:end}
.sec-head__a p{max-width:34ch;font-size:.98rem;color:var(--muted)}
@media (max-width:899px){.sec-head{display:block}.sec-head__a{justify-items:start;text-align:left;margin-top:22px}}

/* featured (asymmetric, not cards) */
.feat{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:clamp(48px,7vw,110px);align-items:start}
.feat .work:nth-child(1){grid-column:1/7}
.feat .work:nth-child(2){grid-column:8/13;margin-top:clamp(60px,14vw,240px)}
.feat .work:nth-child(3){grid-column:3/11}
@media (max-width:767px){.feat .work:nth-child(n){grid-column:1/-1;margin-top:0}.feat .work:nth-child(2){margin-left:14%}}

/* work item (shared with shop) */
.work{position:relative;display:block}
.work__meta{display:grid;grid-template-columns:auto 1fr auto;column-gap:16px;row-gap:2px;align-items:baseline;padding-top:16px}
.work__no{font-size:.72rem;letter-spacing:.16em;color:var(--muted);font-variant-numeric:tabular-nums}
.work__title{font-size:clamp(1.15rem,1.5vw,1.5rem);font-weight:500;letter-spacing:-.01em;line-height:1.2}
.work__title a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease)}
.work__title a:hover{background-size:100% 1px}
.work__price{font-size:1.05rem;font-weight:500;font-variant-numeric:tabular-nums}
.work__price.is-sold{text-decoration:line-through;color:var(--muted);font-weight:400}
.work__sub{grid-column:2/4;display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--muted);flex-wrap:wrap}
.work__actions{grid-column:2/4;display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px}
.work__actions .link{font-size:.7rem;padding-block:12px}
.work__actions .link::after{bottom:8px}
@media (hover:hover) and (min-width:900px){
  .work__actions{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
  .work:hover .work__actions,.work:focus-within .work__actions{opacity:1;transform:none}
}

/* collection index */
.index{border-top:1px solid var(--ink)}
.index__row{display:grid;grid-template-columns:70px minmax(0,2.4fr) minmax(0,2fr) minmax(0,1.3fr) 130px 120px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .6s var(--ease),color .4s}
.index__row::before{content:"";position:absolute;inset:0 calc(var(--pad) * -1);background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.index__row>*{position:relative}
.index__row .t{font-size:clamp(1.3rem,2.3vw,2.3rem);font-weight:500;letter-spacing:-.02em;line-height:1.1}
.index__row .n,.index__row .m,.index__row .d{font-size:.86rem;color:var(--muted);transition:color .4s}
.index__row .n{font-variant-numeric:tabular-nums;letter-spacing:.14em}
.index__row .p{font-variant-numeric:tabular-nums;font-weight:500;text-align:right}
.index__row .s{justify-self:end}
.index__thumb{display:none}
@media (hover:hover) and (min-width:1024px){
  .index__row:hover{color:#fff;padding-inline:0}
  .index__row:hover::before{transform:none}
  .index__row:hover .n,.index__row:hover .m,.index__row:hover .d,.index__row:hover .status{color:rgba(255,255,255,.7)}
  .index__row:hover .status--sold::before{border-color:#fff}
}
.index__preview{position:fixed;left:0;top:0;z-index:50;width:clamp(220px,20vw,320px);pointer-events:none;opacity:0;transform:translate3d(var(--x,0),var(--y,0),0) rotate(-3deg) scale(.86);transition:opacity .4s var(--ease),scale .6s var(--ease);scale:.86}
.index__preview.is-on{opacity:1;scale:1}
.index__preview img{width:100%;box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
@media (max-width:1023px){
  .index__row{grid-template-columns:64px 1fr auto;gap:4px 16px;padding:16px 0}
  .index__row .n{display:none}
  .index__thumb{display:grid;place-items:center;grid-row:1/4;width:64px;height:64px;background:var(--bone);padding:7px}
  .index__thumb img{max-height:100%;width:auto}
  .index__row .t{grid-column:2}.index__row .p{grid-column:3;grid-row:1}
  .index__row .m{grid-column:2/4}.index__row .d{grid-column:2}.index__row .s{grid-column:3;grid-row:3}
  .index__preview{display:none}
}

/* statement */
.statement{position:relative;overflow:hidden;padding-block:clamp(110px,16vw,260px)}
.statement__q{font-family:var(--serif);font-size:clamp(2.1rem,6.1vw,7rem);line-height:1.02;letter-spacing:-.02em;max-width:17ch;position:relative;z-index:2}
.statement__q .sw{opacity:.16;transition:opacity .5s}
.statement__q .sw.on{opacity:1}
.statement__q .sw.hl{color:var(--yellow)}
.statement__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(44px,6vw,90px);position:relative;z-index:2;flex-wrap:wrap}
.statement .st1{width:clamp(180px,30vw,520px);aspect-ratio:1;right:-8vw;top:-9vw}
.statement .st2{width:clamp(90px,13vw,220px);aspect-ratio:1/2;right:clamp(40px,22vw,400px);bottom:0}
.statement .st3{width:clamp(60px,9vw,150px);aspect-ratio:1;right:clamp(40px,10vw,180px);bottom:clamp(90px,15vw,260px)}
.statement__tex{position:absolute;inset:0;opacity:.14;mix-blend-mode:screen}
.statement__tex img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.3)}

/* studio mosaic */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}
.mosaic figure:nth-child(1){grid-column:1/8}
.mosaic figure:nth-child(2){grid-column:8/11;margin-bottom:clamp(40px,9vw,150px)}
.mosaic figure:nth-child(3){grid-column:4/9;margin-top:clamp(0px,2vw,30px)}
.mosaic__note{grid-column:9/13;align-self:start;margin-top:clamp(0px,2vw,30px);display:grid;gap:18px}
@media (max-width:767px){
  .mosaic{gap:16px}
  .mosaic figure:nth-child(1){grid-column:1/-1}
  .mosaic figure:nth-child(2){grid-column:1/6;margin:0}
  .mosaic figure:nth-child(3){grid-column:6/13;margin-top:38px}
  .mosaic__note{grid-column:1/-1;margin-top:20px}
}

/* band (shop CTA) */
.band{position:relative;background:var(--yellow);overflow:hidden;padding-block:clamp(90px,13vw,200px)}
.band__in{position:relative;z-index:2;display:grid;gap:clamp(28px,4vw,52px);justify-items:start}
.band .b1{width:clamp(200px,34vw,620px);aspect-ratio:1;right:-6vw;bottom:-17vw}
.band .b2{width:clamp(90px,12vw,220px);aspect-ratio:1;right:clamp(120px,27vw,520px);top:clamp(30px,5vw,80px)}
.band .b3{width:clamp(70px,10vw,170px);aspect-ratio:1/1.6;right:clamp(20px,7vw,130px);top:0}
.band__row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.band p{max-width:40ch}
.band .btn{--hover:#fff}.band .btn--line{--hover:var(--ink)}

/* about preview */
.aboutp{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.aboutp__fig{grid-column:2/7;position:relative}
.aboutp__fig .shape{width:34%;aspect-ratio:1;right:-17%;top:12%;z-index:2}
.aboutp__text{grid-column:8/13;display:grid;gap:28px;justify-items:start}
@media (max-width:899px){.aboutp__fig{grid-column:1/11}.aboutp__text{grid-column:1/-1;margin-top:34px}}

/* closing */
.closing{position:relative;min-height:min(100svh,980px);display:grid;align-items:end;overflow:hidden;color:#fff;background:var(--ink)}
.closing__bg{position:absolute;inset:-8% 0}
.closing__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.62)}
.closing::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,16,.35),rgba(16,16,16,.1) 40%,rgba(16,16,16,.86))}
.closing__in{position:relative;z-index:2;padding-block:clamp(80px,10vw,150px) clamp(50px,6vw,96px);display:grid;gap:clamp(28px,4vw,56px)}
.closing__row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.closing__row p{max-width:38ch;color:rgba(255,255,255,.82)}
.closing .c1{width:clamp(70px,9vw,150px);aspect-ratio:1;left:var(--pad);top:clamp(60px,9vw,140px);z-index:2}

/* 9 — SHOP ---------------------------------------------------------------- */
.page-head{padding-top:clamp(40px,7vw,110px);padding-bottom:clamp(30px,4vw,60px);position:relative}
.page-head__row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:clamp(24px,3vw,44px)}
.page-head__row p{max-width:46ch}
.page-head sup{font-family:var(--sans);font-size:.2em;font-weight:400;letter-spacing:.02em;vertical-align:top;position:relative;top:.5em;margin-left:.3em;font-style:normal}
.filters{position:sticky;top:var(--hdr);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-block:1px solid var(--line);transition:top .6s var(--ease)}
.hdr-hidden .filters{top:0}
.filters__in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px}
.chips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-inline:-6px;padding-inline:6px}
.chips::-webkit-scrollbar{display:none}
.chip{min-height:44px;padding:0 16px;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent;border-radius:999px;transition:background .4s,color .4s,border-color .4s}
.chip:hover{border-color:var(--line)}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff}
.chip sup{font-size:.62rem;margin-left:5px;opacity:.6;letter-spacing:0}
.sort{display:flex;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;flex:none}
.sort select{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:transparent;border:0;min-height:44px;padding:0 24px 0 4px;cursor:pointer;appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23101010' stroke-width='1.4'/%3E%3C/svg%3E") right 6px center no-repeat}
@media (max-width:639px){.sort label{display:none}}

.works{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:clamp(56px,8vw,130px);align-items:start;padding-block:clamp(44px,6vw,96px) var(--sec)}
.works .work{grid-column:span 4}
.works .work:nth-child(6n+1){grid-column:1/6}
.works .work:nth-child(6n+2){grid-column:7/13;margin-top:clamp(40px,9vw,160px)}
.works .work:nth-child(6n+3){grid-column:2/9}
.works .work:nth-child(6n+4){grid-column:9/13;margin-top:clamp(40px,7vw,120px)}
.works .work:nth-child(6n+5){grid-column:1/5}
.works .work:nth-child(6n+6){grid-column:6/12;margin-top:clamp(30px,5vw,90px)}
.works__empty{grid-column:1/-1;padding:80px 0;text-align:center;display:grid;gap:20px;justify-items:center}
.works .work.is-out{display:none}
.anim .works .work{transition:opacity .7s var(--ease)}
@media (max-width:899px){
  .works{column-gap:16px}
  .works .work:nth-child(n){grid-column:1/-1;margin-top:0}
  .works .work:nth-child(3n+2){grid-column:3/13}
  .works .work:nth-child(3n+3){grid-column:1/11}
}
.commission{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.commission__fig{grid-column:1/8}
.commission__text{grid-column:9/13;display:grid;gap:26px;justify-items:start}
@media (max-width:899px){.commission__fig,.commission__text{grid-column:1/-1}}

/* 10 — ARTWORK DETAIL ----------------------------------------------------- */
.pd{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;padding-top:clamp(16px,2.4vw,36px);padding-bottom:var(--sec);align-items:start}
.pd__crumbs{grid-column:1/-1;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;padding-bottom:clamp(18px,2.4vw,34px)}
.pd__crumbs a:hover{color:var(--ink)}
.pd__stage{grid-column:1/8;position:sticky;top:calc(var(--hdr) + 20px)}
.pd__wall{background:var(--bone);display:grid;place-items:center;padding:clamp(28px,6vw,96px);min-height:min(78svh,860px);position:relative;cursor:zoom-in;width:100%}
.pd__wall .art__img{width:auto;max-width:100%}
.pd__wall .art__img img{max-height:min(62svh,720px);width:auto;max-width:100%}
.pd__wall .tag{position:absolute;left:16px;top:16px}
.pd__hint{position:absolute;right:16px;bottom:14px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pd__info{grid-column:9/13;display:grid;gap:26px;padding-top:6px}
.pd__title{font-size:clamp(2.3rem,4vw,4.2rem);font-weight:500;letter-spacing:-.03em;line-height:.98}
.pd__price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:18px;border-block:1px solid var(--line)}
.pd__price strong{font-size:1.9rem;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pd__specs{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:.96rem}
.pd__specs dt{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.pd__buy{display:grid;gap:10px}
.pd__qty{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pd__qty span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.pd__assure{font-size:.88rem;color:var(--muted);line-height:1.5}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:58px;font-size:.76rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";width:11px;height:11px;background:linear-gradient(var(--ink),var(--ink)) center/100% 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 100% no-repeat;transition:transform .5s var(--ease)}
.acc details[open] summary::after{transform:rotate(135deg)}
.acc details>div{padding:0 0 22px;font-size:.96rem;color:#2c2b28;max-width:52ch}
.scale{background:var(--bone);padding:clamp(20px,3vw,40px);margin-top:24px}
.scale svg{width:100%;height:auto}
.scale__cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.zoom{position:fixed;inset:0;z-index:260;background:rgba(244,242,237,.98);display:grid;place-items:center;padding:clamp(16px,4vw,60px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s;cursor:zoom-out}
.zoom.is-on{opacity:1;visibility:visible;transition:opacity .5s var(--ease)}
.zoom img{max-width:100%;max-height:calc(100svh - 2 * clamp(16px,4vw,60px));width:auto;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);transform:scale(.94);transition:transform .8s var(--ease)}
.zoom.is-on img{transform:none}
.zoom .x-btn{position:absolute;right:20px;top:14px;margin:0;background:#fff}
.more{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px);align-items:end}
@media (max-width:1023px){
  .pd__stage{grid-column:1/-1;position:static}.pd__wall{min-height:0;padding:clamp(28px,9vw,70px)}
  .pd__wall .art__img img{max-height:62svh}
  .pd__info{grid-column:1/-1;padding-top:30px}
}
@media (max-width:767px){.more{grid-template-columns:1fr 1fr}.more .work:nth-child(3){display:none}}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--ink);padding:10px var(--pad) max(10px,env(safe-area-inset-bottom));display:none;align-items:center;justify-content:space-between;gap:14px;transform:translateY(105%);transition:transform .6s var(--ease)}
.buybar.is-on{transform:none}
.buybar strong{font-size:1.2rem;font-weight:500}.buybar small{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (max-width:1023px){.buybar{display:flex}}

/* 11 — ABOUT -------------------------------------------------------------- */
.ab-hero{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;align-items:end;padding-top:clamp(36px,6vw,96px);padding-bottom:clamp(60px,8vw,130px);position:relative}
.ab-hero__t{grid-column:1/9;position:relative;z-index:2;display:grid;gap:clamp(24px,3vw,44px)}
.ab-hero__fig{grid-column:8/13;position:relative}
.ab-hero__fig .shape{width:38%;aspect-ratio:1;left:-19%;bottom:9%;z-index:2}
.ab-hero__fig .a2{width:20%;left:auto;right:-6%;top:22%;bottom:auto}
.ab-hero__lede{max-width:24ch}
@media (max-width:899px){.ab-hero{display:block}.ab-hero__fig{margin:44px 0 0 20%}}
.bio{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.bio__side{grid-column:1/5;display:grid;gap:22px;align-content:start;position:sticky;top:calc(var(--hdr) + 30px)}
.bio__body{grid-column:6/12}
.bio__body .lede{margin-bottom:clamp(28px,3vw,48px)}
.facts{display:grid;gap:0;border-top:1px solid var(--ink);margin-top:10px}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.facts dt{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{text-align:right}
@media (max-width:899px){.bio__side,.bio__body{grid-column:1/-1;position:static}.bio__body{margin-top:26px}}
.principles{border-top:1px solid var(--line-inv)}
.principle{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:clamp(28px,4vw,60px) 0;border-bottom:1px solid var(--line-inv);align-items:start}
.principle__n{grid-column:1/2;font-size:.8rem;letter-spacing:.2em;display:flex;align-items:center;gap:12px;padding-top:.7em}
.principle__n i{width:14px;height:14px;display:block}
.principle h3{grid-column:2/8}
.principle p{grid-column:8/13;color:rgba(255,255,255,.74)}
@media (max-width:899px){.principle{display:block}.principle h3{margin:14px 0 14px}}
.process{display:grid;gap:clamp(70px,10vw,170px)}
.step{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.step__fig{grid-column:1/7}
.step__text{grid-column:8/12;display:grid;gap:20px}
.step:nth-child(even) .step__fig{grid-column:7/13;order:2}
.step:nth-child(even) .step__text{grid-column:2/6}
.step__n{font-family:var(--serif);font-size:clamp(3.4rem,7vw,7rem);line-height:.8}
@media (max-width:899px){.step__fig,.step:nth-child(even) .step__fig{grid-column:1/-1;order:0}.step__text,.step:nth-child(even) .step__text{grid-column:1/-1}.step:nth-child(even) .step__fig{margin-left:14%}.step:nth-child(odd) .step__fig{margin-right:14%}}
.inspo{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.inspo__text{grid-column:1/6;display:grid;gap:28px;position:sticky;top:calc(var(--hdr) + 30px)}
.inspo__a{grid-column:7/10;margin-top:clamp(40px,8vw,140px)}
.inspo__b{grid-column:10/13}
.inspo__list{display:flex;flex-wrap:wrap;gap:8px}
.inspo__list li{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.84rem}
@media (max-width:899px){.inspo__text{grid-column:1/-1;position:static}.inspo__a{grid-column:1/7;margin-top:30px}.inspo__b{grid-column:7/13;margin-top:70px}}
.signature{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.4vw,2.4rem)}

/* 12 — CONTACT & FORMS ---------------------------------------------------- */
.contact{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:48px;padding-top:clamp(36px,6vw,96px);padding-bottom:var(--sec);align-items:start}
.contact__side{grid-column:1/6;display:grid;gap:clamp(26px,3vw,44px);position:sticky;top:calc(var(--hdr) + 30px)}
.contact__form{grid-column:7/13}
.contact__fig{position:relative;max-width:360px}
.contact__fig .shape{width:40%;aspect-ratio:1;right:-20%;bottom:14%;z-index:2}
.dl{display:grid;gap:0;border-top:1px solid var(--ink)}
.dl div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.dl dt{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.dl a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.dl a:hover{text-decoration-color:var(--pink)}
.socials{display:flex;gap:6px 22px;flex-wrap:wrap}
@media (max-width:899px){.contact__side,.contact__form{grid-column:1/-1;position:static}.contact__fig{display:none}}

.form{display:grid;gap:30px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}
@media (max-width:559px){.form__row{grid-template-columns:1fr}}
.field{display:grid;gap:8px;position:relative}
.field label,.field legend,.label{font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:0}
.field label i,.field legend i{font-style:normal;color:var(--muted);margin-left:6px;letter-spacing:.08em;text-transform:none;font-weight:400}
.field input,.field select,.field textarea{font:inherit;font-size:1.06rem;color:var(--ink);width:100%;min-height:54px;padding:12px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;transition:border-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none}
.field textarea{min-height:150px;resize:vertical;line-height:1.5}
.field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23101010' stroke-width='1.4'/%3E%3C/svg%3E") right 4px center no-repeat;padding-right:28px;cursor:pointer}
.field input::placeholder,.field textarea::placeholder{color:#8d8a83}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;box-shadow:0 2px 0 0 var(--ink)}
.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:#c2183f;box-shadow:0 2px 0 0 #c2183f}
.field__err{font-size:.86rem;color:#c2183f;min-height:0;display:none}
.field.has-error .field__err{display:block}
.field__help{font-size:.86rem;color:var(--muted)}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;min-height:0;cursor:pointer;margin:0}
.choice span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;transition:background .35s,color .35s,border-color .35s}
.choice input:hover+span{border-color:var(--ink)}
.choice input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.choice input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}
.form__foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.form__foot p{font-size:.86rem;color:var(--muted);max-width:40ch}
.hp{position:absolute;left:-9999px}
.done{display:none;gap:24px;justify-items:start;position:relative;padding:clamp(28px,4vw,56px);background:var(--bone);overflow:hidden}
.done.is-on{display:grid}
.done .shape{width:160px;height:160px;right:-50px;top:-50px}
.done h2{position:relative}
.btn.is-busy{pointer-events:none}
.btn.is-busy::after{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* 13 — CHECKOUT ----------------------------------------------------------- */
.co{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:44px;padding-top:clamp(30px,5vw,80px);padding-bottom:var(--sec);align-items:start}
.co__main{grid-column:1/8;display:grid;gap:clamp(28px,4vw,48px)}
.co__sum{grid-column:9/13;position:sticky;top:calc(var(--hdr) + 24px);background:var(--bone);padding:clamp(22px,2.6vw,36px)}
.co__sum h2{font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding-bottom:6px}
.co__sum .ci{grid-template-columns:72px 1fr}
.co__sum .ci__img{background:#fff}
.co__lines{display:grid;gap:10px;padding-top:20px;font-size:.96rem}
.co__lines div{display:flex;justify-content:space-between;gap:16px}
.co__lines .tot{border-top:1px solid var(--ink);padding-top:16px;margin-top:6px;font-size:1.25rem;font-weight:500}
.notice{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;border:1px solid var(--ink);padding:20px 22px;font-size:.96rem}
.notice i{width:18px;height:18px;background:var(--yellow);border-radius:50%;margin-top:4px;display:block}
.steps{display:flex;gap:10px 28px;flex-wrap:wrap;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.steps li{display:flex;gap:10px;align-items:center}
.steps li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid currentColor;font-weight:500;font-size:.68rem;letter-spacing:0}
.steps li.is-on{color:var(--ink)}.steps li.is-on b{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:1023px){.co__main,.co__sum{grid-column:1/-1;position:static}.co__sum{order:-1}}

/* 14 — FOOTER ------------------------------------------------------------- */
.ftr{background:var(--ink);color:#fff;padding-top:clamp(64px,8vw,130px);position:relative;overflow:hidden}
.ftr__top{display:grid;grid-template-columns:repeat(12,1fr);gap:40px 24px;padding-bottom:clamp(50px,7vw,110px)}
.ftr__logo{grid-column:1/4;background:#fff;padding:clamp(14px,1.6vw,26px);align-self:start;max-width:250px;display:block}
.ftr__logo img{width:100%}
.ftr__say{grid-column:5/9;display:grid;gap:26px;align-content:start;justify-items:start}
.ftr__say p{font-family:var(--serif);font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:1.08;max-width:15ch}
.ftr__col{grid-column:span 2;display:grid;gap:8px;align-content:start}
.ftr__col h3{font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px}
.ftr__col a{display:inline-block;padding:6px 0;font-size:1rem;width:fit-content;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 4px)/0 1px no-repeat;transition:background-size .5s var(--ease)}
.ftr__col a:hover{background-size:100% 1px}
.ftr__big{font-weight:600;text-transform:uppercase;letter-spacing:-.04em;line-height:.78;font-size:clamp(3rem,13.4vw,15rem);white-space:nowrap;display:flex;justify-content:space-between;user-select:none;padding-bottom:.06em}
.ftr__big em{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.03em;color:var(--pink)}
.ftr__bar{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line-inv);font-size:.78rem;letter-spacing:.08em;color:rgba(255,255,255,.62)}
.ftr__bar a{text-decoration:underline;text-underline-offset:4px}
.ftr__colors{display:flex;height:8px}.ftr__colors i{flex:1}
.demo-note{display:none}
.is-demo .demo-note{display:inline}
@media (max-width:899px){.ftr__logo{grid-column:1/7;max-width:190px}.ftr__say{grid-column:1/-1}.ftr__col{grid-column:span 6}}

/* generic split CTA used on inner pages */
.cta-split{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}

/* 15 — REDUCED MOTION ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .js .loader{display:none!important}
  .marquee__track{animation:none}
  .cursor,.index__preview{display:none!important}
  .statement__q .sw{opacity:1}
}
@media print{.hdr,.ftr,.cart,.scrim,.loader,.menu,.buybar{display:none!important}main{padding:0}}
.bone .art,.bone .pd__wall{background:#fff}.lede{letter-spacing:0}
.intro__fig .cap{justify-content:flex-end}
@media (max-width:899px){.sec-head__a{justify-self:stretch;width:100%}}
