/* ============================================================
   BUDGET LIQUIDATION OUTLET — Pierrefonds MTL
   Design language: "warehouse editorial"
   bone paper · ink · vermilion stamp · kraft · safety yellow
   Archivo Black display / Archivo text / Space Mono tags
   ============================================================ */

:root{
  --paper:#F4F2ED;
  --paper-deep:#EAE7DF;
  --card:#FFFFFF;
  --ink:#17130E;
  --ink-soft:#5A5347;
  --line:#D9D3C6;
  --line-hard:#17130E;
  --red:#D8391D;
  --red-deep:#A32812;
  --yellow:#FFCB3D;
  --kraft:#C9B384;
  --kraft-deep:#A78F5F;
  --green:#2F6B4F;

  --font-display:'Archivo Black', 'Archivo', sans-serif;
  --font-body:'Archivo', sans-serif;
  --font-mono:'Space Mono', monospace;

  --shadow-pop:6px 6px 0 var(--ink);
  --shadow-pop-sm:4px 4px 0 var(--ink);
  --rail:clamp(16px, 4vw, 56px);
  --sec-pad:clamp(64px, 9vw, 130px);
  --head-h:132px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--red);color:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* faint paper grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------- type helpers */
.kicker{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:.9em;
}
.kicker::before{content:"";width:34px;height:2px;background:var(--red);flex:none}
.kicker .idx{color:var(--ink-soft)}
.h-display{
  font-family:var(--font-display);
  text-transform:uppercase;
  line-height:.94;
  letter-spacing:-.015em;
  font-size:clamp(2.4rem, 6vw, 5.2rem);
}
.h-display .out{
  color:transparent;
  -webkit-text-stroke:2px var(--ink);
}
.h-display .red{color:var(--red)}
.lead{color:var(--ink-soft);font-size:clamp(1rem,1.35vw,1.15rem);max-width:56ch}

/* ---------------------------------------------------------- buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font-display);font-size:.86rem;text-transform:uppercase;
  letter-spacing:.06em;line-height:1;
  padding:1.05em 1.7em;border:2px solid var(--ink);
  background:var(--card);color:var(--ink);
  box-shadow:var(--shadow-pop-sm);
  transition:transform .18s cubic-bezier(.22,.68,.4,1), box-shadow .18s cubic-bezier(.22,.68,.4,1), background .18s;
  white-space:nowrap;
}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:var(--red-deep)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ghost{background:transparent;box-shadow:none;border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper);transform:none}
.btn--wa{background:#1FAF57;color:#fff;border-color:var(--ink)}
.btn--wa:hover{background:#178A44}

/* ---------------------------------------------------------- tags & stamps */
.sticker{
  position:absolute;z-index:3;
  font-family:var(--font-display);font-size:.7rem;letter-spacing:.05em;
  text-transform:uppercase;padding:.55em .8em;
  background:var(--yellow);color:var(--ink);
  border:2px solid var(--ink);
  transform:rotate(-5deg);
  box-shadow:3px 3px 0 rgba(23,19,14,.9);
}
.stamp{
  display:inline-block;
  font-family:var(--font-mono);font-weight:700;font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--red);
  border:3px solid var(--red);border-radius:6px 14px 4px 10px;
  padding:.5em 1em;transform:rotate(-4deg);
  mix-blend-mode:multiply;opacity:.92;
}
.pricetag{
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--font-mono);font-weight:700;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;
  background:var(--card);border:1.5px dashed var(--ink);
  padding:.6em 1em .6em 1.6em;position:relative;
}
.pricetag::before{
  content:"";position:absolute;left:.55em;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--ink);
}
.barcode{
  height:26px;width:92px;flex:none;
  background:repeating-linear-gradient(90deg,
    var(--ink) 0 2px, transparent 2px 4px,
    var(--ink) 4px 7px, transparent 7px 8px,
    var(--ink) 8px 9px, transparent 9px 12px);
}

/* ---------------------------------------------------------- scroll progress */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red);z-index:1200}

/* ---------------------------------------------------------- utility bar */
.utility{
  background:var(--ink);color:var(--paper);
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;
  position:relative;z-index:1002;
}
.utility .wrap{
  max-width:1440px;margin:0 auto;padding:.55em var(--rail);
  display:flex;justify-content:space-between;align-items:center;gap:1.5em;
}
.utility a{display:inline-flex;gap:.45em;align-items:center;opacity:.92}
.utility a:hover{color:var(--yellow)}
.utility .u-right{display:flex;gap:1.4em;align-items:center}
.utility .u-hours{opacity:.7}
.lang-toggle{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;
  border:1px solid rgba(244,242,237,.4);display:inline-flex;
}
.lang-toggle button{padding:.35em .7em;color:var(--paper);opacity:.55}
.lang-toggle button.on{background:var(--paper);color:var(--ink);opacity:1;font-weight:700}
/* variant for the light mobile-menu panel */
.lang-toggle--mm{
  border:2px solid var(--ink);margin-top:1.2em;align-self:flex-start;
  font-size:.9rem;
}
.lang-toggle--mm button{color:var(--ink);padding:.5em 1.1em}
.lang-toggle--mm button.on{background:var(--ink);color:var(--paper)}

/* ---------------------------------------------------------- header */
.site-head{
  position:sticky;top:0;z-index:1001;
  background:var(--paper);
  border-bottom:2px solid var(--ink);
  transition:box-shadow .25s;
}
.site-head.scrolled{box-shadow:0 6px 24px -12px rgba(23,19,14,.35)}
.site-head .wrap{
  max-width:1440px;margin:0 auto;padding:0 var(--rail);
  display:flex;align-items:stretch;justify-content:space-between;gap:2em;
  min-height:76px;
}
.brand{display:flex;flex-direction:column;justify-content:center;gap:.15em;padding:.6em 0}
.brand .wordmark{
  font-family:var(--font-display);font-size:1.34rem;line-height:1;
  text-transform:uppercase;letter-spacing:-.01em;
}
.brand .wordmark em{font-style:normal;color:var(--red)}
.brand .descr{
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--ink-soft);
}
.nav{display:flex;align-items:stretch}
.nav>ul{display:flex;align-items:stretch}
.nav>ul>li{position:relative;display:flex}
.nav>ul>li>a{
  display:flex;align-items:center;padding:0 1.05em;
  font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;
  border-left:1px solid transparent;border-right:1px solid transparent;
}
.nav>ul>li>a:hover{color:var(--red)}
.nav>ul>li>a.hot{color:var(--red)}
.nav .drop{
  position:absolute;top:100%;left:0;min-width:240px;
  background:var(--card);border:2px solid var(--ink);
  box-shadow:var(--shadow-pop);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.2s;z-index:1002;
}
.nav>ul>li:hover .drop,.nav>ul>li:focus-within .drop{opacity:1;visibility:visible;transform:none}
.nav .drop a{
  display:flex;justify-content:space-between;gap:1.4em;align-items:baseline;
  padding:.72em 1.1em;font-size:.8rem;font-weight:600;
  border-bottom:1px solid var(--line);
}
.nav .drop a:last-child{border-bottom:none}
.nav .drop a:hover{background:var(--paper);color:var(--red)}
.nav .drop .n{font-family:var(--font-mono);font-size:.65rem;color:var(--ink-soft)}
.head-cta{display:flex;align-items:center;gap:.9em}
.head-cta .btn{padding:.9em 1.3em;font-size:.74rem}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;align-self:center;border:2px solid var(--ink);background:var(--card);padding:10px}
.burger span{height:2.5px;background:var(--ink);transition:.25s}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* mobile menu */
.mobile-menu{
  position:fixed;inset:0;z-index:1000;background:var(--paper);
  padding:calc(var(--head-h) + 24px) var(--rail) 40px;
  transform:translateX(100%);transition:transform .38s cubic-bezier(.7,0,.2,1);
  overflow-y:auto;display:flex;flex-direction:column;gap:.2em;
}
.mobile-menu.open{transform:none}
.mobile-menu>a{
  font-family:var(--font-display);font-size:clamp(1.6rem,7vw,2.4rem);
  text-transform:uppercase;padding:.35em 0;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
}
.mobile-menu>a .n{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-soft)}
.mobile-menu>a:hover{color:var(--red)}
.mobile-menu .mm-ctas{display:flex;gap:.8em;margin-top:1.6em;flex-wrap:wrap}

/* ---------------------------------------------------------- splash */
#splash{
  position:fixed;inset:0;z-index:3000;background:var(--red);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.2em;
}
#splash .s-mark{
  font-family:var(--font-display);color:#fff;text-transform:uppercase;
  font-size:clamp(2rem,7vw,4.6rem);line-height:1;letter-spacing:-.01em;
  opacity:0;transform:scale(1.5) rotate(4deg);
}
#splash .s-tag{
  font-family:var(--font-mono);color:#fff;font-size:.8rem;letter-spacing:.34em;
  text-transform:uppercase;opacity:0;
}
#splash .s-stamp{
  position:absolute;
  font-family:var(--font-mono);font-weight:700;color:#fff;
  border:3px solid #fff;border-radius:8px 16px 6px 12px;
  padding:.5em 1.1em;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;
  transform:rotate(-8deg) scale(2);opacity:0;
  right:clamp(16px,12vw,220px);top:24%;
}

/* ---------------------------------------------------------- hero */
.hero{
  position:relative;overflow:hidden;
  border-bottom:2px solid var(--ink);
  background:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:72px 72px;
  background-position:center;
}
.hero .wrap{
  max-width:1440px;margin:0 auto;padding:clamp(48px,7vw,96px) var(--rail) 0;
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,64px);
  align-items:end;
}
.hero-copy{padding-bottom:clamp(48px,6vw,88px);position:relative;z-index:2}
.hero-copy .kicker{margin-bottom:1.6em}
.hero-h{
  font-family:var(--font-display);text-transform:uppercase;
  font-size:clamp(2.9rem,7.6vw,6.6rem);line-height:.92;letter-spacing:-.02em;
  margin-bottom:.3em;
}
.hero-h .line{display:block;overflow:hidden}
.hero-h .line>span{display:inline-block}
.hero-h .out{color:transparent;-webkit-text-stroke:2.5px var(--ink)}
.hero-h .red{color:var(--red)}
.hero-sub{max-width:46ch;color:var(--ink-soft);font-size:clamp(1rem,1.4vw,1.18rem);margin-bottom:2em}
.hero-ctas{display:flex;gap:1em;flex-wrap:wrap;align-items:center}
.hero-proof{
  margin-top:2.6em;display:flex;gap:2.4em;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;color:var(--ink-soft);
}
.hero-proof b{display:block;font-family:var(--font-display);font-size:1.7rem;color:var(--ink);letter-spacing:0}
.hero-proof b .plus{color:var(--red)}
.hero-visual{position:relative;min-height:420px}
.hero-visual .hv-frame{
  position:relative;border:2px solid var(--ink);background:var(--card);
  box-shadow:var(--shadow-pop);
  margin-bottom:-2px;
}
.hero-visual .hv-frame img{width:100%;height:clamp(340px,44vw,560px);object-fit:cover}
.hero-visual .hv-meta{
  display:flex;justify-content:space-between;align-items:center;
  border-top:2px solid var(--ink);padding:.8em 1em;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
}
.hero-visual .sticker{top:-14px;right:18px}
.hero-visual .stamp{position:absolute;left:-14px;bottom:76px;z-index:3;background:var(--paper)}

/* ---------------------------------------------------------- marquee */
.marquee{
  background:var(--red);color:#fff;border-bottom:2px solid var(--ink);
  overflow:hidden;white-space:nowrap;position:relative;z-index:2;
}
.marquee--ink{background:var(--ink);color:var(--paper)}
.marquee .track{display:inline-flex;will-change:transform}
.marquee span{
  font-family:var(--font-display);text-transform:uppercase;
  font-size:clamp(.95rem,1.6vw,1.25rem);letter-spacing:.04em;
  padding:.75em 0;display:inline-flex;align-items:center;
}
.marquee span::after{content:"✕";margin:0 1.2em;font-size:.75em;opacity:.75}

/* ---------------------------------------------------------- sections */
section{position:relative}
.sec{padding:var(--sec-pad) 0;border-bottom:2px solid var(--ink)}
.sec--paperdeep{background:var(--paper-deep)}
.sec--ink{background:var(--ink);color:var(--paper)}
.sec--red{background:var(--red);color:#fff}
.sec .wrap{max-width:1440px;margin:0 auto;padding:0 var(--rail)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:2em;margin-bottom:clamp(2em,4vw,3.6em);flex-wrap:wrap}
.sec-head .kicker{margin-bottom:1.1em}
.sec-head .more{flex:none}

/* ---------------------------------------------------------- dept bento */
.dept-grid{
  display:grid;gap:0;border:2px solid var(--ink);background:var(--ink);
  grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;
  gap:2px;
}
.dept-card{
  position:relative;overflow:hidden;background:var(--card);
  display:flex;flex-direction:column;justify-content:flex-end;
}
.dept-card--tall{grid-row:span 2}
.dept-card--wide{grid-column:span 2}
.dept-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.16,1,.3,1), filter .4s;
}
.dept-card:hover img{transform:scale(1.05)}
.dept-card .dc-label{
  position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(transparent, rgba(244,242,237,.0));
  padding:.9em 1.1em;
}
.dept-card .dc-name{
  font-family:var(--font-display);text-transform:uppercase;font-size:1.05rem;
  background:var(--paper);border:2px solid var(--ink);padding:.45em .8em;
  box-shadow:3px 3px 0 var(--ink);
  transition:background .2s,color .2s;
}
.dept-card:hover .dc-name{background:var(--red);color:#fff}
.dept-card .dc-count{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;
  background:var(--ink);color:var(--paper);padding:.55em .8em;
}

/* ---------------------------------------------------------- product cards */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px)}
.pcard{
  position:relative;background:var(--card);border:2px solid var(--ink);
  display:flex;flex-direction:column;
  transition:transform .22s cubic-bezier(.22,.68,.4,1), box-shadow .22s cubic-bezier(.22,.68,.4,1);
}
.pcard:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-pop)}
.pcard .ph{
  position:relative;aspect-ratio:10/7;overflow:hidden;background:#fff;
  border-bottom:2px solid var(--ink);
}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.pcard:hover .ph img{transform:scale(1.06)}
.pcard .sticker{top:10px;left:-8px;font-size:.6rem;padding:.5em .7em}
.pcard .meta{padding:.95em 1em 1.05em;display:flex;flex-direction:column;gap:.5em;flex:1}
.pcard .nm{font-weight:700;font-size:.94rem;line-height:1.3}
.pcard .row{display:flex;justify-content:space-between;align-items:center;gap:1em;margin-top:auto}
.pcard .skc{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}
.pcard .dots{display:flex;gap:4px}
.pcard .dots i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--ink);display:block}
.pcard .dots .more{font-family:var(--font-mono);font-size:.6rem;color:var(--ink-soft);line-height:1}
.pcard .tagline{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red);
}
.pcard--skeleton .ph{background:linear-gradient(100deg,var(--paper) 40%,var(--paper-deep) 50%,var(--paper) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-bottom-color:var(--line)}
.pcard--skeleton{border-color:var(--line)}
.pcard--skeleton .bar{height:12px;background:var(--paper-deep);margin:.4em 1em}
@keyframes shimmer{to{background-position:-200% 0}}

/* colour dot palette (mapped in JS) */
.cd-white{background:#fff}.cd-black{background:#181818}.cd-grey{background:#9b9b9b}
.cd-brown{background:#7a5230}.cd-espresso{background:#3d2b1f}.cd-walnut{background:#6b4a2f}
.cd-oak{background:#c8a165}.cd-natural{background:#d9c39a}.cd-cream{background:#f2e9d8}
.cd-beige{background:#e0d3b8}.cd-taupe{background:#b1a292}.cd-cappuccino{background:#8a6d52}
.cd-silver{background:#c9ccd1}.cd-gold{background:#cfa53f}.cd-chrome{background:#d7dade}
.cd-brass{background:#b98d3e}.cd-bronze{background:#8c6239}.cd-blue{background:#33597f}
.cd-navy{background:#1d2f4d}.cd-green{background:#3d6b4f}.cd-red{background:#a83220}
.cd-pink{background:#d9a0a6}.cd-purple{background:#6b4a77}.cd-teal{background:#2f6b6b}
.cd-yellow{background:#e3b93d}.cd-orange{background:#c96a2e}.cd-charcoal{background:#3a3a3a}
.cd-cherry{background:#5e2c22}.cd-ivory{background:#f5efdf}.cd-multi{background:conic-gradient(#a83220,#e3b93d,#3d6b4f,#33597f)}

/* ---------------------------------------------------------- deal strip */
.deal-band .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
.deal-band .big{
  font-family:var(--font-display);text-transform:uppercase;line-height:.9;
  font-size:clamp(3.4rem,9vw,8rem);color:#fff;
}
.deal-band .big .out{color:transparent;-webkit-text-stroke:2.5px #fff}
.deal-list{display:flex;flex-direction:column}
.deal-list .item{
  display:flex;justify-content:space-between;align-items:baseline;gap:1.5em;
  padding:1.05em 0;border-bottom:1.5px dashed rgba(255,255,255,.5);
  font-size:1.02rem;font-weight:600;
}
.deal-list .item:first-child{border-top:1.5px dashed rgba(255,255,255,.5)}
.deal-list .item .pc{font-family:var(--font-display);font-size:1.5rem;flex:none}
.deal-note{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;margin-top:1.6em;opacity:.85}

/* ---------------------------------------------------------- steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border:2px solid var(--ink);background:var(--ink)}
.step{background:var(--card);padding:clamp(1.6em,3vw,2.6em);position:relative;display:flex;flex-direction:column;gap:.9em}
.step .num{
  font-family:var(--font-display);font-size:3rem;line-height:1;
  color:transparent;-webkit-text-stroke:2px var(--red);
}
.step h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.12rem;letter-spacing:.01em}
.step p{color:var(--ink-soft);font-size:.95rem}

/* ---------------------------------------------------------- special order band */
.custom-band .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,80px);align-items:center}
.custom-band .cb-visual{position:relative;border:2px solid var(--paper);box-shadow:8px 8px 0 rgba(244,242,237,.25)}
.custom-band .cb-visual img{width:100%;height:clamp(300px,36vw,480px);object-fit:cover}
.custom-band .cb-visual .sticker{top:-14px;right:16px}
.sec--ink .h-display .out,.custom-hero .h-display .out{-webkit-text-stroke-color:var(--paper)}
.sec--red .h-display .out{-webkit-text-stroke-color:#fff}
.sec--ink .lead{color:#B9B2A4}
.sec--ink .kicker{color:var(--yellow)}
.sec--ink .kicker::before{background:var(--yellow)}
.swatch-row{display:flex;gap:8px;margin:1.6em 0;flex-wrap:wrap}
.swatch-row i{width:34px;height:34px;border-radius:50%;border:2px solid var(--paper);display:block}

/* ---------------------------------------------------------- financing */
.fin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px)}
.fin-card{border:2px solid var(--ink);background:var(--card);padding:1.8em;display:flex;flex-direction:column;gap:.7em}
.fin-card .fc-k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.fin-card h3{font-family:var(--font-display);font-size:1.3rem;text-transform:uppercase}
.fin-card p{color:var(--ink-soft);font-size:.93rem}

/* ---------------------------------------------------------- visit */
.visit .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:stretch}
.visit-info{display:flex;flex-direction:column;gap:1.4em;justify-content:center}
.visit-rows{display:flex;flex-direction:column}
.visit-row{
  display:flex;justify-content:space-between;gap:2em;align-items:baseline;
  padding:1em 0;border-bottom:1.5px dashed var(--line-hard);
  font-size:1rem;
}
.visit-row:first-child{border-top:1.5px dashed var(--line-hard)}
.visit-row .k{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);flex:none}
.visit-row .v{font-weight:700;text-align:right}
.visit-row .v a:hover{color:var(--red)}
.visit-map{border:2px solid var(--ink);box-shadow:var(--shadow-pop);min-height:380px;position:relative;overflow:hidden}
.visit-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) contrast(1.05)}
.visit-map:hover iframe{filter:none}

/* ---------------------------------------------------------- footer */
.site-foot{background:var(--ink);color:var(--paper)}
.site-foot .f-mark{
  font-family:var(--font-display);text-transform:uppercase;
  font-size:clamp(2.6rem,9vw,7.4rem);line-height:.95;letter-spacing:-.02em;
  padding:clamp(40px,6vw,80px) var(--rail) 0;
  max-width:1440px;margin:0 auto;
  color:transparent;-webkit-text-stroke:1.5px rgba(244,242,237,.4);
  user-select:none;
}
.site-foot .f-grid{
  max-width:1440px;margin:0 auto;padding:clamp(32px,4vw,56px) var(--rail);
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5em;
}
.site-foot h4{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--kraft);margin-bottom:1.1em}
.site-foot .f-grid a{display:block;padding:.28em 0;font-size:.92rem;color:#CFC9BC}
.site-foot .f-grid a:hover{color:var(--yellow)}
.site-foot .f-about p{color:#B9B2A4;font-size:.92rem;max-width:34ch}
.site-foot .f-social{display:flex;gap:.9em;margin-top:1.2em}
.site-foot .f-social a{
  width:40px;height:40px;border:1.5px solid rgba(244,242,237,.35);
  display:flex;align-items:center;justify-content:center;padding:0;
}
.site-foot .f-social a:hover{background:var(--red);border-color:var(--red)}
.site-foot .f-social svg{width:16px;height:16px;fill:var(--paper)}
.site-foot .f-bottom{
  border-top:1px solid rgba(244,242,237,.15);
  max-width:1440px;margin:0 auto;padding:1.4em var(--rail);
  display:flex;justify-content:space-between;gap:1.5em;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:#8E877A;
}

/* ---------------------------------------------------------- lead modal */
.modal-veil{
  position:fixed;inset:0;background:rgba(23,19,14,.6);z-index:2000;
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:.25s;
}
.modal-veil.open{opacity:1;visibility:visible}
.modal{
  background:var(--paper);border:2px solid var(--ink);box-shadow:var(--shadow-pop);
  width:min(520px,100%);max-height:92vh;overflow-y:auto;
  transform:translateY(16px);transition:.3s cubic-bezier(.22,.68,.4,1);position:relative;
}
.modal-veil.open .modal{transform:none}
.modal .m-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.1em 1.4em;border-bottom:2px solid var(--ink);background:var(--card);
}
.modal .m-head h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.1rem}
.modal .m-close{font-size:1.5rem;line-height:1;width:38px;height:38px;border:2px solid var(--ink);background:var(--card)}
.modal .m-close:hover{background:var(--red);color:#fff}
.modal form{padding:1.4em;display:flex;flex-direction:column;gap:.9em}
.modal .m-context{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;
  border:1.5px dashed var(--ink);padding:.8em 1em;background:var(--card);
}
.modal label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:.4em}
.modal input,.modal textarea,.modal select{
  width:100%;padding:.85em 1em;border:2px solid var(--ink);background:var(--card);
  font-family:var(--font-body);font-size:.95rem;color:var(--ink);
}
.modal input:focus,.modal textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.modal .m-note{font-size:.78rem;color:var(--ink-soft)}
.m-intent{display:flex;flex-direction:column;border:2px solid var(--ink);background:var(--card)}
.m-intent .ri{
  display:flex;gap:.7em;align-items:center;padding:.75em 1em;cursor:pointer;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;
  border-bottom:1px solid var(--line);
}
.m-intent .ri:last-child{border-bottom:none}
.m-intent .ri:hover{background:var(--paper-deep)}
.m-intent input{accent-color:var(--red);width:16px;height:16px;flex:none}
.m-intent .ri:has(input:checked){background:var(--ink);color:var(--paper)}
.modal .ok{display:none;padding:2.6em 1.4em;text-align:center;flex-direction:column;gap:1em;align-items:center}
.modal .ok .stamp{transform:rotate(-6deg) scale(1.15)}

/* ---------------------------------------------------------- collection */
.coll-hero{
  border-bottom:2px solid var(--ink);
  padding:clamp(40px,6vw,72px) 0 clamp(24px,3vw,40px);
  background:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg,var(--line) 1px, transparent 1px);
  background-size:72px 72px;
}
.coll-hero .wrap{max-width:1440px;margin:0 auto;padding:0 var(--rail)}
.coll-hero .h-display{margin:.25em 0 .3em}
.coll-hero .count-line{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.coll-hero .count-line b{color:var(--red)}

.toolbar{
  position:sticky;top:0;z-index:900;
  background:var(--paper);border-bottom:2px solid var(--ink);
}
.toolbar .wrap{
  max-width:1440px;margin:0 auto;padding:.8em var(--rail);
  display:flex;gap:1em;align-items:center;flex-wrap:wrap;
}
.toolbar .search{
  flex:1 1 220px;display:flex;align-items:center;gap:.6em;
  border:2px solid var(--ink);background:var(--card);padding:.6em 1em;
}
.toolbar .search input{border:none;outline:none;background:none;font-family:var(--font-body);font-size:.9rem;width:100%;color:var(--ink)}
.toolbar select{
  border:2px solid var(--ink);background:var(--card);padding:.6em .9em;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);
}
.chips{display:flex;gap:.5em;flex-wrap:wrap;padding:.9em 0 .2em}
.chip{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  border:1.5px solid var(--ink);background:var(--card);padding:.55em .9em;
  transition:.15s;
}
.chip:hover{background:var(--paper-deep)}
.chip.on{background:var(--ink);color:var(--paper)}
.chip .n{opacity:.55;margin-left:.5em}
.coll-body{max-width:1440px;margin:0 auto;padding:clamp(24px,3vw,40px) var(--rail) var(--sec-pad)}
.coll-empty{
  text-align:center;padding:5em 1em;display:none;flex-direction:column;gap:1em;align-items:center;
}
.load-sentinel{height:1px}
.coll-count-note{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:1.4em}

/* ---------------------------------------------------------- product page */
.pdp{max-width:1440px;margin:0 auto;padding:clamp(28px,4vw,56px) var(--rail) var(--sec-pad)}
.crumbs{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:2em;display:flex;gap:.8em;flex-wrap:wrap;
}
.crumbs a:hover{color:var(--red)}
.crumbs .sep{opacity:.5}
.pdp-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4.5vw,72px);align-items:start}
.pdp-gallery{position:sticky;top:120px}
.pdp-hero-img{
  position:relative;border:2px solid var(--ink);background:#fff;box-shadow:var(--shadow-pop);
  cursor:zoom-in;overflow:hidden;
}
.pdp-hero-img img{width:100%;aspect-ratio:10/7;object-fit:cover;transition:opacity .18s}
.pdp-hero-img.swapping img{opacity:.25}
.pdp-hero-img .sticker{top:12px;left:-10px}
.pdp-hero-img .stamp{position:absolute;right:14px;bottom:14px;background:rgba(244,242,237,.92)}
.pdp-info h1{
  font-family:var(--font-display);text-transform:uppercase;
  font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.02;margin:.35em 0 .4em;
}
.pdp-info .skuline{display:flex;gap:1em;align-items:center;flex-wrap:wrap;margin-bottom:1.4em}
.pdp-desc{color:var(--ink-soft);margin:1.2em 0 1.8em;max-width:58ch}
.pdp-chips{display:flex;flex-wrap:wrap;gap:.5em;margin-bottom:1.8em}
.pdp-chips .chip{cursor:default}
.pdp-chips .chip b{margin-left:.5em}
.variants h3,.pdp-cta-note{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.variants h3{margin-bottom:.9em}
.variants{margin-bottom:2em}
.var-row{display:flex;gap:.7em;flex-wrap:wrap}
.vswatch{
  width:72px;border:2px solid var(--ink);background:var(--card);padding:4px;
  display:flex;flex-direction:column;gap:4px;align-items:center;
  transition:.15s;
}
.vswatch img{width:100%;aspect-ratio:1;object-fit:cover}
.vswatch em{font-style:normal;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.1;text-align:center}
.vswatch:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--ink)}
.vswatch.on{outline:3px solid var(--red);outline-offset:2px}
.pdp-ctas{display:flex;gap:.9em;flex-wrap:wrap;margin:1.4em 0 .9em}
.pdp-call{display:block;font-size:.88rem;color:var(--ink-soft);margin-top:.8em}
.pdp-call a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pdp-call a:hover{color:var(--red)}
.avail{
  display:flex;gap:.8em;align-items:flex-start;
  border:1.5px dashed var(--ink);background:var(--card);padding:1em 1.2em;margin-top:1.8em;
  font-size:.86rem;color:var(--ink-soft);
}
.avail .dot{width:10px;height:10px;border-radius:50%;background:var(--green);flex:none;margin-top:.35em;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.4}}
.related{border-top:2px solid var(--ink);padding-top:var(--sec-pad);margin-top:var(--sec-pad)}

/* ---------------------------------------------------------- in-stock store */
.ptag{
  position:absolute;left:.6em;bottom:.6em;z-index:2;
  background:var(--red);color:#fff;border:2px solid var(--ink);
  font-family:var(--font-display);font-size:.92rem;letter-spacing:.02em;
  padding:.3em .55em;box-shadow:3px 3px 0 var(--ink);transform:rotate(-2deg);
}
.ptag s{font-size:.72em;opacity:.75;margin-left:.4em}
.price-block{
  display:flex;align-items:baseline;gap:.6em;flex-wrap:wrap;
  border:2px solid var(--ink);background:var(--yellow);
  box-shadow:var(--shadow-pop);padding:.55em .8em;margin:.9em 0 .2em;
  transform:rotate(-.6deg);width:max-content;max-width:100%;
}
.price-block b{font-family:var(--font-display);font-size:1.5rem;color:var(--red);letter-spacing:.01em}
.price-block s{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft)}
.price-block span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.hscroll{
  display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,300px);
  gap:1.2em;overflow-x:auto;padding:.4em .2em 1.2em;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
}
.hscroll::-webkit-scrollbar{height:8px}
.hscroll::-webkit-scrollbar-thumb{background:var(--ink);border-radius:0}
.hscroll .pcard{scroll-snap-align:start}
.nav-hot{color:var(--red)!important;font-weight:700;position:relative}
.nav-hot::before{
  content:"";display:inline-block;width:.5em;height:.5em;border-radius:50%;
  background:var(--red);margin-right:.4em;animation:hotpulse 1.6s infinite;
}
@keyframes hotpulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------------------------------------------------------- fabric studio */
.fabstudio{margin-bottom:2em}
.fabstudio h3{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:.9em;
}
.fab-preview{
  display:flex;gap:1.1em;align-items:stretch;margin-top:1em;
  border:2px solid var(--ink);background:var(--card);padding:.7em;
}
.fab-preview>img{
  width:118px;height:118px;object-fit:cover;flex:none;
  border:1.5px dashed var(--ink);
}
.fab-preview-meta{display:flex;flex-direction:column;gap:.35em;justify-content:center;min-width:0}
.fab-preview-meta b{font-family:var(--font-display);text-transform:uppercase;font-size:.95rem}
.fab-preview-meta>span{font-size:.8rem;color:var(--ink-soft)}
.fab-pills{display:flex;flex-wrap:wrap;gap:.4em;margin-top:.3em}
.fab-pills li{
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;
  border:1.5px solid var(--ink);padding:.35em .6em;background:var(--paper);
}
.custom-band-prog{
  border-top:2px solid var(--ink);margin-top:var(--sec-pad);padding-top:var(--sec-pad);
}
.custom-band-prog .kicker{margin-bottom:1em}
.fab-collage{border:2px solid var(--ink);background:var(--card);box-shadow:var(--shadow-pop);margin:0 0 1.8em}
.fab-collage img{width:100%;display:block}
.fab-collage figcaption{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);padding:.8em 1em;border-top:2px solid var(--ink);
}
.custom-band-prog .steps{counter-reset:none;list-style:none;padding:0}
.nav-pill{
  align-self:center;margin-left:.4em;
  background:var(--yellow);border:2px solid var(--ink);padding:.5em .8em!important;
  font-family:var(--font-display);box-shadow:2px 2px 0 var(--ink);
}
.nav-pill:hover{background:var(--red);color:#fff!important}
@media(max-width:860px){
  .fab-preview{flex-direction:row}
  .fab-preview>img{width:92px;height:92px}
}

/* ---------------------------------------------------------- whatsapp */
.btn--wa{background:#1FAF38;color:#fff;border-color:var(--ink)}
.btn--wa:hover{background:#128C7E;color:#fff}
.btn--wa em,.btn--ink em,.pdp-contact .btn em{
  font-style:normal;font-family:var(--font-mono);font-size:.62rem;opacity:.85;
  display:block;letter-spacing:.06em;
}
.wa-fab{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:900;
  width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  background:#1FAF38;color:#fff;border:2.5px solid var(--ink);border-radius:50%;
  box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s;
}
.wa-fab svg{width:30px;height:30px}
.wa-fab:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}

/* trust strip */
.trust-strip{
  display:flex;flex-wrap:wrap;justify-content:center;gap:0;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:var(--yellow);
}
.trust-strip a{
  flex:1;min-width:200px;display:flex;align-items:center;justify-content:center;gap:.6em;
  padding:.9em 1em;color:var(--ink);text-decoration:none;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
}
.trust-strip a+a{border-left:2px solid var(--ink)}
.trust-strip a:hover{background:var(--ink);color:var(--yellow)}
.trust-strip span{font-size:1.1rem}
@media(max-width:720px){
  .trust-strip{flex-direction:column}
  .trust-strip a+a{border-left:0;border-top:2px solid var(--ink)}
}

/* clearance band */
.clr-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3em;align-items:center}
.clr-photo{border:2.5px solid var(--paper);box-shadow:8px 8px 0 var(--red);margin:0}
.clr-photo img{width:100%;display:block}
.clr-photo figcaption{
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.8em 1em;border-top:2.5px solid var(--paper);color:var(--paper);
}
@media(max-width:900px){.clr-grid{grid-template-columns:1fr;gap:2em}}

/* under-500 band */
.sec--yellow{background:var(--yellow)}
.u500 .lead{max-width:640px}

/* locations */
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4em}
.loc-card{
  border:2px solid var(--ink);background:var(--card);padding:1.6em;
  box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:.5em;
}
.loc-card .loc-num{
  font-family:var(--font-mono);font-size:.7rem;color:var(--red);letter-spacing:.14em;
}
.loc-card h3{font-family:var(--font-display);text-transform:uppercase;font-size:1.05rem}
.loc-addr{font-weight:700;font-size:.92rem}
.loc-role{font-size:.85rem;color:var(--ink-soft);flex:1}
.loc-card .btn{align-self:flex-start;margin-top:.6em}
@media(max-width:900px){.loc-grid{grid-template-columns:1fr}}

/* pdp contact row + sticky mobile bar for in-stock deals */
.pdp-contact{display:flex;gap:.7em;flex-wrap:wrap;margin-top:1em}
.pdp-contact .btn{
  flex:1;min-width:130px;text-align:center;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15em;
}
@media(max-width:860px){
  body.stock-pdp .pdp-contact{
    position:fixed;left:0;right:0;bottom:0;z-index:850;margin:0;
    background:var(--paper);border-top:2.5px solid var(--ink);
    padding:.6em;gap:.5em;flex-wrap:nowrap;
    box-shadow:0 -6px 24px rgba(26,23,20,.18);
  }
  body.stock-pdp .pdp-contact .btn{
    min-width:0;padding:.65em .3em;font-size:.6rem;letter-spacing:.02em;
    white-space:nowrap;overflow:hidden;
  }
  body.stock-pdp .pdp-contact .btn em{font-size:.5rem;letter-spacing:0}
  body.stock-pdp{padding-bottom:76px}
  body.stock-pdp .wa-fab{display:none}
}

/* card footer: whole card opens the product, the price button stays clickable */
.pcard .nm-link{color:inherit;text-decoration:none}
.pcard .nm-link::after{content:"";position:absolute;inset:0;z-index:1}
.pcard__cta{
  position:relative;z-index:2;display:flex;gap:.5em;
  padding:0 1em 1em;margin-top:auto;
}
.pcard__cta .mini{
  flex:1;text-align:center;font-family:var(--font-mono);font-size:.6rem;
  letter-spacing:.09em;text-transform:uppercase;padding:.62em .5em;
  border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s;
}
.pcard__cta .mini:hover{background:var(--ink);color:var(--paper)}
.pcard__cta .mini--red{background:var(--red);color:#fff;border-color:var(--red)}
.pcard__cta .mini--red:hover{background:var(--ink);border-color:var(--ink)}
@media(max-width:520px){
  .pcard__cta{flex-direction:column;gap:.45em}
  /* comfortable thumb targets on the phone, where most Instagram traffic lands */
  .pcard__cta .mini{padding:.95em .5em;font-size:.63rem;min-height:44px;display:flex;align-items:center;justify-content:center}
}

/* deposit block in order modal */
.m-deposit{
  border:2px solid var(--ink);background:var(--yellow);
  padding:1em;margin-bottom:1.2em;box-shadow:3px 3px 0 var(--ink);
}
.m-deposit__lede{font-size:.85rem;line-height:1.45;margin-bottom:.8em}
.m-deposit__btns{display:flex;flex-direction:column;gap:.6em}
.m-deposit__btns .btn{width:100%;text-align:center;justify-content:center}
.m-deposit__err{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;
  color:var(--red);margin-top:.7em;
}
.m-or{display:flex;align-items:center;gap:.8em;margin-top:1em}
.m-or::before,.m-or::after{content:'';flex:1;border-top:1.5px dashed var(--ink)}
.m-or span{
  font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);
}

/* lightbox */
.lightbox{
  position:fixed;inset:0;z-index:2100;background:rgba(23,19,14,.92);
  display:flex;align-items:center;justify-content:center;padding:4vw;
  opacity:0;visibility:hidden;transition:.25s;cursor:zoom-out;
}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:100%;max-height:100%;border:2px solid var(--paper)}

/* ---------------------------------------------------------- custom page */
.custom-hero{
  background:var(--ink);color:var(--paper);border-bottom:2px solid var(--ink);
  padding:clamp(56px,8vw,110px) 0;position:relative;overflow:hidden;
}
.custom-hero .wrap{max-width:1440px;margin:0 auto;padding:0 var(--rail);position:relative;z-index:2}
.custom-hero .h-display{font-size:clamp(2.6rem,6.4vw,5.6rem)}
.custom-hero .bgword{
  position:absolute;right:-2vw;bottom:-4vw;z-index:1;
  font-family:var(--font-display);text-transform:uppercase;font-size:clamp(8rem,22vw,20rem);
  line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(244,242,237,.12);
  user-select:none;pointer-events:none;
}
.type-index{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;border:2px solid var(--ink);background:var(--ink)}
.type-row{
  background:var(--card);display:flex;justify-content:space-between;align-items:center;
  padding:1.1em 1.4em;gap:1em;transition:.15s;
}
.type-row:hover{background:var(--paper-deep)}
.type-row .t{font-family:var(--font-display);text-transform:uppercase;font-size:.95rem}
.type-row .c{font-family:var(--font-mono);font-size:.66rem;color:var(--ink-soft);letter-spacing:.08em}
.type-row:hover .t{color:var(--red)}

/* ---------------------------------------------------------- reveals */
.rv{opacity:0;transform:translateY(26px)}
.rv.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.22,.68,.4,1), transform .7s cubic-bezier(.22,.68,.4,1)}
.iw{position:relative;overflow:hidden}
.iw::after{
  content:"";position:absolute;inset:0;background:var(--paper);
  transform:scaleX(1);transform-origin:right;z-index:2;
}
.iw.in::after{transition:transform .9s cubic-bezier(.7,0,.2,1);transform:scaleX(0)}
.sec--ink .iw::after,.sec--red .iw::after{background:var(--ink)}

/* ---------------------------------------------------------- responsive */
@media(max-width:1100px){
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .dept-grid{grid-template-columns:repeat(3,1fr)}
  .nav{display:none}
  .burger{display:flex}
  .head-cta .btn--ghost{display:none}
}
@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-visual{display:none}
  .deal-band .wrap,.custom-band .wrap,.visit .wrap{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .fin-cards{grid-template-columns:1fr}
  .pdp-grid{grid-template-columns:1fr}
  .pdp-gallery{position:static}
  .site-foot .f-grid{grid-template-columns:1fr 1fr}
  .type-index{grid-template-columns:1fr}
  .utility .u-hours,.utility .u-mail{display:none}
}
@media(max-width:640px){
  .head-cta .btn--red{display:none}
  .brand .wordmark{font-size:1.12rem}
  .brand .descr{font-size:.5rem;letter-spacing:.22em}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .dept-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}
  .pcard .meta{padding:.75em .8em .85em}
  .pcard .nm{font-size:.82rem}
  .sec-head{align-items:start;flex-direction:column}
  .hero-proof{gap:1.4em}
  .site-foot .f-grid{grid-template-columns:1fr}
  .toolbar .wrap{gap:.6em}
}

/* ---------------------------------------------------------- a11y / motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
  .iw::after{display:none}
}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.skip{
  position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);
  padding:.8em 1.2em;z-index:4000;font-family:var(--font-mono);
}
.skip:focus{left:0}
