/* ===========================================================
   GALERIE OASIS — concept demo
   Dark cinematic frame · light product rooms
   =========================================================== */

:root{
  --black:#100E0C;
  --black-2:#1A1613;
  --black-3:#221D19;
  --ink:#2A2420;
  --cream:#F6F1E8;
  --cream-2:#EDE5D7;
  --paper:#FBF8F2;
  --gold:#C6A662;
  --gold-2:#B08E45;
  --gold-deep:#867659;
  --emerald:#33534699;
  --taupe:#B7A48E;
  --line-gold:rgba(198,166,98,.28);
  --line-dark:rgba(255,255,255,.10);
  --line-light:rgba(30,26,22,.12);

  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-sans:'Jost', system-ui, sans-serif;

  --pad:clamp(1.25rem, 5vw, 6rem);
  --maxw:1560px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-chop:cubic-bezier(.3,0,.2,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  font-family:var(--font-sans);
  background:var(--black);
  color:var(--cream);
  overflow-x:hidden;
  font-weight:300;
  line-height:1.6;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--black)}
h1,h2,h3,h4{font-weight:400;line-height:1.02;font-family:var(--font-display)}

/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}

/* ---------- shared ---------- */
.eyebrow{
  font-family:var(--font-sans);
  font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;
  font-weight:400;color:var(--gold);
}
.section-head{padding:0 var(--pad);max-width:var(--maxw);margin:0 auto}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.section-title{
  font-size:clamp(2.4rem,5.5vw,4.6rem);
  letter-spacing:-.01em;margin-top:1rem;color:var(--ink);
}
.link-arrow{
  font-family:var(--font-sans);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink);position:relative;padding-bottom:.35rem;white-space:nowrap;
}
.link-arrow::after{content:"→";margin-left:.6em;display:inline-block;transition:transform .5s var(--ease)}
.link-arrow:hover::after{transform:translateX(.4em)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--font-sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
  padding:1.05em 2.1em;border-radius:2px;position:relative;overflow:hidden;
  transition:color .5s var(--ease),border-color .5s var(--ease);will-change:transform;
}
.btn--gold{background:var(--gold);color:var(--black)}
.btn--gold::before{content:"";position:absolute;inset:0;background:var(--cream);transform:translateY(101%);transition:transform .5s var(--ease);z-index:0}
.btn--gold:hover::before{transform:translateY(0)}
.btn--gold span,.btn--gold{position:relative}
.btn--gold>*{position:relative;z-index:1}
.btn--ghost{border:1px solid var(--line-gold);color:var(--cream)}
.btn--ghost::before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .5s var(--ease);z-index:0}
.btn--ghost:hover{color:var(--black)}
.btn--ghost:hover::before{transform:translateY(0)}
.btn--ghost{position:relative}
.btn span{position:relative;z-index:1}

/* ---------- splash intro (branded curtain) ---------- */
.splash{position:fixed;inset:0;z-index:10000;background:var(--black);display:grid;place-items:center;overflow:hidden;
  transition:transform 1s cubic-bezier(.76,0,.24,1)}
.splash::after{content:"";position:absolute;left:50%;top:40%;width:60vw;height:40vh;transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(198,166,98,.14),transparent 66%);pointer-events:none}
.splash.done{transform:translateY(-101%)}
.splash__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.splash__mark{width:64px;height:auto;opacity:0;transform:translateY(12px) scale(.88);animation:sp-mark 1.1s var(--ease) .1s forwards}
.splash__word{display:flex;gap:.45rem;font-family:var(--font-display);font-size:clamp(2.4rem,7vw,4.8rem);line-height:1;color:var(--cream)}
.splash__word .m{overflow:hidden;display:inline-block;padding-bottom:.06em}
.splash__word b{display:inline-block;font-weight:400;transform:translateY(120%);animation:sp-rise 1s var(--ease) forwards}
.splash__word .m:nth-child(1) b{animation-delay:.35s}
.splash__word .m:nth-child(2) b{animation-delay:.5s}
.splash__word b.g{font-style:italic;color:var(--gold)}
.splash__tag{font-family:var(--font-sans);font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(246,241,232,.45);
  opacity:0;animation:sp-fade 1s var(--ease) 1.05s forwards}
.splash__bar{width:150px;height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.splash__bar i{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;
  animation:sp-bar 2.2s cubic-bezier(.6,0,.2,1) .35s forwards}
@keyframes sp-mark{to{opacity:1;transform:none}}
@keyframes sp-rise{to{transform:none}}
@keyframes sp-fade{to{opacity:1}}
@keyframes sp-bar{to{transform:scaleX(1)}}
.intro-skip .splash{display:none}

/* ---------- cursor ---------- */
.cursor{position:fixed;top:0;left:0;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;
  pointer-events:none;z-index:9000;transform:translate(-50%,-50%);mix-blend-mode:difference;
  transition:width .4s var(--ease),height .4s var(--ease),background .4s var(--ease),opacity .3s;display:grid;place-items:center}
.cursor.is-hover{width:76px;height:76px;background:var(--gold);border-color:var(--gold);mix-blend-mode:normal}
.cursor__label{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--black);opacity:0;transition:opacity .3s}
.cursor.is-hover .cursor__label{opacity:1}
@media (hover:none){.cursor{display:none}}

/* ---------- grain ---------- */
.grain{position:fixed;inset:0;z-index:8000;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- header ---------- */
.site-head{position:fixed;top:0;left:0;width:100%;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:1.5rem var(--pad);transition:background .6s var(--ease),padding .6s var(--ease),transform .5s var(--ease);}
.site-head.scrolled{background:rgba(16,14,12,.82);backdrop-filter:blur(14px);padding:1rem var(--pad);border-bottom:1px solid var(--line-dark)}
.site-head.hide{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:.7rem;z-index:2}
.brand__mark{width:38px;height:auto;filter:drop-shadow(0 0 1px rgba(0,0,0,.4))}
.brand__word{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.02em;color:var(--cream);white-space:nowrap}
.brand__word em{font-style:italic;color:var(--gold)}
.nav{display:flex;gap:2.1rem}
.nav a{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);
  position:relative;padding:.4rem 0;opacity:.85;transition:opacity .4s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .5s var(--ease)}
.nav a:hover{opacity:1}
.nav a:hover::after{width:100%}
.head-actions{display:flex;align-items:center;gap:1.1rem;z-index:2}
.lang{display:flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;font-family:var(--font-sans);
  font-size:.74rem;letter-spacing:.12em;color:var(--cream);padding:11px 4px;margin:-11px -4px}
.lang__opt{opacity:.4;transition:opacity .3s}
.lang__opt.is-active{opacity:1;color:var(--gold)}
.lang__sep{opacity:.3}
.head-icon{color:var(--cream);display:grid;place-items:center;position:relative;opacity:.85;transition:opacity .4s}
.head-icon:hover{opacity:1;color:var(--gold)}
.head-cart__count{position:absolute;top:-6px;right:-8px;font-family:var(--font-sans);font-size:.55rem;
  background:var(--gold);color:var(--black);width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font-style:normal}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:11px 8px;margin:-11px -8px}
.burger span{width:26px;height:1.5px;background:var(--cream);transition:.4s var(--ease)}
body.menu-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){transform:translateY(-6px) rotate(-45deg)}

/* header goes dark-on-light when over light sections */
.site-head.on-light .brand__word,.site-head.on-light .nav a,.site-head.on-light .lang,.site-head.on-light .head-icon,.site-head.on-light .burger span{color:var(--ink)}
.site-head.on-light.scrolled{background:rgba(251,248,242,.85);border-bottom:1px solid var(--line-light)}
.site-head.on-light .burger span{background:var(--ink)}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:999;background:var(--black-2);
  display:flex;align-items:flex-start;justify-content:center;
  /* the menu carries all ten departments, so it is sized to fit rather than
     centred: centring pushed the first item up behind the fixed header. */
  padding:var(--mm-top,7.5rem) 1.5rem 3rem;overflow-y:auto;overscroll-behavior:contain;
  clip-path:circle(0% at 100% 0);transition:clip-path .8s var(--ease)}
body.menu-open .mobile-menu{clip-path:circle(150% at 100% 0)}
.mobile-menu nav{display:flex;flex-direction:column;gap:clamp(.4rem,1.5vh,1rem);
  text-align:center;width:100%}
.mobile-menu a{font-family:var(--font-display);font-size:clamp(1.35rem,4.2vh,2.1rem);
  line-height:1.3;color:var(--cream)}
.mobile-menu a em{color:var(--gold)}

/* ===================== HERO ===================== */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--black);
  display:flex;align-items:center}
.hero__gl{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero__vignette{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 30%,transparent 40%,rgba(0,0,0,.55) 100%),
             linear-gradient(180deg,rgba(16,14,12,.5) 0%,transparent 25%,transparent 60%,rgba(16,14,12,.85) 100%)}
.hero__stage{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.hero__piece{width:min(84vw,1120px);object-fit:contain;
  filter:drop-shadow(0 60px 80px rgba(0,0,0,.6));
  mix-blend-mode:normal;transform:translate(9%,3%)}
.hero__scrim{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(90deg,rgba(13,11,9,.92) 0%,rgba(13,11,9,.66) 26%,rgba(13,11,9,.20) 48%,transparent 64%),
             linear-gradient(0deg,rgba(13,11,9,.55) 0%,transparent 22%)}
.hero__glow{position:absolute;left:60%;top:56%;width:70vw;height:40vh;transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,rgba(198,166,98,.16),transparent 65%);filter:blur(20px);z-index:-1}
.hero__content{position:relative;z-index:4;max-width:var(--maxw);width:100%;margin:0 auto;padding:0 var(--pad)}
.hero__title{font-size:clamp(3.2rem,10vw,9.5rem);letter-spacing:-.02em;line-height:.92;margin:1.2rem 0 1.5rem}
.hero__title .line{display:block}
.hero__title .w{display:inline-block;position:relative;will-change:transform}
.hero__title.is-slicing .w{opacity:0}
.hero__title.is-slicing .w.armed{opacity:1}
.hero__title .w .slice{display:inline-block}
.hero__title .w .s2,.hero__title .w .s3{position:absolute;left:0;top:0}
.hero__title .w .s1{clip-path:inset(-2% 0 66% 0)}
.hero__title .w .s2{clip-path:inset(34% 0 33% 0)}
.hero__title .w .s3{clip-path:inset(67% 0 -2% 0)}
.hero__title .armed .s1{animation:sl-a .62s var(--ease-chop) both;animation-delay:var(--wd)}
.hero__title .armed .s2{animation:sl-b .62s var(--ease-chop) both;animation-delay:calc(var(--wd) + .05s)}
.hero__title .armed .s3{animation:sl-a .62s var(--ease-chop) both;animation-delay:calc(var(--wd) + .1s)}
@keyframes sl-a{from{transform:translateX(-.4em);opacity:0}to{transform:none;opacity:1}}
@keyframes sl-b{from{transform:translateX(.4em);opacity:0}to{transform:none;opacity:1}}
.hero__title.slice-done .w .slice{clip-path:none;animation:none}
.hero__title.slice-done .w .s2,.hero__title.slice-done .w .s3{display:none}
.hero__title em{font-style:italic;color:var(--gold)}
.hero__sub{max-width:32rem;font-size:1.05rem;color:rgba(246,241,232,.82);font-weight:300;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.hero__cta{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(246,241,232,.6)}
.hero__scroll i{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ===================== MARQUEE ===================== */
.marquee{background:var(--black);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
  overflow:hidden;padding:1.4rem 0}
.marquee__track{display:flex;gap:2.4rem;white-space:nowrap;width:max-content;animation:marq 32s linear infinite}
.marquee__track span{font-family:var(--font-display);font-size:1.7rem;font-style:italic;color:rgba(246,241,232,.5)}
.marquee__track b{color:var(--gold);font-size:1.4rem;align-self:center}
@keyframes marq{to{transform:translateX(-50%)}}

/* ===================== MANIFESTO ===================== */
.manifesto{background:var(--black);color:var(--cream);padding:clamp(6rem,14vw,12rem) var(--pad);
  max-width:1300px;margin:0 auto;text-align:center}
.manifesto__eyebrow{color:var(--gold);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;margin-bottom:2rem}
.manifesto__text{font-size:clamp(1.7rem,4vw,3.3rem);line-height:1.24;letter-spacing:-.005em;font-weight:300}
.reveal-words .word{display:inline-block;opacity:.14;transition:opacity .5s var(--ease)}

/* ===================== COLLECTIONS (light) ===================== */
.collections{background:var(--paper);color:var(--ink);padding:clamp(5rem,10vw,9rem) 0;border-radius:0}
.collections .section-title{color:var(--ink)}
.collections__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  max-width:var(--maxw);margin:3.5rem auto 0;padding:0 var(--pad)}
.col-card{position:relative;overflow:hidden;border-radius:3px;background:var(--cream-2);display:block}
.col-card__media{aspect-ratio:3/4;overflow:hidden}
.col-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);filter:saturate(.95)}
.col-card:hover .col-card__media img{transform:scale(1.06)}
.col-card__meta{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:2rem;background:linear-gradient(180deg,transparent 45%,rgba(16,14,12,.72));color:var(--cream)}
.col-card__idx{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.3em;color:var(--gold);margin-bottom:.4rem}
.col-card__meta h3{font-size:2.3rem}
.col-card__go{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cream);margin-top:.8rem;opacity:0;transform:translateY(10px);transition:.5s var(--ease)}
.col-card__go::after{content:"→";margin-left:.5em}
.col-card:hover .col-card__go{opacity:1;transform:none}

/* ===================== FEATURE (dark) ===================== */
.feature{position:relative;background:var(--black-2);color:var(--cream);overflow:hidden;
  display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:2rem;
  padding:clamp(4rem,9vw,8rem) var(--pad)}
.feature__bg{position:absolute;inset:0;background:
   radial-gradient(60% 80% at 30% 50%,rgba(51,83,70,.22),transparent 70%),
   radial-gradient(50% 60% at 80% 30%,rgba(198,166,98,.10),transparent 70%)}
.feature__media{position:relative;z-index:1}
.feature__piece{width:100%;filter:drop-shadow(0 50px 60px rgba(0,0,0,.55))}
.feature__text{position:relative;z-index:1;max-width:30rem}
.feature__title{font-size:clamp(2.4rem,4.5vw,4rem);margin:1rem 0 1.5rem}
.feature__body{color:rgba(246,241,232,.75);font-size:1.02rem;margin-bottom:2rem}
.feature__spec{list-style:none;margin-bottom:2.2rem;border-top:1px solid var(--line-dark)}
.feature__spec li{display:flex;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--line-dark);
  font-size:.85rem;letter-spacing:.04em}
.feature__spec span{color:rgba(246,241,232,.55);text-transform:uppercase;font-size:.72rem;letter-spacing:.18em}
.feature__spec b{font-weight:300;font-family:var(--font-display);font-size:1.15rem}
.hotspot{position:absolute;width:34px;height:34px;display:grid;place-items:center;transform:translate(-50%,-50%);cursor:pointer}
.hotspot i{width:10px;height:10px;background:var(--gold);border-radius:50%;position:relative}
.hotspot i::after{content:"";position:absolute;inset:-8px;border:1px solid var(--gold);border-radius:50%;animation:ping 2.4s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}

/* ===================== ARRIVALS (light) ===================== */
.arrivals{background:var(--paper);color:var(--ink);padding:clamp(5rem,10vw,9rem) 0}
.arrivals .section-head{margin-bottom:3rem}
.arrivals__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.prod{display:block;position:relative}
.prod__media{aspect-ratio:4/5;overflow:hidden;border-radius:3px;display:grid;place-items:center;
  background:radial-gradient(120% 100% at 50% 20%,#f7f3ec,#e6ddcd)}
.prod__media img{width:100%;height:100%;object-fit:contain;padding:6%;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.prod:hover .prod__media img{transform:scale(1.05)}
.prod__foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem}
.prod__foot h3{font-size:1.5rem}
.prod__foot span{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.prod__price{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.06em;color:rgba(42,36,32,.55);margin-top:.2rem}

/* ===================== RUGS (dark split) ===================== */
.rugs{background:var(--black);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);
  padding:clamp(5rem,10vw,9rem) var(--pad)}
.rugs__title{font-size:clamp(2.2rem,4.5vw,4rem);margin:1rem 0 1.5rem}
.rugs__body{color:rgba(246,241,232,.72);max-width:32rem;margin-bottom:2.5rem}
.stats{display:flex;gap:2.5rem;flex-wrap:wrap}
.stat b{display:block;font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.4rem);color:var(--gold);line-height:1}
.stat span{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,241,232,.6)}
.rugs__media{aspect-ratio:4/5;overflow:hidden;border-radius:3px;position:relative;background:
  linear-gradient(135deg,var(--black-3),var(--black-2))}
.rugs__media img{width:100%;height:100%;object-fit:cover}
.rugs__media--weave{display:grid;place-items:end start;padding:2rem;
  background:
   repeating-linear-gradient(90deg,rgba(198,166,98,.10) 0 2px,transparent 2px 9px),
   repeating-linear-gradient(0deg,rgba(20,17,14,.6) 0 2px,transparent 2px 9px),
   repeating-linear-gradient(45deg,rgba(51,83,70,.35) 0 16px,rgba(20,17,14,.2) 16px 32px),
   radial-gradient(120% 90% at 30% 20%,rgba(198,166,98,.18),transparent 55%),
   linear-gradient(135deg,#22322b,var(--black-2))}
.rugs__media--weave::before{content:"";position:absolute;inset:0;
  background:radial-gradient(80% 60% at 50% 50%,transparent 40%,rgba(16,14,12,.55));pointer-events:none}
.rugs__cap{position:relative;font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:rgba(246,241,232,.85);
  letter-spacing:.01em}

/* ===================== QUOTE ===================== */
.quote{background:var(--black);text-align:center;padding:clamp(6rem,13vw,11rem) var(--pad);max-width:1200px;margin:0 auto}
.quote__text{font-size:clamp(2rem,5vw,4rem);line-height:1.2;font-style:italic;color:var(--cream)}
.quote cite{display:block;margin-top:2rem;font-family:var(--font-sans);font-style:normal;font-size:.8rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* ===================== VISIT ===================== */
.visit{background:linear-gradient(180deg,var(--black),var(--black-2));padding:0 var(--pad) clamp(4rem,8vw,7rem)}
.visit__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);
  border-top:1px solid var(--line-gold);padding-top:clamp(4rem,8vw,7rem)}
.visit__title{font-size:clamp(2.2rem,4.5vw,3.8rem);margin:1rem 0 1.3rem}
.visit__body{color:rgba(246,241,232,.72);max-width:30rem;margin-bottom:2rem}
.visit__info{list-style:none;margin:0 0 2rem;border-top:1px solid var(--line-gold);max-width:34rem}
.visit__info li{display:flex;justify-content:space-between;gap:1.5rem;padding:.8rem 0;border-bottom:1px solid var(--line-dark);
  font-size:.88rem;align-items:baseline}
.visit__info span{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,241,232,.5);white-space:nowrap}
.visit__info b{font-weight:300;text-align:right;color:var(--cream)}
.visit__info b a{color:var(--cream);border-bottom:1px solid var(--line-gold);padding-bottom:1px;transition:color .3s,border-color .3s}
.visit__info b a:hover{color:var(--gold);border-color:var(--gold)}
.visit__news h3{font-size:clamp(1.6rem,3vw,2.4rem);margin:.8rem 0 1.5rem}
.news-form{display:flex;gap:.6rem;flex-wrap:wrap}
.news-form input{flex:1;min-width:220px;background:transparent;border:none;border-bottom:1px solid var(--line-gold);
  color:var(--cream);padding:.9rem .2rem;font-family:var(--font-sans);font-size:.95rem;font-weight:300}
.news-form input:focus{outline:none;border-color:var(--gold)}
.news-form input::placeholder{color:rgba(246,241,232,.4)}
.news-fine{margin-top:1rem;font-size:.75rem;color:rgba(246,241,232,.45)}

/* ===================== FOOTER ===================== */
.site-foot{background:var(--black-2);color:var(--cream);padding:clamp(4rem,8vw,6rem) var(--pad) 2rem}
.foot__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 2fr;gap:3rem;
  padding-bottom:4rem;border-bottom:1px solid var(--line-dark)}
.brand__word--lg{font-size:2.4rem;display:block;margin-bottom:1rem}
.foot__brand p{color:rgba(246,241,232,.6);max-width:22rem}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.foot__cols h4{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;font-weight:400}
.foot__cols a{display:block;color:rgba(246,241,232,.7);padding:.35rem 0;font-size:.92rem;transition:color .3s}
.foot__cols a:hover{color:var(--gold)}
.foot__bottom{max-width:var(--maxw);margin:2rem auto 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  font-size:.72rem;letter-spacing:.1em;color:rgba(246,241,232,.5)}
.foot__social{display:flex;gap:1.4rem}
.foot__social a{transition:color .3s}
.foot__social a:hover{color:var(--gold)}

/* ===================== reveal states ===================== */
.reveal,.reveal-line{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in,.reveal-line.in{opacity:1;transform:none}

/* image wipe reveal — media unmasks as it enters */
.iw{clip-path:inset(16% 9% 16% 9% round 3px);transition:clip-path 1.25s var(--ease)}
.iw.in{clip-path:inset(0% 0% 0% 0% round 3px)}

/* scroll progress line */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1500;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-2),var(--gold));
  transform:scaleX(0);transform-origin:left}

/* parallax-driven elements: GSAP owns the transform, CSS keeps the fade */
.plx{transition:opacity 1s var(--ease) !important;will-change:transform}

/* ===========================================================
   COLLECTION PAGE
   =========================================================== */
.col-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;
  padding:8rem var(--pad) clamp(3rem,6vw,5rem);background:var(--black)}
.col-hero__glow{position:absolute;inset:0;background:
  radial-gradient(60% 70% at 78% 40%,rgba(51,83,70,.32),transparent 65%),
  radial-gradient(40% 50% at 90% 20%,rgba(198,166,98,.12),transparent 70%),
  linear-gradient(180deg,var(--black),var(--black-2))}
.col-hero__piece{position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:min(58vw,860px);
  height:100%;object-fit:cover;object-position:center;
  filter:drop-shadow(0 50px 70px rgba(0,0,0,.6));opacity:.9;z-index:1;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}
.col-hero__content{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%}
.crumb{display:flex;gap:.6rem;align-items:center;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(246,241,232,.6);margin-bottom:1.5rem}
.crumb a:hover{color:var(--gold)}.crumb b{opacity:.4}.crumb span{color:var(--gold)}
.col-hero__title{font-size:clamp(3.2rem,9vw,8rem);line-height:.9;letter-spacing:-.02em}
.col-hero__title em{font-style:italic;color:var(--gold)}
.col-hero__sub{max-width:34rem;margin-top:1.5rem;color:rgba(246,241,232,.75);font-size:1.05rem}

.toolbar{position:sticky;top:0;z-index:500;background:rgba(16,14,12,.9);backdrop-filter:blur(14px);
  border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:1rem var(--pad)}
.toolbar__chips{display:flex;gap:.6rem;flex-wrap:wrap}
.chip{background:transparent;border:1px solid var(--line-gold);color:rgba(246,241,232,.8);
  font-family:var(--font-sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.6rem 1.1rem;border-radius:2rem;cursor:pointer;transition:.4s var(--ease)}
.chip:hover{color:var(--cream)}
.chip.is-active{background:var(--gold);color:var(--black);border-color:var(--gold)}
.toolbar__meta{display:flex;gap:1.6rem;font-family:var(--font-sans);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(246,241,232,.6)}
.toolbar__count i{color:var(--gold);font-style:normal}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;max-width:var(--maxw);margin:0 auto;
  padding:clamp(3rem,6vw,5rem) var(--pad);background:var(--black)}
.pcard{display:block;position:relative}
.pcard.is-hidden{display:none}
.pcard--skeleton{pointer-events:none}
.pcard--skeleton .pcard__media{background:linear-gradient(100deg,#efe7d9 30%,#f7f2e9 50%,#efe7d9 70%);
  background-size:220% 100%;animation:skel 1.5s ease-in-out infinite}
.pcard--skeleton h3{height:1.1rem;width:60%;background:rgba(246,241,232,.14);border-radius:2px}
.pcard--skeleton span{display:block;height:.6rem;width:35%;margin-top:.45rem;background:rgba(246,241,232,.1);border-radius:2px}
@keyframes skel{0%{background-position:120% 0}100%{background-position:-20% 0}}
.nojs-note{max-width:var(--maxw);margin:0 auto;padding:2rem var(--pad);color:var(--cream);text-align:center}
.pcard__media{aspect-ratio:4/5;overflow:hidden;border-radius:3px;position:relative;
  background:radial-gradient(120% 100% at 50% 20%,#f7f3ec,#e6ddcd)}
.pcard__media img{width:100%;height:100%;object-fit:contain;padding:6%;mix-blend-mode:multiply;transition:transform 1.1s var(--ease)}
.pcard:hover .pcard__media img{transform:scale(1.05)}
.pcard__tag{position:absolute;top:1rem;left:1rem;font-family:var(--font-sans);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--black);background:var(--gold);padding:.4rem .8rem;border-radius:2px}
.pcard__tag--custom{background:rgba(16,14,12,.86);color:var(--gold);border:1px solid var(--line-gold)}
.pcard__info{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;gap:1rem;color:var(--cream)}
.pcard__info h3{font-size:1.7rem}
.pcard__info span{display:block;font-family:var(--font-sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-top:.2rem}
.pcard__info p{font-family:var(--font-sans);font-size:.78rem;color:rgba(246,241,232,.55);white-space:nowrap}

.ed-band{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);
  background:var(--black-2);padding:clamp(4rem,8vw,7rem) var(--pad)}
.ed-band__media{aspect-ratio:5/4;border-radius:3px;overflow:hidden;background:radial-gradient(120% 100% at 50% 20%,#f7f3ec,#e6ddcd)}
.ed-band__media img{width:100%;height:100%;object-fit:cover}
.ed-band__text h2{font-size:clamp(2rem,4vw,3.4rem);margin:1rem 0 1.3rem;color:var(--cream);max-width:16ch}
.ed-band__body{color:rgba(246,241,232,.72);max-width:34rem}

.cta-band{text-align:center;background:var(--black);padding:clamp(5rem,10vw,9rem) var(--pad)}
.cta-band h2{font-size:clamp(2.2rem,5vw,4rem);color:var(--cream)}
.cta-band p{max-width:40rem;margin:1.3rem auto 2.3rem;color:rgba(246,241,232,.72)}

/* ===========================================================
   PRODUCT PAGE
   =========================================================== */
body.pdp{background:var(--paper);color:var(--ink)}
.pdp-wrap{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(2rem,5vw,5rem);padding:7rem var(--pad) clamp(3rem,6vw,5rem)}
.pdp-gallery{position:relative}
.viewer{position:relative;border-radius:4px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 25%,#f7f2ea,#e7ddcd)}
.viewer__badge{position:absolute;top:1rem;left:1rem;z-index:3;font-family:var(--font-sans);font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--black);background:rgba(255,255,255,.7);
  backdrop-filter:blur(6px);padding:.45rem .8rem;border-radius:2rem;border:1px solid rgba(198,166,98,.4)}
.viewer__stage{position:relative;aspect-ratio:3/2;display:grid;place-items:center;perspective:1400px}
.viewer__stage.spinning{animation:spin360 1.2s var(--ease)}
@keyframes spin360{0%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}
.viewer__img{width:92%;height:92%;object-fit:contain;position:relative;z-index:0;
  filter:drop-shadow(0 30px 40px rgba(60,45,25,.22))}
.viewer__tint{position:absolute;inset:0;z-index:1;pointer-events:none;
  -webkit-mask-size:92% 92%;mask-size:92% 92%;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  mix-blend-mode:color;opacity:0;transition:opacity .5s var(--ease),background .5s var(--ease)}
.viewer__spin{position:absolute;bottom:1rem;right:1rem;z-index:3;display:flex;align-items:center;gap:.4rem;
  background:rgba(16,14,12,.82);color:var(--cream);border:none;cursor:pointer;border-radius:2rem;
  padding:.55rem .9rem;font-family:var(--font-sans);font-size:.68rem;letter-spacing:.14em}
.viewer__spin:hover{background:var(--gold);color:var(--black)}
.viewer__stage{cursor:zoom-in}
.viewer__expand{position:absolute;top:1rem;right:1rem;z-index:3;display:grid;place-items:center;width:38px;height:38px;
  background:rgba(16,14,12,.82);color:var(--cream);border:none;cursor:pointer;border-radius:50%;transition:background .3s,color .3s}
.viewer__expand:hover{background:var(--gold);color:var(--black)}
.viewer__count{position:absolute;bottom:1rem;left:1rem;z-index:3;font-family:var(--font-sans);font-size:.66rem;
  letter-spacing:.16em;color:var(--cream);background:rgba(16,14,12,.82);padding:.45rem .8rem;border-radius:2rem}

/* ---------- lead capture modal ---------- */
.lead{position:fixed;inset:0;z-index:11500;display:none}
.lead.open{display:block}
html.lead-open,html.lead-open body{overflow:hidden}
.lead__backdrop{position:absolute;inset:0;background:rgba(13,11,9,.86);backdrop-filter:blur(8px)}
.lead__panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,560px);
  max-height:92vh;overflow:auto;background:var(--paper);color:var(--ink);border-radius:5px;
  padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 40px 90px rgba(0,0,0,.5);
  animation:leadIn .5s var(--ease) both}
@keyframes leadIn{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
.lead__close{position:absolute;top:.7rem;right:.9rem;width:38px;height:38px;border:none;background:none;
  font-size:1.6rem;line-height:1;color:rgba(42,36,32,.5);cursor:pointer;border-radius:50%;transition:.3s}
.lead__close:hover{background:rgba(42,36,32,.07);color:var(--ink)}
.lead__panel h2{font-size:clamp(1.7rem,4vw,2.4rem);margin:.5rem 0 .6rem}
.lead__lede{color:rgba(42,36,32,.7);font-size:.95rem;line-height:1.6;margin-bottom:1.3rem}
.lead__piece{border:1px solid var(--line-gold);border-radius:4px;padding:.9rem 1.1rem;margin-bottom:1.3rem;
  background:rgba(198,166,98,.09)}
.lead__piece span{display:block;font-family:var(--font-sans);font-size:.62rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-2);margin-bottom:.25rem}
.lead__piece b{font-family:var(--font-display);font-size:1.3rem;font-weight:400;display:block}
.lead__piece i{font-style:normal;font-family:var(--font-sans);font-size:.8rem;color:rgba(42,36,32,.6)}
.lead__form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.lead__form label{display:flex;flex-direction:column;gap:.35rem}
.lead__form .lead__full,.lead__form .lead__submit,.lead__form .lead__fine{grid-column:1/-1}
.lead__form span{font-family:var(--font-sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(42,36,32,.55)}
.lead__form input,.lead__form textarea{font-family:var(--font-sans);font-size:.95rem;font-weight:300;color:var(--ink);
  background:transparent;border:none;border-bottom:1px solid rgba(42,36,32,.22);padding:.6rem .1rem;border-radius:0}
.lead__form input:focus,.lead__form textarea:focus{outline:none;border-color:var(--gold)}
.lead__form textarea{resize:vertical;border:1px solid rgba(42,36,32,.18);border-radius:3px;padding:.7rem}
.lead__submit{justify-content:center;margin-top:.4rem;border:none;cursor:pointer}
.lead__submit:disabled{opacity:.6;cursor:default}
.lead__fine{font-family:var(--font-sans);font-size:.7rem;color:rgba(42,36,32,.5);text-align:center;margin-top:.2rem}
.lead__form.shake{animation:shake .45s}
@keyframes shake{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
.lead__alt{display:flex;gap:1.4rem;justify-content:center;margin-top:1.4rem;padding-top:1.1rem;
  border-top:1px solid var(--line-light);flex-wrap:wrap}
.lead__alt a{font-family:var(--font-sans);font-size:.82rem;color:var(--gold-2);border-bottom:1px solid var(--line-gold)}
.lead__done{text-align:center;padding:1.5rem 0}
.lead__tick{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1.2rem;border-radius:50%;
  background:var(--gold);color:var(--black);font-size:1.8rem}
.lead__done p{color:rgba(42,36,32,.72);margin:0 auto 1.6rem;max-width:32ch;line-height:1.6}
.news-done{font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--gold)}
@media (max-width:560px){ .lead__form{grid-template-columns:1fr} }

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:11000;display:none}
.lb.open{display:block}
html.lb-open, html.lb-open body{overflow:hidden}
.lb__backdrop{position:absolute;inset:0;background:rgba(13,11,9,.96);backdrop-filter:blur(10px)}
.lb__stage{position:absolute;inset:3.5rem 0 4.5rem;display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:zoom-in}
.lb__img{max-width:min(94vw,1400px);max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;will-change:transform;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
.lb__img.is-zoomed{cursor:grab}
.lb__img.is-zoomed:active{cursor:grabbing}
.lb__close{position:absolute;top:1rem;right:1rem;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-gold);
  background:transparent;color:var(--cream);font-size:1.5rem;line-height:1;cursor:pointer;transition:.3s}
.lb__close:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:52px;height:52px;border-radius:50%;
  border:1px solid var(--line-gold);background:rgba(16,14,12,.6);color:var(--cream);font-size:1.7rem;line-height:1;cursor:pointer;
  display:grid;place-items:center;transition:.3s;padding-bottom:4px}
.lb__nav:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.lb__prev{left:1.2rem}.lb__next{right:1.2rem}
.lb--single .lb__nav,.lb--single .lb__counter{display:none}
.lb__foot{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;
  gap:1rem;padding:1.1rem clamp(1.2rem,4vw,3rem);border-top:1px solid var(--line-dark)}
.lb__caption{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--cream)}
.lb__counter{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.22em;color:var(--gold)}
.lb__hint{position:absolute;top:1.4rem;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-sans);
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,241,232,.55);transition:opacity 1s}
.lb__hint.fade{opacity:0}
@media (max-width:700px){
  .lb__nav{width:42px;height:42px;font-size:1.4rem}
  .lb__prev{left:.6rem}.lb__next{right:.6rem}
  .lb__stage{inset:3rem 0 4rem}
  .lb__caption{font-size:1rem}
}

.thumbs{display:flex;gap:.8rem;margin-top:.9rem;flex-wrap:wrap}
.thumb{width:88px;aspect-ratio:1;border-radius:3px;overflow:hidden;border:1px solid transparent;cursor:pointer;
  background:radial-gradient(120% 100% at 50% 20%,#f7f3ec,#e6ddcd);padding:0;transition:border-color .3s}
.thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.thumb.is-active{border-color:var(--gold)}

.pdp-info{padding-top:1rem}
.pdp-info .crumb{color:rgba(42,36,32,.5)}
.pdp-info .crumb a:hover{color:var(--gold-2)}.pdp-info .crumb span{color:var(--gold-2)}
.pdp-eyebrow{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2);margin-bottom:.7rem}
.pdp-title{font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;letter-spacing:-.01em}
.pdp-sub{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:rgba(42,36,32,.7);margin-top:.3rem}
.pdp-price{display:flex;align-items:baseline;gap:1rem;margin:1.3rem 0;flex-wrap:wrap}
.pdp-price span{font-family:var(--font-display);font-size:1.6rem;color:var(--ink)}
.pdp-price i{font-family:var(--font-sans);font-style:normal;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(42,36,32,.5)}
.pdp-desc{color:rgba(42,36,32,.75);max-width:36rem;margin-bottom:2.2rem;line-height:1.7}
.rug-facts{list-style:none;border-top:1px solid var(--line-light);margin:0 0 1.6rem}
.rug-facts li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;
  border-bottom:1px solid var(--line-light);font-size:.9rem}
.rug-facts span{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(42,36,32,.55)}
.rug-facts b{font-weight:400;font-family:var(--font-display);font-size:1.1rem}

.opt{border-top:1px solid var(--line-light);padding:1.6rem 0}
.opt__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}
.opt__label{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(42,36,32,.5)}
.opt__value{font-family:var(--font-display);font-size:1.2rem;font-weight:400}
.swatches{display:flex;gap:.7rem;flex-wrap:wrap}
.sw{width:44px;height:44px;border-radius:50%;background:var(--c);border:1px solid rgba(0,0,0,.12);cursor:pointer;
  position:relative;transition:transform .3s var(--ease)}
.sw::after{content:"";position:absolute;inset:-5px;border:1px solid var(--gold);border-radius:50%;opacity:0;transition:opacity .3s}
.sw:hover{transform:scale(1.08)}
.sw.is-active::after{opacity:1}
/* ---------- custom-made programme ---------- */
.custom-badge{display:inline-flex;align-items:center;gap:.55rem;margin-top:.9rem;
  font-family:var(--font-sans);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-2);border:1px solid var(--line-gold);border-radius:2rem;padding:.45rem .9rem}
.custom-badge i{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.swatches--fabric{gap:.75rem}
.fsw{width:56px;height:56px;border-radius:4px;overflow:hidden;padding:0;cursor:pointer;
  border:1px solid rgba(30,26,22,.16);background:none;position:relative;transition:transform .3s var(--ease)}
.fsw img{width:100%;height:100%;object-fit:cover;display:block}
.fsw::after{content:"";position:absolute;inset:-4px;border:1px solid var(--gold);border-radius:6px;opacity:0;transition:opacity .3s}
.fsw:hover{transform:translateY(-2px)}
.fsw.is-active::after{opacity:1}
.fab-meta{margin-top:1.1rem}
.fab-preview{position:relative;margin:0 0 1rem;border-radius:4px;overflow:hidden;height:104px;
  border:1px solid rgba(30,26,22,.12)}
.fab-preview__img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s}
.fab-preview figcaption{position:absolute;right:.7rem;bottom:.6rem;font-family:var(--font-sans);font-size:.6rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cream);background:rgba(16,14,12,.72);
  padding:.3rem .65rem;border-radius:2rem}
.fab-meta__book{font-family:var(--font-sans);font-size:.76rem;color:rgba(42,36,32,.6);display:flex;gap:.6rem;flex-wrap:wrap;align-items:baseline}
.fab-meta__book b{font-weight:400;color:var(--ink);font-family:var(--font-display);font-size:1.05rem}
.fab-meta__feats{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.fab-meta__feats li{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.04em;color:rgba(42,36,32,.7);
  background:rgba(198,166,98,.13);border-radius:2rem;padding:.32rem .7rem}

.custom-band{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--pad);
  border-top:1px solid var(--line-light)}
.custom-band__head{max-width:46rem}
.custom-band h2{font-size:clamp(1.9rem,4vw,3.2rem);margin:.9rem 0 1rem;color:var(--ink)}
.custom-band__lede{color:rgba(42,36,32,.72);line-height:1.7}
.custom-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:2.5rem 0 2rem}
.custom-steps li{border-top:1px solid var(--line-gold);padding-top:1.1rem}
.custom-steps__n{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.22em;color:var(--gold-2)}
.custom-steps h3{font-size:1.4rem;margin:.5rem 0 .45rem;color:var(--ink)}
.custom-steps p{font-size:.9rem;color:rgba(42,36,32,.66);line-height:1.6}
.custom-books{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2rem}
.custom-book{border:1px solid var(--line-light);border-radius:3px;padding:.8rem 1.1rem;background:rgba(255,255,255,.5)}
.custom-book b{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:400;color:var(--ink)}
.custom-book span{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.1em;color:rgba(42,36,32,.55)}
@media (max-width:820px){
  .custom-steps{grid-template-columns:1fr;gap:1.2rem}
  .fsw{width:52px;height:52px}
}

.chips-row{display:flex;gap:.6rem;flex-wrap:wrap}
.cchip{background:transparent;border:1px solid var(--line-light);color:var(--ink);cursor:pointer;
  font-family:var(--font-sans);font-size:.76rem;letter-spacing:.06em;padding:.7rem 1.2rem;border-radius:2px;transition:.3s var(--ease)}
.cchip:hover{border-color:var(--gold-2)}
.cchip.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.opt__dim{margin-top:1rem;font-family:var(--font-sans);font-size:.8rem;color:rgba(42,36,32,.55);letter-spacing:.04em}
.opt__dim b{color:var(--ink);font-weight:400}
/* ---------- will it fit? ---------- */
.fit{border-top:1px solid var(--line-light)}
.fit__toggle{display:flex;align-items:center;gap:.7rem;width:100%;background:none;border:none;cursor:pointer;
  padding:1.4rem 0;color:var(--ink);font-family:var(--font-sans);font-size:.76rem;letter-spacing:.14em;
  text-transform:uppercase;text-align:left}
.fit__toggle span{flex:1}
.fit__toggle svg{color:var(--gold-2);flex:none}
.fit__chev{font-style:normal;font-size:1.1rem;color:var(--gold-2)}
.fit__panel{padding-bottom:1.6rem}
.fit__lede{font-size:.9rem;color:rgba(42,36,32,.68);line-height:1.6;margin-bottom:1.2rem;max-width:38rem}
.fit__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1.1rem;margin-bottom:1.3rem}
.fit__grid label{position:relative;display:flex;flex-direction:column;gap:.3rem}
.fit__grid span{font-family:var(--font-sans);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(42,36,32,.55)}
.fit__grid i{position:absolute;right:.2rem;bottom:.75rem;font-style:normal;font-size:.7rem;color:rgba(42,36,32,.4)}
.fit__grid input{font-family:var(--font-sans);font-size:1rem;font-weight:300;color:var(--ink);background:transparent;
  border:none;border-bottom:1px solid rgba(42,36,32,.22);padding:.5rem 1.8rem .5rem .1rem;border-radius:0}
.fit__grid input:focus{outline:none;border-color:var(--gold)}
.fit__out{display:grid;gap:.7rem}
.fit__idle{font-size:.85rem;color:rgba(42,36,32,.5)}
.fit__row{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 1rem;border-radius:4px;
  background:rgba(42,36,32,.035);border:1px solid transparent}
.fit__row b{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:400;margin-bottom:.15rem}
.fit__row p{font-size:.85rem;color:rgba(42,36,32,.7);line-height:1.55}
.fit__dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:.45rem}
.fit__row--ok    .fit__dot{background:#4a6b5f}
.fit__row--tight .fit__dot{background:var(--gold)}
.fit__row--no    .fit__dot{background:#a2503f}
.fit__row--ok{background:rgba(74,107,95,.08)}
.fit__row--tight{background:rgba(198,166,98,.12)}
.fit__row--no{background:rgba(162,80,63,.09);border-color:rgba(162,80,63,.2)}
.fit__help{display:inline-block;margin-top:.3rem;font-family:var(--font-sans);font-size:.74rem;letter-spacing:.12em;
  color:var(--gold-2);border-bottom:1px solid var(--line-gold);padding-bottom:2px}
.fit__fine{margin-top:1rem;font-size:.7rem;color:rgba(42,36,32,.45)}
@media (max-width:560px){ .fit__grid{grid-template-columns:1fr} }

.pdp-actions{display:flex;gap:.8rem;margin:2rem 0 1rem;flex-wrap:wrap}
.pdp-actions .btn{flex:1;min-width:180px;justify-content:center}
.btn--ghost-dark{border:1px solid var(--ink);color:var(--ink)}
.btn--ghost-dark::before{background:var(--ink)}
.btn--ghost-dark:hover{color:var(--cream)}
#addBtn.added{background:var(--emerald)}
.pdp-call{display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--font-sans);font-size:.74rem;letter-spacing:.12em;color:var(--gold-2);padding:.6rem 0;transition:color .3s}
.pdp-call:hover{color:var(--ink)}
.pdp-assure{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;border-top:1px solid var(--line-light);padding-top:1.6rem}
.pdp-assure b{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:400}
.pdp-assure span{font-family:var(--font-sans);font-size:.74rem;color:rgba(42,36,32,.55)}

.pdp-details{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,4rem);
  padding:clamp(3rem,6vw,5rem) var(--pad);border-top:1px solid var(--line-light)}
.det h3{font-size:1.7rem;margin-bottom:1.2rem}
.det__note{font-size:.9rem;line-height:1.65;color:rgba(42,36,32,.68);margin-bottom:1rem}
.det__cta{display:inline-block;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-2);border-bottom:1px solid var(--line-gold);padding-bottom:2px}
.det__cta:hover{color:var(--ink);border-color:var(--ink)}
.det b a{color:inherit;border-bottom:1px solid var(--line-gold)}
.det ul{list-style:none}
.det li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line-light);font-size:.9rem}
.det span{color:rgba(42,36,32,.55)}
.det b{font-weight:400;text-align:right}
.det b a{color:inherit;border-bottom:1px solid var(--line-gold)}
.det__note{font-size:.88rem;color:rgba(42,36,32,.66);line-height:1.6;margin-bottom:1rem}
.det__cta{display:inline-block;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-2);border-bottom:1px solid var(--line-gold);padding-bottom:.25rem;transition:.3s}
.det__cta:hover{color:var(--ink);border-color:var(--ink)}
.pdp-assure b{font-family:var(--font-display);font-size:1.15rem}

.related{background:var(--paper);padding:clamp(3rem,6vw,5rem) 0 clamp(5rem,9vw,8rem)}
.related .section-head{margin-bottom:2.5rem}
.related .section-title{color:var(--ink)}
.related__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* ===========================================================
   BRANDS CATALOGUE
   =========================================================== */
.col-hero--brands{min-height:52svh}
.toolbar--brands{position:sticky;top:0;z-index:500}
.bsearch{background:transparent;border:1px solid var(--line-gold);border-radius:2rem;color:var(--cream);
  font-family:var(--font-sans);font-size:.85rem;font-weight:300;padding:.6rem 1.1rem;min-width:210px}
.bsearch:focus{outline:none;border-color:var(--gold)}
.bsearch::placeholder{color:rgba(246,241,232,.45)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem;
  max-width:var(--maxw);margin:0 auto;padding:clamp(2rem,4vw,3.5rem) var(--pad);background:var(--black)}
.bcard{background:var(--black-2);border:1px solid var(--line-dark);border-radius:4px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s}
.bcard:hover{transform:translateY(-3px);border-color:var(--line-gold)}
.bcard__media{aspect-ratio:1;background:#fff;position:relative;display:grid;place-items:center;overflow:hidden}
.bcard__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.bcard__info{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.bcard__info h3{font-size:1.12rem;line-height:1.25;font-weight:400}
.bcard__info>span{font-family:var(--font-sans);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.bcard__price{font-family:var(--font-sans);font-size:.95rem;color:var(--cream);margin-top:.35rem}
.bcard__price s{color:rgba(246,241,232,.4);font-size:.78rem;margin-left:.45rem}
.bcard__price--req{color:rgba(246,241,232,.55);font-size:.78rem;letter-spacing:.06em}
.bcard__ask{margin-top:auto;align-self:flex-start;background:none;border:none;cursor:pointer;padding:.45rem 0 0;
  font-family:var(--font-sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  border-bottom:1px solid var(--line-gold);transition:.3s}
.bcard__ask:hover{color:var(--cream);border-color:var(--cream)}
.bmore-wrap{text-align:center;background:var(--black);padding:0 var(--pad) clamp(3rem,6vw,5rem)}
#bmore i{font-style:normal;opacity:.6;font-size:.72rem}

/* ---------- home promo band: liquidation + custom fabric ---------- */
.promo2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:var(--maxw);
  margin:0 auto;padding:clamp(3rem,7vw,6rem) var(--pad);background:var(--black)}
.promo2__card{position:relative;border:1px solid var(--line-gold);border-radius:4px;overflow:hidden;
  padding:clamp(1.8rem,3.5vw,3rem);display:flex;flex-direction:column;gap:.9rem;min-height:280px;
  background:radial-gradient(120% 120% at 20% 0%,rgba(198,166,98,.10),transparent 60%),var(--black-2)}
.promo2__card--fabric{background:radial-gradient(120% 120% at 80% 0%,rgba(51,83,70,.25),transparent 60%),var(--black-2)}
.promo2__tag{font-family:var(--font-sans);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.promo2__card h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05;color:var(--cream);max-width:16ch}
.promo2__card p{color:rgba(246,241,232,.72);max-width:38ch;font-size:.95rem;line-height:1.65}
.promo2__card .btn{align-self:flex-start;margin-top:auto}
.promo2__swatches{position:absolute;right:1.6rem;bottom:1.4rem;display:flex;gap:.45rem}
.promo2__swatches img{width:44px;height:44px;border-radius:4px;object-fit:cover;border:1px solid var(--line-gold)}
@media (max-width:900px){
  .promo2{grid-template-columns:1fr}
  .promo2__swatches{position:static;margin-top:.5rem}
}

/* ===================== responsive ===================== */
@media (max-width:1100px){
  .feature{grid-template-columns:1fr;gap:3rem}
  .rugs{grid-template-columns:1fr;gap:3rem}
  .visit__inner{grid-template-columns:1fr;gap:3rem}
  .foot__top{grid-template-columns:1fr}
  .arrivals__row{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .nav{display:none}
  .burger{display:flex}
}
@media (max-width:820px){
  .collections__grid{grid-template-columns:1fr}
  .head-cart,.head-icon{display:none}
  .hero__title{font-size:clamp(3rem,15vw,5rem)}
  .foot__cols{grid-template-columns:repeat(2,1fr)}
  /* keep the hero set fully in frame on phones */
  .hero__piece{width:96vw;max-width:none;transform:translate(0,4%)}
  .hero__glow{left:50%}
  /* wide catalogue shots read better square on phones */
  .prod__media{aspect-ratio:1/1}
}
@media (max-width:520px){
  .arrivals__row{grid-template-columns:1fr 1fr;gap:.9rem}
  .prod__foot h3{font-size:1.2rem}
  .btn{padding:.95em 1.6em}
}
/* page responsive */
@media (max-width:1100px){
  .pdp-wrap{grid-template-columns:1fr;gap:2.5rem}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .ed-band{grid-template-columns:1fr;gap:2.5rem}
  .related__row{grid-template-columns:repeat(2,1fr)}
  .col-hero__piece{opacity:.5}
}
@media (max-width:820px){
  .pdp-details{grid-template-columns:1fr;gap:2rem}
  .col-hero__piece{display:none}
  .col-hero__sub{max-width:100%}
  .toolbar{position:static}
}
@media (max-width:560px){
  .pgrid{grid-template-columns:1fr 1fr;gap:.9rem}
  .pcard__info h3{font-size:1.25rem}
  .related__row{grid-template-columns:1fr 1fr}
  .pdp-actions .btn{min-width:100%}
  .thumb{width:64px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition-duration:.01ms !important}
  .reveal,.reveal-line{opacity:1;transform:none}
  .iw{clip-path:none !important}
}

/* SMS consent row in lead modal */
.lead__consent{flex-direction:row !important;align-items:flex-start;gap:.6rem !important}
.lead__consent input{margin-top:.2rem;accent-color:#C6A662;width:16px;height:16px;flex:none}
.lead__consent span{font-size:.74rem !important;letter-spacing:0 !important;text-transform:none !important;
  color:rgba(42,36,32,.65) !important;line-height:1.5}
.lead__consent a{color:#B08E45;text-decoration:underline}

/* filter controls on collection toolbar */
.fsel{background:transparent;border:1px solid var(--line-gold);border-radius:2rem;color:var(--cream);
  font-family:var(--font-sans);font-size:.76rem;font-weight:300;padding:.55rem .9rem;cursor:pointer;max-width:180px}
.fsel option{background:#1A1613;color:#F6F1E8}
.fsel:focus{outline:none;border-color:var(--gold)}
.toolbar__meta{flex-wrap:wrap;align-items:center;gap:.7rem}
.grid-sentinel{height:2px;background:var(--black)}
.pcard--ask{cursor:pointer}
@media (max-width:700px){
  .toolbar__meta{width:100%}
  .toolbar__meta .bsearch{flex:1;min-width:150px}
  .fsel{max-width:44vw}
}

/* ---------- nav dropdowns ---------- */
.nav__item{position:relative;display:inline-block}
.nav__item>a{display:inline-block}
.nav__dd{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:200px;
  background:rgba(16,14,12,.97);backdrop-filter:blur(14px);border:1px solid var(--line-gold);border-radius:4px;
  padding:.6rem 0;opacity:0;visibility:hidden;transition:.28s var(--ease);z-index:1200}
.nav__item:hover .nav__dd,.nav__item:focus-within .nav__dd{opacity:1;visibility:visible;transform:translate(-50%,2px)}
.nav__dd a{display:block;padding:.5rem 1.2rem;font-family:var(--font-sans);font-size:.74rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(246,241,232,.82);white-space:nowrap;opacity:1}
.nav__dd a::after{display:none}
.nav__dd a:hover{color:var(--gold);background:rgba(198,166,98,.08)}
.nav__custom{color:var(--gold) !important;border:1px solid var(--line-gold);border-radius:2rem;padding:.45rem 1rem !important}
.nav__custom::after{display:none !important}
.nav__custom:hover{background:var(--gold);color:var(--black) !important}
.site-head.on-light .nav__dd{background:rgba(251,248,242,.97)}
.site-head.on-light .nav__dd a{color:rgba(42,36,32,.85)}
.site-head.on-light .nav__custom{color:var(--gold-2) !important}
.site-head.on-light .nav__custom:hover{background:var(--gold);color:var(--black) !important}

/* ---------- custom-made strip on category pages ---------- */
.custom-strip{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
  max-width:var(--maxw);margin:0 auto;padding:1rem var(--pad);background:linear-gradient(90deg,rgba(198,166,98,.14),rgba(51,83,70,.14));
  border-top:1px solid var(--line-gold);border-bottom:1px solid var(--line-dark)}
.custom-strip p{color:rgba(246,241,232,.85);font-size:.92rem;line-height:1.5}
.custom-strip b{color:var(--gold);font-weight:400;font-family:var(--font-display);font-size:1.1rem;margin-right:.5rem}
.custom-strip__cta{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);border-bottom:1px solid var(--line-gold);padding-bottom:.2rem;white-space:nowrap;transition:.3s}
.custom-strip__cta:hover{color:var(--cream);border-color:var(--cream)}
.avail-note{max-width:var(--maxw);margin:0 auto;padding:.9rem var(--pad) 0;font-family:var(--font-sans);
  font-size:.74rem;letter-spacing:.04em;color:rgba(246,241,232,.55)}

/* ---------- payments / financing row on product pages ---------- */
.pay-row{margin-top:1.2rem;border-top:1px solid var(--line-light);padding-top:1.2rem}
.pay-row__title{font-family:var(--font-sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(42,36,32,.55);margin-bottom:.6rem}
.pay-row__badges{display:flex;gap:.6rem;flex-wrap:wrap}
.pay-badge{font-family:var(--font-sans);font-size:.76rem;letter-spacing:.04em;color:var(--ink);
  border:1px solid rgba(42,36,32,.18);border-radius:3px;padding:.45rem .8rem;background:rgba(255,255,255,.55)}
.pay-row__fine{font-family:var(--font-sans);font-size:.7rem;color:rgba(42,36,32,.5);margin-top:.55rem;line-height:1.5}
@media (max-width:1024px){ .nav__dd{display:none} }

/* home promo custom card visual */
.promo2__card--fabric{padding-top:0;overflow:hidden}
.promo2__img{margin:0 calc(-1 * clamp(1.8rem,3.5vw,3rem));margin-bottom:.4rem;width:calc(100% + 2 * clamp(1.8rem,3.5vw,3rem));
  max-width:none;aspect-ratio:4/3;height:auto;max-height:480px;object-fit:cover;object-position:center;
  border-bottom:1px solid var(--line-gold)}
/* custom band concept gallery */
.custom-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 1rem}
.custom-gallery figure{margin:0;border-radius:4px;overflow:hidden;border:1px solid var(--line-light);position:relative}
.custom-gallery img{width:100%;height:170px;object-fit:cover;display:block}
.custom-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .8rem;
  font-family:var(--font-sans);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  color:#F6F1E8;background:linear-gradient(transparent,rgba(16,14,12,.85))}
.custom-gallery__fine{font-family:var(--font-sans);font-size:.7rem;color:rgba(42,36,32,.5);margin-bottom:1.6rem}
@media (max-width:700px){ .custom-gallery{grid-template-columns:1fr} .custom-gallery img{height:200px} }

/* item numbers on cards */
.pcard__sku{display:block;font-family:var(--font-sans);font-size:.6rem;letter-spacing:.12em;
  color:rgba(246,241,232,.42);margin-top:.15rem;text-transform:uppercase}

/* ---------- "We pay the taxes" promotion ---------- */
.promo-ribbon{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;justify-content:center;
  gap:1rem;height:44px;padding:0 1rem;text-align:center;
  background:linear-gradient(90deg,#8a6d2f,var(--gold) 30%,#e8cf8f 50%,var(--gold) 70%,#8a6d2f);
  color:var(--black);box-shadow:0 2px 18px rgba(198,166,98,.35)}
.promo-ribbon b{font-family:var(--font-sans);font-weight:500;letter-spacing:.22em;font-size:.78rem;white-space:nowrap}
.promo-ribbon span{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.04em;opacity:.85;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.has-promo .site-head{top:44px}
html.has-promo .mobile-menu{--mm-top:9.5rem}
html.has-promo .hero{padding-top:44px}
@media (max-width:640px){ .promo-ribbon span{display:none} }

.taxfree{background:
  radial-gradient(70% 120% at 50% 0%,rgba(198,166,98,.16),transparent 60%),
  linear-gradient(180deg,var(--black-2),var(--black));
  border-top:1px solid var(--line-gold);border-bottom:1px solid var(--line-dark);
  padding:clamp(3.5rem,7vw,6rem) var(--pad);text-align:center}
.taxfree__inner{max-width:900px;margin:0 auto}
.taxfree__kicker{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.taxfree__title{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5.5rem);line-height:1;color:var(--cream);
  letter-spacing:.02em;margin-bottom:1rem;
  background:linear-gradient(180deg,#f4e7c3,var(--gold) 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.taxfree__sub{color:rgba(246,241,232,.78);font-size:1.05rem;max-width:34rem;margin:0 auto 1.8rem}
.taxfree__fine{font-family:var(--font-sans);font-size:.68rem;color:rgba(246,241,232,.45);margin-top:1.4rem;line-height:1.6;max-width:40rem;margin-left:auto;margin-right:auto}

/* full-width section headers inside the product grid */
.grid-sec{grid-column:1/-1;padding:1.6rem 0 .4rem;border-top:1px solid var(--line-gold);margin-top:1rem}
.grid-sec:first-child{margin-top:0;border-top:none;padding-top:.4rem}
.grid-sec h3{font-family:var(--font-display);font-size:1.7rem;color:var(--cream)}
.grid-sec p{font-family:var(--font-sans);font-size:.78rem;color:rgba(246,241,232,.55);margin-top:.25rem}
.grid-sec{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.grid-sec__jump{background:none;border:1px solid var(--line-gold);border-radius:2rem;color:var(--gold);
  font-family:var(--font-sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.55rem 1.1rem;cursor:pointer;transition:.3s}
.grid-sec__jump:hover{background:var(--gold);color:var(--black)}

/* ---------- cart & purchase ---------- */
.head-cartlink{position:relative;color:var(--cream);display:grid;place-items:center;opacity:.85;transition:.3s}
.head-cartlink:hover{opacity:1;color:var(--gold)}
.site-head.on-light .head-cartlink{color:var(--ink)}
.head-cartlink__n{position:absolute;top:-7px;right:-9px;font-family:var(--font-sans);font-style:normal;font-size:.56rem;
  background:var(--gold);color:var(--black);min-width:15px;height:15px;border-radius:8px;display:grid;place-items:center;padding:0 3px}
.head-cartlink.bump{animation:cartbump .5s var(--ease)}
@keyframes cartbump{30%{transform:scale(1.25)}}
.pcard__add{margin-top:.5rem;background:transparent;border:1px solid var(--line-gold);border-radius:2rem;color:var(--gold);
  font-family:var(--font-sans);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 1rem;cursor:pointer;transition:.3s}
.pcard__add:hover{background:var(--gold);color:var(--black)}
.pcard__add.done{background:var(--gold);color:var(--black)}
.purch{max-width:var(--maxw);margin:0 auto;padding:9rem var(--pad) 5rem;color:var(--cream)}
html.has-promo .purch{padding-top:calc(9rem + 44px)}
.purch__head h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);margin-top:.6rem}
.purch__empty{text-align:center;padding:4rem 0;color:rgba(246,241,232,.7)}
.purch__empty .btn{margin-top:1.4rem}
.purch__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.5rem,4vw,4rem);margin-top:2.5rem}
.pline{display:flex;gap:1.1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--line-dark)}
.pline img{width:86px;height:86px;object-fit:cover;border-radius:4px;background:var(--cream)}
.pline__info{flex:1}
.pline__info b{font-family:var(--font-display);font-size:1.15rem;font-weight:400;display:block}
.pline__info span{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.08em;color:rgba(246,241,232,.55)}
.pline__qty{display:flex;align-items:center;gap:.6rem;margin-top:.6rem}
.pline__qty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-gold);background:none;color:var(--cream);cursor:pointer}
.pline__qty i{font-style:normal;font-family:var(--font-sans);min-width:1.2em;text-align:center}
.pline__rm{border:none!important;width:auto!important;height:auto!important;font-family:var(--font-sans);font-size:.66rem;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(246,241,232,.45)!important;margin-left:.6rem}
.pline__rm:hover{color:#d66}
.pline__price{font-family:var(--font-display);font-size:1.2rem;white-space:nowrap}
.purch__sum{background:rgba(255,255,255,.03);border:1px solid var(--line-dark);border-radius:5px;padding:1.6rem;height:fit-content}
.purch__sum h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:1rem}
.purch__sum dl div{display:flex;justify-content:space-between;padding:.45rem 0;font-size:.92rem;color:rgba(246,241,232,.8)}
.purch__sum .tot{border-top:1px solid var(--line-gold);margin-top:.5rem;padding-top:.9rem;font-size:1.05rem;color:var(--cream)}
.purch__sum .free{color:var(--gold)}
.purch__area,.purch__note{font-family:var(--font-sans);font-size:.7rem;color:rgba(246,241,232,.5);margin-top:.7rem;line-height:1.5}
.purch__form{display:grid;gap:.7rem;margin-top:1.2rem}
.purch__form input{background:transparent;border:1px solid rgba(246,241,232,.2);border-radius:3px;padding:.75rem .9rem;
  color:var(--cream);font-family:var(--font-sans);font-size:.9rem}
.purch__form input:focus{outline:none;border-color:var(--gold)}
.purch__form .btn{justify-content:center;border:none;cursor:pointer;margin-top:.3rem}
.purch__fine{font-family:var(--font-sans);font-size:.68rem;color:rgba(246,241,232,.5);line-height:1.55}
.purch__done{text-align:center;padding:4rem 0}
.purch__done p{color:rgba(246,241,232,.7);margin:1rem auto 1.8rem;max-width:34ch}
@media (max-width:900px){ .purch__grid{grid-template-columns:1fr} }
.nav__buy{background:var(--gold);color:var(--black) !important;border-radius:2rem;padding:.45rem 1rem !important;font-weight:500}
.nav__buy::after{display:none !important}
.nav__buy:hover{background:var(--cream)}

/* ---------- Customer account ---------- */
.acct__card{max-width:640px;margin:0 auto;border:1px solid var(--line-gold);border-radius:6px;
  padding:2.4rem 2rem;background:rgba(198,166,98,.04)}
.acct__hello{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.acct__card h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;margin:.3rem 0 1.4rem}
.acct__dl{display:grid;gap:.9rem;margin-bottom:1.8rem}
.acct__dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(198,166,98,.16);padding-bottom:.6rem}
.acct__dl dt{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.acct__dl dd{font-size:.92rem;text-align:right}
.acct__actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.acct__link{background:none;border:0;color:var(--gold);font-family:inherit;font-size:.8rem;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:.4rem}
.acct__link:hover{opacity:.75}
.acct__form{max-width:560px;margin:0 auto;display:grid;gap:1.1rem}
.acct__form label{display:grid;gap:.4rem}
.acct__form label>span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.acct__form input[type=text],.acct__form input[type=email],.acct__form input[type=tel],.acct__form input:not([type]){
  background:transparent;border:1px solid var(--line-gold);border-radius:3px;color:inherit;
  font-family:inherit;font-size:.95rem;padding:.75rem .9rem}
.acct__form input:focus{outline:none;border-color:var(--gold)}
.acct__chips{border:0;padding:0;margin:0}
.acct__chips legend{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:.6rem}
.acct__form .acct__chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line-gold);
  border-radius:2rem;padding:.45rem 1rem;margin:0 .45rem .5rem 0;cursor:pointer;font-size:.82rem;
  width:auto;transition:background .2s,color .2s}
.acct__form .acct__chip>span{font-size:.82rem;letter-spacing:.02em;text-transform:none;opacity:1}
.acct__chip input{accent-color:var(--gold)}
.acct__chip:has(input:checked){background:var(--gold);color:var(--black);border-color:var(--gold)}
.acct__form .acct__consent{display:flex;flex-direction:row;align-items:flex-start;gap:.6rem;font-size:.82rem;line-height:1.5}
.acct__form .acct__consent>span{font-size:.82rem;letter-spacing:.02em;text-transform:none;opacity:.85}
.acct__consent input{margin-top:.2rem;accent-color:var(--gold)}
.acct__note{font-size:.75rem;opacity:.6;line-height:1.5;margin:0}
.acct__err{color:#e0836b;font-size:.82rem;margin:0}
@media(max-width:600px){.acct__dl div{flex-direction:column;gap:.2rem}.acct__dl dd{text-align:left}}
.head__acct{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:inherit;
  text-decoration:none;opacity:.85;margin-right:.2rem;white-space:nowrap}
.head__acct:hover{opacity:1;color:var(--gold)}
@media(max-width:720px){.head__acct{display:none}}

/* ---------- Quick view (priced supplier items) ---------- */
.qv{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  background:rgba(16,14,12,.82);backdrop-filter:blur(6px);padding:1.5rem}
.qv.open{display:flex}
.qv__box{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;max-width:900px;width:100%;
  max-height:88vh;overflow:auto;background:var(--black,#100E0C);border:1px solid var(--line-gold);
  border-radius:6px;padding:2rem}
.qv__close{position:absolute;top:.6rem;right:.9rem;background:none;border:0;color:var(--gold);
  font-size:1.8rem;line-height:1;cursor:pointer}
.qv__img{background:#faf7f1;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:1rem}
.qv__img img{max-width:100%;max-height:52vh;object-fit:contain}
.qv__info{display:flex;flex-direction:column;gap:.5rem;justify-content:center}
.qv__info h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;line-height:1.15}
.qv__sku{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.qv__price{font-size:1.4rem;font-weight:500;margin:.4rem 0}
.qv__note{font-size:.78rem;opacity:.65;line-height:1.5;margin-bottom:.6rem}
.qv__ask{background:none;border:0;color:var(--gold);font-family:inherit;font-size:.8rem;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.5rem 0;text-align:left}
.pcard--buy{cursor:pointer}
@media(max-width:760px){.qv__box{grid-template-columns:1fr;padding:1.4rem;gap:1rem}
  .qv__img img{max-height:34vh}}

/* ===========================================================
   Catalogue: filter rail + results
   4,631 priced pieces. Narrowing is the product, so filters are
   permanent UI on the left, not a toolbar afterthought. UI chrome
   uses the sans; Cormorant stays for product names only.
   =========================================================== */
.catalog{display:grid;grid-template-columns:248px minmax(0,1fr);gap:2.4rem;
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) 4rem}

/* --- shop-by tiles: the room landing --- */
.shopby{max-width:var(--maxw);margin:0 auto 2.2rem;padding:0 var(--pad);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem}
.shopby__tile{position:relative;display:block;border:1px solid var(--line-gold);border-radius:5px;
  overflow:hidden;background:rgba(198,166,98,.04);text-decoration:none;color:var(--cream);
  transition:border-color .18s ease,background .18s ease}
.shopby__tile:hover{border-color:var(--gold);background:rgba(198,166,98,.1)}
.shopby__tile img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#faf7f1;display:block}
.shopby__tile b{display:block;font-family:var(--font-sans);font-size:.82rem;font-weight:500;
  padding:.6rem .7rem .1rem}
.shopby__tile span{display:block;font-family:var(--font-sans);font-size:.7rem;
  color:var(--gold-2);padding:0 .7rem .65rem}

/* --- filter rail --- */
.filters{position:sticky;top:5.5rem;align-self:start;max-height:calc(100vh - 7rem);overflow-y:auto;
  padding-right:.4rem}
.filters__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.7rem;border-bottom:1px solid var(--line-gold);margin-bottom:1rem}
.filters__head h2{font-family:var(--font-sans);font-size:.74rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cream)}
.filters__clear{background:none;border:0;color:var(--gold);font-family:var(--font-sans);
  font-size:.72rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}
.filters__clear:hover{opacity:.75}
.fgroup{border-bottom:1px solid rgba(198,166,98,.16);padding:.9rem 0}
.fgroup:last-child{border-bottom:0}
.fgroup__t{font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(246,241,232,.62);margin-bottom:.55rem}
.fopt{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;
  background:none;border:0;padding:.36rem .5rem;border-radius:3px;cursor:pointer;text-align:left;
  font-family:var(--font-sans);font-size:.84rem;color:rgba(246,241,232,.82);
  transition:background .15s ease,color .15s ease}
.fopt:hover{background:rgba(198,166,98,.1);color:var(--cream)}
.fopt.is-on{background:var(--gold);color:var(--black);font-weight:500}
.fopt i{font-style:normal;font-size:.74rem;opacity:.6}
.fopt.is-on i{opacity:.75}
.fsearch{width:100%;background:transparent;border:1px solid var(--line-gold);border-radius:3px;
  color:var(--cream);font-family:var(--font-sans);font-size:.84rem;padding:.5rem .65rem}
.fsearch:focus{outline:none;border-color:var(--gold)}
.fsearch::placeholder{color:rgba(246,241,232,.5)}

/* --- results bar --- */
.results__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-bottom:1rem;margin-bottom:1.4rem;border-bottom:1px solid rgba(198,166,98,.16)}
.results__n{font-family:var(--font-sans);font-size:.8rem;color:rgba(246,241,232,.72)}
.results__n b{color:var(--gold);font-weight:500}
.results__sort{display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.78rem;
  color:rgba(246,241,232,.6)}
.results__sort select{background:transparent;border:1px solid var(--line-gold);border-radius:3px;
  color:var(--cream);font-family:var(--font-sans);font-size:.8rem;padding:.4rem .6rem;cursor:pointer}
.results__sort select:focus{outline:none;border-color:var(--gold)}
.results__sort select option{background:#1A1613;color:#F6F1E8}

/* --- denser grid: more pieces per screen --- */
.catalog .pgrid{grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:1.5rem 1.2rem;
  max-width:none;margin:0;padding:0}

/* --- card: the price is what they came for --- */
.catalog .pcard__info{display:block;margin-top:.75rem}
.catalog .pcard__info h3{font-size:1.02rem;line-height:1.28;font-weight:400}
.catalog .pcard__info>div>span{font-size:.62rem;letter-spacing:.13em;margin-top:.22rem}
.catalog .pcard__info p{font-family:var(--font-sans);font-size:1.06rem;font-weight:600;
  color:var(--cream);white-space:nowrap;margin-top:.4rem;letter-spacing:.01em}
.catalog .pcard__info p s{font-size:.76rem;font-weight:400;color:rgba(246,241,232,.42);margin-left:.4rem}
.catalog .pcard__add{margin-top:.55rem;width:100%}

@media(max-width:1000px){
  .catalog{grid-template-columns:1fr;gap:0}
  .filters{position:fixed;inset:0;z-index:600;max-height:none;background:var(--black);
    padding:1.4rem var(--pad) 2rem;overflow-y:auto;display:none}
  .filters.open{display:block}
  .filters__toggle{display:flex}
  .catalog .pgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.1rem .8rem}
}
.filters__toggle{display:none;align-items:center;gap:.5rem;background:transparent;
  border:1px solid var(--line-gold);border-radius:2rem;color:var(--cream);font-family:var(--font-sans);
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:.6rem 1.2rem;margin-bottom:1.2rem;
  cursor:pointer;min-height:44px}
.filters__toggle i{font-style:normal;color:var(--gold)}
@media(prefers-reduced-motion:reduce){
  .shopby__tile,.fopt{transition:none}
}

/* ---------- Item page (catalogue pieces) ---------- */
.item-page{max-width:var(--maxw);margin:0 auto;padding:6.5rem var(--pad) 4rem}
.item__crumb{margin-bottom:1.6rem}
.item{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:start}
.item__media img{width:100%;background:#faf7f1;border-radius:5px;object-fit:contain;max-height:66vh}
.item__thumbs{display:flex;gap:.6rem;margin-top:.8rem}
.item__thumb{width:70px;height:70px;padding:0;border:1px solid var(--line-gold);border-radius:4px;
  background:#faf7f1;cursor:pointer;overflow:hidden}
.item__thumb.is-on{border-color:var(--gold)}
.item__thumb img{width:100%;height:100%;object-fit:contain}
.item__cat{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-2)}
.item__info h1{font-family:var(--font-display);font-size:2.5rem;font-weight:400;line-height:1.1;
  margin:.35rem 0 .5rem;text-wrap:balance}
.item__sku{font-family:var(--font-sans);font-size:.74rem;color:rgba(246,241,232,.55)}
.item__price{font-family:var(--font-sans);font-size:2rem;font-weight:600;color:var(--cream);margin:1rem 0 1.2rem}
.item__price--ask{font-size:1.2rem;font-weight:400;color:var(--gold)}
.item__add,.item__askbtn{width:100%;max-width:320px}
.item__specs{margin:2rem 0 1.6rem;border-top:1px solid var(--line-gold)}
.item__specs div{display:flex;justify-content:space-between;gap:1.4rem;padding:.62rem 0;
  border-bottom:1px solid rgba(198,166,98,.14)}
.item__specs dt{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(246,241,232,.6)}
.item__specs dd{font-family:var(--font-sans);font-size:.88rem;color:var(--cream);text-align:right}
.item__terms p{font-family:var(--font-sans);font-size:.8rem;line-height:1.6;color:rgba(246,241,232,.7);
  margin-bottom:.5rem}
.item__terms b{color:var(--gold-2);font-weight:500}
.item__missing{padding:6rem var(--pad);text-align:center;font-family:var(--font-sans)}
@media(max-width:860px){.item{grid-template-columns:1fr;gap:1.6rem}
  .item__info h1{font-size:2rem}.item-page{padding-top:5rem}}

/* product.html carries the light .pdp theme, so item-page ink must be dark.
   Cream-on-cream was unreadable. */
.pdp .item-page{padding-top:8.5rem;color:var(--black)}
.pdp .item__cat{color:#867659}
.pdp .item__info h1{color:var(--black)}
.pdp .item__sku{color:rgba(16,14,12,.62)}
.pdp .item__price{color:var(--black)}
.pdp .item__price--ask{color:#867659}
.pdp .item__specs{border-top-color:rgba(16,14,12,.16)}
.pdp .item__specs div{border-bottom-color:rgba(16,14,12,.1)}
.pdp .item__specs dt{color:rgba(16,14,12,.6)}
.pdp .item__specs dd{color:var(--black)}
.pdp .item__terms p{color:rgba(16,14,12,.72)}
.pdp .item__terms b{color:#867659}
.pdp .item__crumb,.pdp .item__crumb a{color:rgba(16,14,12,.6)}
.pdp .item__crumb span{color:var(--black)}
.pdp .item__thumb{border-color:rgba(16,14,12,.18)}
.foot__legal{display:flex;gap:1.2rem;flex-wrap:wrap}
.foot__legal a{color:inherit;opacity:.7;text-decoration:none}
.foot__legal a:hover{opacity:1;color:var(--gold)}

/* The base .filters__toggle{display:none} was declared AFTER its own media
   query, so it beat the mobile rule and the Filter & sort button never
   appeared on a phone — leaving no way to open the filter drawer. Declared in
   the correct order here: hidden by default, shown on small screens. */
.filters__toggle{display:none}
@media(max-width:1000px){ .filters__toggle{display:flex} }

/* --- set cards: a collection announces its contents on the card ------------ */
.pcard__tag--set{background:var(--emerald,#33534a);color:var(--cream,#F6F1E8);border-color:transparent}
.pcard__set{display:block;font-family:var(--font-sans);font-size:.68rem;letter-spacing:.05em;
  color:var(--gold,#C6A662);margin:.15rem 0 .1rem;line-height:1.45}

/* --- "part of a collection" backlink on a single piece ---------------------
   The item page sits on the cream ground, not the dark hero, so these use the
   warm-black text tokens; the paler gold is unreadable on cream. */
.item__partof{display:block;margin:.9rem 0 1.2rem;padding:.85rem 1rem;
  border:1px solid rgba(16,14,12,.14);border-radius:2px;
  background:rgba(134,118,89,.07);transition:background .3s var(--ease),border-color .3s var(--ease)}
.item__partof:hover{background:rgba(134,118,89,.13);border-color:rgba(134,118,89,.4)}
.item__partof span{display:block;font-family:var(--font-sans);font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(16,14,12,.55)}
.item__partof b{display:block;font-family:var(--font-display);font-size:1.15rem;
  color:var(--black,#100E0C);margin:.15rem 0 .3rem}
.item__partof i{font-style:normal;font-family:var(--font-sans);font-size:.74rem;
  letter-spacing:.08em;color:#867659}

/* --- what a set contains, priced ------------------------------------------ */
.item__included{margin:1.8rem 0}
.item__included h2{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(16,14,12,.55);margin-bottom:.9rem}
.item__included ul{list-style:none;display:grid;gap:.5rem;margin:0;padding:0}
.item__included a{display:grid;grid-template-columns:56px 1fr auto;grid-template-rows:auto auto;
  gap:.15rem .9rem;align-items:center;padding:.5rem .7rem;
  border:1px solid rgba(16,14,12,.12);border-radius:2px;
  transition:border-color .3s var(--ease),background .3s var(--ease)}
.item__included a:hover{border-color:rgba(134,118,89,.45);background:rgba(134,118,89,.06)}
.item__included img{width:56px;height:56px;object-fit:cover;border-radius:2px;
  background:#fff;grid-column:1;grid-row:1/3}
.ipiece__k{font-family:var(--font-sans);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  color:#867659;grid-column:2;grid-row:1;align-self:end}
.ipiece__n{grid-column:2;grid-row:2;font-size:.88rem;color:rgba(16,14,12,.72);align-self:start;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ipiece__p{grid-column:3;grid-row:1/3;align-self:center;font-family:var(--font-display);
  font-size:1.05rem;color:var(--black,#100E0C)}
.item__included__sum{margin-top:.8rem;font-size:.82rem;color:rgba(16,14,12,.6);line-height:1.6}
@media (max-width:560px){
  .item__included a{grid-template-columns:44px 1fr auto;gap:.15rem .6rem}
  .item__included img{width:44px;height:44px}
  .ipiece__n{font-size:.8rem}
}

/* --- legal operator block (privacy / terms) --------------------------------- */
.legal__operator{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(246,241,232,.14)}
.legal__operator h2{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-sans);
  color:rgba(246,241,232,.55);margin-bottom:.6rem}
.legal__operator p{font-family:var(--font-sans);font-size:.8rem;line-height:1.8;color:rgba(246,241,232,.72)}
.legal__operator a{color:var(--gold,#C6A662)}
.legal ul{padding-left:1.3rem;margin:.6rem 0 1rem}
.legal li{margin:.35rem 0;line-height:1.6}
.foot__operator{display:block;margin-top:.5rem;font-size:.66rem;letter-spacing:.02em;color:rgba(246,241,232,.45);line-height:1.6}
.foot__operator a{color:inherit}
