/* The de Glanville Collective — paper, ink, one moss accent */
:root{
  --paper:#efe8dd;
  --ink:#1c1916;
  --stone:#e3d9ca;
  --moss:#2f5a50;
  --muted:#5b5248;
  --paper-on-ink:#d9d0c2;
  --ease:cubic-bezier(.19,1,.22,1);
  --serif:"EB Garamond",Garamond,"Times New Roman",serif;
  --sans:"Hanken Grotesk",system-ui,sans-serif;
  --gutter:clamp(20px,4vw,64px);
  --max:1360px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.05}
p{margin:0 0 1em}
::selection{background:var(--moss);color:var(--paper)}
:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
html{scrollbar-color:#b9ad9c var(--paper)}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--paper)}
::-webkit-scrollbar-thumb{background:#b9ad9c;border:3px solid var(--paper);border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;text-decoration:none;transition:top .3s var(--ease)}
.skip:focus{top:12px}

/* shared bits */
.btn{display:inline-block;background:var(--ink);color:var(--paper);font:500 .95rem/1 var(--sans);letter-spacing:.02em;padding:17px 28px;border:0;border-radius:2px;text-decoration:none;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{background:var(--moss);transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(28,25,22,.6)}
.text-link{background:none;border:0;padding:4px 0;font:500 .95rem/1.2 var(--sans);color:var(--ink);text-decoration:none;cursor:pointer;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .45s var(--ease),color .3s var(--ease)}
.text-link:hover{color:var(--moss);background-size:30% 1px}
.sec-label{font:500 .74rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.sec-intro{color:var(--muted);max-width:44ch;font-size:1.05rem}
h2{font-size:clamp(2.3rem,5vw,4.4rem);letter-spacing:-.022em;margin-bottom:22px}

/* masthead: fixed top bar, clear over the page until you scroll */
.masthead{position:fixed;top:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:20px var(--gutter);transition:background .4s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease)}
.masthead.scrolled{background:rgba(239,232,221,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:10px;padding-bottom:10px;box-shadow:0 1px 0 rgba(28,25,22,.1),0 12px 30px -24px rgba(28,25,22,.5)}
.masthead-logo{justify-self:start}
.masthead-logo img{width:clamp(112px,10vw,150px);transition:width .4s var(--ease)}
.masthead.scrolled .masthead-logo img{width:clamp(88px,7vw,108px)}
.topnav{display:flex;gap:4px;justify-self:center}
.topnav a{font:500 .94rem/1 var(--sans);text-decoration:none;color:var(--ink);padding:12px 14px;white-space:nowrap;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:14px calc(100% - 6px);background-repeat:no-repeat;transition:color .15s,background-size .45s var(--ease)}
.topnav a:hover{color:var(--moss);background-size:calc(100% - 28px) 1px}
.topnav a[aria-current]{color:var(--moss);background-size:calc(100% - 28px) 1px}
.masthead-right{justify-self:end;display:flex;align-items:center;gap:10px}
.menu-btn{display:none;font:500 .9rem/1 var(--sans);color:var(--ink);background:transparent;border:1px solid rgba(28,25,22,.35);padding:11px 14px;cursor:pointer}
.basket-count{display:inline-block;min-width:1.6em;margin-left:4px;padding:3px 5px;font:600 .72rem/1 var(--sans);text-align:center;font-variant-numeric:tabular-nums;border-radius:2px;background:rgba(239,232,221,.18)}
.basket-btn{font:500 .9rem/1 var(--sans);color:var(--ink);background:transparent;border:1px solid rgba(28,25,22,.35);padding:11px 14px;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease)}
.basket-btn:hover{border-color:var(--ink);background:rgba(247,243,236,.7)}
.basket-btn .basket-count{background:var(--ink);color:var(--paper)}

/* buy pickers */
.sample-note{font:italic 400 1rem/1.3 var(--serif);color:var(--moss);margin:-4px 0 0}
.buy{display:grid;gap:12px;margin-top:12px}
.ctl-sm{margin:0}
.ctl-sm legend{margin-bottom:8px;font-size:.66rem}
.ctl-sm .chip span{min-width:0;padding:8px 11px;font-size:.84rem}
.buy-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}
.price{font:500 1.7rem/1 var(--serif);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink)}
.buy-cm{font-size:.84rem;color:var(--muted);margin-right:auto}
.btn-sm{padding:13px 20px;font-size:.88rem}
.btn-full{width:100%;text-align:center}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.hang-buy{display:flex;align-items:center;gap:20px;margin-top:20px;flex-wrap:wrap}

/* basket drawer */
.basket-locked body{overflow:hidden}
.basket{position:fixed;inset:0;z-index:80;visibility:hidden;transition:visibility 0s .6s}
.basket.open{visibility:visible;transition:none}
.basket-scrim{position:absolute;inset:0;background:rgba(28,25,22,.42);opacity:0;transition:opacity .5s var(--ease)}
.basket.open .basket-scrim{opacity:1}
.basket-panel{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);background:var(--paper);display:flex;flex-direction:column;box-shadow:-30px 0 60px -30px rgba(28,25,22,.55);transform:translateX(102%);transition:transform .6s var(--ease)}
.basket.open .basket-panel{transform:none}
.basket-panel:focus{outline:none}
.basket-head{display:flex;justify-content:space-between;align-items:center;padding:22px clamp(20px,3vw,32px) 18px;border-bottom:1px solid rgba(28,25,22,.12)}
.basket-head h2{font-size:1.9rem;margin:0;letter-spacing:-.015em}
.basket-head-count{font:italic 400 1.05rem/1 var(--serif);color:var(--muted);letter-spacing:0;margin-left:4px}
.basket-x{width:44px;height:44px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--ink);transition:color .15s,transform .3s var(--ease)}
.basket-x:hover{color:var(--moss);transform:rotate(90deg)}
.basket-x svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none}
.basket-body{flex:1 1 auto;overflow-y:auto;padding:6px clamp(20px,3vw,32px) 22px;overscroll-behavior:contain}
.basket-lines{list-style:none;margin:0;padding:0}
.bl{display:grid;grid-template-columns:84px 1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid rgba(28,25,22,.1);align-items:start;position:relative}
.bl-new::before{content:"";position:absolute;inset:6px -12px;background:rgba(47,90,80,.09);border-radius:2px;animation:blNew 2.4s var(--ease) forwards;pointer-events:none}
@keyframes blNew{0%,40%{opacity:1}100%{opacity:0}}
/* thumbnails are tiny versions of what they bought: framed with a mount, or a rolled sheet */
.bl-thumb{display:block;position:relative;width:84px;aspect-ratio:4/3;align-self:start}
.bl-thumb.is-portrait{width:66px;aspect-ratio:3/4;justify-self:center}
.bl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bl-thumb.is-framed{border:4px solid var(--fc);padding:6px;background:#f7f3ec;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 8px 14px -8px rgba(48,34,20,.55)}
.bl-thumb.is-framed[style*="#f2eee7"]{box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 0 0 1px rgba(28,25,22,.12),0 8px 14px -8px rgba(48,34,20,.55)}
.bl-thumb.is-rolled{padding:4px;background:#fbf9f4;transform:rotate(-1.5deg);box-shadow:3px 4px 0 -1px #e6ddcf,0 8px 14px -8px rgba(48,34,20,.5)}
.bl-name{font:500 1.22rem/1.15 var(--serif);margin:0 0 4px}
.bl-name a{text-decoration:none;transition:color .15s}
.bl-name a:hover{color:var(--moss)}
.bl-spec{font-size:.86rem;color:var(--muted);margin:0}
.bl-each{font-size:.8rem;color:var(--muted);margin:2px 0 0;font-variant-numeric:tabular-nums}
.bl-qty{display:flex;align-items:center;gap:14px;margin-top:12px}
.stepper{display:inline-flex;align-items:center;border:1px solid rgba(28,25,22,.22);background:#f7f3ec}
.stepper button{width:34px;height:34px;border:0;background:transparent;cursor:pointer;font:500 1.05rem/1 var(--sans);color:var(--ink);transition:background .15s,color .15s}
.stepper button:hover:not(:disabled){background:rgba(28,25,22,.07)}
.stepper button:disabled{color:rgba(28,25,22,.25);cursor:not-allowed}
.stepper span{min-width:30px;text-align:center;font:500 .95rem/1 var(--sans);font-variant-numeric:tabular-nums}
.bl-rm{background:none;border:0;padding:8px 0;font:500 .82rem/1 var(--sans);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(28,25,22,.25);transition:color .15s}
.bl-rm:hover{color:#9b3b2a}
.bl-price{font:500 1.2rem/1.2 var(--serif);font-variant-numeric:tabular-nums;margin:0}
.basket-more{display:inline-block;margin-top:18px;font-size:.9rem}
.basket-more[hidden]{display:none}
.basket-empty{position:relative;text-align:center;padding:60px 10px 20px}
.basket-empty[hidden]{display:none}
.basket-empty-enso{width:120px;height:auto;margin:0 auto 18px;opacity:.75}
.basket-empty-title{font:500 1.7rem/1.1 var(--serif);margin-bottom:8px}
.basket-empty p{color:var(--muted)}
.basket-empty .btn{margin-top:12px}
.basket-foot{flex:0 0 auto;padding:18px clamp(20px,3vw,32px) 24px;background:#f5efe6;border-top:1px solid rgba(28,25,22,.12);box-shadow:0 -14px 24px -22px rgba(28,25,22,.4)}
.basket-foot[hidden]{display:none}
.basket-region{border:0;margin:0;padding:0}
.basket-region legend{font:500 .68rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding:0;margin-bottom:10px}
.region-opts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(28,25,22,.22)}
.region{position:relative}
.region+.region{border-left:1px solid rgba(28,25,22,.22)}
.region input{position:absolute;opacity:0;pointer-events:none}
.region span{display:block;text-align:center;padding:11px 6px;font:500 .84rem/1.15 var(--sans);cursor:pointer;transition:background .2s,color .2s}
.region:hover span{background:rgba(28,25,22,.05)}
.region input:checked+span{background:var(--ink);color:var(--paper)}
.region input:focus-visible+span{outline:2px solid var(--moss);outline-offset:2px}
.basket-sums{margin:18px 0 10px}
.basket-sums div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:.95rem}
.basket-sums dt span{color:var(--muted);font-size:.8rem}
.basket-sums dd{margin:0;font-variant-numeric:tabular-nums}
.basket-total{border-top:1px solid rgba(28,25,22,.18);margin-top:8px;padding-top:12px!important;align-items:baseline}
.basket-total dt{font:500 1.35rem/1 var(--serif)}
.basket-total dd{font:500 1.75rem/1 var(--serif)}
.basket-note{font-size:.8rem;color:var(--muted);margin-bottom:16px}
.basket-note a{color:var(--muted)}
.btn-checkout{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;font-size:1rem}
.btn-checkout svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.basket-msg{margin:14px 0 0;padding:12px 14px;font-size:.88rem;background:rgba(47,90,80,.1);border-left:2px solid var(--moss)}
.basket-msg[hidden]{display:none}
.basket-pay{font-size:.78rem;color:var(--muted);margin:12px 0 0;text-align:center}
.basket-btn.bump .basket-count{animation:bump .6s var(--ease)}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.45)}100%{transform:scale(1)}}
@media (max-width:480px){
  .bl{grid-template-columns:68px 1fr auto;gap:14px}
  .bl-thumb{width:68px}
  .bl-thumb.is-portrait{width:54px}
}

/* back from Stripe */
.order-banner{position:fixed;left:50%;top:96px;z-index:70;width:min(560px,calc(100% - 24px));transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:24px 26px;box-shadow:0 24px 50px -20px rgba(0,0,0,.5)}
.order-banner[hidden]{display:none}
.order-banner-title{font:500 1.6rem/1.1 var(--serif);margin-bottom:8px}
.order-banner p{color:var(--paper-on-ink)}
.order-banner .text-link{color:var(--paper)}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:150px var(--gutter) 110px}
.hero-light{position:absolute;inset:-10% -20%;pointer-events:none;
  background:
    radial-gradient(60% 55% at 78% 30%,rgba(255,248,232,.85),transparent 70%),
    repeating-linear-gradient(90deg,transparent 0 170px,rgba(92,70,44,.07) 170px 196px,transparent 196px 360px,rgba(92,70,44,.05) 360px 380px);
  transform:skewX(-22deg);filter:blur(16px);animation:drift 38s ease-in-out infinite alternate}
@keyframes drift{to{transform:skewX(-22deg) translateX(-60px)}}
.hero-inner{position:relative;width:100%;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,90px);align-items:center}
.hero-copy{position:relative;z-index:2}
h1{font-weight:500}
.h1-small{display:block;font:italic 400 clamp(1.7rem,3vw,2.7rem)/1 var(--serif);color:var(--muted);margin-bottom:.12em;margin-left:.08em}
.h1-big{display:block;font-size:clamp(4.2rem,9.4vw,9.6rem);line-height:.86;letter-spacing:-.04em}
.h1-big span{display:block}
.h1-indent{padding-left:.62em}
.hero-sub{max-width:40ch;margin:clamp(34px,3.4vw,56px) 0 34px;font-size:1.1rem;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}

.hero-print{position:relative;margin:0;padding-top:46px}
.enso{position:absolute;height:132%;width:auto;max-width:none;left:-15%;top:-17%;z-index:0;pointer-events:none;opacity:.85}
.hung{position:relative;z-index:1;transform-origin:50% -46px}
.wire{position:absolute;left:50%;top:-46px;width:44%;height:47px;transform:translateX(-50%);pointer-events:none;overflow:visible}
.wire path{fill:none;stroke:rgba(28,25,22,.5);stroke-width:1;vector-effect:non-scaling-stroke}
.hung::before{content:"";position:absolute;left:50%;top:-50px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#6d6155;box-shadow:0 1px 0 rgba(255,255,255,.6)}
.mat{background:#f7f3ec;padding:clamp(18px,3.2vw,46px);border:clamp(8px,.9vw,13px) solid #a9845a;border-image:linear-gradient(160deg,#c09a6a,#9c7547 38%,#b48d5f 62%,#8f6a40) 1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1),inset 0 3px 8px -2px rgba(60,40,20,.28),0 2px 0 rgba(0,0,0,.08),0 40px 60px -32px rgba(48,34,20,.55),0 10px 24px -14px rgba(48,34,20,.35)}
.mat img{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.museum{position:relative;z-index:1;margin:28px 0 0 auto;width:max-content;max-width:100%;padding-left:16px;border-left:1px solid rgba(28,25,22,.3);display:grid;gap:3px}
.museum-no{font:500 .72rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.museum-title{font:500 1.35rem/1.1 var(--serif)}
.museum-meta{font-size:.9rem;color:var(--muted)}

/* load choreography */
.js .h1-small,.js .h1-big span,.js .hero-sub,.js .hero-actions,.js .museum{opacity:0;transform:translateY(22px);filter:blur(6px)}
.js .hung,.js .enso{opacity:0}
.loaded .enso{animation:ensoIn 2s .1s var(--ease) forwards}
.loaded .hung{animation:hangIn 1.6s .35s var(--ease) forwards}
.loaded .h1-small,.loaded .h1-big span,.loaded .hero-sub,.loaded .hero-actions,.loaded .museum{transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease);opacity:1;transform:none;filter:none}
.loaded .h1-small{transition-delay:.45s}
.loaded .h1-big span:first-child{transition-delay:.58s}
.loaded .h1-big span:last-child{transition-delay:.7s}
.loaded .hero-sub{transition-delay:.9s}
.loaded .hero-actions{transition-delay:1s}
.loaded .museum{transition-delay:1.3s}
@keyframes ensoIn{from{opacity:0;transform:rotate(-38deg) scale(.9)}to{opacity:.85;transform:none}}
@keyframes hangIn{0%{opacity:0;transform:translateY(-26px) rotate(-2.4deg)}45%{opacity:1;transform:translateY(0) rotate(1.1deg)}70%{transform:rotate(-.45deg)}100%{opacity:1;transform:none}}

/* PUNCH: scale */
.scale{background:var(--ink);color:var(--paper);padding:clamp(70px,9vw,120px) var(--gutter)}
.scale-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,110px);align-items:end}
.lifesize{margin:0}
.lifesize img{width:6.3cm;max-width:none}
.lifesize figcaption{margin-top:14px;font:italic 400 .98rem/1.2 var(--serif);color:var(--paper-on-ink);opacity:.8}
.scale-line{font:400 clamp(2rem,4.6vw,4.3rem)/1.08 var(--serif);letter-spacing:-.02em;margin:0;max-width:18ch}
.stroked{position:relative;white-space:nowrap}
.stroked svg{position:absolute;left:-4%;bottom:-.08em;width:108%;height:.2em;color:#7fa596;transform:scaleX(0);transform-origin:0 50%;transition:transform 1.1s .55s var(--ease)}
.scale-line.in .stroked svg{transform:scaleX(1)}

/* PRINTS */
.prints{padding:clamp(100px,12vw,170px) var(--gutter) clamp(90px,10vw,150px)}
.sec-head{max-width:var(--max);margin:0 auto clamp(50px,7vw,96px)}
.print-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);row-gap:clamp(70px,9vw,130px)}
.print{display:grid;gap:26px;align-content:start}
.print-a{grid-column:1 / span 7}
.print-b{grid-column:9 / span 4;margin-top:clamp(60px,12vw,190px)}
.print-c{grid-column:2 / span 7}
.detail{grid-column:10 / span 3;align-self:end;margin:0 0 40px;display:grid;gap:18px}
.detail img{width:100%;aspect-ratio:4/5;object-fit:cover}
.detail figcaption{display:grid;gap:8px;font:italic 400 1.12rem/1.4 var(--serif);color:var(--muted)}
@media (hover:none){.hover-only{display:none}}
.print-frame{position:relative;background:#f7f3ec;padding:clamp(12px,1.8vw,26px);box-shadow:0 30px 50px -34px rgba(48,34,20,.5);cursor:zoom-in}
.print-b .print-frame{padding:clamp(14px,2.2vw,32px)}
.print-label{display:grid;gap:6px;max-width:46ch;padding-left:16px;border-left:1px solid rgba(28,25,22,.3)}
.print-label h3{font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:-.01em}
.print-label p{margin:0;color:var(--muted);font-size:.98rem}
.print-label .sizes{font:500 .8rem/1 var(--sans);letter-spacing:.18em;color:var(--ink);margin-top:6px}
.print-label .try{justify-self:start;margin-top:8px}
.loupe{position:absolute;width:190px;height:190px;border-radius:50%;pointer-events:none;background-repeat:no-repeat;box-shadow:0 0 0 1px rgba(28,25,22,.55),0 0 0 7px rgba(247,243,236,.92),0 0 0 8px rgba(28,25,22,.25),0 22px 40px -12px rgba(0,0,0,.5);opacity:0;transform:scale(.6);transition:opacity .3s var(--ease),transform .3s var(--ease);z-index:3}
.loupe.on{opacity:1;transform:scale(1)}
.loupe::after{content:"×3";position:absolute;right:16px;bottom:14px;font:500 .7rem/1 var(--sans);letter-spacing:.1em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}

/* HANG IT */
.hang{background:var(--stone);padding:clamp(90px,11vw,150px) var(--gutter)}
.hang-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);grid-template-areas:"head stage" "ctl stage";grid-template-rows:auto 1fr;column-gap:clamp(36px,5vw,80px);row-gap:12px;align-items:start}
.hang-head{grid-area:head}
.hang-controls{grid-area:ctl}
.stage-wrap{grid-area:stage;align-self:center}
.ctl{border:0;padding:0;margin:0 0 22px}
.ctl legend{font:500 .72rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:0}
.ctl-row{display:flex;flex-wrap:wrap;gap:8px}
.ctl input{position:absolute;opacity:0;pointer-events:none}
.ctl-thumbs label{width:76px;height:58px;cursor:pointer;padding:3px;background:#f7f3ec;outline:1px solid rgba(28,25,22,.15);transition:outline-color .3s var(--ease),transform .3s var(--ease)}
.ctl-thumbs img{width:100%;height:100%;object-fit:cover}
.ctl-thumbs label:hover{transform:translateY(-2px)}
.ctl-thumbs label:has(input:checked){outline:2px solid var(--ink)}
.ctl-thumbs label:has(input:focus-visible),.chip:has(input:focus-visible),.swatch:has(input:focus-visible){outline:2px solid var(--moss);outline-offset:3px}
.swatch{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;padding:7px 12px 7px 7px;border:1px solid rgba(28,25,22,.15);background:rgba(247,243,236,.5);transition:border-color .3s var(--ease),background .3s var(--ease)}
.swatch span{width:22px;height:22px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.swatch:hover{border-color:rgba(28,25,22,.4)}
.swatch:has(input:checked){border-color:var(--ink);background:#f7f3ec}
.chip span{display:block;min-width:62px;text-align:center;padding:10px 14px;font:500 .9rem/1 var(--sans);border:1px solid rgba(28,25,22,.15);background:rgba(247,243,236,.5);cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.chip:hover span{border-color:rgba(28,25,22,.4)}
.chip input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.readout{margin:10px 0 0;font:italic 400 1.12rem/1.4 var(--serif);color:var(--ink);min-height:3em}

.stage-wrap{container-type:inline-size}
.stage{--u:calc(100cqw / 340);position:relative;width:100%;aspect-ratio:340/240;overflow:hidden;box-shadow:0 40px 70px -40px rgba(48,34,20,.55)}
.st-wall{position:absolute;inset:0;background:var(--wall,#e6ded1);transition:background .7s var(--ease)}
.st-light{position:absolute;inset:0;background:radial-gradient(70% 60% at 25% 12%,rgba(255,250,238,.55),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.08));pointer-events:none}
.stage[data-wall="ink"] .st-light{background:radial-gradient(70% 60% at 25% 12%,rgba(255,240,210,.16),transparent 70%)}
.st-floor{position:absolute;left:0;right:0;bottom:0;height:calc(18 * var(--u));background:repeating-linear-gradient(90deg,#a2805c 0 calc(19 * var(--u)),#97764f calc(19 * var(--u)) calc(19.4 * var(--u))),#a2805c;box-shadow:inset 0 calc(3 * var(--u)) calc(6 * var(--u)) rgba(0,0,0,.18)}
.st-skirting{position:absolute;left:0;right:0;bottom:calc(18 * var(--u));height:calc(10 * var(--u));background:var(--wall,#e6ded1);filter:brightness(.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 0 rgba(0,0,0,.08);transition:background .7s var(--ease)}
.st-sofa{position:absolute;left:calc(50% - 105 * var(--u));bottom:calc(17 * var(--u));width:calc(210 * var(--u));height:calc(82 * var(--u));overflow:visible;filter:drop-shadow(0 calc(4 * var(--u)) calc(4 * var(--u)) rgba(0,0,0,.25))}
.s-back,.s-arm{fill:#cdbfa9}
.s-seat{fill:#d8ccb8}
.s-base{fill:#c1b39c}
.s-leg{fill:#5a4630}
.s-cushion{fill:var(--moss);opacity:.9}
.st-lamp{position:absolute;left:calc(50% + 128 * var(--u));bottom:calc(18 * var(--u));width:calc(40 * var(--u));height:calc(160 * var(--u));fill:#2b2621}
.st-lamp .shade{fill:#efe6d6;stroke:rgba(0,0,0,.18);stroke-width:.4}
.st-frame{--fw:3;--mt:5;--pw:42;--ph:59.4;position:absolute;left:50%;bottom:calc(122 * var(--u));width:calc((var(--pw) + 2 * var(--mt) + 2 * var(--fw)) * var(--u));height:calc((var(--ph) + 2 * var(--mt) + 2 * var(--fw)) * var(--u));transform:translateX(-50%);border:calc(var(--fw) * var(--u)) solid var(--frame,#a9845a);background:#f7f3ec;padding:calc(var(--mt) * var(--u));box-shadow:0 calc(3 * var(--u)) calc(7 * var(--u)) rgba(0,0,0,.28);transition:width .8s var(--ease),height .8s var(--ease),border-color .5s var(--ease)}
.st-frame.is-rolled{box-shadow:0 calc(1 * var(--u)) calc(3 * var(--u)) rgba(0,0,0,.22)}
.st-mat{width:100%;height:100%;overflow:hidden}
.st-mat img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--ease)}
.st-scale{position:absolute;left:calc(50% - 105 * var(--u));bottom:calc(5 * var(--u));width:calc(210 * var(--u));text-align:center;font:500 calc(4.2 * var(--u))/1 var(--sans);letter-spacing:.14em;color:rgba(255,255,255,.85)}
.st-scale::before,.st-scale::after{content:"";position:absolute;top:50%;width:40%;height:1px;background:rgba(255,255,255,.55)}
.st-scale::before{left:0}.st-scale::after{right:0}

/* MAKING */
.making{padding:clamp(100px,12vw,170px) var(--gutter)}
.making-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(36px,6vw,110px)}
.making-head{position:sticky;top:60px;align-self:start}
.making-head h2{max-width:11ch}
.steps{list-style:none;margin:0;padding:0}
.step{position:relative;display:grid;grid-template-columns:clamp(70px,9vw,130px) 1fr;gap:20px;padding:clamp(30px,4vw,48px) 0}
.step::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background:var(--ink);opacity:.82;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 14' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 60 5, 140 4.2, 240 5 S 470 7.6, 598 6.4 L 598 7.2 C 470 9, 330 10.6, 220 9.8 S 60 10.4, 2 9.4 Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 14' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 60 5, 140 4.2, 240 5 S 470 7.6, 598 6.4 L 598 7.2 C 470 9, 330 10.6, 220 9.8 S 60 10.4, 2 9.4 Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s .1s var(--ease)}
.step.in::before{transform:scaleX(1)}
.step-no{font:italic 400 clamp(2.6rem,5vw,4.4rem)/.9 var(--serif);color:var(--muted)}
.step h3{font-size:clamp(1.7rem,2.8vw,2.4rem);margin-bottom:10px}
.step p{color:var(--muted);max-width:52ch;margin:0}

/* US */
.us{background:var(--ink);color:var(--paper);padding:clamp(90px,11vw,150px) var(--gutter);overflow:hidden}
.us-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,7vw,120px);align-items:center}
.us-img{margin:0 0 0 calc(-1 * var(--gutter));position:relative}
.us-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 70%}
.us .sec-label{color:var(--paper-on-ink);opacity:.75}
.us-copy p{color:var(--paper-on-ink);max-width:50ch}
.us-copy h2{max-width:13ch}
.us-sign img{width:150px;opacity:.85;margin-top:22px}

/* ENQUIRE */
.enquire{background:var(--stone);padding:clamp(90px,11vw,150px) var(--gutter) clamp(120px,13vw,180px)}
.enquire-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,110px);align-items:start}
.enquire-copy p{color:var(--muted);max-width:44ch}
.enquire-stroke{display:block;width:min(340px,80%);height:14px;color:var(--ink);opacity:.8;margin-top:34px}
.form{background:#f6f1e9;padding:clamp(26px,4vw,52px);display:grid;gap:20px;box-shadow:0 30px 60px -44px rgba(48,34,20,.6);position:relative}
.field{display:grid;gap:8px}
.field label{font:500 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font:400 1.02rem/1.4 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(28,25,22,.3);padding:10px 0;border-radius:0;transition:border-color .3s var(--ease)}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--moss);box-shadow:0 1px 0 var(--moss)}
.field.bad input{border-bottom-color:#9b3b2a}
.field .err{font-size:.85rem;color:#9b3b2a}
.form .btn{justify-self:start}
.form-note{font-size:.85rem;color:var(--muted);margin:0}
.hp{position:absolute;left:-9999px}
.form-done{position:absolute;inset:0;background:#f6f1e9;display:grid;align-content:center;padding:clamp(26px,4vw,52px)}
.form-done[hidden]{display:none}
.form-done-title{font:500 clamp(2rem,4vw,3rem)/1 var(--serif);margin-bottom:14px}
.form-done p:last-child{color:var(--muted);max-width:40ch}

/* FOOTER */
.foot{background:var(--ink);color:var(--paper-on-ink);padding:clamp(70px,8vw,110px) var(--gutter) 0;overflow:hidden}
.foot-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.foot-logo{width:190px}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;font-size:.95rem}
.foot-cols a{text-decoration:none;transition:color .15s}
.foot-cols a:hover{color:#fff}
.foot-credit{opacity:.6}
.foot-ghost{margin:clamp(40px,6vw,80px) 0 0;font:500 clamp(5rem,19vw,19rem)/.78 var(--serif);letter-spacing:-.045em;color:rgba(239,232,221,.06);white-space:nowrap;text-align:center;transform:translateY(.12em)}

/* reveals: headings dissolve like ink, images settle */
.js .reveal-ink{opacity:0;filter:blur(7px);transform:translateY(10px);transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease)}
.js .reveal-settle{opacity:0;transform:scale(1.035);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal-ink.in,.js .reveal-settle.in{opacity:1;filter:none;transform:none}

/* responsive */
@media (max-width:1000px){
  .hero{padding-top:120px;min-height:auto}
  .hero-inner{grid-template-columns:1fr;gap:20px}
  .hero-print{order:-1;max-width:640px;margin:0 auto 30px;width:100%}
  .h1-big{font-size:clamp(4rem,17vw,8rem)}
  .masthead-note{display:none}
  .print-label{max-width:none}
  .making-inner,.us-inner,.enquire-inner{grid-template-columns:1fr}
  .hang-inner{grid-template-columns:1fr;grid-template-areas:"head" "stage" "ctl";row-gap:30px}
  .detail{grid-column:5 / -1;margin-bottom:0}
  .stage-wrap{position:sticky;top:76px;z-index:2}
  .making-head{position:static}
  .us-img{margin:0 calc(-1 * var(--gutter))}
  .us-img img{aspect-ratio:4/3}
  .print-a,.print-c{grid-column:1 / -1}
  .print-b{grid-column:3 / -1;grid-row:auto;margin-top:0}
}
@media (max-width:760px){
  .masthead{grid-template-columns:auto 1fr}
  .menu-btn{display:inline-block}
  .topnav{display:none;position:absolute;top:100%;left:0;right:0;justify-self:stretch;flex-direction:column;gap:0;padding:8px var(--gutter) 18px;background:rgba(239,232,221,.98);box-shadow:0 20px 30px -20px rgba(28,25,22,.45);border-top:1px solid rgba(28,25,22,.1)}
  .topnav.open{display:flex}
  .topnav a{font:500 1.6rem/1 var(--serif);padding:14px 0;border-bottom:1px solid rgba(28,25,22,.08);background-position:0 calc(100% - 8px)}
  .topnav a:hover,.topnav a[aria-current]{background-size:0 1px}
  .scale-inner{grid-template-columns:1fr;align-items:start}
  .print-b{grid-column:1 / -1}
  .detail{grid-column:3 / -1}
  .foot-inner{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr 1fr}
  .foot-cols p:last-child{grid-column:1 / -1}
  .ctl-thumbs label{width:68px;height:52px}
  .loupe{display:none}
  .print-frame{cursor:default}
}
@media (max-width:420px){
  .h1-big{font-size:clamp(3.6rem,19vw,5rem)}
  .lifesize img{width:5.2cm}
}

/* ---------- multi-page additions ---------- */
a.hung{display:block;text-decoration:none}
.print-label h3 a{text-decoration:none;transition:color .15s}
.print-label h3 a:hover{color:var(--moss)}
a.print-frame{display:block}
.from{font:500 1.25rem/1 var(--serif)!important;color:var(--ink)!important;margin-top:8px!important}
.card-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:12px}
.text-link.on-ink{color:var(--paper)}
.tbc{color:var(--moss);font-family:var(--serif);font-style:italic;font-size:1.06em}
.museum-meta i{font-family:var(--serif);font-size:1.1em}
.foot-legal{max-width:var(--max);margin:50px auto 0;font-size:.85rem;opacity:.7}

.page-head{max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding:clamp(150px,16vw,210px) var(--gutter) clamp(40px,5vw,70px)}
.page-head h1{font-size:clamp(2.8rem,7vw,6.2rem);letter-spacing:-.035em;line-height:.98;max-width:16ch;margin-bottom:24px}

.legal{max-width:760px;margin:0 auto;padding:clamp(150px,16vw,200px) var(--gutter) 120px}
.legal h1{font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:-.03em;margin-bottom:30px}
.legal h2{font-size:1.7rem;margin:44px 0 12px}
.legal p{color:var(--muted)}
.rates{width:100%;border-collapse:collapse;margin:18px 0 8px;font-variant-numeric:tabular-nums}
.rates th,.rates td{text-align:left;padding:12px 10px 12px 0;border-bottom:1px solid rgba(28,25,22,.14)}
.rates th{font:500 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.rates td:first-child{font:500 1.15rem/1.2 var(--serif);color:var(--ink)}

/* shop: salon hang */
.salon{position:relative;overflow:hidden;background:var(--stone);padding:clamp(90px,10vw,140px) var(--gutter) clamp(80px,9vw,120px)}
.salon-set{position:relative;max-width:var(--max);margin:0 auto;scroll-margin-top:100px}
.salon-set+.salon-set{margin-top:clamp(90px,11vw,160px)}
.salon-head{display:flex;align-items:baseline;gap:12px clamp(20px,3vw,44px);flex-wrap:wrap;margin-bottom:clamp(56px,6vw,80px)}
.salon-head h2{margin:0;font-size:clamp(2.2rem,4vw,3.4rem)}
.salon-head p{margin:0;font:italic 400 1.2rem/1.3 var(--serif);color:var(--muted)}
.set-jump{display:flex;gap:26px;flex-wrap:wrap;margin:6px 0 16px}
.salon-inner{position:relative;display:grid;grid-template-columns:var(--cols);gap:clamp(28px,4vw,70px);align-items:start}
.band{position:relative;overflow:hidden;display:grid;background:var(--ink)}
.band picture{grid-area:1/1}
.band img{width:100%;height:100%;min-height:clamp(460px,52vw,720px);object-fit:cover;object-position:50% 55%}
.band-copy{grid-area:1/1;align-self:start;justify-self:center;text-align:center;padding:clamp(40px,6vw,90px) var(--gutter) 0;position:relative;color:var(--ink)}
.band-copy h2{margin-bottom:10px}
.band-copy p{margin-bottom:18px}
.band-copy .sec-label{margin-bottom:14px;color:var(--ink)}
.more-all{margin:clamp(30px,4vw,50px) 0 0}
.salon-item{display:grid;gap:26px;text-decoration:none;color:inherit}
.salon-item .hung{transition:transform .6s var(--ease)}
.salon-item:hover .hung{transform:translateY(-6px) rotate(-.4deg)}
.salon-item .mat{padding:clamp(12px,2vw,30px);border-width:clamp(6px,.7vw,10px)}
.salon-1{margin-top:clamp(40px,6vw,90px)}
.salon-3{margin-top:clamp(90px,12vw,180px)}
.salon-label{margin:0;width:auto}
.salon-item:hover .museum-title{color:var(--moss)}

/* shop: sizes */
.sizes{padding:clamp(90px,11vw,150px) var(--gutter)}
.sizes-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,100px);align-items:center}
.sizes-copy p{color:var(--muted);max-width:46ch}
.size-table{margin-top:28px}
.sz-wrap{position:relative;width:min(100%,420px);aspect-ratio:59.4/84.1;justify-self:center}
.sz{position:absolute;left:0;bottom:0;width:var(--w);height:var(--h);border:1px solid rgba(28,25,22,.45);background:rgba(247,243,236,.55)}
.sz-a1{background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(28,25,22,.035) 9px 10px),#f7f3ec;box-shadow:0 30px 50px -36px rgba(48,34,20,.6)}
.sz-a3{background:var(--stone);border-color:var(--ink)}
.sz span{position:absolute;right:10px;top:8px;font:500 1.3rem/1 var(--serif);text-align:right}
.sz small{display:block;font:400 .72rem/1.4 var(--sans);color:var(--muted)}

/* shop: finishes */
.finishes{background:var(--ink);color:var(--paper);padding:clamp(90px,11vw,150px) var(--gutter)}
.finishes-inner{max-width:var(--max);margin:0 auto}
.finishes .sec-label{color:var(--paper-on-ink);opacity:.75}
.fin-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.fin h3{font-size:1.7rem;margin:22px 0 8px}
.fin p{color:var(--paper-on-ink);font-size:.95rem;margin:0}
.fin-corner{display:block;width:100%;aspect-ratio:4/3;position:relative;background:#f7f3ec}
.fin-corner::before{content:"";position:absolute;inset:0;border:solid var(--fc);border-width:22px 0 0 22px}
.fin-corner::after{content:"";position:absolute;left:calc(22px + 18%);top:calc(22px + 18%);right:0;bottom:0;background:url(img/demoiselle-900.webp) 30% 40%/260% auto;box-shadow:inset 1px 1px 3px rgba(0,0,0,.2)}
.fin-none .fin-corner{background:#f7f3ec;transform:rotate(-2deg);box-shadow:4px 6px 0 -1px #e3d9ca,8px 12px 0 -2px #d6cab8}
.fin-none .fin-corner::before{border:0}
.fin-none .fin-corner::after{left:14%;top:14%}
.fin-oak{--fc:#a9845a}.fin-black{--fc:#0f0d0b}.fin-white{--fc:#f2eee7}
.fin-white .fin-corner::before{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.fin-white .fin-corner{background:#ece6dc}

/* shop: delivery + cta */
.ship{padding:clamp(90px,11vw,150px) var(--gutter)}
.ship-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,100px);align-items:start}
.cta-band{background:var(--stone);padding:clamp(90px,10vw,140px) var(--gutter)}
.cta-inner{max-width:760px;margin:0 auto;text-align:center}
.cta-inner p{color:var(--muted);max-width:46ch;margin:0 auto 28px}
.cta-inner .enquire-stroke{margin:40px auto 0}

/* product page */
.pdp{padding:clamp(130px,13vw,170px) var(--gutter) clamp(70px,8vw,110px)}
.crumbs{max-width:var(--max);margin:0 auto 26px;display:flex;gap:10px;font-size:.86rem;color:var(--muted)}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--moss)}
.pdp-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4.4fr);gap:clamp(36px,5vw,80px);align-items:start}
.pdp-inner.is-portrait{grid-template-columns:minmax(0,5.4fr) minmax(0,5fr)}
.pdp-gallery{position:sticky;top:100px}
.pdp-main{padding:clamp(16px,2.6vw,40px)}
.pdp-hint{margin:14px 0 0;font:italic 400 1rem/1 var(--serif);color:var(--muted)}
.pdp-info h1{font-size:clamp(2.6rem,4.6vw,4.4rem);letter-spacing:-.03em;margin:14px 0 8px}
.pdp-latin{font:italic 400 1.15rem/1.3 var(--serif);color:var(--muted)}
.pdp-latin i{font-style:italic}
.pdp-lead{font-size:1.1rem;max-width:42ch}
.buy-main{gap:18px;margin:30px 0 34px;padding:26px 0;border-top:1px solid rgba(28,25,22,.15);border-bottom:1px solid rgba(28,25,22,.15)}
.buy-main .chip span{padding:11px 14px;min-width:70px}
.buy-main .chip small{display:block;margin-top:4px;font-size:.68rem;letter-spacing:0;opacity:.75}
.buy-main .price{font-size:2.3rem;margin-right:auto}
.spec{margin:0;display:grid;gap:12px}
.spec div{display:grid;grid-template-columns:88px 1fr;gap:12px;font-size:.93rem}
.spec dt{font:500 .68rem/1.9 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.spec dd{margin:0}
.spec a{color:var(--moss)}
.hang-pdp .hang-controls .btn{margin-top:18px}

.story{background:var(--ink);color:var(--paper);padding:clamp(90px,11vw,150px) var(--gutter)}
.story-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(36px,7vw,120px);align-items:center}
.story-inner.no-detail{grid-template-columns:1fr;max-width:760px}
.pdp-detail{margin:0}
.pdp-detail img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pdp-detail figcaption{margin-top:14px}
.pdp-detail .museum-no,.story .sec-label{color:var(--paper-on-ink);opacity:.75}
.story-copy p{color:var(--paper-on-ink);max-width:52ch;font-size:1.08rem}
.story-pairs{font:italic 400 1.35rem/1.4 var(--serif)!important;color:var(--paper)!important;margin-top:26px}

.more{padding:clamp(90px,11vw,150px) var(--gutter)}
.more-inner{max-width:var(--max);margin:0 auto}
.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,70px);margin-top:20px}
.more-card{display:grid;gap:8px;text-decoration:none;color:inherit}
.more-img{display:block;background:#f7f3ec;padding:clamp(12px,1.6vw,22px);box-shadow:0 30px 50px -34px rgba(48,34,20,.5);margin-bottom:14px;transition:transform .6s var(--ease)}
.more-img img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:var(--pos,50% 50%)}
.more-card:hover .more-img{transform:translateY(-5px)}
.more-title{font:500 1.7rem/1.1 var(--serif)}
.more-card:hover .more-title{color:var(--moss)}
.more-from{color:var(--muted);font-size:.95rem}

/* about + contact + 404 */
.us-about .us-lead{font:400 clamp(1.4rem,2.2vw,1.8rem)/1.35 var(--serif);color:var(--paper)!important;max-width:30ch!important}
.contact-body{padding-top:clamp(20px,3vw,40px)}
.contact-h{font-size:1.8rem;margin:34px 0 10px}
.contact-h:first-child{margin-top:0}
.nf{position:relative;min-height:80svh;display:grid;align-content:center}
.nf-enso{position:absolute;right:4%;top:18%;height:60%;width:auto;opacity:.8;pointer-events:none}
.nf h1,.nf p{position:relative}
.nf-actions{display:flex;gap:28px;align-items:center}

@media (max-width:1000px){
  .salon-inner{grid-template-columns:1fr 1fr}
  .salon-3{grid-column:1 / -1;max-width:70%;justify-self:end;margin-top:20px}
  .sizes-inner,.ship-inner,.pdp-inner,.pdp-inner.is-portrait,.story-inner{grid-template-columns:1fr}
  .pdp-gallery{position:static}
  .pdp-inner.is-portrait .pdp-gallery{max-width:560px}
  .fin-list{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .salon-inner{grid-template-columns:1fr;row-gap:72px}
  .salon-1,.salon-3{margin-top:0;max-width:none}
  .salon-2{max-width:78%;justify-self:end}
  .more-grid{grid-template-columns:1fr}
  .rates th:last-child,.rates td:last-child{display:none}
  .card-actions{gap:16px}
  .nf-enso{opacity:.35}
}

.shot .hero-light{animation:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal-ink,.js .reveal-settle,.js .h1-small,.js .h1-big span,.js .hero-sub,.js .hero-actions,.js .museum,.js .hung{opacity:1!important;filter:none!important;transform:none!important}
  .js .enso{opacity:.85!important}
  .stroked svg,.step::before{transform:none}
}
