/** Shopify CDN: Minification failed

Line 89:156 Unexpected "0%"
Line 89:211 Unexpected "40%"
Line 89:226 Unexpected "55%"
Line 89:272 Unexpected "56%"
Line 89:321 Unexpected "100%"
Line 141:168 Unexpected "0%"
Line 141:187 Unexpected "50%"
Line 1643:71 Unexpected "0%"
Line 1643:101 Unexpected "100%"

**/

/* Font faces are declared in layout/theme.liquid with asset_url, because a
   theme's files are served from Shopify's CDN and a relative ../fonts/ path
   does not resolve there. Declaring them again here would 404. */


:root{--red:#E90702;--ease:cubic-bezier(0.16,1,0.3,1);--ease-slow:cubic-bezier(0.25,1,0.35,1);--mono:'Courier New',monospace;--border:rgba(255,255,255,.055);}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:400;background:#000;color:#fff;overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}button{background:none;border:none;cursor:none;font-family:inherit;color:inherit;}
/* CURSOR */
#cur{position:fixed;top:0;left:0;width:28px;height:28px;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);will-change:left,top;}
#cur::before{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.42);transition:transform .2s var(--ease),border-color .2s;}
#cur::after{content:'';position:absolute;top:50%;left:50%;width:3px;height:3px;transform:translate(-50%,-50%);background:var(--red);border-radius:50%;transition:opacity .15s;}
#cur .ch{position:absolute;background:rgba(255,255,255,.2);}
#cur .chh{top:50%;left:0;right:0;height:1px;transform:translateY(-50%);}
#cur .chv{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);}
body.hov #cur::before{transform:scale(1.65);border-color:rgba(233,7,2,.5);}
body.hov #cur::after{opacity:0;}body.clk #cur::before{transform:scale(.7);}
/* NAV */
#nav{position:fixed;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;z-index:400;border-bottom:1px solid var(--border);background:rgba(0,0,0,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateY(-100%);transition:transform .9s var(--ease);}
#nav.on{transform:none;}
/* Header mark: scales from oversized on arrival down to nav size on scroll */
.nlogo{
  display:flex;align-items:center;cursor:none;
  height:100%;
}
.nlogo img{
  display:block;height:var(--logo-h,15px);width:auto;
  transition:height .85s var(--ease-slow),opacity .3s;
  transform-origin:left center;
  user-select:none;-webkit-user-drag:none;
}
.nlogo:hover img{opacity:.82;}
/* Nav grows to hold the larger mark at the top of the page */
#nav{transition:transform .9s var(--ease),height .85s var(--ease-slow),background .5s var(--ease),border-color .5s var(--ease);}
#nav.at-top{height:96px;background:rgba(0,0,0,0);border-bottom-color:rgba(255,255,255,0);}
#nav.at-top .nlogo img{height:38px;}
#nav.at-top .nr a,#nav.at-top .nr button{color:rgba(255,255,255,.62);}
.nr{display:flex;align-items:center;gap:2.2rem;}
.nr a,.nr button{color:rgba(255,255,255,.52);transition:color .25s;font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;}
.nr a:hover,.nr button:hover{color:#fff;}
#mbtn{display:flex;align-items:center;gap:.6rem;}
.ml{display:flex;flex-direction:column;gap:4px;width:17px;}
.ml span{display:block;height:1px;background:currentColor;transition:transform .4s var(--ease),opacity .3s;}
.mo .ml span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.mo .ml span:nth-child(2){opacity:0;}
.mo .ml span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
/* MENU OVERLAY */
#mov{position:fixed;inset:0;background:#000;z-index:350;display:grid;grid-template-columns:1fr 320px;padding:90px 2rem 3rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s var(--ease),visibility .6s;overflow:hidden;}
#mov.on{opacity:1;visibility:visible;pointer-events:all;}
.mnav{display:flex;flex-direction:column;justify-content:center;padding-right:3rem;}
.mni{display:block;font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:clamp(44px,6vw,84px);letter-spacing:-.02em;line-height:1;color:rgba(255,255,255,.08);transition:color .2s,transform .6s var(--ease),opacity .6s var(--ease);padding:.12em 0;border-top:1px solid rgba(255,255,255,.04);cursor:none;transform:translateX(-28px);opacity:0;}
.mni:hover{color:#fff;}.mni:hover .mn{color:var(--red);}
.mn{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.2em;color:rgba(255,255,255,.18);vertical-align:super;margin-right:.8rem;transition:color .2s;}
#mov.on .mni{opacity:1;transform:none;}
#mov.on .mni:nth-child(1){transition-delay:.04s;}#mov.on .mni:nth-child(2){transition-delay:.08s;}#mov.on .mni:nth-child(3){transition-delay:.12s;}#mov.on .mni:nth-child(4){transition-delay:.16s;}#mov.on .mni:nth-child(5){transition-delay:.20s;}#mov.on .mni:nth-child(6){transition-delay:.24s;}
.ms{padding:0 0 0 2.5rem;border-left:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;justify-content:flex-end;}
.ms-colls{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .6rem;margin-top:1.5rem;}
.mc{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.38);padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04);transition:color .2s;cursor:none;}
.mc:hover{color:#fff;}.mlabel{font-family:var(--mono);font-size:9px;letter-spacing:.25em;color:rgba(255,255,255,.26);text-transform:uppercase;margin-bottom:1rem;}
/* HERO (home) */
#hero{position:fixed;inset:0;background:#000;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 1.6s var(--ease-slow),visibility 1.6s;}
#hero.out{opacity:0;visibility:hidden;pointer-events:none;}
#hl{
  width:clamp(280px,46vw,720px);height:auto;display:block;
  opacity:0;transform:translateY(10px) scale(.985);
  transition:opacity 1.6s var(--ease-slow),transform 1.6s var(--ease-slow);
  user-select:none;-webkit-user-drag:none;
}
#hl.on{opacity:1;transform:translateY(0) scale(1);}
#hs{margin-top:3rem;font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:rgba(255,255,255,.34);text-transform:uppercase;opacity:0;transition:opacity 1.4s var(--ease) .3s;display:flex;align-items:center;gap:1.6rem;}
#hs.on{opacity:1;}
#hh{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:rgba(255,255,255,.26);text-transform:uppercase;opacity:0;transition:opacity 1.2s var(--ease) 4s;display:flex;flex-direction:column;align-items:center;gap:.8rem;cursor:none;}
#hh.on{opacity:1;}
#hh::after{content:'';width:1px;height:32px;background:linear-gradient(to bottom,rgba(255,255,255,.22),transparent);animation:drip 2s var(--ease) infinite;}0%{transform:scaleY(0);transform-origin:top;opacity:0;}40%{opacity:1;}55%{transform:scaleY(1);transform-origin:top;}56%{transform:scaleY(1);transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;opacity:0;}
.hcnt{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:rgba(255,255,255,.55);display:inline-block;min-width:7ch;}
/* PAGE SYSTEM */
#pages{padding-top:52px;transition:padding-top .85s var(--ease-slow);}
#pages.at-top{padding-top:96px;}
.page{display:block;}

/* SHARED COMPONENTS */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.sh{display:flex;align-items:center;justify-content:space-between;padding:4.5rem 2rem 3.5rem;}
.sh-label{font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:rgba(255,255,255,.34);text-transform:uppercase;display:flex;align-items:center;gap:.8rem;}
.sh-label::before{content:'';width:14px;height:1px;background:var(--red);}
.slink{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.38);text-transform:uppercase;transition:color .25s;cursor:none;}
.slink:hover{color:#fff;}
.sect-border{border-bottom:1px solid var(--border);}
/* PRODUCT CARDS */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.pgrid-4{grid-template-columns:repeat(4,1fr);}
.pcard{border-right:1px solid var(--border);cursor:none;overflow:hidden;transition:background .4s;}
.pcard:hover{background:rgba(255,255,255,.012);}
.pimg{aspect-ratio:1;background:#080808;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.phd{position:absolute;inset:0;background:rgba(0,0,0,.9);display:flex;flex-direction:column;justify-content:center;padding:1.75rem;opacity:0;transition:opacity .4s var(--ease);}
.pcard:hover .phd{opacity:1;}
.phd-r{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.45);text-transform:uppercase;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.04);}
.phd-r span{color:rgba(255,255,255,.82);}
.pinfo{padding:1.4rem 1.75rem;border-top:1px solid var(--border);}
.pname{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.2;margin-bottom:.9rem;}
.pmeta{display:flex;justify-content:space-between;align-items:flex-end;}
.pprice{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:21px;letter-spacing:-.01em;}
.pgrade{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.42);text-transform:uppercase;padding:.2rem .45rem;border:1px solid rgba(255,255,255,.08);}
/* FORM ELEMENTS */
.field{display:flex;flex-direction:column;gap:.5rem;}
.field label{font-family:var(--mono);font-size:9px;letter-spacing:.25em;color:rgba(255,255,255,.44);text-transform:uppercase;}
.field input,.field textarea,.field select{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:16px;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;padding:.65rem 0;outline:none;transition:border-color .25s;width:100%;appearance:none;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(255,255,255,.4);}
.field textarea{resize:vertical;min-height:100px;line-height:1.6;}
.field select option{background:#111;}
.btn-primary{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:14px;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);padding:1rem 2rem;cursor:none;transition:border-color .25s,background .25s,color .25s;display:inline-flex;align-items:center;gap:.8rem;}
.btn-primary:hover{border-color:#fff;background:#fff;color:#000;}
.btn-ghost{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--border);padding:.75rem 1.5rem;cursor:none;transition:border-color .25s,color .25s;display:inline-flex;align-items:center;gap:.8rem;}
.btn-ghost:hover{border-color:#fff;color:#fff;}
/* COLLAPSIBLE */
.collap{border-top:1px solid var(--border);}
.collap-hd{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;cursor:none;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);transition:color .2s;}
.collap-hd:hover{color:#fff;}
.collap-hd .arr{transition:transform .3s var(--ease);font-style:normal;}
.collap.open .arr{transform:rotate(45deg);}
.collap-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.collap.open .collap-body{max-height:200px;}
.collap-inner{padding:.5rem 0 1.25rem;font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-size:14px;color:rgba(255,255,255,.6);line-height:1.7;}
/* LIVE DOT */
.ldot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--red);animation:p 1.8s ease-in-out infinite;vertical-align:middle;margin-right:.4rem;}0%,100%{opacity:1;}50%{opacity:.15;}
/* SEARCH OVERLAY */
#srch{position:fixed;inset:0;background:#000;z-index:600;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s var(--ease),visibility .5s;}
#srch.on{opacity:1;visibility:visible;pointer-events:all;}
.srch-top{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid var(--border);flex-shrink:0;}
.srch-label{font-family:var(--mono);font-size:9px;letter-spacing:.25em;color:rgba(255,255,255,.2);text-transform:uppercase;}
.srch-close{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.38);text-transform:uppercase;cursor:none;transition:color .2s;}
.srch-close:hover{color:#fff;}
.srch-input-wrap{padding:4rem 2rem 2rem;border-bottom:1px solid var(--border);}
#srch-input{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:clamp(36px,5vw,72px);letter-spacing:-.02em;background:transparent;border:none;outline:none;color:#fff;width:100%;caret-color:var(--red);}
#srch-input::placeholder{color:rgba(255,255,255,.12);}
.srch-filters{display:flex;gap:0;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0;}
.sf{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.28);padding:.8rem 1.5rem;border-right:1px solid var(--border);cursor:none;transition:color .2s,background .2s;white-space:nowrap;flex-shrink:0;}
.sf:hover,.sf.active{color:#fff;background:rgba(255,255,255,.04);}
.srch-results{flex:1;overflow-y:auto;padding:0;}
.srch-result{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:1.5rem;padding:1rem 2rem;border-bottom:1px solid rgba(255,255,255,.03);cursor:none;transition:background .2s;}
.srch-result:hover{background:rgba(255,255,255,.025);}
.srch-thumb{width:52px;height:52px;background:#0d0d0d;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.srch-rname{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;}
.srch-rcat{font-family:var(--mono);font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.25);text-transform:uppercase;margin-top:.3rem;}
.srch-rprice{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:18px;letter-spacing:-.01em;}
.srch-empty{padding:5rem 2rem;font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:rgba(255,255,255,.15);text-transform:uppercase;}
/* CART PANEL */
#cart-panel{position:fixed;inset:0;z-index:450;display:flex;justify-content:flex-end;pointer-events:none;}
#cart-panel.on{pointer-events:all;}
.cart-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .5s;cursor:none;}
#cart-panel.on .cart-overlay{opacity:1;}
.cart-drawer{width:min(480px,100vw);background:#080808;border-left:1px solid var(--border);display:flex;flex-direction:column;height:100%;transform:translateX(100%);transition:transform .6s var(--ease);}
#cart-panel.on .cart-drawer{transform:none;}
.cart-hd{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;border-bottom:1px solid var(--border);flex-shrink:0;}
.cart-hd-title{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:16px;letter-spacing:-.01em;}
.cart-hd-close{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.35);text-transform:uppercase;cursor:none;transition:color .2s;}
.cart-hd-close:hover{color:#fff;}
.cart-items{flex:1;overflow-y:auto;}
.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:1.25rem;align-items:center;padding:1.25rem 1.75rem;border-bottom:1px solid rgba(255,255,255,.04);}
.cart-thumb{width:64px;height:64px;background:#111;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ci-name{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1.2;margin-bottom:.4rem;}
.ci-meta{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.25);text-transform:uppercase;}
.ci-price{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:17px;letter-spacing:-.01em;text-align:right;}
.cart-remove{font-family:var(--mono);font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.2);text-transform:uppercase;cursor:none;transition:color .2s;margin-top:.4rem;display:block;}
.cart-remove:hover{color:var(--red);}
.cart-empty{padding:4rem 1.75rem;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.15);text-transform:uppercase;}
.cart-foot{padding:1.5rem 1.75rem;border-top:1px solid var(--border);flex-shrink:0;}
.cart-subtotal{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;}
.cart-st-label{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.3);text-transform:uppercase;}
.cart-st-val{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:22px;letter-spacing:-.01em;}
.cart-note{font-family:var(--mono);font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.2);text-transform:uppercase;margin-bottom:1.25rem;}@media(max-width:768px){
  .pgrid{grid-template-columns:1fr 1fr;}
  .pgrid-4{grid-template-columns:1fr 1fr;}
  #mov{grid-template-columns:1fr;}
  .ms{display:none;}
  .mni{font-size:clamp(36px,10vw,64px);}
  #statement .stmt-num{font-size:clamp(80px,20vw,160px);}
  #sell{grid-template-columns:1fr;}
  .sv{display:none;}
  .prod-layout{grid-template-columns:1fr;}
  .prod-img-col{border-right:none;border-bottom:1px solid var(--border);}
  .acc-layout{grid-template-columns:1fr;}
  .acc-side{border-right:none;border-bottom:1px solid var(--border);}
  /* A two-column footer was declared here, but it has never taken effect: on
     the signed-off build the three-column grid is an inline style on <footer>,
     which outranks any media query without !important. The footer is three
     columns at every width on the approved site, verified at 390, 700, 900 and
     1440px. Leaving the rule in place made the cascade look broken — it was
     being overridden by the base rule further down this file — so it is
     removed rather than silently losing. Change the base footer{} rule to
     change the footer. */
  .coll-hero-title{font-size:clamp(80px,18vw,140px);}
  .srch-filters{flex-wrap:wrap;}
  #srch-input{font-size:clamp(28px,8vw,52px);}
}

/* HOME-SPECIFIC */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.ctile{aspect-ratio:4/3;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;padding:2rem;cursor:none;overflow:hidden;background:#050505;transition:background .4s;}
.ctile:nth-child(3n){border-right:none;}
.ctile:hover{background:#0d0d0d;}.ctile:hover .cname{color:#fff;}
.cnum{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.28);text-transform:uppercase;}
.cname{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:clamp(34px,3.8vw,60px);letter-spacing:-.02em;line-height:.9;color:rgba(255,255,255,.1);transition:color .4s;text-transform:uppercase;}
.ctile.feat{grid-column:span 2;aspect-ratio:unset;min-height:260px;}
.ctile.feat .cname{font-size:clamp(60px,7.5vw,100px);color:rgba(255,255,255,.06);}
.ctile.feat:hover .cname{color:rgba(255,255,255,.88);}
.trow{display:grid;grid-template-columns:120px 1fr 110px 90px 20px;align-items:center;padding:1.1rem 2rem;gap:1rem;border-bottom:1px solid rgba(255,255,255,.035);cursor:none;transition:background .2s;}
.trow:hover{background:rgba(255,255,255,.015);}
.tidx{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.28);text-transform:uppercase;}
.tname{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tcond{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.42);text-transform:uppercase;}
.tprice{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:17px;letter-spacing:-.01em;text-align:right;}
.tlive{width:5px;height:5px;border-radius:50%;background:var(--red);animation:p 1.8s ease-in-out infinite;margin-left:auto;}
.pgr .pstep{padding:2.5rem 2rem;border-right:1px solid var(--border);cursor:none;transition:background .4s;display:flex;flex-direction:column;gap:1.5rem;}
.pgr .pstep:last-child{border-right:none;}.pgr .pstep:hover{background:rgba(255,255,255,.012);}
.pgr .psn{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:48px;letter-spacing:-.04em;color:rgba(255,255,255,.035);transition:color .4s;line-height:1;}
.pgr .pstep:hover .psn{color:rgba(233,7,2,.12);}
.pgr .psname{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.72);line-height:1.3;}
footer li{font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:14px;color:rgba(255,255,255,.46);cursor:none;transition:color .2s;}
footer li:hover{color:#fff;}@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  #cur{display:none!important;}
  body,button,a,.hoverable{cursor:auto!important;}
  .reveal{opacity:1!important;transform:none!important;}
  .page{opacity:1!important;transform:none!important;}
}@media (hover:none),(pointer:coarse){
  #cur{display:none!important;}
  body,button,a,input,select,textarea,.hoverable{cursor:auto!important;}
  a,button,.hoverable{-webkit-tap-highlight-color:rgba(233,7,2,.15);}
}
/* Keyboard focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:1px solid var(--red);outline-offset:3px;
}
/* Screen-reader only helper */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* Skip link */
.skip-link{
  position:absolute;top:-60px;left:1rem;z-index:99998;
  background:#000;border:1px solid var(--red);color:#fff;
  padding:.75rem 1.25rem;font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;transition:top .2s;
}
.skip-link:focus{top:1rem;}
/* Prevent horizontal overflow anywhere */
html,body{max-width:100vw;}
img,svg,video{max-width:100%;height:auto;}@media (max-width:420px){
  .sh,.bh,.th2{padding-left:1.25rem;padding-right:1.25rem;}
  #statement{padding:0 1.25rem!important;}
  .trow,.thd{grid-template-columns:1fr 70px 16px!important;padding-left:1.25rem!important;padding-right:1.25rem!important;}
  .trow .tidx,.trow .tcond,.thd span:nth-child(1),.thd span:nth-child(3){display:none;}
  #prod-info-col{padding:2rem 1.25rem!important;}
  .sc{padding:3rem 1.5rem!important;}
  footer{padding-left:1.25rem!important;padding-right:1.25rem!important;}
}@media print{
  #cur,#nav,#mov,#srch,#cart-panel,#hero{display:none!important;}
  body{background:#fff;color:#000;}
  .page{display:block!important;opacity:1!important;}
}

/* ── POLISH PASS v1.1 ────────────────────────────────────────────────────── */

/* Loading: fade the whole document in once fonts have settled */
body{opacity:0;transition:opacity .6s var(--ease);}
body.ready{opacity:1;}

/* Hover states — every interactive surface responds, quietly */
.pcard{transition:background .5s var(--ease),transform .5s var(--ease);}
.pcard:hover{background:rgba(255,255,255,.018);}
.pcard:hover .pname{color:#fff;}
.pname{transition:color .35s var(--ease);}
.pcard .pimg > svg{transition:transform 1.1s var(--ease-slow);}
.pcard:hover .pimg > svg{transform:scale(1.035);}

.ctile{transition:background .5s var(--ease);}
.ctile .cname{transition:color .55s var(--ease),transform .55s var(--ease);}
.ctile:hover .cname{transform:translateX(4px);}
.ctile .cnum{transition:color .35s var(--ease);}
.ctile:hover .cnum{color:rgba(255,255,255,.5);}

.trow{transition:background .3s var(--ease),padding-left .35s var(--ease);}
.trow:hover{padding-left:2.4rem;}
.trow .tname{transition:color .3s var(--ease);}
.trow:hover .tname{color:#fff;}

.slink,.mc,.nr a,.nr button,.cart-hd-close,.srch-close{transition:color .3s var(--ease),opacity .3s var(--ease);}

.mni{transition:color .35s var(--ease),transform .7s var(--ease),opacity .7s var(--ease),padding-left .4s var(--ease);}
.mni:hover{padding-left:.5rem;}

.pgr .pstep{transition:background .5s var(--ease);}
.pgr .psn{transition:color .5s var(--ease),transform .5s var(--ease);}
.pgr .pstep:hover .psn{transform:translateY(-2px);}

footer li{transition:color .3s var(--ease),transform .3s var(--ease);}
footer li:hover{transform:translateX(3px);}

.btn-primary,.btn-ghost{transition:border-color .35s var(--ease),background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);}
.btn-primary:active,.btn-ghost:active{transform:scale(.985);}

.srch-result{transition:background .28s var(--ease),padding-left .3s var(--ease);}
.srch-result:hover{padding-left:2.4rem;}

.sf{transition:color .3s var(--ease),background .3s var(--ease);}

/* Spacing rhythm — a touch more air at the section joints */
.sh,.bh,.th2{padding-top:5.5rem;padding-bottom:4rem;}
#discover .pgrid,#buy .cgrid{margin-top:0;}

/* Product card image breathing room */
.pimg{padding:1.5rem;}

/* Collapsible easing to match the system */
.collap-body{transition:max-height .6s var(--ease-slow);}
.collap-hd .arr{transition:transform .45s var(--ease);}

/* Cart drawer — match hero pacing */
.cart-drawer{transition:transform .75s var(--ease-slow);}
.cart-overlay{transition:opacity .6s var(--ease);}

/* Menu overlay — slightly slower, calmer */
#mov{transition:opacity .7s var(--ease),visibility .7s;}

/* Search — calmer entry */
#srch{transition:opacity .6s var(--ease),visibility .6s;}

/* Page transitions — a shade longer for weight */
.page{transition:opacity .7s var(--ease),transform .7s var(--ease);}

/* Statement number — slower bloom */
#stnum{transition:color 2s var(--ease-slow)!important;}

/* Reveal — unified, slightly longer */
.reveal{transition:opacity 1.3s var(--ease),transform 1.3s var(--ease);}

/* Selection colour */
::selection{background:var(--red);color:#fff;}

/* Scrollbar — minimal, on-brand */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#000;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border:3px solid #000;}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2);}@media(max-width:768px){
  #nav.at-top{height:76px;}
  #nav.at-top .nlogo img{height:26px;}
  #pages.at-top{padding-top:76px;}
  .trow:hover,.srch-result:hover{padding-left:1.5rem;}
  .sh,.bh,.th2{padding-top:4rem;padding-bottom:3rem;}
}

/* ══ READABILITY PASS — supporting copy must be effortless to read ═════════
   Diagnosis: the previous issue wasn't opacity alone. Condensed display type
   at 14–15px on black is a hard read regardless of contrast. The fix is
   four-part: near-white colour, larger size, generous leading, and a touch
   of tracking to open up the condensed letterforms at text sizes.        */

:root{
  --text:        #EDEAE4;   /* body copy — near-white, warm, not clinical */
  --text-strong: #FFFFFF;
  --text-muted:  rgba(237,234,228,.72);
  --label:       rgba(237,234,228,.62);
  --label-dim:   rgba(237,234,228,.48);
}

/* Every paragraph and supporting sentence on the site */
p,
.sb, .psdesc, .collap-inner,
#page-about p, #page-sell p, #page-product p,
.sell-b, .prod-desc{
  color:var(--text)!important;
  font-size:17px!important;
  line-height:1.8!important;
  letter-spacing:.006em!important;
  font-weight:400!important;
  max-width:62ch;
}

/* Product descriptions get a fraction more room */
#prod-desc{
  color:var(--text)!important;
  font-size:17px!important;
  line-height:1.82!important;
  letter-spacing:.006em!important;
}

/* Spec table values — data must be unambiguous */
#prod-specs td:last-child,
table td:last-child{
  color:var(--text)!important;
  font-size:15px!important;
  letter-spacing:.004em!important;
}
#prod-specs td:first-child,
table td:first-child{
  color:var(--label)!important;
  font-size:10px!important;
}

/* Monospace labels — small type needs the most help */
.sh-label,.dh-label,.mlabel,.flabel,.srch-label,
.cnum,.pref,.tidx,.tcond,.cart-st-label,.ci-meta,
.field label,.phd-r,.stmt-sub,.sn{
  color:var(--label)!important;
  font-size:10px!important;
  letter-spacing:.22em!important;
}
.phd-r span,.cart-st-val{color:var(--text)!important;}

/* Links and list items */
.slink,.mc,footer li,.cart-remove,.srch-close,.cart-hd-close{
  color:var(--text-muted)!important;
}
.slink:hover,.mc:hover,footer li:hover{color:var(--text-strong)!important;}
footer li{font-size:15px!important;letter-spacing:.004em!important;}

/* Navigation */
.nr a,.nr button{color:var(--text-muted)!important;font-size:11px!important;}
.nr a:hover,.nr button:hover{color:var(--text-strong)!important;}

/* Product & inventory names */
.pname{color:var(--text)!important;font-size:18px!important;letter-spacing:0!important;}
.pcard:hover .pname{color:var(--text-strong)!important;}
.tname{color:var(--text)!important;font-size:16px!important;}
.srch-rname{color:var(--text)!important;font-size:17px!important;}
.srch-rcat{color:var(--label)!important;font-size:10px!important;letter-spacing:.18em!important;}
.ci-name{color:var(--text)!important;font-size:16px!important;}

/* Grade badges — small, so they need weight and contrast */
.pgrade{
  color:var(--text)!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  border-color:rgba(237,234,228,.28)!important;
}

/* Process step names */
.pgr .psname{color:var(--text)!important;font-size:14px!important;}

/* Form inputs — typing must be legible */
.field input,.field textarea,.field select{
  color:var(--text-strong)!important;
  font-size:17px!important;
  border-bottom-color:rgba(237,234,228,.3)!important;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(237,234,228,.32)!important;}
.field input:focus,.field textarea:focus,.field select:focus{
  border-bottom-color:rgba(237,234,228,.7)!important;
}

/* Buttons */
.btn-ghost{color:var(--text)!important;border-color:rgba(237,234,228,.3)!important;}
.btn-ghost:hover{border-color:var(--text-strong)!important;}
.btn-primary{border-color:rgba(237,234,228,.42)!important;}

/* Collapsible headers */
.collap-hd{color:var(--text-muted)!important;font-size:11px!important;}
.collap-hd:hover{color:var(--text-strong)!important;}

/* Search filter pills */
.sf{color:var(--text-muted)!important;font-size:10px!important;}
.sf:hover,.sf.active{color:var(--text-strong)!important;}

/* Collection tile counts */
.ctile .cnum{color:var(--label)!important;}
.ctile:hover .cnum{color:var(--text)!important;}

/* Hero supporting line */
#hs{color:var(--text-muted)!important;font-size:11px!important;}
.hcnt{color:var(--text)!important;}
#hh{color:var(--label)!important;}

/* Statement caption */
.stmt-sub,#stsub{color:var(--label)!important;font-size:11px!important;}

/* Footer legal */
.fleg{color:var(--label-dim)!important;font-size:10px!important;}

/* Table headers */
.thd span{color:var(--label)!important;font-size:10px!important;}@media(max-width:768px){
  p,.sb,.psdesc,.collap-inner,#prod-desc{font-size:16px!important;line-height:1.78!important;}
}

/* ══ PRODUCT IMAGERY & REAL-CATALOGUE COMPONENTS ═══════════════════════════ */

/* Product card photography */
.pimg{position:relative;overflow:hidden;background:#0a0a0a;padding:0;}

.pcard:hover 
.psub{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  color:var(--label);text-transform:uppercase;margin:-.5rem 0 .9rem;
}

/* ── COLLECTION PAGE ──────────────────────────────────────────────────── */
#coll-hero{
  height:64vh;min-height:420px;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;padding:3rem 2rem;
  border-bottom:1px solid var(--border);background:#040404;
}
.coll-hero-title{
  position:absolute;left:-.02em;top:50%;transform:translateY(-50%);
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(110px,19vw,270px);letter-spacing:-.04em;
  color:rgba(255,255,255,.035);user-select:none;text-transform:uppercase;
  white-space:nowrap;z-index:0;pointer-events:none;
}
.coll-hero-inner{position:relative;z-index:2;}
#coll-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(40px,6vw,84px);letter-spacing:-.02em;line-height:.95;
  text-transform:uppercase;margin-bottom:2rem;color:var(--text-strong);
}
.coll-stats{display:flex;gap:3rem;}
.coll-stat-n{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:34px;letter-spacing:-.02em;display:block;color:var(--text);
}
.coll-stat-l{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--label);text-transform:uppercase;
}

.coll-bar{
  position:sticky;top:52px;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(0,0,0,.97);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.coll-filters{display:flex;overflow-x:auto;}
.coll-filters .sf{
  padding:.9rem 1.4rem;border-right:1px solid var(--border);
  white-space:nowrap;flex-shrink:0;background:none;
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;
}
.coll-bar-right{display:flex;align-items:center;gap:0;flex-shrink:0;}
.coll-showing{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--label);text-transform:uppercase;padding:0 1.5rem;
}
.coll-sort{
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  color:var(--text-muted);text-transform:uppercase;background:transparent;
  border:none;border-left:1px solid var(--border);outline:none;
  padding:.9rem 1.4rem;cursor:none;appearance:none;
}

.coll-feature{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--border);
}
.cf-img{
  background:#080808;border-right:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  padding:3rem;aspect-ratio:1;
}
.cf-img img{max-width:100%;max-height:100%;object-fit:contain;
  box-shadow:0 30px 80px rgba(0,0,0,.7);}
.cf-info{
  padding:4.5rem 4rem;display:flex;flex-direction:column;
  justify-content:center;gap:1.5rem;
}
.cf-label{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;
  color:var(--label);text-transform:uppercase;
}
.cf-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(26px,3.2vw,44px);letter-spacing:-.02em;line-height:1.02;
  color:var(--text-strong);
}
.cf-sub{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  color:var(--label);text-transform:uppercase;margin-top:-.75rem;
}
.cf-meta{display:flex;align-items:center;gap:1.5rem;}
.cf-price{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:38px;letter-spacing:-.02em;color:var(--text-strong);
}
.coll-foot{
  padding:3rem 2rem;display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--border);
}
.empty-state{
  grid-column:1/-1;padding:5rem 2rem;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  color:var(--label);text-transform:uppercase;
}

/* ── PRODUCT PAGE ─────────────────────────────────────────────────────── */
.prod-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 52px);}
.prod-img-col{
  border-right:1px solid var(--border);position:sticky;top:52px;
  height:calc(100vh - 52px);display:flex;flex-direction:column;background:#060606;
}
.prod-main{
  flex:1;display:flex;align-items:center;justify-content:center;
  position:relative;padding:3rem;overflow:hidden;
}
#prod-main-img{
  max-width:100%;max-height:100%;object-fit:contain;display:block;
  transition:opacity .35s var(--ease);
  box-shadow:0 40px 100px rgba(0,0,0,.75);
}
.prod-count{
  position:absolute;bottom:1.5rem;right:2rem;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--label);text-transform:uppercase;
}
.prod-thumbs{display:flex;border-top:1px solid var(--border);height:96px;}
.pthumb{
  flex:0 0 96px;background:#0a0a0a;border:none;border-right:1px solid var(--border);
  padding:.6rem;cursor:none;opacity:.45;transition:opacity .3s var(--ease);
}
.pthumb img{width:100%;height:100%;object-fit:contain;display:block;}
.pthumb:hover,.pthumb.active{opacity:1;}
.pthumb.active{background:#111;}

#prod-info-col{
  padding:3.5rem 4rem;overflow-y:auto;max-height:calc(100vh - 52px);
  display:flex;flex-direction:column;
}
.prod-crumb{
  display:flex;align-items:center;gap:.8rem;margin-bottom:2.5rem;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--label);text-transform:uppercase;
}
.prod-crumb .dim{color:rgba(237,234,228,.24);}
.prod-crumb span:first-child{cursor:none;transition:color .25s;}
.prod-crumb span:first-child:hover{color:var(--text-strong);}
#prod-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(26px,3vw,42px);letter-spacing:-.02em;line-height:1.05;
  margin-bottom:.6rem;color:var(--text-strong);
}
.prod-sub{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  color:var(--label);text-transform:uppercase;margin-bottom:.9rem;
}
.prod-ref{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--label-dim);text-transform:uppercase;margin-bottom:2.5rem;
}
.prod-pricebar{
  display:flex;align-items:center;gap:1.4rem;
  padding-bottom:2.5rem;margin-bottom:2.5rem;
  border-bottom:1px solid var(--border);
}
.prod-price{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(30px,2.9vw,44px);letter-spacing:-.02em;color:var(--text-strong);
}
.prod-status{
  margin-left:auto;display:flex;align-items:center;gap:.45rem;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  color:var(--text-muted);text-transform:uppercase;
}
.prod-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 2.5rem;}
.ptag{
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  color:var(--label);text-transform:uppercase;
  border:1px solid rgba(237,234,228,.16);padding:.35rem .7rem;
}
.prod-specs-wrap{margin-bottom:2.5rem;}
.prod-specs{width:100%;border-collapse:collapse;}
.prod-specs td{
  padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.045);
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;
}
.prod-specs td:first-child{width:42%;}
.prod-specs td:last-child{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  text-transform:none;letter-spacing:0;font-weight:400;
}
.prod-cta{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem;}
.prod-cta button{width:100%;justify-content:center;}

/* ── HORIZONTAL RAIL (related / recently viewed) ──────────────────────── */
.rail{
  display:flex;overflow-x:auto;border-top:1px solid var(--border);
  scroll-snap-type:x mandatory;
}
.rail-card{
  flex:0 0 clamp(220px,24vw,300px);
  border-right:1px solid var(--border);cursor:none;
  scroll-snap-align:start;transition:background .4s var(--ease);
}
.rail-card:hover{background:rgba(255,255,255,.015);}
.rail-img{
  aspect-ratio:1;background:#080808;padding:1.5rem;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.rail-img img{
  max-width:100%;max-height:100%;object-fit:contain;
  transition:transform 1.1s var(--ease-slow);
}
.rail-card:hover .rail-img img{transform:scale(1.05);}
.rail-info{padding:1.2rem 1.4rem;border-top:1px solid var(--border);}
.rail-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:700;
  font-size:15px;line-height:1.25;color:var(--text);margin-bottom:.7rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.rail-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:17px;color:var(--text-strong);
}

/* ── SEARCH ───────────────────────────────────────────────────────────── */
.srch-meta{
  padding:.7rem 2rem;border-bottom:1px solid var(--border);
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  color:var(--label);text-transform:uppercase;
}
.srch-thumb{
  width:56px;height:56px;background:#0d0d0d;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;padding:.3rem;
}
.srch-thumb img{max-width:100%;max-height:100%;object-fit:contain;}
.srch-result{grid-template-columns:56px 1fr auto;}

/* ── CART THUMBNAILS ──────────────────────────────────────────────────── */
.cart-thumb{background:#0d0d0d;padding:.35rem;}
.cart-thumb img{width:100%;height:100%;object-fit:contain;}

/* ── STATEMENT NUMBER LIT STATE ───────────────────────────────────────── */
#stnum.lit{color:rgba(255,255,255,.92)!important;}@media(max-width:900px){
  .prod-layout{grid-template-columns:1fr;}
  .prod-img-col{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--border);}
  .prod-main{height:60vh;padding:2rem;}
  #prod-info-col{max-height:none;overflow:visible;padding:2.5rem 1.5rem;}
  .coll-feature{grid-template-columns:1fr;}
  .cf-img{border-right:none;border-bottom:1px solid var(--border);aspect-ratio:4/3;padding:2rem;}
  .cf-info{padding:3rem 1.5rem;}
  #coll-hero{height:48vh;min-height:320px;padding:2rem 1.25rem;}
  .coll-bar{flex-direction:column;align-items:stretch;}
  .coll-bar-right{justify-content:space-between;border-top:1px solid var(--border);}
}@media(max-width:600px){
  .pgrid{grid-template-columns:1fr 1fr;}
  .rail-card{flex:0 0 68vw;}
}

/* ══ MASTER LOGO ARTWORK ═══════════════════════════════════════════════════
   The supplied PNG is used verbatim — 1280×720 canvas with the wordmark
   centred inside it. Because the canvas carries transparent margin, sizing
   is done on the CANVAS and the visible mark reads smaller. Ratios below
   are set so the visible wordmark lands at the intended optical size.
   Never scale non-uniformly. Never apply letter-spacing. Never redraw.   */

/* HERO — the mark, centred, nothing else */
#hl{
  width:auto!important;
  height:clamp(180px,26vw,400px)!important;   /* canvas height */
  max-width:92vw;
  object-fit:contain;display:block;
  opacity:0;transform:translateY(10px) scale(.985);
  transition:opacity 1.6s var(--ease-slow),transform 1.6s var(--ease-slow);
  user-select:none;-webkit-user-drag:none;pointer-events:none;
}
#hl.on{opacity:1;transform:translateY(0) scale(1);}

/* NAV — canvas height is ~3.4× the visible wordmark height */
.nlogo{display:flex;align-items:center;height:100%;cursor:none;overflow:visible;}
.nlogo img{
  display:block;width:auto;
  height:var(--logo-canvas,52px);
  object-fit:contain;
  transition:height .85s var(--ease-slow),opacity .3s var(--ease);
  user-select:none;-webkit-user-drag:none;
  margin-left:-.35rem;           /* optical alignment against the canvas margin */
}
.nlogo:hover img{opacity:.82;}
#nav.at-top .nlogo img{height:130px;}

/* FOOTER */
.footer-mark{
  height:56px;width:auto;object-fit:contain;display:block;
  margin-left:-.35rem;opacity:.9;
}

/* COLLECTION WATERMARK — artwork, ghosted */
.coll-hero-title{
  position:absolute;left:-2%;top:50%;transform:translateY(-50%);
  width:104%;z-index:0;pointer-events:none;user-select:none;
  display:flex;align-items:center;
}
.coll-hero-title img{
  width:100%;height:auto;display:block;
  opacity:.035;
  filter:grayscale(1) brightness(3);
}@media(max-width:768px){
  .nlogo img{height:44px;}
  #nav.at-top .nlogo img{height:88px;}
  #hl{height:clamp(130px,34vw,240px)!important;}
  .footer-mark{height:44px;}
}

/* ══ TYPOGRAPHY — FINAL CONTRAST PASS ══════════════════════════════════════
   Feedback: body copy still too dark. Premium comes from restraint, not
   low contrast. Body copy now sits at near-white on black — roughly 15:1,
   comfortably above WCAG AAA. Nothing on the site drops below 60% white.  */

:root{
  --text:        #F5F2EC;                 /* body — near-white */
  --text-strong: #FFFFFF;
  --text-muted:  rgba(245,242,236,.86);
  --label:       rgba(245,242,236,.74);
  --label-dim:   rgba(245,242,236,.60);
}

/* Every paragraph, everywhere */
p, .sb, .psdesc, .collap-inner, .cat-body, .cat-lede,
#prod-desc, #page-about p, #page-sell p, #page-contact p{
  color:var(--text)!important;
  font-size:17.5px!important;
  line-height:1.82!important;
  letter-spacing:.007em!important;
  font-weight:400!important;
}

/* Lede paragraphs — the first line of each category */
.cat-lede{
  font-size:clamp(19px,1.5vw,23px)!important;
  line-height:1.62!important;
  color:var(--text-strong)!important;
  letter-spacing:.004em!important;
  max-width:34ch;
}

/* All monospace labels lift together */
.sh-label,.dh-label,.mlabel,.flabel,.srch-label,.cnum,.pref,
.field label,.stmt-sub,.cat-ref,.cat-caption,.cat-num,
.coll-stat-l,.prod-ref,.prod-sub,.fleg,.thd span{
  color:var(--label)!important;
  font-size:10.5px!important;
  letter-spacing:.22em!important;
}
.fleg{color:var(--label-dim)!important;}

/* Links, list items, nav */
.slink,.mc,footer li,.collap-hd,.nr a,.nr button,.sf{
  color:var(--text-muted)!important;
}
.slink:hover,.mc:hover,footer li:hover,.collap-hd:hover,
.nr a:hover,.nr button:hover,.sf:hover{color:var(--text-strong)!important;}
footer li{font-size:15.5px!important;letter-spacing:.005em!important;}

/* Forms — typing must be effortless */
.field input,.field textarea,.field select{
  color:var(--text-strong)!important;
  font-size:17.5px!important;
  border-bottom-color:rgba(245,242,236,.34)!important;
}
.field input::placeholder,.field textarea::placeholder{
  color:rgba(245,242,236,.42)!important;
}
.field input:focus,.field textarea:focus,.field select:focus{
  border-bottom-color:rgba(245,242,236,.78)!important;
}

/* Buttons */
.btn-primary{border-color:rgba(245,242,236,.5)!important;color:var(--text-strong)!important;}
.btn-ghost{border-color:rgba(245,242,236,.34)!important;color:var(--text)!important;}
.btn-ghost:hover{border-color:var(--text-strong)!important;}@media(max-width:768px){
  p,.sb,.psdesc,.collap-inner,.cat-body{font-size:16.5px!important;line-height:1.8!important;}
  .cat-lede{font-size:18px!important;}
}

/* ══ DIGITAL SHOWROOM ══════════════════════════════════════════════════════
   Category moments, not product cards. Gallery, not catalogue.           */

/* ── CATEGORY MOMENT — full-viewport editorial ─────────────────────────── */
.cat{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--border);background:#000;
  align-items:stretch;
}
.cat:nth-child(even) .cat-visual{order:2;border-right:none;border-left:1px solid var(--border);}
.cat:nth-child(even) .cat-content{order:1;}

.cat-visual{
  position:relative;overflow:hidden;background:#000;
  border-right:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
}

.cat.in 
.cat-visual::after{           /* subtle vignette, keeps the object floating */
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.55) 100%);
}
.cat-caption{
  position:absolute;bottom:1.75rem;left:2rem;right:2rem;z-index:2;
  font-family:var(--mono);text-transform:uppercase;
  opacity:0;transition:opacity 1.2s var(--ease) .8s;
}
.cat.in .cat-caption{opacity:1;}

.cat-content{
  padding:6rem 5rem;display:flex;flex-direction:column;
  justify-content:center;gap:1.75rem;
}
.cat-num{
  font-family:var(--mono);text-transform:uppercase;
  display:flex;align-items:center;gap:.9rem;
}
.cat-num::before{content:'';width:22px;height:1px;background:var(--red);flex-shrink:0;}
.cat-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(38px,5.2vw,82px);letter-spacing:-.025em;line-height:.94;
  text-transform:uppercase;color:var(--text-strong);
  opacity:0;transform:translateY(20px);
  transition:opacity 1.1s var(--ease) .15s,transform 1.1s var(--ease) .15s;
}
.cat.in .cat-name{opacity:1;transform:none;}
.cat-lede,.cat-body{
  opacity:0;transform:translateY(14px);
  transition:opacity 1s var(--ease),transform 1s var(--ease);
}
.cat.in .cat-lede{opacity:1;transform:none;transition-delay:.32s;}
.cat.in .cat-body{opacity:1;transform:none;transition-delay:.46s;}
.cat-body{max-width:46ch;}
.cat-cta{
  margin-top:1rem;opacity:0;transform:translateY(12px);
  transition:opacity .9s var(--ease) .6s,transform .9s var(--ease) .6s;
}
.cat.in .cat-cta{opacity:1;transform:none;}

/* Awaiting photography */
.cat-visual.pending{
  display:flex;align-items:center;justify-content:center;
  border:none;
}
.cat-visual.pending::before{
  content:attr(data-pending);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;
  color:rgba(245,242,236,.26);text-transform:uppercase;text-align:center;
  padding:2rem;z-index:2;
}
.cat-visual.pending::after{
  background:repeating-linear-gradient(-45deg,
    rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,
    transparent 1px,transparent 22px);
}

/* ── ENQUIRY BLOCK — the primary call to action ────────────────────────── */





.enquire-actions .btn-primary,
.enquire-actions .btn-ghost{padding:1.15rem 2.25rem;font-size:12.5px;letter-spacing:.2em;}

/* Routes — the four reasons people make contact */
.routes{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--border);
}
.route{
  padding:3.5rem 2.5rem;border-right:1px solid var(--border);
  display:flex;flex-direction:column;gap:1.1rem;cursor:none;
  transition:background .5s var(--ease);
}
.route:last-child{border-right:none;}
.route:hover{background:rgba(255,255,255,.022);}
.route:hover .route-arrow{transform:translateX(5px);color:var(--red);}
.route-num{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;
  color:var(--label-dim);text-transform:uppercase;
}
.route-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:21px;letter-spacing:-.01em;text-transform:uppercase;
  color:var(--text-strong);line-height:1.15;
}
.route-desc{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-size:15px!important;
  color:var(--text)!important;line-height:1.7!important;
}
.route-arrow{
  margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--label);transition:transform .35s var(--ease),color .35s var(--ease);
}

/* ── CATEGORY INDEX (categories page) ──────────────────────────────────── */
.cat-index{display:grid;grid-template-columns:repeat(3,1fr);}
.cat-tile{
  aspect-ratio:3/4;position:relative;overflow:hidden;cursor:none;
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  background:#000;
}


.cat-tile-label{
  position:absolute;inset:auto 0 0 0;padding:2rem;z-index:2;
  background:linear-gradient(to top,rgba(0,0,0,.9),transparent);
}
.cat-tile-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(22px,2.2vw,34px);letter-spacing:-.02em;line-height:1;
  text-transform:uppercase;color:var(--text-strong);
}
.cat-tile-num{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;
  color:var(--label);text-transform:uppercase;margin-bottom:.6rem;
}@media(max-width:900px){
  .cat{grid-template-columns:1fr;min-height:auto;}
  .cat:nth-child(even) .cat-visual{order:0;border-left:none;}
  .cat:nth-child(even) .cat-content{order:1;}
  .cat-visual{aspect-ratio:4/5;border-right:none;border-bottom:1px solid var(--border);}
  .cat-content{padding:3.5rem 1.5rem;}
  .routes{grid-template-columns:1fr 1fr;}
  .route{border-bottom:1px solid var(--border);}
  .route:nth-child(2n){border-right:none;}
  .cat-index{grid-template-columns:1fr 1fr;}
  
}@media(max-width:600px){
  .routes{grid-template-columns:1fr;}
  .route{border-right:none;}
  .cat-index{grid-template-columns:1fr;}
  
  .enquire-actions button{width:100%;}
}

/* Nav enquire — the one persistent call to action */
.nav-enquire{color:var(--red)!important;}
.nav-enquire:hover{color:var(--text-strong)!important;}
/* Prefilled subject flash */
#contact-subject.prefilled{border-bottom-color:var(--red)!important;}
/* Statement lit */
#stnum.lit{color:rgba(255,255,255,.92)!important;}

/* ══ FINAL TYPOGRAPHY PASS — optimise purely for readability ═══════════════
   Body copy now renders at full near-white. No supporting paragraph on the
   site sits below 88% white. Labels lifted to 80%. Optimised for an average
   office monitor, not a colour-calibrated studio display.                 */

:root{
  --text:        #FAF8F4;                  /* body — effectively white */
  --text-strong: #FFFFFF;
  --text-muted:  rgba(250,248,244,.92);
  --label:       rgba(250,248,244,.80);
  --label-dim:   rgba(250,248,244,.66);
}

p, .sb, .psdesc, .collap-inner, .cat-body, .route-desc,
#page-about p, #page-sell p, #page-contact p, 
.cat-lede{
  color:var(--text-strong)!important;
  font-size:clamp(20px,1.55vw,24px)!important;
  line-height:1.6!important;letter-spacing:.004em!important;max-width:34ch;
}
.lede-lg{
  color:var(--text-strong)!important;
  font-size:clamp(24px,2.6vw,40px)!important;
  line-height:1.42!important;letter-spacing:-.008em!important;
  max-width:24ch;font-weight:400!important;
}
.fleg{color:var(--label-dim)!important;}
.slink,.mc,footer li,.collap-hd,.nr a,.nr button{color:var(--text-muted)!important;}
.slink:hover,.mc:hover,footer li:hover,.collap-hd:hover,
.nr a:hover,.nr button:hover{color:var(--text-strong)!important;}
footer li{font-size:15.5px!important;}
.field input,.field textarea,.field select{
  color:var(--text-strong)!important;font-size:17.5px!important;
  border-bottom-color:rgba(250,248,244,.38)!important;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(250,248,244,.46)!important;}
.field input:focus,.field textarea:focus,.field select:focus{
  border-bottom-color:rgba(250,248,244,.82)!important;
}

/* ══ ONE BUTTON COMPONENT — identical everywhere ═══════════════════════════
   Same size, type, spacing, border, hover and animation. No variants.    */
.btn-rh{
  display:inline-flex;align-items:center;justify-content:center;
  gap:.75rem;
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  font-weight:900;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-strong);
  background:transparent;
  border:1px solid rgba(250,248,244,.36);
  padding:1.15rem 2.25rem;
  min-width:280px;
  cursor:none;
  position:relative;overflow:hidden;
  transition:border-color .45s var(--ease), color .45s var(--ease), transform .3s var(--ease);
}
.btn-rh::before{
  content:'';position:absolute;inset:0;background:var(--text-strong);
  transform:scaleX(0);transform-origin:left center;z-index:-1;
  transition:transform .55s var(--ease);
}
.btn-rh::after{
  content:'→';font-family:var(--mono);font-size:12px;
  transition:transform .45s var(--ease);
}
.btn-rh:hover{border-color:var(--text-strong);color:#000;}
.btn-rh:hover::before{transform:scaleX(1);}
.btn-rh:hover::after{transform:translateX(4px);}
.btn-rh:active{transform:scale(.985);}
.btn-rh > *{position:relative;z-index:1;}



/* Category supporting lines — the product names live here, not in headings */
.cat-lines{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;
  color:var(--label)!important;text-transform:uppercase;
  margin-top:-.5rem;
  opacity:0;transform:translateY(10px);
  transition:opacity .9s var(--ease) .24s,transform .9s var(--ease) .24s;
}
.cat.in .cat-lines{opacity:1;transform:none;}
.cat-tile-lines{
  font-family:var(--mono);text-transform:uppercase;margin-top:.5rem;
  line-height:1.7;
}

/* Opening statement block */
.lede-block{
  padding:9rem 2rem;border-bottom:1px solid var(--border);background:#000;
  display:flex;align-items:center;
}
.lede-inner{max-width:1100px;}@media(max-width:768px){
  p,.route-desc,
  .cat-lede{font-size:18.5px!important;}
  .lede-block{padding:5rem 1.5rem;}
  .btn-rh{min-width:100%;padding:1.05rem 1.5rem;font-size:11.5px;}
  
}

/* ══ FINAL POLISH — PRESENTATION PASS ══════════════════════════════════════ */

/* ── 1 · STATEMENT TYPOGRAPHY ──────────────────────────────────────────────
   Was AGC Regular 400 — at display size a condensed regular reads thin and
   reverts to looking like a system fallback. AGC Medium 500 with tightened
   tracking carries the same authority as the Black display type without
   shouting. Same size, same layout — only the typeface weight changes.   */
.lede-lg{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif!important;
  font-weight:500!important;
  font-size:clamp(25px,2.7vw,42px)!important;
  line-height:1.34!important;
  letter-spacing:-.018em!important;
  color:var(--text-strong)!important;
  max-width:26ch;
}

/* Category ledes take the same treatment for consistency */
.cat-lede{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif!important;
  font-weight:500!important;
  letter-spacing:-.012em!important;
  line-height:1.5!important;
}
.fleg{color:rgba(250,248,244,.74)!important;font-weight:500!important;}

/* Section heading rule reads stronger */
.sh-label::before,.dh-label::before{background:var(--red)!important;height:1px;width:18px;}

/* ── 3 · ABOUT PAGE OPACITY ──────────────────────────────────────────────── */
.about-mark{opacity:.13!important;}

/* ── 4 · BUTTON — one component, verified identical ─────────────────────── */
.btn-rh{
  display:inline-flex;align-items:center;justify-content:center;gap:.75rem;
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  font-weight:900;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  line-height:1;
  color:var(--text-strong);background:transparent;
  border:1px solid rgba(250,248,244,.4);
  padding:1.15rem 2.25rem;min-width:288px;height:52px;
  cursor:none;position:relative;overflow:hidden;isolation:isolate;
  transition:border-color .45s var(--ease),color .45s var(--ease),transform .3s var(--ease);
}
.btn-rh::before{
  content:'';position:absolute;inset:0;background:var(--text-strong);
  transform:scaleX(0);transform-origin:left center;z-index:-1;
  transition:transform .55s var(--ease);
}
.btn-rh::after{
  content:'→';font-family:var(--mono);font-size:12px;font-weight:400;
  transition:transform .45s var(--ease);
}
.btn-rh:hover{border-color:var(--text-strong);color:#000;}
.btn-rh:hover::before{transform:scaleX(1);}
.btn-rh:hover::after{transform:translateX(5px);}
.btn-rh:active{transform:scale(.985);}
.btn-rh:focus-visible{outline:1px solid var(--red);outline-offset:3px;}

/* ── 5 · MENU — restored, refined ───────────────────────────────────────── */
#mbtn{cursor:none;}
#mov{transition:opacity .6s var(--ease),visibility .6s;}
#mov .mni{transition:color .3s var(--ease),transform .7s var(--ease),
  opacity .7s var(--ease),padding-left .4s var(--ease);}
#mov.on .mni:nth-child(1){transition-delay:.05s;}
#mov.on .mni:nth-child(2){transition-delay:.1s;}
#mov.on .mni:nth-child(3){transition-delay:.15s;}
#mov.on .mni:nth-child(4){transition-delay:.2s;}
#mov.on .mni:nth-child(5){transition-delay:.25s;}

/* ── 6 · SPACING & ALIGNMENT ─────────────────────────────────────────────── */
.cat-content{gap:1.6rem;}
.cat-content > .cat-cta{margin-top:1.4rem;}
.enquire-inner h2{margin-bottom:1.85rem;}
.enquire-inner p{margin:0 auto 3rem;max-width:54ch;}
.routes .route{padding:3.5rem 2.5rem 3rem;}
.sh{padding:5.5rem 2rem 3.25rem;}

/* ── 7 · HOVER STATES — consistent easing everywhere ─────────────────────── */
.route,.cat-tile,.pstep,footer li,.mc,.slink,.nr a,.nr button{
  transition-timing-function:var(--ease)!important;
}
.cat-tile:hover .cat-tile-name{color:var(--text-strong);}
.cat-tile-name{transition:color .4s var(--ease);}
.pstep:hover .psname{color:var(--text-strong);}
.psname{transition:color .4s var(--ease);}@media(max-width:900px){
  .lede-lg{font-size:clamp(22px,4.4vw,30px)!important;max-width:100%;}
  .lede-block{padding:5rem 1.5rem;}
  .sh{padding:4rem 1.5rem 2.5rem;}
}@media(max-width:600px){
  .btn-rh{min-width:100%;padding:1.05rem 1.5rem;font-size:11.5px;height:50px;}
  
  .cat-content{padding:3.5rem 1.5rem;}
  .routes .route{padding:2.5rem 1.5rem;}
}

/* Ghost typography — present, not invisible */
.pgr .psn{color:rgba(250,248,244,.08)!important;}
.pgr .pstep:hover .psn{color:rgba(233,7,2,.22)!important;}
.coll-hero-title img{opacity:.055!important;}@media (prefers-reduced-motion: reduce){
}@media(max-width:900px){
}

/* ══ FINAL REVISION ════════════════════════════════════════════════════════ */

/* ── 1 · WE BUY LARGE COLLECTIONS ─────────────────────────────────────────
   Same oversized cinematic treatment the 48,210 used. Now clickable and
   doing commercial work. Power comes from scale and simplicity — no
   supporting copy added.                                                  */
#statement{
  min-height:88vh;display:flex;align-items:center;
  padding:0 2rem;border-bottom:1px solid var(--border);
  background:#000;overflow:hidden;
}
.stmt-link{
  display:flex;flex-direction:column;align-items:flex-start;
  background:none;border:none;padding:0;margin:0;
  cursor:none;text-align:left;width:100%;
}
.stmt-line{
  display:block;
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  font-weight:900;
  font-size:clamp(58px,12.5vw,190px);
  letter-spacing:-.042em;line-height:.86;
  text-transform:uppercase;
  color:rgba(250,248,244,.09);
  transition:color 1.6s var(--ease-slow),transform .9s var(--ease);
  will-change:color;
}
.stmt-line.in{color:rgba(250,248,244,.95);}
#stline2.in{transition-delay:.22s;}
.stmt-link:hover .stmt-line{color:#fff;}
.stmt-link:hover #stline2{transform:translateX(10px);}
.stmt-cue{
  display:inline-flex;align-items:center;gap:.6rem;
  margin-top:2.75rem;
  font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(250,248,244,.55);
  opacity:0;transform:translateY(8px);
  transition:opacity 1s var(--ease) .8s,transform 1s var(--ease) .8s,color .3s var(--ease);
}
.stmt-link.shown .stmt-cue{opacity:1;transform:none;}
.stmt-link:hover .stmt-cue{color:#fff;}
.stmt-link:focus-visible{outline:1px solid var(--red);outline-offset:12px;}

/* ── 7 · SPORTS CARDS — front / reverse ───────────────────────────────────
   Examining an object, not flipping a card. Straight cross-dissolve, no
   3D rotation. Component is generic: drop a -back.jpg beside any category
   image and add .has-reverse — no layout change required.                */





.cat.in 

.reverse-cue{
  position:absolute;top:1.75rem;right:2rem;z-index:3;
  font-family:var(--mono);font-size:10px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(250,248,244,.42);
  opacity:0;transition:opacity .7s var(--ease);
  pointer-events:none;
}
.cat-visual.has-reverse:hover .reverse-cue{opacity:1;color:rgba(250,248,244,.72);}
/* No reverse supplied — cue never shows */
.cat-visual:not(.has-reverse) .reverse-cue{display:none;}@media (hover:none){
  
  .reverse-cue{display:none;}
}@media(max-width:900px){
  #statement{min-height:70vh;padding:0 1.5rem;}
  .stmt-line{font-size:clamp(42px,13vw,90px);}
  .stmt-cue{margin-top:2rem;}
}

/* ══ FINAL CORRECTIONS ═════════════════════════════════════════════════════ */

/* ── 2 · MEMORABILIA — exhibited object, not full-bleed product shot ──────
   The baseball is a collectible in negative space. Object-fit contain plus
   a scale ceiling so it reads as an auction lot, not wallpaper.          */


.cat.in 


/* Exhibition chamber — baseball scaled to match the other lots */

/* ── 4+5 · FRONT / REVERSE — all three card categories ────────────────────
   Identical position and dimensions, natural aspect ratio, no crop of the
   grading slab. Crossfade only — no 3D flip.                             */



.cat-visual.has-reverse .face.back {opacity:0;}
.cat-visual.has-reverse:hover .face.front,
.cat-visual.has-reverse.flipped .face.front{opacity:0;}
.cat-visual.has-reverse:hover .face.back,
.cat-visual.has-reverse.flipped .face.back{opacity:1;}
.cat-visual.has-reverse:focus-visible{outline:1px solid var(--red);outline-offset:-2px;}

/* Understated micro-label — imagery stays the focus */
.reverse-cue{
  position:absolute;top:1.75rem;right:2rem;z-index:3;
  font-family:var(--mono);font-size:9.5px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(250,248,244,.34);
  opacity:0;transition:opacity .6s var(--ease),color .4s var(--ease);
  pointer-events:none;
}
.cat-visual.has-reverse:hover .reverse-cue{opacity:1;color:rgba(250,248,244,.6);}
.cat.in .cat-visual.has-reverse .reverse-cue{opacity:.55;}
.cat.in .cat-visual.has-reverse:hover .reverse-cue{opacity:1;}@media (hover:none),(pointer:coarse){
  .cat-visual.has-reverse .reverse-cue{
    opacity:1;color:rgba(250,248,244,.55);
    border:1px solid rgba(250,248,244,.2);
    padding:.4rem .7rem;top:1.25rem;right:1.25rem;
  }
  .cat-visual.has-reverse.flipped .reverse-cue{color:rgba(250,248,244,.85);}
  
  
  .cat-visual.has-reverse.flipped .face.front{opacity:0;}
  .cat-visual.has-reverse.flipped .face.back{opacity:1;}
  
}

/* ── 3 · CLOSING SECTION — deliberate grid, site-aligned ──────────────────
   Was pinned hard left with ad-hoc type. Now a two-column grid on the same
   2rem site margin, heading in the established display system.           */








@media(max-width:1100px){
  
  
  
  
  
}
@media(max-width:768px){
  
  
  
}

/* ══════════════════════════════════════════════════════════════════════════
   COLLECTIBLE IMAGE SYSTEM — single source of truth
   Every collectible is an object exhibited in black negative space.
   contain only. Full slab always visible. Nothing cropped, ever.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── HOMEPAGE CATEGORY SECTIONS ─────────────────────────────────────────── */
.cat-visual{
  position:relative;overflow:hidden;
  background:#000;
  border-right:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
}
.cat:nth-child(even) .cat-visual{border-right:none;border-left:1px solid var(--border);}

/* Shared face geometry — front and back occupy the identical bounding box */
.cat-visual .face{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:auto;height:auto;
  max-width:50%;              /* portrait slab/card/comic — 45–55% of width */
  max-height:68%;             /* 65–72% of visual area                      */
  object-fit:contain;         /* never crop                                  */
  display:block;
  filter:drop-shadow(0 30px 72px rgba(0,0,0,.92));
  transition:opacity .8s var(--ease-slow);
  will-change:opacity;
}
.cat-visual .face.front{opacity:1;}
.cat-visual .face.back{opacity:0;}
.cat-visual.has-reverse:hover .face.front,
.cat-visual.has-reverse.flipped .face.front{opacity:0;}
.cat-visual.has-reverse:hover .face.back,
.cat-visual.has-reverse.flipped .face.back{opacity:1;}
.cat-visual.has-reverse:focus-visible{outline:1px solid var(--red);outline-offset:-3px;}

/* Baseball — square object, smaller again: 30–38% of width */
.cat-visual.is-object .face{
  max-width:34%;
  max-height:46%;
}

/* Reveal — opacity only. No transform, so nothing can shift the object. */
.cat-visual .face{opacity:0;}
.cat.in .cat-visual .face.front{opacity:1;}
.cat.in .cat-visual.has-reverse:hover .face.front{opacity:0;}
.cat.in .cat-visual.has-reverse:hover .face.back{opacity:1;}
.cat.in .cat-visual.has-reverse.flipped .face.front{opacity:0;}
.cat.in .cat-visual.has-reverse.flipped .face.back{opacity:1;}

/* ── CATEGORIES PAGE TILES ──────────────────────────────────────────────── */
.cat-tile{
  position:relative;overflow:hidden;cursor:none;
  background:#000;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  aspect-ratio:3/4;
  display:flex;align-items:center;justify-content:center;
}
.cat-tile img{
  position:absolute;top:46%;left:50%;
  transform:translate(-50%,-50%) scale(1);
  width:auto;height:auto;
  max-width:46%;              /* object sits inside the tile               */
  max-height:52%;
  object-fit:contain;
  display:block;
  opacity:.82;
  filter:drop-shadow(0 22px 54px rgba(0,0,0,.9));
  transition:opacity .7s var(--ease),transform 1.1s var(--ease-slow);
}
.cat-tile:hover img{
  opacity:1;
  transform:translate(-50%,-50%) scale(1.025);   /* 2.5% — subtle */
}

/* ── MICRO-LABEL ────────────────────────────────────────────────────────── */
.reverse-cue{
  position:absolute;top:1.75rem;right:2rem;z-index:3;
  font-family:var(--mono);font-size:9.5px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(250,248,244,.3);
  opacity:0;transition:opacity .6s var(--ease),color .4s var(--ease);
  pointer-events:none;
}
.cat.in .cat-visual.has-reverse .reverse-cue{opacity:.5;}
.cat-visual.has-reverse:hover .reverse-cue{opacity:1;color:rgba(250,248,244,.62);}
.cat-visual:not(.has-reverse) .reverse-cue{display:none;}@media(max-width:900px){
  .cat-visual{aspect-ratio:4/5;border-right:none;border-bottom:1px solid var(--border);}
  .cat:nth-child(even) .cat-visual{border-left:none;}
  .cat-visual .face{max-width:52%;max-height:64%;}
  .cat-visual.is-object .face{max-width:36%;max-height:40%;}
  .cat-tile img{max-width:48%;max-height:50%;}
}@media(max-width:600px){
  .cat-visual .face{max-width:56%;max-height:62%;}
  .cat-visual.is-object .face{max-width:38%;max-height:38%;}
  .cat-tile img{max-width:52%;max-height:52%;}
}@media (hover:none),(pointer:coarse){
  .cat-visual.has-reverse .reverse-cue{
    opacity:1;color:rgba(250,248,244,.55);
    border:1px solid rgba(250,248,244,.2);
    padding:.4rem .7rem;top:1.25rem;right:1.25rem;
  }
  .cat-visual.has-reverse:hover .face.front{opacity:1;}
  .cat-visual.has-reverse:hover .face.back{opacity:0;}
  .cat.in .cat-visual.has-reverse.flipped .face.front{opacity:0;}
  .cat.in .cat-visual.has-reverse.flipped .face.back{opacity:1;}
}

/* ══════════════════════════════════════════════════════════════════════════
   SHARED CLOSING CTA — one component, every page. No page-level variants.
   ══════════════════════════════════════════════════════════════════════════ */
.cta{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:#000;
  padding:10rem 2rem;
}
.cta-grid{
  max-width:1560px;margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:5rem;align-items:start;
}
.cta-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  font-weight:900;
  font-size:clamp(38px,5.4vw,88px);
  letter-spacing:-.028em;line-height:.94;
  text-transform:uppercase;
  color:var(--text-strong);
  margin:0;
}
.cta-body{padding-top:.9rem;}
.cta-body p{max-width:46ch;margin:0 0 3rem;}
.cta-actions{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;}
.cta-actions .btn-rh{min-width:320px;}@media(max-width:1100px){
  .cta{padding:7rem 2rem;}
  .cta-grid{grid-template-columns:1fr;gap:3rem;}
  .cta-body{padding-top:0;}
  .cta-actions{width:100%;}
  .cta-actions .btn-rh{min-width:100%;}
}@media(max-width:768px){
  .cta{padding:5rem 1.5rem;}
  .cta-title{font-size:clamp(32px,9vw,54px);}
}

/* ── INTERIOR PAGE HERO — same grid and type system as everywhere else ──── */
.page-hero{
  border-bottom:1px solid var(--border);
  background:#000;padding:11rem 2rem 8rem;
}
.page-hero-grid{
  max-width:1560px;margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:5rem;align-items:start;
}
.page-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  font-weight:900;
  font-size:clamp(38px,5.4vw,88px);
  letter-spacing:-.028em;line-height:.94;
  text-transform:uppercase;color:var(--text-strong);margin:0;
}
.page-hero-body{padding-top:.9rem;}
.page-hero-body p{max-width:46ch;margin:0;}@media(max-width:1100px){
  .page-hero{padding:8rem 2rem 5rem;}
  .page-hero-grid{grid-template-columns:1fr;gap:2.5rem;}
  .page-hero-body{padding-top:0;}
}@media(max-width:768px){
  .page-hero{padding:6rem 1.5rem 4rem;}
  .page-title{font-size:clamp(32px,9vw,54px);}
}

/* ══ RENDERING ROBUSTNESS ══════════════════════════════════════════════════
   aspect-ratio and CSS grid are unsupported in older engines. Explicit
   fallbacks so tiles always have height and panels always have width.    */

/* Categories index — flex fallback under the grid */
.cat-index{
  display:flex;flex-wrap:wrap;      /* fallback */
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.cat-tile{
  flex:0 0 33.3333%;                /* fallback */
  min-height:420px;                 /* guarantees height without aspect-ratio */
}
  .cat-tile{min-height:0;aspect-ratio:3/4;}

/* Homepage category panel — guaranteed height */
.cat-visual{min-height:560px;}@media(max-width:900px){ .cat-visual{min-height:0;aspect-ratio:4/5;} }

/* Shared CTA + page hero — float fallback beneath the grid */
.cta-grid,.page-hero-grid{
  display:block;                    /* fallback */
  display:grid;
}
  .cta-grid,.page-hero-grid{display:grid;}@media(max-width:900px){
  .cat-tile{flex:0 0 50%;min-height:340px;}
}@media(max-width:600px){
  .cat-tile{flex:0 0 100%;min-height:300px;}
}

/* Tile label — explicit longhand + font-size fallbacks before clamp() */
.cat-tile-label{
  position:absolute;left:0;right:0;bottom:0;top:auto;
  padding:2rem;z-index:2;
  background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.55) 55%,transparent);
}
.cat-tile-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;
  font-weight:900;
  font-size:28px;                          /* fallback */
  font-size:clamp(22px,2.2vw,34px);
  letter-spacing:-.02em;line-height:1.05;
  text-transform:uppercase;color:#fff;
  margin:.35rem 0 .5rem;
  display:block;
}
.cat-tile-num{display:block;margin-bottom:.15rem;}
.cat-tile-lines{display:block;}

/* Same guard on the other clamp()-driven headings */
.cta-title{font-size:64px;font-size:clamp(38px,5.4vw,88px);}
.page-title{font-size:64px;font-size:clamp(38px,5.4vw,88px);}
.cat-name{font-size:60px;font-size:clamp(38px,5.2vw,82px);}
.stmt-line{font-size:120px;font-size:clamp(58px,12.5vw,190px);}

/* ── image loading + failure states ─────────────────────────────────── */
.img-box{position:relative;display:block;width:100%;height:100%;}
.img-box img{display:block;width:100%;height:100%;object-fit:contain;}
.img-box.img-loading::before{content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(255,255,255,.03) 30%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 70%);
  background-size:220% 100%;animation:rh-shimmer 1.4s linear infinite;}0%{background-position:120% 0}100%{background-position:-120% 0}
.img-box.img-failed{display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.10);}
.img-note{font-family:'Courier New',monospace;font-size:9px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(250,248,244,.45);text-align:center;padding:10px;}
.cat-tile .img-box{height:100%;}
.prod-main .img-box{height:100%;}

/* ── form delivery state ────────────────────────────────────────────── */
.form-state{margin-top:1.75rem;max-width:52ch;font-family:'Courier New',monospace;
  font-size:11.5px;letter-spacing:.08em;line-height:2.1;text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.12);padding-top:1.25rem;}
.form-state a{color:var(--red);text-decoration:none;border-bottom:1px solid rgba(233,7,2,.5);}
.form-state a:hover{color:#fff;border-bottom-color:#fff;}
.form-state-sub{opacity:.72;}@media(min-width:861px){
  .routes-1{grid-template-columns:1fr;}
  .routes-2{grid-template-columns:repeat(2,1fr);}
  .routes-3{grid-template-columns:repeat(3,1fr);}
}

/* Category tile awaiting photography — same language as .cat-visual.pending */
.cat-tile .tile-pending{
  width:100%;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(-45deg,
    rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,
    transparent 1px,transparent 22px);
}
.cat-tile .tile-pending::before{
  content:"Image to come";
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;
  color:rgba(245,242,236,.26);text-transform:uppercase;
}

/* Hero statement, optional subline (PDF 03 ships without one) */
.lede-sub{margin-top:1.5rem;max-width:52ch;}

/* About view (PDF 18) */
.about-hero{
  height:74vh;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--border);padding:0 2rem;text-align:center;
  position:relative;overflow:hidden;background:#000;
}
.about-hero-grid{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,transparent 1px,transparent 90px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,transparent 1px,transparent 40px);
}
.about-hero-inner{position:relative;z-index:2;max-width:900px;}
.about-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(34px,5.2vw,74px);letter-spacing:-.025em;line-height:1.02;
  text-transform:uppercase;color:var(--text-strong);
}
.about-points{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);}
.about-mark-panel{
  background:#000;border-right:1px solid var(--border);min-height:460px;
  display:flex;align-items:center;justify-content:center;padding:5rem;
}
.about-mark-panel .about-mark{width:78%;height:auto;}
.about-points-list{padding:5.5rem 4.5rem;display:flex;flex-direction:column;gap:3rem;justify-content:center;}
.about-point-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:17px;
  letter-spacing:-.01em;text-transform:uppercase;color:var(--text-strong);margin-bottom:.7rem;
}

/* Closing line (PDF 18) */
.rh-closing{padding:4rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;}@media (max-width:860px){
  .about-points{grid-template-columns:1fr;}
  .about-mark-panel{min-height:280px;padding:3rem;border-right:none;border-bottom:1px solid var(--border);}
  .about-points-list{padding:3.5rem 1.75rem;gap:2.25rem;}
  .rh-closing{flex-direction:column;align-items:flex-start;gap:.75rem;padding:3rem 1.75rem;}
}

/* ══ v4.1 — CATEGORIES DROPDOWN, FILTERS, LOADING, OBJECT PAGE ═════════════ */

/* ── Categories dropdown ──────────────────────────────────────────────────── */
.nav-parent{position:relative;display:inline-flex;align-items:center;}
.nav-trigger{
  display:inline-flex;align-items:center;gap:.45em;
  background:none;border:0;padding:0;cursor:none;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(250,248,244,.62);transition:color .3s var(--ease);
}
.nav-parent:hover .nav-trigger,
.nav-parent.is-open .nav-trigger,
.nav-trigger:focus-visible{color:#fff;}
.nav-caret{
  width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-1px);transition:transform .3s var(--ease);
}
.nav-parent.is-open .nav-caret{transform:rotate(225deg) translateY(-2px);}
.nav-drop{
  position:absolute;top:calc(100% + 1.1rem);left:50%;transform:translateX(-50%) translateY(-6px);
  min-width:232px;display:flex;flex-direction:column;
  background:#080808;border:1px solid var(--border);
  padding:.6rem 0;z-index:420;
  opacity:0;transition:opacity .28s var(--ease),transform .28s var(--ease);
}
.nav-parent.is-open .nav-drop{opacity:1;transform:translateX(-50%) translateY(0);}
.nav-drop[hidden]{display:none;}
.nav-drop-item{
  padding:.72rem 1.4rem;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(250,248,244,.66);transition:color .22s var(--ease),background .22s var(--ease);
}
.nav-drop-item:hover,.nav-drop-item:focus-visible{color:#fff;background:rgba(255,255,255,.04);}

/* ── Menu overlay: Categories expands in place ────────────────────────────── */
.mni-parent{display:block;}
.mni-parent .mni{
  width:100%;text-align:left;background:none;border:0;border-top:1px solid rgba(255,255,255,.04);
  display:flex;align-items:center;gap:1.1rem;cursor:none;
}
.mni-caret{
  width:10px;height:10px;margin-left:.6rem;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .3s var(--ease);opacity:.5;
}
.mni-parent.is-open .mni-caret{transform:rotate(225deg);}
.mni-sub{
  display:flex;flex-direction:column;gap:.1rem;
  padding:.9rem 0 1.4rem 3.2rem;
}
.mni-sub[hidden]{display:none;}

/* Inactive menu links were too dark to read against black. Raised to a
   legible value while the hovered item still goes to full white, so the
   hierarchy survives. */
#mov.mo .mni{color:rgba(250,248,244,.42);}
#mov.mo .mni:hover,#mov.mo .mni:focus-visible{color:#fff;}
.mc{color:rgba(250,248,244,.56);transition:color .22s var(--ease);}
.mc:hover,.mc:focus-visible{color:#fff;}

/* ── Collection filters ───────────────────────────────────────────────────── */
.rh-filters{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem 1.75rem;
  padding:1.6rem 2rem;border-bottom:1px solid var(--border);
}
.rh-filter{position:relative;}
.rh-filter-head{
  display:flex;align-items:center;gap:.6rem;cursor:none;list-style:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(250,248,244,.6);transition:color .22s var(--ease);
}
.rh-filter-head::-webkit-details-marker{display:none;}
.rh-filter[open] .rh-filter-head,.rh-filter-head:hover{color:#fff;}
.rh-filter-count{
  min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;font-size:9px;letter-spacing:0;border-radius:50%;
}
.rh-filter-body{
  position:absolute;top:calc(100% + .9rem);left:0;z-index:300;
  min-width:220px;max-height:50vh;overflow-y:auto;
  background:#080808;border:1px solid var(--border);padding:.5rem 0;
}
.rh-filter-opt{
  display:flex;align-items:center;gap:.7rem;padding:.55rem 1.1rem;cursor:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(250,248,244,.66);transition:color .2s var(--ease),background .2s var(--ease);
}
.rh-filter-opt:hover{color:#fff;background:rgba(255,255,255,.04);}
.rh-filter-opt.is-off{opacity:.3;}
.rh-filter-opt input{accent-color:var(--red);}
.rh-filter-n{margin-left:auto;opacity:.45;}

/* Price range — only rendered when prices are shown at all. Same mono
   treatment as the checkboxes, with the field on the right of its label. */
.rh-filter-range{min-width:220px;}
.rh-filter-range .rh-filter-opt{cursor:auto;}
.rh-filter-range .rh-filter-opt:hover{background:transparent;color:rgba(250,248,244,.66);}
.rh-filter-range input[type="number"]{
  margin-left:auto;width:96px;
  background:transparent;color:var(--text-strong);
  border:0;border-bottom:1px solid rgba(250,248,244,.3);
  padding:.3rem 0;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;
}
.rh-filter-range input[type="number"]:focus{outline:none;border-bottom-color:var(--red);}
.rh-filter-clear{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red);margin-left:auto;
}

/* ── Controlled loading ───────────────────────────────────────────────────── */
.rh-more{
  display:flex;flex-direction:column;align-items:center;gap:1.4rem;
  padding:5rem 2rem 6rem;border-top:1px solid var(--border);
}
.rh-more-count{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(250,248,244,.38);
}

/* Collection introduction */
.coll-intro{margin-top:1.5rem;max-width:56ch;}
.coll-intro p{margin:0 0 .8rem;}
.coll-intro p:last-child{margin-bottom:0;}

/* ── A tile or frame with no photograph yet ───────────────────────────────── */
/* Keeps the grid's rhythm. It carries no text: nothing is claimed about an
   object whose image has not arrived. */
.img-box.img-none{
  width:100%;aspect-ratio:4/5;display:block;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.028) 0%,transparent 62%),
    #000;
}
/* An intentionally empty frame must not also announce a failed image. */
.img-box.img-none .img-note{display:none;}

/* ── Object page ──────────────────────────────────────────────────────────── */
.prod-ref{margin-bottom:1.2rem;}
.prod-grade{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--red);margin-top:1.1rem;
}
.prod-price{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:500;
  font-size:19px;letter-spacing:-.01em;margin-top:1.4rem;color:var(--text-strong);
}
.prod-desc{margin-top:2.2rem;max-width:54ch;}
.prod-desc p{margin:0 0 1rem;}
.prod-desc p:last-child{margin-bottom:0;}

/* Details table — one row per populated field, nothing else */
.rh-specs{margin:2.8rem 0 0;display:flex;flex-direction:column;}
.spec-row{
  display:grid;grid-template-columns:minmax(120px,0.8fr) 1.2fr;gap:1.5rem;
  padding:.85rem 0;border-top:1px solid var(--border);
}
.spec-row:last-child{border-bottom:1px solid var(--border);}
.spec-key{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(250,248,244,.42);margin:0;
}
.spec-val{margin:0;font-size:14.5px;color:var(--text-strong);}

.prod-cta{margin-top:3rem;}
.prod-note{margin-top:1.1rem;color:rgba(250,248,244,.38);}

.prod-extras{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1px;background:var(--border);border-top:1px solid var(--border);
}
.prod-extra{background:#000;display:flex;align-items:center;justify-content:center;padding:3rem;}
.prod-extra img{max-width:100%;max-height:70vh;object-fit:contain;}

.prod-related{padding:5rem 0 0;border-top:1px solid var(--border);}
.prod-related .sh-label{padding:0 2rem 2.5rem;}

/* A category moment whose collection has nothing in it yet: text only, full
   width, no holding plate. */
.cat.cat-noimage{grid-template-columns:1fr;min-height:0;}
.cat.cat-noimage .cat-content{padding:4.5rem 2rem;}
.cat.cat-noimage .cat-name{font-size:clamp(30px,4vw,54px);}

/* On the signed-off build these buttons are <button> elements, which centre
   their text by user-agent default. The theme renders them as links, so a long
   label such as "INQUIRE ABOUT MAGIC: THE GATHERING" wrapped left-aligned on a
   phone. Stated explicitly so both read the same. */
.btn-rh{text-align:center;}

/* ── Product tile: the touch-only reverse control ─────────────────────────
   A tile is a link. On a pointer device the reverse shows on hover and this
   control is hidden, so the approved desktop tile is untouched. On a touch
   device there is no hover, so the cue appears and is the only thing that
   flips the card — a tap anywhere else opens the object. It is styled exactly
   as the cue already used on the category blocks. */
/* Deliberately NOT the shared .reverse-cue class: that one is declared three
   times with opacity:0 and pointer-events:none, because on the category blocks
   it is decoration that must never intercept the pointer. Here it is a control
   and has to be tappable, so it carries its own class and its own rules. */
.tile-reverse-cue{display:none;}
@media (hover:none),(pointer:coarse){
  .cat-tile.has-reverse .tile-reverse-cue{
    display:flex;align-items:center;justify-content:center;
    position:absolute;z-index:4;top:.75rem;right:.75rem;
    font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;
    opacity:1;color:rgba(250,248,244,.55);
    background:rgba(0,0,0,.55);
    border:1px solid rgba(250,248,244,.2);
    /* A 44px-high target, which is the smallest a thumb should have to find. */
    min-height:44px;padding:0 .8rem;
    pointer-events:auto;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .cat-tile.has-reverse.flipped .tile-reverse-cue{color:rgba(250,248,244,.9);}
  .cat-tile.has-reverse.flipped .face.front{opacity:0;}
  .cat-tile.has-reverse.flipped .face.back{opacity:1;}
}

/* The product tile carries its image box and its label and nothing else, as on
   the signed-off build. A third child was added here at one point; .cat-tile is
   a flex row, so it stole width from the image box and was then clipped by the
   tile's overflow. */
@media(max-width:860px){
  .rh-filters{padding:1.2rem 1.5rem;gap:.4rem 1.25rem;}
  .rh-filter-body{position:static;min-width:0;border:0;padding:.4rem 0 .8rem;background:transparent;}
  .rh-filter{width:100%;}
  .spec-row{grid-template-columns:1fr;gap:.3rem;}
  .mni-sub{padding-left:2.2rem;}
  .nav-drop{position:static;transform:none;min-width:0;border:0;background:transparent;}
  .prod-extra{padding:1.5rem;}
  .prod-related .sh-label{padding:0 1.5rem 1.75rem;}
}

/* Understated reply line under the Send button (brief §3). Body text, not a
   mono label. */
.form-note{
  margin-top:1rem;
  font-size:13px;color:rgba(250,248,244,.42);letter-spacing:0;text-transform:none;
}

/* ── Object page layout ───────────────────────────────────────────────────── */
/* Two columns on desktop, the object on the left, its record on the right.
   The visual reuses .cat-visual so it inherits the approved contained-on-black
   sizing, the reverse cue and the touch/keyboard flip. */
.prod{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 52px);}
.prod-visual{
  position:relative;background:#000;border-right:1px solid var(--border);
  min-height:min(86vh,900px);
}
.prod-visual .face{max-width:62%;max-height:76%;opacity:1;}
.prod-visual.has-reverse .face.back{opacity:0;}
.prod-visual.has-reverse:hover .face.front,
.prod-visual.has-reverse.flipped .face.front{opacity:0;}
.prod-visual.has-reverse:hover .face.back,
.prod-visual.has-reverse.flipped .face.back{opacity:1;}
.prod-content{padding:6rem 4.5rem;display:flex;flex-direction:column;justify-content:center;}
.prod-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(26px,2.6vw,40px);letter-spacing:-.02em;line-height:1.04;
  color:var(--text-strong);text-transform:none;
}

/* ══ HEADING CASE — one system ══════════════════════════════════════════════
   Display headings (page titles, category names, banner headings, the hero
   line) are uppercase. Recorded values — object titles, grades, certification
   numbers, set and player names — print exactly as recorded and are never
   transformed, so "1996 Topps NBA at 50" is not shouted back. */
.cat-tile-name,.prod-title,.spec-val,.prod-ref,.cat-caption{text-transform:none;}
.page-title,.cta-title,.cat-name,#coll-title,.about-title{text-transform:uppercase;}@media(max-width:860px){
  .prod{grid-template-columns:1fr;}
  .prod-visual{border-right:none;border-bottom:1px solid var(--border);min-height:62vh;}
  .prod-content{padding:3.5rem 1.75rem;}
}

/* ── Product card: front, with the reverse on hover ───────────────────────── */
/* The grid card reuses the same two-face markup as the category blocks, so it
   needs the same rules — without them both faces render and the reverse, being
   later in the document, covers the front. */
.cat-tile .img-box{position:relative;}
.cat-tile .face{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:auto;height:auto;max-width:62%;max-height:74%;
  object-fit:contain;transition:opacity .5s var(--ease);
}
.cat-tile .face.front{opacity:1;}
.cat-tile.has-reverse .face.back{opacity:0;}
.cat-tile.has-reverse:hover .face.front,
.cat-tile.has-reverse.flipped .face.front{opacity:0;}
.cat-tile.has-reverse:hover .face.back,
.cat-tile.has-reverse.flipped .face.back{opacity:1;}
.cat-tile .img-box{aspect-ratio:4/5;display:block;}@media(max-width:860px){
  .nav-drop{
    left:0;right:auto;
    transform:translateY(-6px);
    min-width:0;width:max-content;max-width:min(78vw,280px);
  }
  .nav-parent.is-open .nav-drop{transform:translateY(0);}
}
/* ══ FEATURED ITEMS ════════════════════════════════════════════════════════
   A curated exhibition. The object is the subject: it is given most of the
   frame, contained and never cropped, with just enough air around it to read
   as a gallery rather than a grid of product cards.

   The old vitrine was a landscape frame holding a portrait slab, so the object
   was height-constrained to about a third of the available width. The frame is
   portrait now and the object fills it. */

.featured{
  padding:clamp(3.5rem,6vh,6rem) clamp(1.5rem,4vw,4rem) clamp(3.5rem,6vh,5.5rem);
  border-bottom:1px solid var(--border);
  background:#000;
  position:relative;
}
/* No pool of light behind the objects. The photographs are shot on black with
   their own soft edge, so any glow behind them turns that edge into a visible
   rectangle. The drop shadow on the object itself does the lifting instead. */
.featured > *{position:relative;z-index:1;}

.feat-head{
  display:flex;flex-direction:column;gap:1.1rem;
  margin-bottom:clamp(2rem,3.5vh,3.5rem);
}
.feat-heading{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:clamp(30px,4.6vw,66px);letter-spacing:-.028em;line-height:.98;
  text-transform:uppercase;color:var(--text-strong);
}

.feat-rail{
  display:grid;
  gap:clamp(2.5rem,4vw,4.5rem);
  align-items:start;
}

/* ── The frame ───────────────────────────────────────────────────────────── */
.feat-frame{
  display:flex;align-items:center;justify-content:center;
  position:relative;cursor:none;
  width:100%;
  /* Portrait, so a slab or a comic sits tall inside it */
  aspect-ratio:3/4;
}
.feat-img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;                 /* the collectible is never cropped */
  filter:drop-shadow(0 34px 72px rgba(0,0,0,.95))
         drop-shadow(0 0 54px rgba(255,255,255,.055));
  transition:transform 1.1s var(--ease-slow),filter .8s var(--ease);
  will-change:transform;
}
.feat-frame:hover .feat-img,
.feat-frame:focus-visible .feat-img{
  transform:scale(1.022);
  filter:drop-shadow(0 38px 80px rgba(0,0,0,.95))
         drop-shadow(0 0 66px rgba(255,255,255,.085));
}
.feat-frame:focus-visible{outline:1px solid var(--red);outline-offset:6px;}

/* ── The record beside or beneath it ─────────────────────────────────────── */
.feat-rec{display:flex;flex-direction:column;align-items:flex-start;}
.feat-cat{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(250,248,244,.42);margin-bottom:1.1rem;
  display:flex;align-items:center;gap:.8rem;
}
.feat-cat::before{content:'';width:22px;height:1px;background:var(--red);flex:none;}
.feat-name{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  letter-spacing:-.018em;line-height:1.06;color:var(--text-strong);
  text-transform:none;                /* recorded values keep their own case */
}
.feat-det{
  font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  color:rgba(250,248,244,.52);margin-top:1rem;
}
.feat-cta{
  margin-top:1.9rem;background:none;border:0;padding:0;cursor:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(250,248,244,.72);
  display:inline-flex;align-items:center;gap:.8rem;
  transition:color .3s var(--ease);
}
.feat-cta::after{
  content:'';width:26px;height:1px;background:currentColor;
  transition:width .4s var(--ease),background .3s var(--ease);
}
.feat-cta:hover,.feat-item:hover .feat-cta{color:#fff;}
.feat-cta:hover::after,.feat-item:hover .feat-cta::after{width:44px;background:var(--red);}
.feat-cta:focus-visible{outline:1px solid var(--red);outline-offset:4px;color:#fff;}

/* ── One object: it takes the room ───────────────────────────────────────── */
/* Asymmetric rather than centred, so a lone object reads as deliberate
   rather than as a card that lost its siblings. */
.feat-rail[data-count="1"]{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center;
  gap:clamp(2.5rem,6vw,7rem);
}
.feat-rail[data-count="1"] .feat-item{display:contents;}
.feat-rail[data-count="1"] .feat-frame{
  aspect-ratio:auto;height:min(72vh,820px);
}
.feat-rail[data-count="1"] .feat-name{font-size:clamp(26px,3vw,46px);}
.feat-rail[data-count="1"] .feat-rec{padding-right:clamp(0rem,3vw,3rem);}

/* ── Two to four: a rail, each object still substantial ──────────────────── */
.feat-rail[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));}
.feat-rail[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));}
.feat-rail[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr));}
.feat-rail[data-count="2"] .feat-frame{height:min(66vh,760px);aspect-ratio:auto;}
.feat-rail[data-count="3"] .feat-frame{height:min(54vh,620px);aspect-ratio:auto;}
.feat-rail[data-count="4"] .feat-frame{height:min(48vh,560px);aspect-ratio:auto;}
.feat-rail[data-count="2"] .feat-name{font-size:clamp(21px,2vw,30px);}
.feat-rail[data-count="3"] .feat-name{font-size:clamp(18px,1.5vw,24px);}
.feat-rail[data-count="4"] .feat-name{font-size:clamp(17px,1.2vw,21px);}
.feat-rail[data-count="2"] .feat-rec,
.feat-rail[data-count="3"] .feat-rec,
.feat-rail[data-count="4"] .feat-rec{margin-top:2.25rem;}

/* ── Tablet ──────────────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .feat-rail[data-count="3"],
  .feat-rail[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr));}
  .feat-rail[data-count="3"] .feat-frame,
  .feat-rail[data-count="4"] .feat-frame{height:min(52vh,600px);}
}

/* ── Phone: the object stays large and intentional ───────────────────────── */
@media(max-width:720px){
  .featured{padding:4.5rem 1.5rem 4rem;}
  .feat-rail,
  .feat-rail[data-count="1"],
  .feat-rail[data-count="2"],
  .feat-rail[data-count="3"],
  .feat-rail[data-count="4"]{
    grid-template-columns:1fr;
    gap:3.5rem;
  }
  /* The single-item layout stops being two columns, so its item needs to be a
     block again rather than contributing its children to the grid. */
  .feat-rail[data-count="1"] .feat-item{display:block;}
  .feat-rail[data-count="1"] .feat-frame,
  .feat-rail[data-count="2"] .feat-frame,
  .feat-rail[data-count="3"] .feat-frame,
  .feat-rail[data-count="4"] .feat-frame{
    height:min(64vh,560px);
  }
  .feat-rail[data-count="1"] .feat-name,
  .feat-rail[data-count="2"] .feat-name,
  .feat-rail[data-count="3"] .feat-name,
  .feat-rail[data-count="4"] .feat-name{font-size:clamp(22px,6vw,30px);}
  .feat-rail[data-count="1"] .feat-rec,
  .feat-rec{margin-top:2.25rem;padding-right:0;}
}



/* Footer columns. The standalone build carried these as inline styles on the
   <ul>, which the Shopify section does not reproduce, so without this the
   footer renders with browser default bullets and indent. */
footer .flabel{margin-bottom:1.5rem;}
footer ul{
  display:flex;flex-direction:column;gap:.65rem;
  list-style:none;margin:0;padding:0;
}
footer li{list-style:none;}

/* ══ STRUCTURAL STYLES PORTED FROM THE SIGNED-OFF BUILD ════════════════════
   On the approved site these layouts were inline styles on the elements. The
   Shopify sections emit the markup without them, so without this block the
   footer and the contact page render as unstyled stacked content. Values are
   taken from the signed-off build unchanged. */

/* Footer — three columns. Only responsive overrides existed before, with no
   base rule, so at desktop the grid never applied at all. */
footer{
  padding:5rem 2rem 3rem;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;
  border-top:1px solid var(--border);
}
/* Exactly the signed-off build's inline rule — no extra margin, wrap or gap,
   which pushed the mark down and out of line with the legal text. The mark and
   the legal line are already sized earlier in this stylesheet; declaring them
   again here overrode the approved sizes. */
.fbot{
  grid-column:1/-1;padding-top:2.5rem;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;
}

/* Contact page */
.rh-contact{width:100%;}
.rh-contact-inner{
  max-width:660px;margin:0 auto;padding:7rem 2rem;
  min-height:calc(100vh - 52px);
  display:flex;flex-direction:column;justify-content:center;gap:3.5rem;
}
.rh-form{display:flex;flex-direction:column;gap:2.5rem;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.rh-contact-foot{
  border-top:1px solid var(--border);padding-top:2.5rem;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem;
}
.rh-form .btn-rh{width:100%;justify-content:center;}

.form-success-title{
  font-family:'AGC','Helvetica Neue',Arial,sans-serif;font-weight:900;
  font-size:36px;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:1rem;
}
.form-success p{color:rgba(250,248,244,.62);}

/* The form error carries Bryce's exact wording and must read as a warning
   without shouting in red on black, which fails contrast at this size. */
.form-error{
  border-left:2px solid var(--red);padding:.9rem 0 .9rem 1.1rem;
  font-size:14px;color:rgba(250,248,244,.78);
}

/* The signed-off build takes the footer to two columns at 768px and trims its
   side padding at 420px, both already declared earlier in this stylesheet. A
   one-column override was added here and, coming later, won — so the footer
   stacked on tablets where the approved build still showed two columns. Only
   the contact form, which the standalone laid out inline, needs a rule here. */
@media(max-width:860px){
  .rh-contact-inner{padding:4.5rem 1.5rem;gap:2.5rem;}
  .field-row{grid-template-columns:1fr;gap:2rem;}
}
/* Homepage category positioning and spacing */
@media (min-width: 901px) {
  .cat[id^="cat-"]:not(.cat-noimage) {
    min-height: clamp(560px, 75vh, 720px);
  }

  .cat[id^="cat-"] .cat-content {
    order: 1;
    padding: 3rem;
  }

  .cat[id^="cat-"] .cat-visual {
    order: 2;
    min-height: 0;
    border-right: none;
    border-left: 1px solid var(--border);
  }
}/* Compact mobile homepage spacing */
@media (max-width: 900px) {
  #statement {
    min-height: 0;
    padding: 3rem 1.5rem !important;
  }

  .lede-block {
    padding: 2rem 1.5rem;
  }

  .featured {
    padding: 2.5rem 1.5rem;
  }

  .cat[id^="cat-"] {
    min-height: 0;
  }

  .cat[id^="cat-"] .cat-visual {
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .cat[id^="cat-"] .cat-visual .face {
    max-width: 72%;
    max-height: 82%;
  }

  .cat[id^="cat-"] .cat-content {
    padding: 1.75rem 1.5rem 2rem;
    gap: 1rem;
  }

  .cat[id^="cat-"] .cat-content > .cat-cta {
    margin-top: 0.5rem;
  }

  .routes .route {
    padding: 1.5rem;
    gap: 0.75rem;
  }
}/* Reduce About and Sell introduction spacing */
.about-hero {
  height: auto;
  min-height: 0;
  padding: 4rem 2rem;
}

.page-hero {
  padding: 4rem 2rem;
}

@media (max-width: 768px) {
  .about-hero,
  .page-hero {
    padding: 2.5rem 1.5rem;
  }
}/* Compact desktop homepage statement */
@media (min-width: 901px) {
  .lede-block {
    padding: 3rem 2rem;
  }
}/* MOBILE LAYOUT REPAIR */
@media (max-width: 900px) {

  /* Simple mobile header: logo and existing full menu */
  #nav {
    padding: 0 1rem;
    height: 60px;
  }

  #nav .nlogo {
    display: block !important;
    width: 120px;
    flex: 0 0 120px;
  }

  #nav .nlogo img {
    display: block;
    width: 100%;
    height: auto;
  }

  #nav .nr {
    gap: 0;
    margin-left: auto;
  }

  #nav .nr > .nav-parent,
  #nav .nr > a {
    display: none !important;
  }

  #nav #mbtn {
    display: flex !important;
    min-height: 44px;
  }

  /* Homepage categories: reliable image area */
  .cat[id^="cat-"] {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .cat[id^="cat-"] .cat-visual {
    order: 0;
    width: 100%;
    height: 380px;
    height: clamp(300px, 100vw, 440px);
    min-height: 0;
    aspect-ratio: auto;
    border-left: 0;
    border-right: 0;
  }

  .cat[id^="cat-"] .cat-content {
    order: 1;
    min-width: 0;
    padding: 1.75rem 1.25rem 2rem;
  }

  .cat[id^="cat-"] .cat-visual .face {
    max-width: 78%;
    max-height: 86%;
    visibility: visible;
  }

  .cat[id^="cat-"] .cat-visual .face.front {
    opacity: 1 !important;
  }

  .cat[id^="cat-"] .cat-visual .face.back {
    opacity: 0 !important;
  }

  .cat[id^="cat-"] .cat-visual.flipped .face.front {
    opacity: 0 !important;
  }

  .cat[id^="cat-"] .cat-visual.flipped .face.back {
    opacity: 1 !important;
  }

  /* Collection products: one column, titles below photos */
  .cat-index {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .cat-index .cat-tile {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    aspect-ratio: auto;
  }

  .cat-index .cat-tile .img-box {
    display: block;
    position: relative;
    width: 100%;
    height: 380px;
    height: clamp(300px, 100vw, 440px);
    aspect-ratio: auto;
  }

  .cat-index .cat-tile .face {
    max-width: 76%;
    max-height: 82%;
  }

  .cat-index .cat-tile-label {
    position: static;
    display: block;
    padding: 1rem 1.25rem 1.75rem;
    background: none;
  }

  .cat-index .cat-tile-name {
    font-size: 25px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  /* Shorter collection and About headers */
  #coll-hero {
    height: auto;
    min-height: 0;
    padding: 5rem 1.25rem 2rem;
  }

  .coll-hero-inner {
    position: relative;
  }

  .about-hero {
    height: auto;
    min-height: 0;
    padding: 3rem 1.25rem;
  }

  .about-mark-panel {
    min-height: 0;
    padding: 1.5rem;
  }

  .about-mark-panel .about-mark {
    width: 55%;
    max-width: 220px;
  }

  .about-points-list {
    padding: 2rem 1.25rem;
    gap: 1.75rem;
  }
}@media (max-width: 900px) {
  .cat-tile.has-reverse .tile-reverse-cue {
    top: 8px;
    right: 12px;
    padding: 12px 6px;
    border: none;
    background: transparent;
    font-size: 9px;
    letter-spacing: .12em;
    line-height: 20px;
    min-height: 44px;
    box-sizing: border-box;
    color: rgba(255, 255, 255, .7);
  }
}@media (max-width: 900px) {
  #mov .mni,
  #mov .mni:hover {
    padding-left: 0;
    padding-right: 0;
  }

  #mov .mni-parent .mni {
    gap: 0;
  }

  #mov .mni-caret {
    margin-left: auto;
    flex-shrink: 0;
  }
}/* Restore the normal cursor */
#cur { display: none !important; }
html body, body * { cursor: auto !important; }
body a, body button, body summary,
body [role="button"] { cursor: pointer !important; }
body input, body textarea { cursor: text !important; }
/* Collection cards: image above, title underneath at every width */
.cat-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
}

.cat-index .cat-tile {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
}

.cat-index .cat-tile .img-box {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: clamp(280px, 34vw, 520px) !important;
  aspect-ratio: auto !important;
  flex: none;
}

.cat-index .cat-tile .face {
  max-width: 80% !important;
  max-height: 86% !important;
  object-fit: contain;
}

.cat-index .cat-tile .cat-tile-label {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: 100%;
  box-sizing: border-box;
  padding: 20px 24px 28px !important;
  background: none !important;
}

.cat-index .cat-tile .cat-tile-name {
  font-size: clamp(22px, 1.8vw, 30px) !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}

@media (min-width: 601px) and (max-width: 900px) {
  .cat-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .cat-index {
    grid-template-columns: minmax(0, 1fr);
  }

  .cat-index .cat-tile .img-box {
    height: clamp(300px, 100vw, 440px) !important;
  }
}/* Mobile sliders: swipe instead of arrows */
@media (max-width: 600px) {
  .rh-slider-controls button {
    display: none !important;
  }
}/* Original box cursor, positioned directly without trailing */
@media (hover: hover) and (pointer: fine) and
       (prefers-reduced-motion: no-preference) {
  body.rh-cursor-active #cur {
    display: block !important;
    top: 0;
    left: 0;
    will-change: transform;
    transition: none !important;
  }

  html body.rh-cursor-active,
  html body.rh-cursor-active * {
    cursor: none !important;
  }
}/* Keep large-screen content within the same design width */
.featured,
.prod,
.prod-extras,
.prod-related,
.about-points {
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
}

/* Allow product text to wrap within its column */
.prod > *,
.about-points > *,
.feat-rail > * {
  min-width: 0;
}

.prod-content h1,
.feat-rec h3 {
  overflow-wrap: anywhere;
}/* About: scale desktop proportions together */
@media (min-width: 901px) {
  .about-points {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
  }

  .about-hero-inner {
    max-width: 100%;
  }

  .about-title {
    font-size: clamp(47px, 5.2vw, 100px);
  }

  .about-mark-panel {
    padding: clamp(50px, 5.56vw, 107px);
    min-height: clamp(350px, 32vw, 614px);
  }

  .about-points-list {
    padding:
      clamp(55px, 6.11vw, 117px)
      clamp(45px, 5vw, 96px);
    gap: clamp(30px, 3.33vw, 64px);
  }

  .about-point-title {
    font-size: clamp(15px, 1.18vw, 23px);
    margin-bottom: clamp(8px, .78vw, 15px);
  }

  .about-points-list p {
    font-size: clamp(18px, 1.53vw, 29px);
    line-height: 1.65;
  }
}/* Keep the statement's desktop proportions on wider screens */
@media (min-width: 901px) {
  #statement .stmt-line {
    font-size: clamp(112px, 12.5vw, 240px);
    line-height: .86;
  }

  #statement {
    padding-inline: clamp(24px, 2.22vw, 43px);
  }
}/* Product pages: proportional desktop sizing */
@media (min-width: 901px) {
  .prod {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .prod-content {
    min-width: 0;
    padding:
      clamp(60px, 6.67vw, 128px)
      clamp(45px, 5vw, 96px);
  }

  .prod-title {
    font-size: clamp(26px, 2.6vw, 50px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .prod-desc,
  .prod-desc p,
  .prod-desc li {
    font-size: clamp(18px, 1.53vw, 29px);
    line-height: 1.65;
  }

  .prod-desc {
    margin-top: clamp(24px, 2.44vw, 47px);
  }

  .prod-cta {
    margin-top: clamp(30px, 3.33vw, 64px);
  }

  .spec-row {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(16px, 1.67vw, 32px);
  }

  .spec-key,
  .spec-val {
    overflow-wrap: anywhere;
  }

  .spec-key {
    font-size: clamp(10px, .7vw, 13px);
  }

  .spec-val {
    font-size: clamp(15px, 1.01vw, 19px);
  }
}/* Collections and sliders: proportional desktop sizing */
@media (min-width: 901px) {
  .cat-index {
    max-width: 1920px;
    margin-inline: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cat-index .cat-tile .img-box {
    height: clamp(306px, 34vw, 653px) !important;
  }

  .cat-index .cat-tile .cat-tile-label {
    padding:
      clamp(16px, 1.39vw, 27px)
      clamp(18px, 1.67vw, 32px)
      clamp(22px, 1.94vw, 37px) !important;
  }

  .cat-index .cat-tile .cat-tile-name {
    font-size: clamp(22px, 1.8vw, 35px) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
  }

  section.rh-slider-section {
    max-width: 1920px;
    padding:
      clamp(40px, 4.44vw, 85px)
      clamp(30px, 3.33vw, 64px);
  }

  .rh-slider-section .rh-slider-heading h2 {
    font-size: clamp(45px, 5vw, 96px);
    line-height: 1.05;
  }

  .rh-slider-section .rh-slider-heading {
    margin-bottom: clamp(22px, 1.94vw, 37px);
  }

  .rh-slider-section .rh-product-slider {
    gap: clamp(18px, 1.67vw, 32px);
    grid-auto-columns:
      calc((100% - clamp(18px, 1.67vw, 32px) * 2) / 3);
  }

  .rh-slider-section .rh-slider-image {
    height: clamp(306px, 33.33vw, 640px);
    padding: clamp(16px, 1.39vw, 27px);
  }

  .rh-slider-section .rh-slider-product h3 {
    font-size: clamp(22px, 1.8vw, 35px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }
}/* Collection headings: proportional desktop text */
@media (min-width: 901px) {
  #coll-title {
    font-size: clamp(54px, 6vw, 115px);
    line-height: 1;
    overflow-wrap: anywhere;
  }

  #coll-hero {
    padding-inline: clamp(24px, 2.22vw, 43px);
  }

  .coll-hero-inner {
    width: 100%;
    max-width: 1834px;
    margin-inline: auto;
  }

  .coll-intro {
    font-size: clamp(18px, 1.53vw, 29px);
    line-height: 1.65;
  }
}

/* Contact banner: scale text and spacing together */
@media (min-width: 1101px) {
  .cta {
    padding:
      clamp(100px, 11.11vw, 213px)
      clamp(24px, 2.22vw, 43px);
  }

  .cta-grid {
    max-width: 1834px;
    gap: clamp(60px, 5.56vw, 107px);
  }

  .cta-grid > * {
    min-width: 0;
  }

  .cta-title {
    font-size: clamp(59px, 5.4vw, 104px);
    overflow-wrap: anywhere;
  }

  .cta-body p {
    font-size: clamp(18px, 1.53vw, 29px);
    line-height: 1.65;
    margin-bottom: clamp(36px, 3.33vw, 64px);
  }

  .cta-actions .btn-rh {
    min-width: min(100%, clamp(320px, 22.22vw, 427px));
    max-width: 100%;
    white-space: normal;
  }
}/* Featured products: consistent desktop proportions */
@media (min-width: 1025px) {
  .featured {
    max-width: 1920px;
    margin-inline: auto;
    padding:
      clamp(56px, 4vw, 77px)
      clamp(40px, 4vw, 77px);
  }

  .featured .feat-heading {
    font-size: clamp(47px, 4.6vw, 88px);
  }

  .featured .feat-head {
    margin-bottom: clamp(32px, 2.5vw, 48px);
  }

  .featured .feat-name {
    overflow-wrap: anywhere;
    line-height: 1.15;
  }

  .featured .feat-rail[data-count="1"] .feat-frame {
    height: clamp(500px, 40vw, 768px);
  }

  .featured .feat-rail[data-count="2"] .feat-frame {
    height: clamp(440px, 36vw, 691px);
  }

  .featured .feat-rail[data-count="3"] .feat-frame {
    height: clamp(340px, 28vw, 538px);
  }

  .featured .feat-rail[data-count="4"] .feat-frame {
    height: clamp(280px, 23vw, 442px);
  }

  .featured .feat-rail[data-count="1"] .feat-name {
    font-size: clamp(31px, 3vw, 58px);
  }

  .featured .feat-rail[data-count="2"] .feat-name {
    font-size: clamp(22px, 2vw, 38px);
  }

  .featured .feat-rail[data-count="3"] .feat-name {
    font-size: clamp(20px, 1.5vw, 29px);
  }

  .featured .feat-rail[data-count="4"] .feat-name {
    font-size: clamp(18px, 1.2vw, 23px);
  }
}/* Interior page headings: proportional desktop sizing */
@media (min-width: 1101px) {
  .page-hero {
    padding:
      clamp(135px, 12.22vw, 235px)
      clamp(24px, 2.22vw, 43px)
      clamp(98px, 8.89vw, 171px);
  }

  .page-hero-grid {
    max-width: 1834px;
    margin-inline: auto;
    gap: clamp(60px, 5.56vw, 107px);
  }

  .page-hero-grid > * {
    min-width: 0;
  }

  .page-hero .page-title {
    font-size: clamp(59px, 5.4vw, 104px);
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .page-hero-body p {
    font-size: clamp(18px, 1.53vw, 29px);
    line-height: 1.65;
  }
}