@font-face{
  font-family:"MerrixSans";
  src:url("../fonts/MerrixEN-Light.woff2") format("woff2");
  font-weight:300;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0100-024F,U+1E00-1EFF,U+2000-206F;
}
@font-face{
  font-family:"MerrixSans";
  src:url("../fonts/MerrixEN-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0100-024F,U+1E00-1EFF,U+2000-206F;
}
@font-face{
  font-family:"MerrixSans";
  src:url("../fonts/MerrixEN-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0100-024F,U+1E00-1EFF,U+2000-206F;
}
@font-face{
  font-family:"MerrixSans";
  src:url("../fonts/MerrixFA-Light.woff2") format("woff2");
  font-weight:300;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face{
  font-family:"MerrixSans";
  src:url("../fonts/MerrixFA-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face{
  font-family:"MerrixSans";
  src:url("../fonts/MerrixFA-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face{
  font-family:"MerrixInfo";
  src:url("../fonts/Merrix-Info.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#f1f0ec;
  --bg-soft:#f7f6f2;
  --card:#ffffff;
  --text:#111111;
  --muted:rgba(17,17,17,.62);
  --line:rgba(17,17,17,.1);
  --line-soft:rgba(17,17,17,.06);
  --header-h:88px;
  --drawer-w:420px;
  --menu-align:52px;
  --menu-gap:50px;
  --header-pad:24px;
  --logo-w:210px;
  --grid-gap:14px;
  --grid-w:min(1080px, calc(100vw - 80px));
  --order-w:var(--grid-w);
  --product-w:var(--grid-w);
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-en:"MerrixSans", sans-serif;
  --font-fa:"MerrixSans", sans-serif;
  --font-info:"MerrixInfo", sans-serif;
  --stories-sticky-h:150px;
  --stories-sticky-gap:24px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
  font-family:inherit;
}
html{
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(17,17,17,.22) transparent;
  font-family:var(--font-en);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-en);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body,input,button,textarea,select,option{font:inherit}
body :where(h1,h2,h3,h4,h5,h6,p,a,span,small,strong,em,b,i,li,label,figcaption,blockquote,dt,dd,th,td,button,input,textarea,select,option){
  font-family:var(--font-en);
}
:lang(fa),
[lang="fa"],
:lang(fa) *,
[lang="fa"] *,
:lang(ar),
[lang="ar"],
:lang(ar) *,
[lang="ar"] *{font-family:var(--font-fa)}
a,button{color:inherit;text-decoration:none}
.merrix-info{font-family:var(--font-info)!important}
img,video,svg{display:block;max-width:100%}
button{background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid rgba(17,17,17,.28);outline-offset:3px}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.side-drawer__inner::-webkit-scrollbar,
.order-drawer__inner::-webkit-scrollbar,
.product-panel__inner::-webkit-scrollbar{
  width:8px;
  height:8px;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
.side-drawer__inner::-webkit-scrollbar-track,
.order-drawer__inner::-webkit-scrollbar-track,
.product-panel__inner::-webkit-scrollbar-track{
  background:transparent;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.side-drawer__inner::-webkit-scrollbar-thumb,
.order-drawer__inner::-webkit-scrollbar-thumb,
.product-panel__inner::-webkit-scrollbar-thumb{
  background:rgba(17,17,17,.18);
  border:2px solid transparent;
  border-radius:999px;
  background-clip:padding-box;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
.side-drawer__inner::-webkit-scrollbar-thumb:hover,
.order-drawer__inner::-webkit-scrollbar-thumb:hover,
.product-panel__inner::-webkit-scrollbar-thumb:hover{
  background:rgba(17,17,17,.28);
  background-clip:padding-box;
}

.edge-trigger{
  position:fixed;
  left:0;
  top:0;
  width:48px;
  height:100vh;
  z-index:66;
  background:transparent;
}
.drawer-overlay{
  position:fixed;
  inset:0;
  background:rgba(17,17,17,.08);
  opacity:0;
  visibility:hidden;
  transition:opacity .24s ease, visibility .24s ease;
  z-index:67;
}
.side-drawer,
.order-drawer{
  position:fixed;
  top:0;
  width:var(--drawer-w);
  height:100vh;
  height:100dvh;
  background:var(--bg);
  z-index:68;
  overflow:hidden;
  transition:transform .42s var(--ease);
}
.side-drawer{left:0;transform:translateX(-100%)}
.order-drawer{right:0;transform:translateX(100%);border-left:1px solid var(--line-soft)}
body.drawer-open .side-drawer{transform:translateX(0)}
body.drawer-open .drawer-overlay{opacity:1;visibility:visible}

.side-drawer__inner{
  height:100%;
  padding:120px 42px 34px var(--menu-align);
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(17,17,17,.18) transparent;
}
.order-drawer__inner{
  height:100%;
  padding:calc(var(--header-h) + 24px) 22px 28px;
  overflow:auto;
}
.side-nav{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.side-nav__lang{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
  margin:0 0 16px;
}
.side-nav__lang-label{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.55;
}
.side-nav__lang-links{
  display:flex;
  align-items:center;
  gap:10px;
}
.side-nav__lang a{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.55;
}
.side-nav__lang a[aria-current="true"]{opacity:1}
.side-nav a{
  font-size:15.5px;
  line-height:1.08;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
}
.side-nav a:hover{opacity:.6}
.side-nav__blink,
.category-btn__blink{
  width:7px;
  height:7px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 auto;
  background:currentColor;
  animation:merrixBlink 1.15s ease-in-out infinite;
}
.side-nav__blink{margin-right:8px;vertical-align:middle}
@keyframes merrixBlink{
  0%, 100%{opacity:.18; transform:scale(.72)}
  50%{opacity:1; transform:scale(1)}
}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  height:var(--header-h);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 var(--header-pad);
  background:rgba(241,240,236,.96);
  backdrop-filter:blur(6px) saturate(110%);
  border-bottom:1px solid var(--line-soft);
  z-index:70;
}
.site-header__left{
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
}
.menu-btn{
  position:absolute;
  left:calc(var(--menu-align) - var(--header-pad));
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:12px;
  display:grid;
  align-content:center;
  gap:3px;
  transition:opacity .18s ease;
}
.menu-btn span{
  display:block;
  width:16px;
  height:1px;
  background:currentColor;
}
.brand{
  position:absolute;
  left:calc(var(--menu-align) - var(--header-pad) + var(--menu-gap));
  top:50%;
  transform:translateY(calc(-50% + 7px));
  transition:left .42s var(--ease), opacity .2s ease;
}
.brand__logo{width:var(--logo-w);height:auto}
@media (min-width:768px){
  .brand__logo{transform:scale(.93);transform-origin:center center;}
}
body.drawer-open .brand{left:calc(var(--menu-align) - var(--header-pad))}
body.drawer-open .menu-btn{opacity:0;pointer-events:none}

.site-search{
  justify-self:center;
  display:grid;
  justify-items:start;
  align-content:center;
  gap:3px;
  min-width:156px;
  font-size:12px;
  font-weight:300;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.site-search__line{
  width:156px;
  height:1px;
  background:currentColor;
  transform-origin:left center;
  transition:transform .36s var(--ease);
}

.site-search:hover .site-search__line{transform:scaleX(1.08)}
.site-header__right{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.header-link{display:inline-flex;align-items:center;gap:6px}
.fa-link{font-family:var(--font-fa);text-transform:none;letter-spacing:0;font-size:11px}
.lang-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;opacity:.78}
.header-action--login span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.icon-link svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.header-action{font:inherit}
.page-main{padding-top:var(--header-h)}

.home-browser{
  width:var(--grid-w);
  margin:0 auto;
  padding:96px 0 24px;
  display:grid;
  justify-items:center;
  text-align:center;
}
.home-script{
  margin:0 0 10px;
  font-family:var(--font-info);
  font-size:32px;
  line-height:.9;
}
.home-browser h1{
  margin:0;
  font-size:clamp(44px, 5.2vw, 74px);
  font-weight:300;
  letter-spacing:-.045em;
  line-height:.95;
  text-transform:uppercase;
}
.category-strip{
  position:sticky;
  top:var(--header-h);
  z-index:40;
  width:100%;
  margin:18px auto 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 22px;
  padding:12px 0 14px;
  background:var(--bg);
  border-bottom:0;
}
.category-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  font-size:12px;
  font-weight:300;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.55;
  transition:opacity .24s ease;
}
.category-btn::after{display:none}
.category-btn:hover,
.category-btn.is-active{opacity:1}
.category-btn.is-active::after{transform:scaleX(1)}
.index-grid{
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--grid-gap);
}
.index-tile{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#e6e1d7;
}
.index-tile img,
.index-tile video{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s var(--ease);
}
.index-tile::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.24));
  opacity:.44;
  transition:opacity .28s ease;
}
.index-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .3s ease, transform .3s var(--ease);
}
.index-overlay strong{
  display:block;
  width:min(88%, 11ch);
  margin:0 auto;
  font-size:clamp(28px, 2.8vw, 52px);
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1.3;
  color:rgba(255,255,255,.56);
  text-transform:uppercase;
  text-align:center;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.index-tile:hover::after,
.index-tile:focus-visible::after{opacity:.7}
.index-tile:hover .index-overlay,
.index-tile:focus-visible .index-overlay{opacity:1;transform:none}
.index-tile:hover img,
.index-tile:hover video,
.index-tile:focus-visible img,
.index-tile:focus-visible video{transform:scale(1.03)}

.cart-kicker{
  margin:0 0 8px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.6;
}
.cart-drawer__head h2,
.order-hero h1,
.summary-card h2{
  margin:0;
  font-size:32px;
  font-weight:300;
  letter-spacing:-.04em;
  line-height:.95;
  text-transform:uppercase;
}
.cart-items{
  display:grid;
  gap:18px;
}
.cart-item{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:16px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.cart-item__media{aspect-ratio:.82/1;background:#e6e0d5;overflow:hidden}
.cart-item__media img{width:100%;height:100%;object-fit:cover}
.cart-item__content{display:grid;gap:10px}
.cart-item__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.cart-item__title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}
.cart-item__meta{font-size:11px;line-height:1.45;letter-spacing:.04em;text-transform:uppercase;opacity:.62}
.cart-item__price{font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.cart-item__actions{display:flex;align-items:center;justify-content:space-between;gap:16px}

.order-shell{
  padding:calc(var(--header-h) + 36px) 0 64px;
}
.order-hero{
  width:var(--order-w);
  margin:0 auto 34px;
}
.order-hero__sub{
  max-width:560px;
  margin:14px 0 0;
  font-size:14px;
  line-height:1.62;
  color:var(--muted);
}
.order-layout{
  width:var(--order-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.6fr) minmax(300px, .84fr);
  gap:38px;
  align-items:start;
}
.order-column--summary{position:sticky;top:calc(var(--header-h) + 22px)}
.cart-items--page{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:34px 22px;
}
.cart-card{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:14px;
}
.cart-card__media{
  display:block;
  aspect-ratio:.78/1;
  overflow:hidden;
  background:#e6e0d5;
}
.cart-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cart-card__content{
  display:grid;
  gap:10px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.cart-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.cart-card__title{
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.25;
  text-transform:uppercase;
}
.cart-card__meta{
  font-size:11px;
  line-height:1.5;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.62;
}
.cart-card__footer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:end;
}
.cart-card__price{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  justify-self:end;
}
.cart-card__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  grid-column:1 / -1;
}
.qty-control{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(17,17,17,.14);
  min-height:34px;
}
.qty-control button{
  width:34px;
  height:34px;
  font-size:16px;
  line-height:1;
}
.qty-control span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:34px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cart-remove{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.58;
}
.add-sample-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:24px;
  padding:0 16px;
  border:1px solid rgba(17,17,17,.12);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.summary-card{
  padding:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.18);
}
.summary-card + .summary-card{margin-top:16px}
.summary-card__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.summary-card__head span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.58}
.summary-card--soft{background:transparent}
.cart-summary{display:grid;gap:10px}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.summary-row--total{padding-top:12px;border-top:1px solid var(--line);font-weight:700}
.primary-action,
.checkout-method button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border:1px solid #111;
  background:#111;
  color:#f7f6f2;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.primary-action--full{width:100%;margin-top:18px}
.checkout-method{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.checkout-method:last-of-type{border-bottom:0}
.checkout-method strong{display:block;margin:0 0 4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.checkout-method p{margin:0;font-size:13px;line-height:1.56;color:var(--muted)}
.summary-note{margin:16px 0 0;font-size:12px;line-height:1.56;color:var(--muted)}
.empty-cart{padding:10px 0 2px}
.empty-cart strong{display:block;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.empty-cart p{margin:8px 0 0;font-size:13px;color:var(--muted)}

.footer-stage{position:relative;height:148vh;margin-top:30px}
.footer-cover{position:sticky;top:0;height:100vh;background:var(--bg);border-top:1px solid rgba(17,17,17,.1);transform:translateY(100%);will-change:transform}
.footer-inner{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:34px;padding:62px 22px}
.footer-newsletter{display:grid;gap:13px;justify-items:center;width:min(430px,100%)}
.footer-newsletter label,.footer-columns h3,.footer-columns a{text-transform:uppercase}
.footer-newsletter label{font-size:13px;font-weight:300;letter-spacing:.08em}
.footer-newsletter__field{width:min(320px,100%);height:32px;border-bottom:1px solid #111;display:flex;align-items:flex-end}
.footer-newsletter input{width:100%;height:28px;border:0;outline:none;background:transparent;padding:0 0 4px;text-align:center}
.footer-social{display:flex;gap:22px;align-items:center}
.footer-social a{width:19px;height:19px;color:#111}
.footer-social svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.footer-columns{display:flex;gap:120px}
.footer-columns div{text-align:center}
.footer-columns h3{margin:0 0 12px;font-size:14px;font-weight:400;letter-spacing:.08em}
.footer-columns a{display:block;margin-top:11px;font-size:13px;font-weight:300;letter-spacing:.08em}
.footer-top{position:absolute;right:26px;bottom:26px;width:18px;height:18px}
.footer-top svg{width:18px;height:18px;stroke:#111;stroke-width:1.2;fill:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .72s var(--ease), transform .72s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

.placeholder-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  gap:18px;
  padding:calc(var(--header-h) + 40px) 20px 48px;
  text-align:center;
}
.placeholder-shell h1{
  margin:0;
  font-size:clamp(38px,5vw,64px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:.95;
  text-transform:uppercase;
}
.placeholder-shell p{max-width:620px;margin:0;font-size:15px;line-height:1.6;color:var(--muted)}

@media (max-width:1180px){
  :root{
    --grid-w:min(980px, calc(100vw - 56px));
    --order-w:min(1080px, calc(100vw - 56px));
    --product-w:min(1280px, calc(100vw - 56px));
    --drawer-w:392px;
  }
}
@media (max-width:980px){
  :root{
    --header-h:79px;
    --logo-w:192px;
    --menu-align:36px;
    --menu-gap:46px;
    --header-pad:16px;
    --grid-w:calc(100vw - 24px);
    --order-w:calc(100vw - 24px);
    --product-w:calc(100vw - 24px);
    --grid-gap:10px;
  }
  body.drawer-open,
  .site-header{grid-template-columns:1fr auto}
  .site-search{display:none}
  .site-header__right .fa-link{display:inline-flex}
  .header-action span{display:none}
  .header-action svg{width:18px;height:18px}
  .side-drawer,
  .order-drawer{width:100vw}
  .side-drawer__inner{padding:104px 24px 28px var(--menu-align)}
  .order-drawer__inner{padding:calc(var(--header-h) + 18px) 16px 18px}
  .home-browser{padding:84px 0 20px}
  .index-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .order-shell{padding-top:calc(var(--header-h) + 24px)}
  .order-layout{grid-template-columns:1fr;gap:22px}
  .order-column--summary{position:static}
  .cart-items--page{grid-template-columns:repeat(2, minmax(0,1fr));gap:26px 16px}
  .footer-columns{flex-direction:column;gap:28px}
}
@media (max-width:640px){
  :root{
    --header-h:83px;
    --logo-w:184px;
    --menu-gap:56px;
  }
  .brand{transform:translateY(calc(-50% + 6px))}
  .home-script{font-size:26px}
  .home-browser h1{font-size:31px}
  .category-strip{gap:10px 14px}
  .category-btn{font-size:11px}
  .index-grid{gap:8px}
  .cart-item{grid-template-columns:84px minmax(0,1fr);gap:12px}
  .cart-items--page{grid-template-columns:1fr;gap:22px}
  .summary-card{padding:18px}
  .checkout-method{flex-direction:column;align-items:flex-start}
}
@media (hover:none){
  .index-overlay{opacity:1;transform:none}
}

/* V20 Product Page */
.product-browser{
  width:var(--product-w);
  margin:0 auto;
  padding:calc(var(--header-h) + 30px) 0 18px;
}
.product-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:38px;
  align-items:end;
  padding:0 0 22px;
  border-bottom:1px solid var(--line);
}
.product-hero h1{
  margin:0;
  font-size:clamp(40px, 5vw, 78px);
  font-weight:300;
  letter-spacing:-.055em;
  line-height:.92;
  text-transform:uppercase;
}
.product-hero__intro{
  margin:0;
  font-size:14px;
  line-height:1.74;
  color:var(--muted);
}
.product-hero__facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  margin-top:18px;
}
.product-hero__facts span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(17,17,17,.1);
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.product-controls{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:22px 0 28px;
}
.product-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
}
.product-tab{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 0 8px;
  font-size:12px;
  font-weight:300;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.54;
  transition:opacity .24s ease;
}
.product-tab::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.product-tab:hover,
.product-tab.is-active{opacity:1}
.product-tab.is-active::after{transform:scaleX(1)}
.product-sorter{
  display:grid;
  gap:8px;
  min-width:190px;
}
.product-sorter label{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.58;
}
.product-sorter select{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-bottom:1px solid rgba(17,17,17,.2);
  background:transparent;
  min-height:34px;
  padding:0 20px 6px 0;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:var(--grid-gap);
}
.product-card{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:12px;
}
.product-card__media{
  position:relative;
  display:block;
  aspect-ratio:.82/1;
  overflow:hidden;
  background:#ebe6dc;
}
.product-card__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .45s ease, transform .8s var(--ease), filter .28s ease;
}
.product-card__media img:first-child{opacity:1}
.product-card__media img:last-child{opacity:0}
.product-card:hover .product-card__media img:first-child,
.product-card:focus-within .product-card__media img:first-child{opacity:0;transform:scale(1.02)}
.product-card:hover .product-card__media img:last-child,
.product-card:focus-within .product-card__media img:last-child{opacity:1;transform:scale(1.02)}
.product-card__badge{
  position:absolute;
  left:10px;
  top:10px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  background:rgba(247,246,242,.84);
  backdrop-filter:blur(3px);
  font-size:9.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-card__body{
  display:grid;
  gap:8px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.product-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.product-card__title,
.product-card__title-btn{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.22;
  text-transform:uppercase;
}
.product-card__title-btn{text-align:left}
.product-card__subtitle{
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.62;
}
.product-card__code{
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.52;
}
.product-card__price{
  font-size:10.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.product-card__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-top:2px;
}
.product-card__view{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.58;
}
.quick-add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:1px solid rgba(17,17,17,.14);
  font-size:20px;
  line-height:1;
}
.quick-add:hover,
.quick-add:focus-visible{background:#111;color:#f7f6f2;border-color:#111}
.product-empty{
  grid-column:1/-1;
  padding:30px 0 8px;
  border-top:1px solid var(--line);
}
.product-empty strong{
  display:block;
  font-size:15px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.product-empty p{
  margin:10px 0 0;
  max-width:560px;
  font-size:14px;
  line-height:1.68;
  color:var(--muted);
}
.product-panel{
  position:fixed;
  top:0;
  right:0;
  width:min(460px, 100vw);
  height:100vh;
  height:100dvh;
  background:var(--bg);
  border-left:1px solid var(--line-soft);
  z-index:69;
  transform:translateX(100%);
  transition:transform .42s var(--ease);
}
body.focus-open .product-panel{transform:translateX(0)}
.product-panel__inner{
  height:100%;
  overflow:auto;
  padding:calc(var(--header-h) + 18px) 22px 26px;
}
.product-panel__close{
  margin:0 0 18px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.6;
}
.product-focus{
  display:grid;
  gap:18px;
}
.product-focus__media{
  position:relative;
  aspect-ratio:.82/1;
  overflow:hidden;
  background:#ebe6dc;
}
.product-focus__media img{width:100%;height:100%;object-fit:cover}
.product-focus__thumbs{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.product-focus__thumbs button{
  aspect-ratio:1/1;
  overflow:hidden;
  background:#ebe6dc;
}
.product-focus__thumbs img{width:100%;height:100%;object-fit:cover}
.product-focus__title{
  margin:0;
  font-size:31px;
  font-weight:300;
  letter-spacing:-.045em;
  line-height:.95;
  text-transform:uppercase;
}
.product-focus__subtitle,
.product-focus__code{
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.product-focus__subtitle{opacity:.72}
.product-focus__code{opacity:.52}
.product-focus__desc{
  margin:0;
  font-size:13px;
  line-height:1.74;
  color:var(--muted);
}
.product-focus__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:6px;
}
.product-focus__price{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.focus-open .drawer-overlay{opacity:1;visibility:visible}

@media (max-width:980px){
  .product-browser{padding-top:calc(var(--header-h) + 22px)}
  .product-hero{grid-template-columns:1fr;gap:18px}
  .product-controls{flex-direction:column;align-items:stretch;padding-top:18px}
  .product-sorter{min-width:0;width:100%;max-width:260px}
  .product-grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:var(--grid-gap)}
  .product-panel{width:100vw}
}
@media (max-width:640px){
  .product-hero h1{font-size:34px}
  .product-hero__intro{font-size:13px}
  .product-tabs{gap:10px 14px}
  .product-tab{font-size:11px}
  .product-grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:8px}
  .product-card__title,
  .product-card__title-btn{font-size:11px}
  .product-card__subtitle,
  .product-card__code,
  .product-card__view,
  .product-card__price{font-size:9.5px}
}


/* V28 B2B shell + product page */
:root{
  --drawer-w:min(318px, 22vw);
  --product-w:var(--grid-w);
}
body.drawer-open{overflow:hidden}
.side-drawer,
.order-drawer{transition:transform .56s cubic-bezier(.25,.8,.25,1)}
.side-drawer__inner{padding:calc(var(--header-h) + 26px) 28px 28px var(--menu-align)}
.site-search{justify-self:center;display:grid;justify-items:start;align-content:center;gap:3px;line-height:1}
.site-header__right{justify-self:end}
.site-header__right .fa-link{display:inline-flex}
.mega-menu{display:grid;align-content:start;height:100%}
.mega-menu--stacked{padding-top:6px}
.mega-menu__tree{display:grid;gap:16px}
.mega-menu__group{display:grid;gap:4px}
.mega-menu__label{font-size:10px;font-weight:300;letter-spacing:.16em;text-transform:uppercase;opacity:.38}
.mega-menu__sublist{display:grid;gap:4px;padding-inline-start:0}
.mega-menu__link{display:inline-flex;align-items:center;justify-content:flex-start;min-height:20px;text-align:left;transition:opacity .2s ease,color .2s ease;max-width:max-content}
.mega-menu__link:hover,.mega-menu__link.is-active{opacity:1}
.mega-menu__link--type{font-size:18px;font-weight:300;line-height:1;letter-spacing:-.018em;text-transform:uppercase;opacity:.92}
.mega-menu__link--nested{letter-spacing:-.012em}
.mega-menu__link--type:hover{opacity:.58}
.cart-drawer__head h2{margin:0;font-size:30px;font-weight:300;letter-spacing:-.05em}
.cart-item__qty{margin-top:8px;opacity:.56}
.cart-card__top--b2b{justify-content:flex-start}
.cart-card__top--b2b .cart-card__title{margin-bottom:2px}
.cart-card__price{display:none}
.summary-card__head h2{font-size:16px;letter-spacing:.12em;text-transform:uppercase}
.order-hero__sub{max-width:620px}
.product-browser,.product-panel{display:none!important}
.catalog-page{width:var(--product-w);margin:0 auto;padding:calc(var(--header-h) + 96px) 0 28px}
.catalog-breadcrumb{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--muted)}
.catalog-breadcrumb a{opacity:.74}
.catalog-breadcrumb strong{color:var(--text);font-weight:400}
.catalog-breadcrumb--inside{margin-bottom:4px}
.model-stories-wrap{display:grid;gap:14px;padding-bottom:22px}
.catalog-group-box{display:grid;place-items:center;min-height:112px;padding:12px 0 10px;border-bottom:0;background:transparent}
.catalog-group-box h1{margin:0;font-size:clamp(36px,5vw,72px);font-weight:300;letter-spacing:-.06em;line-height:.94;text-transform:uppercase;text-align:center}
.model-stories-sticky{position:sticky;top:var(--header-h);z-index:42;background:var(--bg);padding:10px 0 12px;border-bottom:0;margin-bottom:24px;overflow:visible}
.model-stories{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;padding:8px 0 4px}
.model-stories::-webkit-scrollbar{display:none}
.model-story{position:relative;flex:0 0 auto;width:90px;display:grid;justify-items:center;gap:9px;text-align:center;opacity:.68;transition:opacity .22s ease, transform .22s ease;padding-bottom:10px}
.model-story:hover,.model-story.is-active{opacity:1;transform:translateY(-1px)}
.model-story__thumb{position:relative;width:70px;height:70px;border-radius:50%;overflow:hidden;background:#ebe6dc;border:0;transition:transform .22s ease, opacity .22s ease}
.model-story__thumb img{width:100%;height:100%;object-fit:cover}
.model-story__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(17,17,17,.72);transition:color .22s ease, opacity .22s ease}
.model-story:hover .model-story__thumb,.model-story.is-active .model-story__thumb{box-shadow:none;transform:translateY(-1px) scale(1.03)}
.model-story.is-active .model-story__label,.model-story:hover .model-story__label{color:#111;opacity:1}
.model-story.is-active::after{content:"";position:absolute;left:50%;bottom:0;width:18px;height:1px;background:#111;transform:translateX(-50%)}
.model-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:40px;padding:34px 0}
.model-main__media{margin:0;background:#ebe6dc;aspect-ratio:1/1.08;overflow:hidden}
.model-main__media img{width:100%;height:100%;object-fit:cover}
.model-main__details{display:grid;align-content:start;gap:18px}
.model-main__title{margin:0;font-size:clamp(34px,4.6vw,62px);font-weight:300;letter-spacing:-.05em;line-height:.95;text-transform:uppercase}
.model-main__desc{margin:0;font-size:14px;line-height:1.9;color:var(--muted);max-width:46ch}
.spec-sheet{display:grid;gap:14px;padding:24px;border:1px solid rgba(17,17,17,.1);background:rgba(255,255,255,.44)}
.spec-sheet__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.spec-sheet__titles{display:grid;gap:6px;min-width:0}
.spec-sheet__toggle{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid rgba(17,17,17,.12);background:transparent;color:#111;font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:background .22s ease,border-color .22s ease,color .22s ease,opacity .22s ease}
.spec-sheet__toggle:hover{background:#111;color:#f7f6f2;border-color:#111}
.spec-sheet.is-collapsed .spec-sheet__rows{display:none}
.spec-sheet.is-collapsed{gap:0}
.stories-sticky-sentinel{position:relative;height:1px;margin-top:-1px}
.model-stories-sticky.is-pinned{box-shadow:0 1px 0 rgba(17,17,17,.08)}
.spec-sheet__head h3{margin:0;font-size:16px;font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.spec-sheet__rows{display:grid;gap:0}
.spec-row{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid rgba(17,17,17,.08)}
.spec-row:last-child{border-bottom:0}
.spec-row strong{font-size:13.5px;font-weight:400;line-height:1.72}
.size-selector{position:sticky;top:calc(var(--header-h) + var(--stories-sticky-h) - 1px);z-index:41;display:grid;grid-template-columns:minmax(130px,.18fr) minmax(0,1fr);align-items:center;gap:14px;padding:10px 0;border-top:1px solid rgba(17,17,17,.1);border-bottom:1px solid rgba(17,17,17,.1);border-left:0;border-right:0;background:var(--bg);backdrop-filter:none;margin:0 0 24px}
.size-selector__label{display:grid;gap:0}
.size-selector__label h2{margin:0;font-size:13px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.size-selector__options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:24px}
.size-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 12px;border:1px solid rgba(17,17,17,.14);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.55;transition:border-color .2s ease, background .2s ease, opacity .2s ease}
.size-pill:hover,.size-pill.is-active{opacity:1}
.size-pill.is-active{background:#f1f0ec; color:#f7f6f2;border-color:#111}
.design-browser{display:grid;gap:22px;padding-bottom:calc(var(--size-sticky-h, 84px) + 88px)}
.design-browser__head{display:flex;align-items:flex-end;justify-content:flex-start;gap:24px}
.design-browser__head h2{margin:6px 0 0;font-size:28px;font-weight:300;letter-spacing:-.04em;text-transform:uppercase}
.design-browser__tools{display:none}
.design-search{display:grid;gap:8px;min-width:240px}
.design-search input{height:40px;border:1px solid rgba(17,17,17,.12);background:rgba(255,255,255,.52);padding:0 14px;text-transform:uppercase;letter-spacing:.08em}
.design-filter-chip{min-height:40px;padding:0 18px;border:1px solid rgba(17,17,17,.12);background:rgba(255,255,255,.52)}
.design-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.design-card{display:grid;gap:3px;padding:0;border:0;background:transparent;text-align:left}
.design-card__surface{display:grid;gap:10px;width:100%;text-align:left}
.design-card__media{aspect-ratio:4/5;background:var(--card);overflow:hidden;border:0px solid rgba(17,17,17,.08)}
.design-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .32s var(--ease)}
.design-card__media{position:relative}
.design-card__badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid rgba(17,17,17,.12);background:rgba(247,246,242,.92);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#111;z-index:2}
.design-card__code{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;line-height:1.45}
.design-card__size{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.design-card__action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid rgba(17,17,17,.12);background:transparent;color:#111;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:background .24s ease,border-color .24s ease,color .24s ease,transform .24s ease}
.design-card__action:hover{background:#111;color:#fff;border-color:#111}
.design-card.is-selected .design-card__action{background:transparent;color:#111;border-color:rgba(17,17,17,.12)}
.design-card__qty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border:1px solid rgba(17,17,17,.12);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.design-card__qty button{width:34px;height:34px;display:grid;place-items:center;font-size:18px;line-height:1;color:inherit}
.design-card__qty button.is-soft{color:rgba(17,17,17,.42)}
.design-card__qty span{min-width:22px;text-align:center}
.design-card.is-selected .design-card__media{border-color:rgba(17,17,17,.08);box-shadow:none}
.design-card:hover .design-card__media img{transform:scale(1.025)}
.product-empty--designs{padding-top:4px;border-top:0}
.product-empty--designs p{max-width:420px}
.orderlist-page--b2b .summary-note{max-width:34ch}
@media (max-width:1180px){
  .catalog-page{width:calc(100vw - 40px)}
  .model-stories{grid-template-columns:repeat(4,minmax(0,1fr))}
  .model-main{grid-template-columns:1fr;gap:26px}
  .design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .size-selector{grid-template-columns:1fr}
}
@media (max-width:980px){
  :root{--drawer-w:100vw}
  .mega-menu{grid-template-columns:1fr;gap:26px}
  .catalog-page{padding-top:calc(var(--header-h) + 24px)}
  .design-browser__head{flex-direction:column;align-items:stretch}
  .design-browser__tools{flex-direction:column;align-items:stretch}
  .design-search{min-width:0}
  .design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .design-cta-bar{position:static;flex-direction:column;align-items:stretch}
}
@media (max-width:640px){
  .catalog-page{width:calc(100vw - 24px)}
  .catalog-breadcrumb{flex-wrap:wrap;gap:8px}
  .model-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .model-story__thumb{width:72px;height:72px}
  .spec-sheet{padding:18px}
  .spec-row{grid-template-columns:1fr;gap:8px}
  .design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .size-selector{padding:10px 12px}
}


/* V36 — order list + xcode + data-driven menu */
.cart-item__xcode{opacity:.42}
.design-card__xcode{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(17,17,17,.42);line-height:1.35;margin-top:-4px}
.order-shell--invoice{width:var(--order-w);margin:0 auto;padding:calc(var(--header-h) + 96px) 0 72px}
.order-suggest{margin:0 0 28px}
.order-suggest__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.order-suggest__head .catalog-kicker{margin:0}
.order-suggest__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.order-suggest__card{display:grid;gap:10px;text-align:left}
.order-suggest__media{display:block;aspect-ratio:1/.78;background:#e7e1d6;overflow:hidden}
.order-suggest__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.order-suggest__card:hover .order-suggest__media img{transform:scale(1.03)}
.order-suggest__meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(17,17,17,.48)}
.order-suggest__card strong{font-size:16px;font-weight:300;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase}
.order-hero--center{width:100%;margin:0 auto 24px;text-align:center;display:grid;justify-items:center}
.order-hero--center h1{font-size:clamp(36px,5vw,72px);font-weight:300;letter-spacing:-.06em;line-height:.94;text-transform:uppercase}
.order-invoice{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.order-invoice__head{position:sticky;top:var(--header-h);z-index:40;display:grid;grid-template-columns:64px 118px minmax(0,1.2fr) 160px 180px 160px 110px;gap:20px;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(17,17,17,.48);background:var(--bg)}
.order-invoice__head span{text-align:center}
.order-invoice__body{display:grid}
.invoice-row{display:grid;grid-template-columns:64px 118px minmax(0,1.2fr) 160px 180px 160px 110px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(17,17,17,.08)}
.invoice-row:last-child{border-bottom:0}
.invoice-row__cell{text-align:center;justify-self:center;width:100%}
.invoice-row__rowno{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(17,17,17,.64)}
.invoice-row__media{display:block;aspect-ratio:1/1.12;background:#e6e0d5;overflow:hidden;max-width:118px;margin:0 auto}
.invoice-row__media img{width:100%;height:100%;object-fit:cover}
.invoice-row__main{display:grid;gap:0;justify-items:center}
.invoice-row__title{font-size:14px;font-weight:400;letter-spacing:.08em;line-height:1.3;text-transform:uppercase;text-align:center}
.invoice-row__group{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(17,17,17,.72)}
.invoice-row__xcode{display:grid;gap:0;justify-items:center}
.invoice-row__xcode strong{font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.invoice-row__qty{display:flex;justify-content:center}
.invoice-row__action{display:flex;justify-content:center}
.invoice-row__footer{display:contents}
.order-invoice__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0 0}
.order-invoice__summary{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.order-invoice__summary .summary-row{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.order-invoice__summary .summary-row--total strong{font-weight:400}
@media (max-width: 1180px){
  .order-suggest__track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-invoice__head{display:none}
  .invoice-row{grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start}
  .invoice-row__rowno,.invoice-row__group,.invoice-row__xcode,.invoice-row__qty,.invoice-row__action{grid-column:2;justify-self:start;text-align:left}
  .invoice-row__main{justify-items:start}
  .invoice-row__title,.invoice-row__xcode strong{ text-align:left }
  .invoice-row__action{justify-content:flex-start}
  .order-invoice__footer{flex-direction:column;align-items:flex-start}
}
@media (max-width: 760px){
  .order-shell--invoice{width:calc(100vw - 24px)}
  .order-suggest__track{grid-template-columns:1fr 1fr;gap:12px}
  .order-suggest__card strong{font-size:14px}
}
.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}


.header-action--login{padding-inline:2px}
.header-action--login svg{width:16px;height:16px}

.order-next-actions,.recommended-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border:1px solid rgba(17,17,17,.14);font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:background .24s ease,color .24s ease,border-color .24s ease}
.secondary-action:hover{background:#111;color:#fff;border-color:#111}
.order-invoice__footer--next{padding-top:20px}
.order-invoice__summary .summary-row--total{display:none}

.recommended-shell,.submit-shell,.login-shell{width:var(--grid-w);margin:0 auto;padding:calc(var(--header-h) + 96px) 0 72px}
.submit-shell--simple{padding-top:calc(var(--header-h) + 52px)}
.recommended-hero,.submit-hero,.login-hero{display:grid;justify-items:center;text-align:center;margin:0 auto 36px;max-width:860px}
.recommended-hero h1,.submit-hero h1,.login-hero h1{margin:0;font-size:clamp(36px,5vw,72px);font-weight:300;letter-spacing:-.06em;line-height:.94;text-transform:uppercase}
.recommended-hero__sub,.submit-hero__sub,.login-hero__sub{margin:14px 0 0;max-width:760px;font-size:14px;line-height:1.75;color:rgba(17,17,17,.62)}
.recommended-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--grid-gap)}
.recommended-grid--editorial{align-items:start}
.recommended-tile{position:relative;display:block;aspect-ratio:1/1;background:#e8e2d6;overflow:hidden}
.recommended-tile__media,.recommended-tile__media img{display:block;width:100%;height:100%}
.recommended-tile__media img{object-fit:cover;transition:transform .45s var(--ease)}
.recommended-tile:hover .recommended-tile__media img{transform:scale(1.03)}
.recommended-tile__overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;min-height:84px;padding:18px 16px;background:linear-gradient(180deg,rgba(17,17,17,0) 0%,rgba(17,17,17,.14) 45%,rgba(17,17,17,.44) 100%)}
.recommended-tile__overlay strong{font-size:16px;font-weight:300;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase;color:#fff}
.recommended-actions{margin-top:30px}
.recommended-actions--compact{justify-content:center;margin-top:22px}

.design-browser__head{display:none}
.orderlist-page.order-list-empty .order-invoice{border-top:0;border-bottom:0}
.orderlist-page.order-list-empty .order-invoice__head{display:none}
.order-empty-state{display:grid;justify-items:center;text-align:center;gap:16px;min-height:46vh;padding:72px 0 52px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.order-empty-state__eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(17,17,17,.42)}
.order-empty-state h3{margin:0;font-size:clamp(32px,4vw,56px);font-weight:300;letter-spacing:-.05em;line-height:.95;text-transform:uppercase}
.order-empty-state p{margin:0;max-width:46ch;font-size:14px;line-height:1.8;color:rgba(17,17,17,.62)}
.order-empty-state__actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.order-empty-state__actions .secondary-action{background:#111;color:#fff;border-color:#111}
.order-empty-state__actions .secondary-action:hover{background:#000;border-color:#000;color:#fff}
.orderlist-page.order-list-empty .order-invoice__summary{display:none}
.orderlist-page.order-list-empty .order-next-actions{justify-content:flex-start;width:100%}
.orderlist-page.order-list-empty .order-next-actions .primary-action{display:none}
.orderlist-page.order-list-empty .order-return-action{background:#111;color:#fff;border-color:#111}
.orderlist-page.order-list-empty .order-return-action:hover{background:#000;border-color:#000;color:#fff}
.orderlist-page.order-list-empty .order-next-actions .primary-action{display:none}
.recommended-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.recommended-tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#e6e1d7}
.recommended-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.recommended-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.24));opacity:.44;transition:opacity .28s ease}
.recommended-tile .index-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transform:translateY(10px);transition:opacity .3s ease, transform .3s var(--ease)}
.recommended-tile .index-overlay strong{display:block;width:min(90%, 12ch);margin:0 auto;font-size:clamp(20px, 1.7vw, 32px);font-weight:700;letter-spacing:-.05em;line-height:.9;color:rgba(255,255,255,.56);text-transform:uppercase;text-align:center;text-wrap:balance;overflow-wrap:anywhere}
.recommended-tile:hover::after,.recommended-tile:focus-visible::after{opacity:.7}
.recommended-tile:hover .index-overlay,.recommended-tile:focus-visible .index-overlay{opacity:1;transform:none}
.recommended-tile:hover img,.recommended-tile:focus-visible img{transform:scale(1.04)}

.submit-gate{display:grid;gap:18px}
.submit-card{background:rgba(255,255,255,.54);border:1px solid rgba(17,17,17,.08);padding:28px 28px 30px}
.submit-card.is-hidden,.submit-panel.is-hidden,.submit-request-block.is-hidden{display:none}
.submit-card--unified{display:grid;gap:24px}
.submit-card--nested{padding:24px}
.submit-card__head{display:grid;gap:8px;margin-bottom:22px}
.submit-card__head--compact{margin-bottom:16px}
.submit-card__head .catalog-kicker{margin:0}
.submit-card__head h2{margin:0;font-size:24px;font-weight:300;letter-spacing:-.04em;text-transform:uppercase}
.submit-card__note{margin:0;max-width:760px;font-size:13px;line-height:1.75;color:rgba(17,17,17,.62)}
.submit-top-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:18px;align-items:start}
.submit-panel,.submit-request-block,.login-card{background:rgba(255,255,255,.68);border:1px solid rgba(17,17,17,.08);padding:24px}
.submit-panel--support{display:grid;gap:14px}
.submit-section-head{display:grid;gap:8px;margin-bottom:16px}
.submit-section-head--compact{margin-bottom:4px}
.submit-section-head h3{margin:0;font-size:18px;font-weight:300;letter-spacing:-.03em;text-transform:uppercase}
.submit-inline-note{margin:0;color:rgba(17,17,17,.58);line-height:1.7;font-size:13px}
.submit-support-links{display:grid;gap:10px}
.submit-support-links a,.login-card__links a{display:inline-flex;width:max-content;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(17,17,17,.18);padding-bottom:4px}
.submit-checklist{margin:0;padding-left:18px;display:grid;gap:8px;color:rgba(17,17,17,.7);line-height:1.7;font-size:13px}
.submit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.submit-form--login{align-items:end}
.submit-form label{display:grid;gap:8px}
.submit-form label span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(17,17,17,.58)}
.required-mark{font-style:normal;color:#111}
.submit-form input,.submit-form textarea,.submit-form select{width:100%;border:1px solid rgba(17,17,17,.12);background:#fff;min-height:48px;padding:12px 14px;outline:none}
.submit-form select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 13px) calc(50% - 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.submit-form textarea{min-height:130px;resize:vertical}
.submit-form__full{grid-column:1 / -1}
.submit-form__actions{display:flex;justify-content:flex-start;padding-top:4px}
.submit-account{display:grid;gap:10px;margin:0 0 22px}
.submit-success__copy{margin:0;color:rgba(17,17,17,.62);line-height:1.8}
.login-shell{max-width:760px}
.login-card{padding:30px 32px 34px}
.login-card__head{display:grid;gap:8px;margin-bottom:18px;text-align:center}
.login-card__head h2{margin:0;font-size:24px;font-weight:300;letter-spacing:-.04em;text-transform:uppercase}
.login-card__links{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:2px}
.login-form{gap:18px}

@media (max-width: 1024px){
  .recommended-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .submit-top-grid{grid-template-columns:1fr}
  .submit-form{grid-template-columns:1fr}
  .login-card__links{flex-direction:column;align-items:flex-start}
}
@media (max-width: 720px){
  .recommended-shell,.submit-shell,.login-shell{width:calc(100vw - 24px)}
  .recommended-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .recommended-tile{aspect-ratio:1/1.18}
  .recommended-tile .index-overlay strong{width:min(96%, 8ch);font-size:clamp(13px, 3.4vw, 18px);line-height:.94}
  .order-invoice__footer--next,.recommended-actions{flex-direction:column;align-items:stretch}
  .secondary-action,.primary-action{width:100%}
}

/* V43 targeted refinements from V41 base */
.site-search{
  position:relative;
  min-width:212px;
  gap:4px;
}
.site-search__label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.site-search__input{
  width:176px;
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:.1em;
  outline:none;
}
.site-search__input::placeholder{
  color:currentColor;
  opacity:1;
}
.site-search__line{width:212px}
.site-search:focus-within .site-search__line,
.site-search:hover .site-search__line{transform:scaleX(1.08)}

.catalog-page{
  padding:96px 0 28px;
}
.catalog-group-box{
  min-height:0;
  padding:0 0 18px;
}

.orderlist-page.order-list-empty .order-next-actions .secondary-action{
  display:inline-flex;
}

.recommended-shell,.submit-shell,.login-shell,.search-shell{
  width:var(--grid-w);
  margin:0 auto;
  padding:calc(var(--header-h) + 96px) 0 72px;
}
.recommended-hero,.submit-hero,.login-hero,.search-hero{
  display:grid;
  justify-items:center;
  text-align:center;
  margin:0 auto 36px;
  max-width:860px;
}
.recommended-hero h1,.submit-hero h1,.login-hero h1,.search-hero h1{
  margin:0;
  font-size:clamp(36px,5vw,72px);
  font-weight:300;
  letter-spacing:-.06em;
  line-height:.94;
  text-transform:uppercase;
}
.recommended-hero__sub,.submit-hero__sub,.login-hero__sub,.search-hero__sub{
  margin:14px 0 0;
  max-width:760px;
  font-size:14px;
  line-height:1.75;
  color:rgba(17,17,17,.62);
}
.search-toolbar{
  display:grid;
  gap:16px;
  margin:0 auto 28px;
}
.search-page-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
}
.search-page-form input{
  width:100%;
  min-height:52px;
  padding:12px 0;
  border:0;
  border-bottom:1px solid rgba(17,17,17,.18);
  background:transparent;
  outline:none;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.search-summary p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:rgba(17,17,17,.62);
}
.search-results{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px 14px;
}
.search-result{
  display:grid;
  gap:10px;
  align-content:start;
}
.search-result__media{
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#e8e2d6;
}
.search-result__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.search-result__meta,
.search-result__sub,
.search-result__xcode{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(17,17,17,.52);
}
.search-result__title{
  font-size:18px;
  font-weight:300;
  letter-spacing:-.03em;
  line-height:1.08;
  text-transform:uppercase;
}
.search-empty{
  grid-column:1 / -1;
  display:grid;
  justify-items:center;
  text-align:center;
  gap:12px;
  min-height:34vh;
  align-content:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.search-empty h3{
  margin:0;
  font-size:clamp(28px,4vw,46px);
  font-weight:300;
  letter-spacing:-.05em;
  line-height:.96;
  text-transform:uppercase;
}
.search-empty p{
  margin:0;
  max-width:42ch;
  font-size:14px;
  line-height:1.8;
  color:rgba(17,17,17,.62);
}

.submit-gate{
  max-width:960px;
  margin:0 auto;
}
.submit-success{display:grid;justify-items:center;text-align:center;gap:14px;max-width:760px;margin:0 auto;padding:42px 0 0}
.submit-success h2{margin:0;font-size:clamp(36px,5vw,72px);font-weight:300;letter-spacing:-.06em;line-height:.94;text-transform:uppercase}
.submit-success__copy{margin:0;max-width:40ch;font-size:14px;line-height:1.8;color:rgba(17,17,17,.62)}
.submit-card--unified{
  background:rgba(255,255,255,.62);
  padding:30px 30px 34px;
}
.submit-card--unified .submit-card__head{
  text-align:left;
  justify-items:start;
  margin-bottom:18px;
}
.submit-card--unified .submit-card__note{
  max-width:none;
  text-align:left;
}
.submit-form--guest{
  grid-template-columns:repeat(2,minmax(0,1fr));
}


@media (max-width: 1024px){
  .search-results{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 720px){
  .recommended-shell,.submit-shell,.login-shell,.search-shell{width:calc(100vw - 24px)}
  .search-page-form{grid-template-columns:1fr}
  .search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .submit-form--guest{grid-template-columns:1fr}
}


.orderlist-page.order-list-empty .order-hero,
.orderlist-page.order-list-empty .order-invoice__footer,
.orderlist-page.order-list-empty .order-invoice__head{
  display:none;
}
.orderlist-page.order-list-empty .order-invoice{
  border-top:0;
  border-bottom:0;
}
.order-empty-state{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:14px;
  min-height:46vh;
  padding:0;
  border-top:0;
  border-bottom:0;
}
.order-empty-state h3{
  margin:0;
  font-size:clamp(36px,5vw,72px);
  font-weight:300;
  letter-spacing:-.06em;
  line-height:.94;
  text-transform:uppercase;
}
.order-empty-state__actions,.order-empty-state .recommended-actions{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.order-empty-state__actions .primary-action,.order-empty-state .recommended-actions .primary-action{
  background:#111;
  color:#fff;
  border-color:#111;
}
.order-empty-state__actions .primary-action:hover,.order-empty-state .recommended-actions .primary-action:hover{background:#000;border-color:#000;color:#fff}
.submit-card--unified .submit-card__head{
  margin-bottom:24px;
}
.submit-card--unified .submit-card__head .catalog-kicker{
  margin-bottom:4px;
}
.submit-form__actions--split{
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.request-sent-view h1{
  margin:0;
  font-size:clamp(36px,5vw,72px);
  font-weight:300;
  letter-spacing:-.06em;
  line-height:.94;
  text-transform:uppercase;
}
.request-sent-shell .submit-success{
  padding-top:0;
}

.submit-form select:invalid{color:rgba(17,17,17,.42)}
.submit-form select option{color:#111}


.submit-form input::placeholder,
.submit-form textarea::placeholder,
.submit-field-shell input::placeholder{
  color:rgba(17,17,17,.34);
}
.submit-form select:invalid,
.submit-form select:disabled,
.submit-field-shell select:invalid,
.submit-field-shell select:disabled{
  color:rgba(17,17,17,.34);
}
.request-sent-view__note{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:rgba(17,17,17,.62);
  text-align:center;
}
.order-empty-state p{
  margin:0;
  max-width:46ch;
  font-size:14px;
  line-height:1.8;
  color:rgba(17,17,17,.62);
}
.order-empty-state__actions{
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:0;
}

.request-sent-view .recommended-actions--compact,
.order-empty-state .recommended-actions--compact{margin-top:108px}
.order-empty-state{display:grid;justify-items:center;text-align:center;gap:14px;max-width:760px;margin:0 auto;padding:0;border-top:0;border-bottom:0;min-height:unset}
.order-empty-state h1{margin:0;font-size:clamp(36px,5vw,72px);font-weight:300;letter-spacing:-.06em;line-height:.94;text-transform:uppercase}
.order-empty-state .request-sent-view__note{max-width:40ch}
.orderlist-page.order-list-empty .order-shell{padding-top:calc(var(--header-h) + 96px)}
.orderlist-page.order-list-empty .order-invoice{padding-top:0}
.request-sent-view .recommended-actions{justify-content:center;margin-top:34px}
.submit-card__head--plain{margin-bottom:18px;justify-items:start;text-align:left}
.submit-card__note--left{text-align:left;max-width:none}
.submit-phone{display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:48px;border:1px solid rgba(17,17,17,.12);background:#fff}
.submit-phone__prefix{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;padding:0 14px;border-right:1px solid rgba(17,17,17,.08);font-size:13px;letter-spacing:.06em;color:#111;background:rgba(17,17,17,.02)}
.submit-phone__prefix[hidden]{display:none}
.submit-phone input{border:0;min-height:46px;padding:12px 14px;background:transparent;width:100%}
.submit-phone input:focus{outline:none}
.submit-form input::placeholder,
.submit-form textarea::placeholder,
.submit-field-shell input::placeholder,
.submit-phone input::placeholder{color:rgba(17,17,17,.34)}
.submit-form select:invalid,
.submit-form select:disabled,
.submit-field-shell select:invalid,
.submit-field-shell select:disabled{color:rgba(17,17,17,.34)}

.submit-form option.placeholder-option{color:rgba(17,17,17,.34)}
.submit-form select option[value=""]{color:rgba(17,17,17,.34)}
.submit-form input::placeholder,.submit-form textarea::placeholder,.submit-field-shell input::placeholder,.submit-phone input::placeholder{color:rgba(17,17,17,.34)}
.submit-backtop{display:flex;justify-content:center;padding:22px 0 26px}
.submit-backtop[hidden]{display:none!important}
.page-top-jump{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid rgba(17,17,17,.14);border-radius:999px;background:transparent;color:rgba(17,17,17,.56);transition:color .22s ease, transform .22s ease, border-color .22s ease, background .22s ease}
.page-top-jump svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.page-top-jump:hover{color:#111;border-color:rgba(17,17,17,.28);background:rgba(255,255,255,.46);transform:translateY(-1px)}

.submit-form select.is-placeholder,
.submit-field-shell select.is-placeholder{color:rgba(17,17,17,.34)!important}
.submit-form select option,
.submit-field-shell select option{color:#111}


/* V52 overrides */
.submit-shell,.login-shell{width:min(760px, calc(100vw - 48px));}
.submit-form input,.submit-form textarea,.submit-form select,.submit-field-shell input,.submit-phone input{font-family:inherit;font-size:14px;font-weight:300;letter-spacing:.02em;color:#111;}
.submit-form select.is-placeholder,.submit-field-shell select.is-placeholder,.submit-form select:invalid,.submit-form select:disabled,.submit-field-shell select:invalid,.submit-field-shell select:disabled{font-family:inherit;font-size:14px;font-weight:300;letter-spacing:.02em;color:rgba(17,17,17,.34)!important;}
.submit-form option.placeholder-option,.submit-form select option[value=""]{font-weight:300;color:rgba(17,17,17,.34);}
.model-stories-sticky{padding:10px 0 11px;border-bottom:1px solid rgba(17,17,17,.1);margin-bottom:0;}
.model-story,.model-story:hover,.model-story.is-active{transform:none;}
.model-story__thumb,.model-story:hover .model-story__thumb,.model-story.is-active .model-story__thumb{transform:none;}
.size-selector{top:calc(var(--header-h) + var(--stories-sticky-h) - 1px);margin:-1px 0 24px;border-top:1px solid rgba(17,17,17,.1);}
.submit-backtop{display:flex;justify-content:center;padding:8px 0 10px;min-height:0;}
.page-top-jump{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;border:0;border-radius:0;background:transparent;color:rgba(17,17,17,.52);padding:0;}
.page-top-jump svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;}
.page-top-jump:hover{color:#111;border-color:transparent;background:transparent;transform:translateY(-1px);}
.design-card__qty button.is-soft{color:rgba(17,17,17,.34);}
@media (max-width: 980px){
  .submit-shell,.login-shell{width:calc(100vw - 24px);}
  .page-top-jump svg{width:34px;height:34px;}
}


/* V54 overrides */
.home-browser h1,
.catalog-group-box h1,
.recommended-hero h1,
.submit-hero h1,
.login-hero h1,
.submit-success h2,
.order-empty-state h1,
.model-main__title,
.product-focus__title{
  letter-spacing:-.028em;
}

.submit-phone__message{display:block;min-height:16px;margin-top:6px;font-size:12px;line-height:1.2;color:#9b3b2f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.submit-phone__message:empty{display:none;}


/* R059 mobile navigation + portrait mode */
:root{
  --mobile-nav-h:74px;
  --mobile-shell-top:72px;
  --mobile-shell-bottom:var(--mobile-safe-bottom);
  --mobile-shell-height:calc(100dvh - var(--mobile-shell-top) - var(--mobile-shell-bottom));
  --mobile-safe-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px));
}
.mobile-rotate-guard{
  position:fixed;
  inset:0;
  display:none;
  place-items:center;
  padding:28px;
  background:rgba(241,240,236,.98);
  z-index:120;
  text-align:center;
}
.mobile-rotate-guard__card{
  display:grid;
  justify-items:center;
  gap:14px;
  max-width:320px;
}
.mobile-rotate-guard__icon{
  width:72px;
  height:72px;
  color:#111;
  opacity:.9;
}
.mobile-rotate-guard__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.mobile-rotate-guard__brand{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:.55;
}
.mobile-rotate-guard h2{
  margin:0;
  font-size:27px;
  font-weight:300;
  letter-spacing:-.04em;
  line-height:.96;
  text-transform:uppercase;
}
.mobile-rotate-guard p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:rgba(17,17,17,.62);
}
.mobile-bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:0;
  height:var(--mobile-safe-bottom);
  padding:4px max(12px, env(safe-area-inset-left, 0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
  background:rgba(247,246,242,.96);
  backdrop-filter:blur(12px) saturate(120%);
  border-top:1px solid rgba(17,17,17,.08);
  z-index:95;
}
.mobile-bottom-nav__item{
  min-width:0;
  min-height:44px;
  flex:1 1 0;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:4px;
  color:rgba(17,17,17,.58);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:8px;
  line-height:1;
}
.mobile-bottom-nav__item svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mobile-bottom-nav__label{white-space:nowrap}
.mobile-bottom-nav__item.is-active{color:#111}
.mobile-bottom-nav__item--call-slot{flex:1 1 0;display:flex;justify-content:center;align-items:center}
.mobile-bottom-nav__call{
  width:53px;
  height:53px;
  flex:0 0 auto;
  align-content:center;
  justify-items:center;
  border-radius:999px;
  margin-top:-16px;
  background:#111;
  color:#f7f6f2;
  border:1px solid #111;
  box-shadow:0 6px 16px rgba(17,17,17,.14);
  letter-spacing:.08em;
}
.mobile-bottom-nav__call svg{width:20px;height:20px}
.mobile-bottom-nav__call .mobile-bottom-nav__label{font-size:7px}
.mobile-bottom-spacer{display:none;height:var(--mobile-safe-bottom)}

@media (max-width: 767px){
  :root{
    --mobile-nav-h:48px;
    --mobile-safe-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px));
    --mobile-shell-top:72px;
    --mobile-shell-bottom:var(--mobile-safe-bottom);
    --mobile-shell-height:calc(100dvh - var(--mobile-shell-top) - var(--mobile-shell-bottom));
    --mobile-logo-visual-left-offset:2.5px;
    --mobile-brand-shift-x:0px;
  }
  body{padding-bottom:var(--mobile-safe-bottom)}
  .page-main{padding-top:0}
  body.mobile-landscape-lock{overflow:hidden}
  .mobile-bottom-nav{display:flex}
  .mobile-bottom-spacer{display:block}
  .mobile-bottom-nav{
    gap:0;
    align-items:center;
    padding:2px max(12px, env(safe-area-inset-left, 0px)) calc(2px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
  }
  .mobile-bottom-nav__item,
  .mobile-bottom-nav__call{
    gap:3px;
    font-size:7px;
    letter-spacing:.11em;
    transform:none;
  }
  .mobile-bottom-nav__item svg{
    width:18px;
    height:18px;
  }
  .mobile-bottom-nav__item--call-slot{align-items:center;padding-top:0}
  .mobile-bottom-nav__call{
    width:44px;
    height:44px;
    margin-top:0;
    box-shadow:0 5px 12px rgba(17,17,17,.12);
  }
  .mobile-bottom-nav__call svg{width:20px;height:20px}
  .mobile-bottom-nav__call .mobile-bottom-nav__label{font-size:6px;letter-spacing:.1em}
  .site-header{
    grid-template-columns:1fr;
    height:72px;
    padding:0 16px;
  }
  .site-header__left{
    justify-content:center;
  }
  .menu-btn,
  .edge-trigger{
    display:none!important;
  }
  .brand{
    left:50%;
    width:176px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    transform:translate3d(calc(-50% + var(--mobile-brand-shift-x, 0px)), calc(-50% + 4px), 0);
    transition:transform .44s cubic-bezier(.22,1,.36,1);
    will-change:transform;
    backface-visibility:hidden;
    transform-origin:left center;
    contain:layout paint;
  }
  .brand__logo{width:176px;max-width:none;display:block;flex:0 0 auto;transform:translateZ(0);backface-visibility:hidden;will-change:transform}
  body.drawer-open .brand__logo{width:176px;max-width:none}
  .site-header__right,
  .site-search{
    display:none!important;
  }
  .side-drawer{
    top:var(--mobile-shell-top);
    bottom:var(--mobile-shell-bottom);
    height:auto;
    width:min(84vw, 420px);
  }
  .side-drawer__inner{
    height:100%;
    overflow:auto;
    padding:18px 20px 24px 20px;
  }
  .side-nav a{font-size:15px}
  .page-main,
  .order-shell,
  .product-browser,
  .recommended-shell,
  .submit-shell,
  .login-shell,
  .search-shell{padding-bottom:14px}
  .home-browser,
  .catalog-page,
  .recommended-shell,
  .submit-shell,
  .login-shell,
  .search-shell{padding-top:calc(var(--header-h) + 36px)}
  .home-browser{padding-bottom:8px}
  .home-browser h1,
  .catalog-group-box h1,
  .recommended-hero h1,
  .submit-hero h1,
  .login-hero h1,
  .search-hero h1,
  .request-sent-view h1{
    font-size:40px;
    font-weight:300;
    letter-spacing:-.05em;
    line-height:.94;
    margin:0;
    text-transform:uppercase;
    text-wrap:balance;
  }
  .home-browser h1{max-width:330px;margin:0 auto}
  .recommended-hero,
  .submit-hero,
  .login-hero,
  .search-hero,
  .request-sent-view,
  .order-hero--center{margin-bottom:16px}
  .catalog-group-box{padding-bottom:16px}
  .products-page .model-stories-sticky{
    position:-webkit-sticky;
    position:sticky;
    top:72px;
    z-index:43;
    margin-bottom:16px;
    padding:10px 0 10px;
    background:var(--bg);
    border-bottom:1px solid rgba(17,17,17,.08);
  }
  .products-page .model-stories{padding:2px 0 4px}
  .products-page .spec-sheet{padding:16px 16px 14px}
  .products-page .spec-sheet__head{grid-template-columns:1fr}
  .products-page .spec-sheet__toggle{min-height:32px;justify-self:start;padding:0 10px;font-size:9px}
  .products-page .spec-sheet.is-collapsed{padding-bottom:12px}
  .category-strip{
    position:sticky;
    top:72px;
    z-index:43;
    margin:12px auto 18px;
    display:flex;
    flex-wrap:nowrap;
    overflow:auto hidden;
    justify-content:flex-start;
    gap:10px 14px;
    padding:10px 16px 8px;
    background:var(--bg);
    border-bottom:1px solid rgba(17,17,17,.08);
  }
  .category-strip::-webkit-scrollbar{display:none}
  .category-btn{
    white-space:nowrap;
    justify-content:center;
    text-align:center;
    font-size:10px;
    line-height:1.35;
  }
  .submit-backtop{padding:10px 0 72px}
  .page-top-jump svg{width:30px;height:30px}
  .footer-stage{
    height:auto;
    margin-top:24px;
    padding-top:8px;
    padding-bottom:calc((var(--mobile-safe-bottom) * .5) + 6px);
  }
  .footer-cover{
    position:relative;
    top:auto;
    height:auto;
    transform:none!important;
  }
  .footer-inner{
    height:auto;
    justify-content:flex-start;
    gap:16px;
    padding:168px 20px 20px;
  }
  .footer-newsletter,
  .footer-social,
  .footer-columns{width:100%}
  .footer-newsletter{gap:12px}
  .footer-newsletter label{
    font-size:10px;
    line-height:1.45;
    letter-spacing:.07em;
    text-align:center;
  }
  .footer-newsletter__field{width:min(280px,100%);height:28px}
  .footer-newsletter input{height:24px;font-size:12px}
  .footer-social{justify-content:center}
  .footer-columns{gap:18px}
  .footer-columns h3{margin-bottom:8px;font-size:12px}
  .footer-columns a{margin-top:8px;font-size:11px}
}


@media (max-width: 767px){

  .orderlist-page .order-shell--invoice{
    width:calc(100vw - 28px);
    padding:calc(var(--header-h) + 36px) 0 30px;
  }
  .orderlist-page .order-hero--center{margin-bottom:16px}
  .orderlist-page .order-hero--center h1{font-size:40px;letter-spacing:-.05em}
  .orderlist-page .order-invoice{border-top:1px solid rgba(17,17,17,.12)}
  .orderlist-page .invoice-row{
    position:relative;
    grid-template-columns:88px minmax(0,1fr) auto;
    grid-template-rows:auto auto 1fr auto;
    gap:6px 14px;
    align-items:start;
    padding:16px 0;
    min-height:98px;
  }
  .orderlist-page .invoice-row__media{
    grid-column:1;
    grid-row:1 / span 4;
    width:88px;
    max-width:none;
    margin:0;
  }
  .orderlist-page .invoice-row__rowno,
  .orderlist-page .invoice-row__group{display:none}
  .orderlist-page .invoice-row__main{
    grid-column:2 / span 2;
    grid-row:1;
    justify-items:start;
    gap:0;
    align-self:start;
  }
  .orderlist-page .invoice-row__title{
    text-align:left;
    font-size:14px;
    font-weight:400;
    letter-spacing:.06em;
    line-height:1.18;
  }
  .orderlist-page .invoice-row__xcode{
    grid-column:2 / span 2;
    grid-row:2;
    text-align:left;
    display:block;
    justify-self:start;
    font-size:11px;
    letter-spacing:.08em;
    line-height:1.35;
    color:rgba(17,17,17,.68);
  }
  .orderlist-page .invoice-row__qty::before,
  .orderlist-page .invoice-row__xcode::before{content:none}
  .orderlist-page .invoice-row__xcode strong{
    display:block;
    font-size:11px;
    font-weight:400;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-align:left;
    color:rgba(17,17,17,.68);
  }
  .orderlist-page .invoice-row__footer{
    grid-column:2 / span 2;
    grid-row:4;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    min-width:0;
    margin-top:2px;
  }
  .orderlist-page .invoice-row__qty{
    display:flex;
    align-items:flex-end;
    min-width:0;
  }
  .orderlist-page .invoice-row__qty .qty-control{justify-content:flex-start}
  .orderlist-page .invoice-row__action{
    text-align:right;
    margin-top:0;
    display:flex;
    justify-content:flex-end;
    margin-left:auto;
    padding-left:8px;
  }
  .orderlist-page .invoice-row__action .cart-remove{
    padding:0;
    font-size:9px;
    letter-spacing:.14em;
    opacity:.44;
    white-space:nowrap;
  }
  .orderlist-page .invoice-row__action .cart-remove:hover{opacity:.72}
  .orderlist-page .qty-control{min-height:30px}
  .orderlist-page .qty-control button{width:30px;height:30px;font-size:14px}
  .orderlist-page .qty-control span{min-width:34px;height:30px;font-size:11px}
  .orderlist-page .order-invoice__footer--next{padding-top:16px}
  .orderlist-page .order-invoice__summary{gap:14px}
  .orderlist-page .order-next-actions{width:100%;gap:10px}
  .orderlist-page .order-next-actions .secondary-action,
  .orderlist-page .order-next-actions .primary-action{width:100%;justify-content:center}


}


@media (max-width: 767px) and (orientation: landscape){
  .mobile-rotate-guard{display:grid}
  .mobile-bottom-nav{display:none}
}

/* R070 desktop product filters */
.products-page .series-selector{
  display:grid;
  grid-template-columns:minmax(150px,.2fr) minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:12px 0;
  border-top:1px solid rgba(17,17,17,.1);
  border-bottom:1px solid rgba(17,17,17,.1);
  background:var(--bg);
}
.products-page .series-selector__label h2{
  margin:0;
  font-size:13px;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1;
}
@media (min-width:768px){
  .products-page .model-stories--series{
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    overflow:visible;
    padding:0;
    min-height:28px;
  }
  .products-page .model-stories--series .model-story{
    width:auto;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    padding:2px 0 5px;
    opacity:1;
    text-align:left;
    transform:none;
  }
  .products-page .model-stories--series .model-story:hover,
  .products-page .model-stories--series .model-story.is-active{
    transform:none;
  }
  .products-page .model-stories--series .model-story__thumb{
    display:none;
  }
  .products-page .model-stories--series .model-story__label{
    font-size:15px;
    font-weight:300;
    letter-spacing:.02em;
    line-height:1;
    text-transform:uppercase;
    color:rgba(17,17,17,.54);
  }
  .products-page .model-stories--series .model-story:hover .model-story__label,
  .products-page .model-stories--series .model-story.is-active .model-story__label{
    color:#111;
  }
  .products-page .model-stories--series .model-story.is-active::after{
    left:0;
    bottom:-4px;
    width:100%;
    transform:none;
  }

  .products-page .size-selector{
    grid-template-columns:minmax(150px,.2fr) minmax(0,1fr);
    padding:12px 0;
    margin:0 0 32px;
  }
  .products-page .size-selector__options{
    gap:24px;
    min-height:28px;
  }
  .products-page .size-pill{
    min-height:auto;
    padding:2px 0 5px;
    border:0;
    background:none;
    font-size:15px;
    font-weight:300;
    letter-spacing:.02em;
    line-height:1;
    text-transform:uppercase;
    color:rgba(17,17,17,.54);
    opacity:1;
  }
  .products-page .size-pill:hover,
  .products-page .size-pill.is-active{
    background:none;
    color:#111;
    border-color:transparent;
  }
  .products-page .size-pill.is-active{
    border-bottom:1px solid #111;
  }
}
@media (max-width:767px){
  .products-page .series-selector{
    grid-template-columns:1fr;
    padding:0 0 14px;
    border-top:0;
    border-bottom:0;
    background:transparent;
  }
  .products-page .series-selector__label{
    display:none;
  }
}

/* R070 desktop product selector system */
.selector-scroll-shell{
  position:relative;
  min-width:0;
}
.selector-scroll-shell__edge,
.selector-scroll-shell__hint{
  pointer-events:none;
  opacity:0;
  transition:opacity .22s ease;
}

@media (min-width:768px){
  .mega-menu__link--type{letter-spacing:-.0162em;}
  .design-card__code{letter-spacing:.088em;}
  .invoice-row__title,
  .cart-card__title,
  .cart-item__title,
  .search-result__title,
  .order-suggest__card strong{letter-spacing:.022em;}
  .home-browser h1,
  .catalog-group-box h1,
  .order-hero h1,
  .order-hero--center h1,
  .recommended-hero h1,
  .submit-hero h1,
  .login-hero h1,
  .search-hero h1,
  .request-sent-view h1,
  .order-empty-state h1,
  .placeholder-shell h1{letter-spacing:-.054em;}

  .products-page .model-stories-sticky{
    top:var(--header-h);
    z-index:42;
    margin-bottom:24px;
    padding:10px 0 12px;
    border-bottom:0;
    background:var(--bg);
  }
  .products-page .model-selector-shell .model-stories,
  .products-page .size-selector__options{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-behavior:smooth;
  }
  .products-page .model-selector-shell .model-stories::-webkit-scrollbar,
  .products-page .size-selector__options::-webkit-scrollbar{display:none}

  .products-page .model-selector-shell .model-stories{
    padding:8px 38px 4px 0;
    gap:16px;
  }

  .products-page [data-option-selector]{
    display:flex;
    align-items:center;
    gap:18px;
    position:sticky;
    top:calc(var(--header-h) + var(--stories-sticky-h) - 1px);
    z-index:41;
    padding:12px 0;
    margin:0 0 32px;
    border-top:1px solid rgba(17,17,17,.1);
    border-bottom:1px solid rgba(17,17,17,.1);
    background:var(--bg);
  }
  .products-page [data-option-selector].is-pinned{box-shadow:0 1px 0 rgba(17,17,17,.08);}
  .products-page .size-selector__label{
    flex:0 0 auto;
    display:flex;
    align-items:center;
  }
  .products-page .size-selector__label h2{
    margin:0;
    font-size:13px;
    font-weight:400;
    letter-spacing:.14em;
    text-transform:uppercase;
    line-height:1;
    white-space:nowrap;
  }
  .products-page .size-selector__options{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:36px;
    padding:0 38px 0 0;
    flex:1 1 auto;
  }
  .products-page .size-pill{
    min-width:34px;
    height:34px;
    padding:0 10px;
    border:1px solid transparent;
    background:none;
    border-radius:999px;
    font-size:14px;
    font-weight:300;
    letter-spacing:.02em;
    line-height:1;
    text-transform:uppercase;
    color:rgba(17,17,17,.58);
    opacity:1;
    white-space:nowrap;
    flex:0 0 auto;
  }
  .products-page .size-pill:hover,
  .products-page .size-pill.is-active{
    background:none;
    color:#111;
    border-color:rgba(17,17,17,.16);
  }
  .products-page .size-pill.is-active{
    border-color:#111;
  }

  .products-page .design-card__media-toggle{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
    text-align:left;
  }
  .products-page .design-card__copy{
    display:grid;
    gap:7px;
    align-content:start;
  }
  .products-page .design-card__headline{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    min-width:0;
  }
  .products-page .design-card__flag{
    display:inline-flex;
    align-items:center;
    gap:6px;
    align-self:center;
    min-height:auto;
    padding:0;
    border:0;
    background:transparent;
    font-size:9px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(17,17,17,.58);
    white-space:nowrap;
  }
  .products-page .design-card__flag-dot{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#111;
    opacity:.28;
  }

  .selector-scroll-shell__edge{
    position:absolute;
    top:0;
    bottom:0;
    width:58px;
    z-index:2;
  }
  .selector-scroll-shell__edge--left{
    left:0;
    background:linear-gradient(90deg, var(--bg) 0%, rgba(247,246,242,0) 100%);
  }
  .selector-scroll-shell__edge--right{
    right:0;
    background:linear-gradient(270deg, var(--bg) 0%, rgba(247,246,242,0) 100%);
  }
  .selector-scroll-shell__hint{
    position:absolute;
    right:2px;
    top:50%;
    z-index:3;
    transform:translateY(-50%);
    padding:4px 0 4px 10px;
    font-size:10px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(17,17,17,.46);
    background:linear-gradient(270deg, var(--bg) 40%, rgba(247,246,242,0) 100%);
  }
  .selector-scroll-shell.has-overflow:not(.is-scroll-start) .selector-scroll-shell__edge--left{opacity:1}
  .selector-scroll-shell.has-overflow:not(.is-scroll-end) .selector-scroll-shell__edge--right,
  .selector-scroll-shell.has-overflow:not(.is-scroll-end) .selector-scroll-shell__hint{opacity:1}
}

@media (max-width:767px){
  .selector-scroll-shell__edge,
  .selector-scroll-shell__hint{display:none}
  .products-page [data-option-selector].is-hidden{display:none}
}


/* R071 desktop image preview + order list */
.design-card__media-toggle img,
.invoice-row__media-toggle img{transition:opacity .24s ease, transform .32s var(--ease);}
.design-card__media-toggle.is-alt img,
.invoice-row__media-toggle.is-alt img{transform:scale(1.01);}
.invoice-row__media-toggle{display:block;padding:0;border:0;background:transparent;cursor:pointer;}
.invoice-row__media-toggle img{display:block;width:100%;height:100%;object-fit:cover;}
@media (min-width:768px){
  .design-card__badge{display:none!important;}
}

@media (min-width:768px){
  .products-page .design-card__media img,
  .orderlist-page .invoice-row__media img{transition:transform .32s var(--ease), opacity .22s ease;}
  .products-page .design-card__media-toggle,
  .orderlist-page .invoice-row__media-toggle{cursor:pointer;}
}


/* R076 refined logo alignment, footer gap, typography, image crossfade, mobile nav, and badges */
@media (min-width:768px){
  .footer-stage{height:168vh;}
  .submit-backtop{padding:10px 0 48px;}
}

html,body{
  font-kerning:normal;
  font-feature-settings:"kern" 1;
}
.side-nav a,
.mega-menu__link--type,
.mega-menu__link--nested,
.home-browser h1,
.catalog-group-box h1,
.model-main__title,
.design-browser__head h2,
.order-hero--center h1,
.recommended-hero h1,
.submit-hero h1,
.login-hero h1,
.placeholder-shell h1,
.order-empty-state h3,
.submit-card__head h2,
.login-card__head h2,
.recommended-tile .index-overlay strong{
  font-kerning:normal;
  font-feature-settings:"kern" 1;
  text-rendering:geometricPrecision;
}
.side-nav a,
.mega-menu__link--type,
.mega-menu__link--nested{letter-spacing:.014em;}
.home-browser h1,
.catalog-group-box h1,
.order-hero--center h1,
.model-main__title,
.design-browser__head h2,
.recommended-hero h1,
.submit-hero h1,
.login-hero h1,
.placeholder-shell h1,
.order-empty-state h3,
.submit-card__head h2,
.login-card__head h2,
.recommended-tile .index-overlay strong{letter-spacing:.006em;}

.design-card__media-toggle img,
.invoice-row__media-toggle img{
  transition:opacity .28s ease, filter .28s ease;
  transform:none!important;
  will-change:opacity;
}
.design-card__media-toggle.is-swapping img,
.invoice-row__media-toggle.is-swapping img{
  opacity:.14;
}
.design-card__media-toggle.is-alt img,
.invoice-row__media-toggle.is-alt img{
  transform:none!important;
}
.products-page .design-card:hover .design-card__media img,
.products-page .design-card__media img,
.orderlist-page .invoice-row__media img{
  transform:none!important;
}

.design-card__badge,
.product-card__badge{
  position:absolute;
  top:10px;
  right:10px;
  left:auto;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  min-height:auto;
  padding:6px 10px 5px 10px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  background:rgba(247,246,242,.86);
  backdrop-filter:blur(6px);
  box-shadow:0 4px 12px rgba(17,17,17,.08);
  font-size:9px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#111;
  z-index:2;
}
.design-card__badge::before,
.product-card__badge::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#111;
  opacity:.78;
}
@media (max-width:767px){
  .design-card__badge,
  .product-card__badge{
    top:8px;
    right:8px;
    padding:5px 8px 4px 8px;
    font-size:8px;
    letter-spacing:.16em;
  }
}



/* R076 smooth preview crossfade and refined desktop/mobile nav */
.preview-stack{position:relative;display:block;width:100%;height:100%;}
.preview-stack__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .42s ease;transform:none!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.preview-stack__img--primary{opacity:1;z-index:1;}
.preview-stack__img--secondary{opacity:0;z-index:2;}
[data-preview-toggle]{-webkit-tap-highlight-color:transparent;outline:none;}
[data-preview-toggle].is-alt .preview-stack__img--primary{opacity:0;}
[data-preview-toggle].is-alt .preview-stack__img--secondary{opacity:1;}
.design-card__media-toggle img,.invoice-row__media-toggle img,.products-page .design-card:hover .design-card__media img,.products-page .design-card__media img,.orderlist-page .invoice-row__media img{transform:none!important;}
.design-card__media-toggle.is-swapping img,.invoice-row__media-toggle.is-swapping img{opacity:1;}

@media (max-width:767px){
  .mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;align-items:center;justify-items:center;gap:0;padding:6px max(12px, env(safe-area-inset-left, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));}
  .mobile-bottom-nav__item{width:100%;justify-items:center;gap:4px;transform:none;}
  .mobile-bottom-nav__item svg{width:20px;height:20px;}
  .mobile-bottom-nav__item--menu{order:1;}
  .mobile-bottom-nav__item[href="#"]{order:2;}
  .mobile-bottom-nav__item[data-mobile-nav="search"]{order:3;}
  .mobile-bottom-nav__item[data-mobile-nav="login"]{order:4;}
  .mobile-bottom-nav__item[data-mobile-nav="order"]{order:5;}
}

@media (min-width:768px){
  .submit-backtop{padding-bottom:48px;}
}

.size-selector{top:calc(var(--header-h) + var(--stories-sticky-h));}

.design-card__badge,.product-card__badge{top:auto;bottom:12px;left:12px;right:auto;min-height:22px;padding:0 10px;border-radius:999px;background:rgba(17,17,17,.68);border:1px solid rgba(247,246,242,.18);color:#f7f6f2;backdrop-filter:blur(8px);box-shadow:0 8px 18px rgba(17,17,17,.12);letter-spacing:.18em;font-size:9px;}
.design-card__badge::before,.product-card__badge::before{content:"";display:inline-block;width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.88;margin-right:7px;vertical-align:middle;}

.mobile-bottom-nav__call,.mobile-bottom-nav__item--call-slot{display:none!important;}

@media (max-width:767px){ body.drawer-open .brand{transform:translate3d(calc(-50% + var(--mobile-brand-shift-x, 0px) - 0px), calc(-50% + 4px), 0);} }


/* R076 shared standards — cross-page layout, mobile panels, and product media */
:root{
  --page-title-tracking:0.012em;
  --title-one-line-max:100%;
  --desktop-backtop-gap:96px;
  --desktop-footer-stage-h:182vh;
  --mobile-page-margin:20px;
}

/* Shared one-line rules across desktop / tablet / mobile */
.product-card__title,
.product-card__title-btn,
.design-card__code,
.invoice-row__title,
.cart-item__title,
.recommended-tile .index-overlay strong,
.design-card__action,
.primary-action,
.secondary-action{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.design-card__action,
.primary-action,
.secondary-action{line-height:1;}

/* Use Merrix font with more breathing room but no artificial wide tracking */
:where(.mega-menu__link--type,.mega-menu__link--nested,.side-nav a,.product-card__title,.product-card__title-btn,.design-card__code,.invoice-row__title,.cart-item__title,.home-browser h1,.catalog-group-box h1,.order-hero--center h1,.recommended-hero h1,.submit-hero h1,.login-hero h1,.search-hero h1,.request-sent-view h1,.model-main__title){
  font-kerning:normal;
  font-feature-settings:"kern" 1;
  letter-spacing:var(--page-title-tracking);
}

/* Restore badge feel closer to R073, on image and distinct */
.design-card__badge,
.product-card__badge{
  top:12px !important;
  left:12px !important;
  right:auto !important;
  bottom:auto !important;
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(247,246,242,.92);
  color:#111;
  box-shadow:none;
  backdrop-filter:none;
  font-size:9px;
  letter-spacing:.16em;
}
.design-card__badge::before,
.product-card__badge::before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:.8;
  margin-right:0;
}
@media (max-width:767px){
  .design-card__badge,
  .product-card__badge{
    top:8px !important;
    left:8px !important;
    padding:0 8px;
    min-height:21px;
    font-size:8px;
  }
}

/* Desktop footer / back-to-top relationship */
@media (min-width:768px){
  .footer-stage{height:var(--desktop-footer-stage-h);}
  .submit-backtop{padding:18px 0 var(--desktop-backtop-gap);}
}

/* Smoother second image reveal with no flash / zoom */
.preview-stack{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:transparent;}
.preview-stack__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:none !important;
  transition:opacity .56s cubic-bezier(.22,.61,.36,1);
  will-change:opacity;
}
.preview-stack__img--primary{opacity:1;}
.preview-stack__img--secondary{opacity:0;}
[data-preview-toggle].is-alt .preview-stack__img--primary{opacity:0;}
[data-preview-toggle].is-alt .preview-stack__img--secondary{opacity:1;}
.design-card__media img,
.invoice-row__media img,
.design-card__media-toggle img,
.invoice-row__media-toggle img{transform:none !important;filter:none !important;}
.design-card__media-toggle.is-swapping img,
.invoice-row__media-toggle.is-swapping img{opacity:1 !important;}

/* Product sticky relationships */
.products-page .model-stories-sticky{margin-bottom:0;}
.products-page .size-selector{
  top:calc(var(--header-h) + var(--stories-sticky-h) - 1px);
  margin:-1px 0 24px;
}
.products-page .size-selector.is-pinned{box-shadow:0 1px 0 rgba(17,17,17,.08);}

/* Mobile standard shell */
@media (max-width:767px){
  :root{
    --mobile-page-margin:20px;
    --mobile-nav-h:48px;
    --mobile-safe-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px));
    --mobile-shell-top:72px;
    --mobile-shell-bottom:var(--mobile-safe-bottom);
    --mobile-shell-height:calc(100dvh - var(--mobile-shell-top) - var(--mobile-shell-bottom));
  }
  .site-header{
    grid-template-columns:1fr;
    height:72px;
    padding:0 var(--mobile-page-margin);
  }
  .site-header__left{justify-content:center;}
  .brand{
    left:50%;
    width:176px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    transform:translate3d(calc(-50% + var(--mobile-brand-shift-x, 0px)), calc(-50% + 4px), 0);
    transition:transform .44s cubic-bezier(.22,1,.36,1);
    will-change:transform;
    transform-origin:left center;
  }
  .brand__logo{width:176px;max-width:none;display:block;flex:0 0 auto;}
  body.drawer-open .brand{transform:translate3d(calc(-50% + var(--mobile-brand-shift-x, 0px)), calc(-50% + 4px), 0);}

  .mobile-bottom-nav{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    align-items:center;
    justify-items:center;
    gap:0;
    padding:6px max(12px, env(safe-area-inset-left, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
  }
  .mobile-bottom-nav__item{
    width:100%;
    justify-items:center;
    gap:4px;
    color:rgba(17,17,17,.58);
    transform:none;
  }
  .mobile-bottom-nav__item svg{width:20px;height:20px;}
  .mobile-bottom-nav__item[data-mobile-nav="order"]{order:1;}
  .mobile-bottom-nav__item[data-mobile-nav="login"]{order:2;}
  .mobile-bottom-nav__item[data-mobile-nav="search"]{order:3;}
  .mobile-bottom-nav__item--language{order:4;}
  .mobile-bottom-nav__item--menu{order:5;}

  .order-drawer,
  .language-sheet{
    position:fixed;
    z-index:98;
    background:var(--bg);
  }
  .order-drawer{
    top:var(--mobile-shell-top);
    right:0;
    left:0;
    bottom:var(--mobile-shell-bottom);
    width:100vw;
    height:auto;
    transform:translateX(100%);
    border-left:0;
    border-top:0;
    transition:transform .42s var(--ease);
  }
  .order-drawer__inner{
    height:100%;
    overflow:auto;
    padding:20px 18px 24px;
  }
  .language-sheet{
    left:0;
    right:0;
    top:var(--mobile-shell-top);
    bottom:var(--mobile-shell-bottom);
    height:auto;
    transform:translateY(100%);
    border-top:1px solid rgba(17,17,17,.08);
    transition:transform .42s var(--ease);
  }
  .language-sheet__panel{
    height:100%;
    overflow:auto;
    padding:18px 20px 24px;
    display:grid;
    align-content:start;
    gap:16px;
  }
  .language-sheet__head h2{
    margin:0;
    font-size:22px;
    font-weight:300;
    letter-spacing:-.04em;
    text-transform:uppercase;
  }
  .language-sheet__options{display:grid;gap:10px;}
  .language-sheet__option{
    min-height:44px;
    padding:0 14px;
    border:1px solid rgba(17,17,17,.12);
    text-align:left;
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .language-sheet__option.is-active{background:#111;color:#f7f6f2;border-color:#111;}
  body.order-drawer-open .order-drawer{transform:translateX(0);}
  body.language-sheet-open .language-sheet{transform:translateY(0);}
  body.order-drawer-open .drawer-overlay,
  body.language-sheet-open .drawer-overlay,
  body.drawer-open .drawer-overlay{opacity:1;visibility:visible;}

  /* Keep product-page mobile rules aligned */
  .products-page .model-stories-sticky{
    top:72px;
    margin-bottom:0;
    padding:10px 0 10px;
    border-bottom:1px solid rgba(17,17,17,.08);
  }
  .products-page .size-selector{
    top:calc(72px + var(--stories-sticky-h) - 1px);
    margin:-1px 0 18px;
  }
}


/* R076 mobile shell refinement */
@media (max-width:767px){
  body.drawer-open,
  body.order-drawer-open,
  body.language-sheet-open{overflow:hidden;}

  .mobile-bottom-nav{
    grid-template-columns:repeat(5,minmax(0,1fr));
    display:grid;
    align-items:center;
    justify-items:center;
    gap:0;
    padding:2px max(12px, env(safe-area-inset-left, 0px)) calc(2px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
  }
  .mobile-bottom-nav__item{
    width:100%;
    min-height:44px;
    justify-items:center;
    align-content:center;
    gap:3px;
    transform:none;
  }
  .mobile-bottom-nav__item svg{width:18px;height:18px;}
  .mobile-bottom-nav__label{font-size:7px;letter-spacing:.12em;}
  .mobile-bottom-nav__item--menu{order:1;}
  .mobile-bottom-nav__item--language{order:2;}
  .mobile-bottom-nav__item[data-mobile-nav="search"]{order:3;}
  .mobile-bottom-nav__item[data-mobile-nav="login"]{order:4;}
  .mobile-bottom-nav__item[data-mobile-nav="order"]{order:5;}

  .side-drawer{
    top:var(--mobile-shell-top);
    bottom:var(--mobile-shell-bottom);
    height:auto;
    width:min(84vw, 420px);
  }
  .side-drawer__inner{
    height:100%;
    overflow:auto;
    padding:18px 20px 24px;
  }

  .language-sheet,
  .order-drawer{
    top:var(--mobile-shell-top);
    bottom:var(--mobile-shell-bottom);
    height:auto;
  }
  .language-sheet__panel,
  .order-drawer__inner{
    height:100%;
    overflow:auto;
  }

  .language-sheet__panel{padding:18px 20px 24px;}
  .language-sheet__option{min-height:44px;}

  .order-drawer{
    left:0;
    right:0;
    width:100vw;
    border-left:0;
  }
  .order-drawer__inner{padding:20px 18px 24px;}
}


/* R077 mobile bottom-nav stability fix */
@media (max-width:767px){
  :root{
    --mobile-nav-h:48px;
    --mobile-safe-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px));
    --mobile-shell-top:72px;
    --mobile-shell-bottom:var(--mobile-safe-bottom);
  }
  body{padding-bottom:var(--mobile-safe-bottom);}
  .mobile-bottom-nav{
    display:grid !important;
    position:fixed !important;
    left:0;
    right:0;
    bottom:0;
    z-index:120 !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;
    justify-items:center;
    gap:0;
    min-height:var(--mobile-nav-h);
    height:auto;
    padding:2px max(12px, env(safe-area-inset-left, 0px)) calc(2px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
    background:rgba(247,246,242,.96);
    backdrop-filter:blur(12px) saturate(120%);
    border-top:1px solid rgba(17,17,17,.08);
    visibility:visible !important;
    opacity:1 !important;
  }
  .mobile-bottom-nav__item{
    width:100%;
    min-height:44px;
    display:grid;
    align-content:center;
    justify-items:center;
    gap:3px;
    color:rgba(17,17,17,.58);
  }
  .mobile-bottom-nav__item svg{width:18px;height:18px;display:block;}
  .mobile-bottom-nav__label{display:block;font-size:7px;letter-spacing:.12em;white-space:nowrap;}
  .mobile-bottom-nav__item--menu{order:1;}
  .mobile-bottom-nav__item--language{order:2;}
  .mobile-bottom-nav__item[data-mobile-nav="search"]{order:3;}
  .mobile-bottom-nav__item[data-mobile-nav="login"]{order:4;}
  .mobile-bottom-nav__item[data-mobile-nav="order"]{order:5;}
  .mobile-bottom-spacer{display:block !important;height:var(--mobile-safe-bottom) !important;}
  .mobile-bottom-nav__call,
  .mobile-bottom-nav__item--call-slot{display:none !important;}
}


/* R078 mobile shell corrections */
@media (max-width:767px){
  :root{
    --mobile-nav-h:48px;
    --mobile-safe-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px));
    --mobile-shell-top:72px;
    --mobile-shell-bottom:var(--mobile-safe-bottom);
  }

  .mobile-bottom-nav{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:var(--mobile-nav-h);
    padding:2px max(12px, env(safe-area-inset-left, 0px)) calc(2px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
  }
  .mobile-bottom-nav__item{min-height:44px;}
  .mobile-bottom-nav__item--menu{order:1;}
  .mobile-bottom-nav__item--language{order:2;}
  .mobile-bottom-nav__item[data-mobile-nav="search"]{order:3;}
  .mobile-bottom-nav__item[data-mobile-nav="login"]{order:4;}
  .mobile-bottom-nav__item[data-mobile-nav="order"]{order:5;}

  .side-drawer{
    top:var(--mobile-shell-top) !important;
    right:0;
    left:0;
    bottom:var(--mobile-shell-bottom) !important;
    width:100vw !important;
    height:auto !important;
    transform:translateX(-100%);
    transition:transform .56s cubic-bezier(.25,.8,.25,1);
  }
  .side-drawer__inner{
    height:100%;
    overflow:auto;
    padding:18px 20px calc(var(--mobile-safe-bottom) + 18px) var(--menu-align) !important;
  }

  .language-sheet{
    position:fixed;
    left:0;
    right:0;
    top:var(--mobile-shell-top) !important;
    bottom:var(--mobile-shell-bottom) !important;
    transform:translateY(100%);
    transition:transform .56s cubic-bezier(.25,.8,.25,1);
    z-index:98;
  }
  .language-sheet__panel{
    height:100%;
    overflow:auto;
    padding:18px 20px calc(var(--mobile-safe-bottom) + 18px);
    align-content:start;
  }

  .order-drawer{
    position:fixed;
    top:var(--mobile-shell-top) !important;
    right:0;
    left:0;
    bottom:var(--mobile-shell-bottom) !important;
    width:100vw !important;
    height:auto !important;
    transform:translateX(100%);
    transition:transform .56s cubic-bezier(.25,.8,.25,1);
    z-index:98;
    border-left:0 !important;
  }
  .order-drawer__inner--page{
    height:100%;
    overflow:auto;
    padding:0 0 calc(var(--mobile-safe-bottom) + 8px) 0 !important;
    background:var(--bg);
  }
  .order-shell--panel{padding:0 16px 24px;}
  .order-hero--panel{padding-top:18px;}
  .order-invoice--panel .order-invoice__head{position:sticky;top:0;background:var(--bg);z-index:2;}
  .order-invoice__footer--panel{padding-bottom:8px;}

  body.drawer-open .side-drawer{transform:translateX(0);}
  body.language-sheet-open .language-sheet{transform:translateY(0);}
  body.order-drawer-open .order-drawer{transform:translateX(0);}
  body.drawer-open .drawer-overlay,
  body.language-sheet-open .drawer-overlay,
  body.order-drawer-open .drawer-overlay{opacity:1;visibility:visible;}
}


/* R106 about page, footer contact, and stacked-copy refinements */
.footer-social--merrix{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.footer-social__link{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,17,17,.14);
  border-radius:999px;
  background:rgba(255,255,255,.56);
}
.footer-social__link svg{width:18px;height:18px}
.footer-social__link--badge span{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding-bottom:4px;
  border-bottom:1px solid rgba(17,17,17,.16);
}
.footer-phone svg{width:18px;height:18px}
.about-shell{
  width:var(--grid-w);
  margin:0 auto;
  padding:calc(var(--header-h) + 96px) 0 72px;
  display:grid;
  gap:28px;
}
.about-hero{
  display:grid;
  justify-items:center;
  text-align:center;
  margin:0 auto;
  max-width:860px;
}
.about-hero h1{
  margin:0;
  font-size:clamp(36px,5vw,72px);
  font-weight:300;
  letter-spacing:-.06em;
  line-height:.94;
  text-transform:uppercase;
}
.about-hero__sub{
  margin:14px 0 0;
  max-width:760px;
  font-size:14px;
  line-height:1.75;
  color:rgba(17,17,17,.62);
}
.about-card{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);
  gap:24px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(17,17,17,.08);
  padding:32px;
}
.about-card__copy{
  display:grid;
  gap:14px;
}
.about-card__copy h2{
  margin:0;
  font-size:clamp(24px,3vw,40px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
  text-transform:uppercase;
}
.about-card__copy p{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:rgba(17,17,17,.72);
}
.about-card__support{
  display:grid;
  gap:18px;
  align-content:start;
}
.about-support-block{
  display:grid;
  gap:12px;
  padding:20px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(17,17,17,.08);
}
.about-social{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.about-social__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.about-phone{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.about-phone svg{width:20px;height:20px}
.stacked-title__line{display:inline}
.stacked-title__line + .stacked-title__line::before{content:' '}
@media (max-width:1024px){
  .about-card{grid-template-columns:1fr}
}
@media (max-width:720px){
  .about-shell{width:calc(100vw - 24px)}
}

/* R109 footer + editorial page refinement */
.footer-social--merrix{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.footer-social__link{
  width:auto;
  height:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  color:#111;
}
.footer-social__link svg{
  width:18px;
  height:18px;
  stroke-width:1.15;
}
.footer-social__link--label{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1;
}
.footer-phone{
  width:100%;
  justify-content:center;
  margin:4px auto 0;
  padding-bottom:0;
  border-bottom:0;
  text-align:center;
}
.footer-columns{
  width:100%;
  justify-content:center;
}
.about-shell--editorial{
  gap:20px;
}
.about-copy-only{
  width:min(100%, 760px);
  margin:0 auto;
  display:grid;
  gap:14px;
  padding:0;
  background:transparent;
  border:0;
}
.about-copy-only h2{
  margin:0;
  font-size:clamp(24px,3vw,40px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
  text-transform:uppercase;
}
.about-copy-only p{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:rgba(17,17,17,.72);
}
@media (max-width:1024px){
  .about-copy-only{
    width:min(100%, 680px);
  }
}


/* R109 global refinement: Merrix about justification, Zara-like footer icons, and animated call icon */
.footer-social--merrix{
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
}
.footer-social__link{
  width:19px;
  height:19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
}
.footer-social__link svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.15;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-phone{
  margin:4px auto 0;
  justify-content:center;
  text-align:center;
}
.footer-phone svg{
  animation:merrixPhonePulse 1.35s ease-in-out infinite;
  transform-origin:center center;
}
@keyframes merrixPhonePulse{
  0%,100%{opacity:1;transform:scale(1)}
  35%{opacity:.48;transform:scale(.88)}
  58%{opacity:1;transform:scale(1.08)}
}
.about-copy-only p{
  text-align:justify;
  text-justify:inter-word;
}

/* R109 code-cleanup layer: real editorial/support pages and working footer newsletter */
.footer-newsletter__form{
  width:100%;
  display:grid;
  gap:10px;
}
.footer-newsletter__field{
  width:min(360px,100%);
  min-height:38px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  border-bottom:1px solid #111;
}
.footer-newsletter input{
  width:100%;
  min-width:0;
  height:30px;
  border:0;
  outline:none;
  background:transparent;
  padding:0 0 6px;
  text-align:left;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.footer-newsletter__button{
  min-height:30px;
  border:0;
  background:transparent;
  font:inherit;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  padding:0 0 6px;
}
.footer-feedback{
  margin:0;
  min-height:16px;
  font-size:11px;
  letter-spacing:.04em;
  line-height:1.45;
  color:rgba(17,17,17,.72);
}
.footer-feedback[data-tone="error"]{color:#8d2b2b}
.footer-feedback[data-tone="success"]{color:rgba(17,17,17,.72)}
.inline-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(17,17,17,.22);
}
.info-shell{
  gap:32px;
}
.info-grid{
  display:grid;
  gap:18px;
}
.info-grid--three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.info-card{
  display:grid;
  gap:12px;
  padding:24px;
  border:1px solid rgba(17,17,17,.08);
  background:rgba(255,255,255,.62);
  align-content:start;
}
.info-card h3,
.job-card h3,
.info-success h3{
  margin:0;
  font-size:clamp(19px,2vw,28px);
  font-weight:300;
  letter-spacing:-.03em;
  line-height:1.05;
  text-transform:uppercase;
}
.info-card p,
.info-copy p,
.info-copy li,
.job-card p,
.info-success p{
  margin:0;
  font-size:14px;
  line-height:1.82;
  color:rgba(17,17,17,.72);
}
.info-card--editorial{
  min-height:240px;
}
.info-card--form{
  gap:18px;
}
.info-split{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:24px;
  align-items:start;
}
.info-copy{
  display:grid;
  gap:14px;
}
.info-copy h2{
  margin:0;
  font-size:clamp(24px,3vw,40px);
  font-weight:300;
  letter-spacing:-.04em;
  line-height:1;
  text-transform:uppercase;
}
.info-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
}
.info-form{
  display:grid;
  gap:14px;
}
.info-form label{
  display:grid;
  gap:8px;
}
.info-form label span{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.info-form input,
.info-form textarea,
.info-form select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(17,17,17,.14);
  background:#fff;
  padding:12px 14px;
  font:inherit;
  font-size:13px;
  outline:none;
}
.info-form textarea{
  resize:vertical;
  min-height:120px;
}
.info-form input:focus,
.info-form textarea:focus,
.info-form select:focus{
  border-color:rgba(17,17,17,.42);
}
.info-form__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding-top:2px;
}
.info-success{
  display:grid;
  gap:10px;
  padding:20px 0 0;
}
.job-list{
  display:grid;
  gap:14px;
}
.job-card{
  display:grid;
  gap:12px;
  padding:18px 20px;
  border:1px solid rgba(17,17,17,.08);
  background:rgba(255,255,255,.56);
}
@media (max-width:1024px){
  .info-grid--three,
  .info-split{grid-template-columns:1fr}
}
@media (max-width:720px){
  .info-shell{gap:24px}
  .info-card{padding:20px}
  .footer-newsletter__field{width:min(100%,320px);gap:8px}
  .footer-newsletter__button{font-size:10px}
}






/* home-grid refinement: bring tablet/desktop banner rhythm closer to the product grid while leaving mobile unchanged. */
@media (min-width: 840px){
  .home-page .index-grid{gap:8px;}
}



/* R160 final order-list unification:
   The handheld order drawer must behave as the same Order List page:
   full-page surface, its own vertical scroll, shared footer reach, and no clear-cart button. */
.order-clear-action{display:none !important;}

.order-invoice__summary{
  display:flex;
  align-items:center;
  gap:16px;
}
.order-invoice__summary .summary-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.invoice-row__rowno,
.invoice-row__group,
.invoice-row__xcode,
.invoice-row__qty,
.invoice-row__action{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.invoice-row__main{
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.invoice-row__cell{
  text-align:center;
}

@media (max-width: 839px) and (orientation: portrait){
  .order-drawer{
    position:fixed !important;
    inset:var(--mobile-shell-top) 0 var(--mobile-shell-bottom) 0 !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    background:var(--bg) !important;
    border-left:0 !important;
    overflow:hidden !important;
    transform:translate3d(100%,0,0) !important;
    z-index:150 !important;
  }

  body.order-drawer-open .order-drawer{
    transform:translate3d(0,0,0) !important;
  }

  .order-drawer__inner,
  .order-drawer__inner--page{
    height:100% !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    touch-action:pan-y !important;
    background:var(--bg) !important;
  }

  body.order-drawer-open{
    touch-action:auto !important;
  }

  .order-drawer .order-shell--panel{
    width:calc(100% - (var(--mobile-page-margin) * 2)) !important;
    max-width:calc(100% - (var(--mobile-page-margin) * 2)) !important;
    margin:0 auto !important;
    padding:0 0 24px !important;
  }

  .order-drawer .order-hero--panel{
    position:relative !important;
    top:auto !important;
    margin:0 !important;
    padding:calc(var(--mobile-page-top-gap)) 0 18px !important;
    background:var(--bg) !important;
    border-bottom:1px solid var(--line-soft) !important;
  }

  .order-drawer .order-invoice__head{
    position:sticky !important;
    top:0 !important;
    background:var(--bg) !important;
    z-index:4 !important;
  }

  .order-drawer .order-invoice__footer{
    padding-bottom:0 !important;
  }

  .order-drawer .footer-stage--drawer{
    display:block !important;
    min-height:auto !important;
    height:auto !important;
    margin-top:28px !important;
  }

  .order-drawer .footer-stage--drawer .footer-cover{
    transform:none !important;
  }

  .order-drawer .footer-stage--drawer .submit-backtop{
    display:none !important;
  }

  .order-drawer .footer-stage--drawer .footer-inner{
    width:100% !important;
  }
}


/* R160 summary clear action — shared across page and drawer on desktop/mobile/tablet. */
.order-invoice__summary .summary-clear-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  text-decoration:none;
}
.order-invoice__summary .summary-clear-action:hover{
  opacity:.7;
}


/* R160 shared summary alignment.
   Keep the desktop layout intact while letting Selected/Total stay on the left
   and the clear text action sit on the far right of the summary line. */
.order-invoice__summary{
  flex:1 1 auto;
  min-width:0;
}
.order-invoice__summary .summary-row{
  justify-content:flex-start;
}
.order-invoice__summary .summary-clear-action{
  margin-inline-start:auto;
}


/* R160 order-list title divider cleanup: keep desktop/tablet title area clean. */
@media (min-width: 600px){
  .orderlist-page .order-hero--center{
    border-bottom: 0 !important;
  }
  .orderlist-page .order-invoice{
    border-top: 0 !important;
  }
}


/* R160 global order-list image ratio standardization.
   Keep the desktop/tablet/mobile visual proportion identical to Products desktop media (4:5). */
.invoice-row__media{
  aspect-ratio:4 / 5 !important;
}
.cart-item__media{
  aspect-ratio:4 / 5 !important;
}

/* R160 authoritative desktop cleanup and sticky rewrite.
   Base: R160.
   Desktop only.
   Goals:
   - keep one natural page scroll owner
   - keep footer full-viewport without staged scroll
   - fully disable accidental desktop edge-trigger behavior
   - make Index category filters sticky under the fixed header
   - make Order List table head sticky under the fixed header */
@media (min-width: 840px) and (hover: hover) and (pointer: fine){
  :root{
    --desktop-sticky-top: calc(var(--header-h) - 1px);
  }

  html{
    scrollbar-gutter: auto !important;
  }

  body{
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .edge-trigger{
    display: none !important;
    width: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .side-drawer,
  .order-drawer,
  .drawer-overlay{
    visibility: hidden;
    pointer-events: none;
  }

  body.drawer-open .side-drawer,
  body.order-drawer-open .order-drawer,
  body.drawer-open .drawer-overlay,
  body.order-drawer-open .drawer-overlay{
    visibility: visible;
    pointer-events: auto;
  }

  .page-main,
  .home-browser,
  .index-grid,
  .catalog-page,
  .order-shell,
  .order-shell--invoice,
  .order-invoice,
  .order-invoice__body,
  .recommended-shell,
  .submit-shell,
  .login-shell,
  .search-shell,
  .about-shell,
  .info-shell,
  .footer-stage,
  .footer-cover{
    overflow: visible !important;
    max-width: 100% !important;
  }

  .footer-stage{
    height: auto !important;
    min-height: 100vh !important;
    margin-top: 30px !important;
  }

  .footer-cover{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    transform: none !important;
    will-change: auto !important;
    display: block !important;
  }

  .footer-inner{
    min-height: 100vh !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .submit-backtop{
    padding: 18px 0 30px !important;
  }

  .home-page .category-strip{
    position: sticky !important;
    top: var(--desktop-sticky-top) !important;
    z-index: 50 !important;
    align-self: start !important;
    background: var(--bg) !important;
    border-bottom: 1px solid rgba(17,17,17,.08) !important;
    box-shadow: 0 1px 0 rgba(17,17,17,.04) !important;
  }

  .orderlist-page .order-invoice__head{
    position: sticky !important;
    top: var(--desktop-sticky-top) !important;
    z-index: 69 !important;
    background: var(--bg) !important;
    box-shadow: 0 1px 0 rgba(17,17,17,.04) !important;
  }
}



/* ============================================================
   EMPTY STATE
   ============================================================ */
.mega-menu__empty {
  padding: 40px 20px;
  text-align: center;
  font-size: 13px;
  opacity: .55;
}

   .size-selector__options {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }

    .size-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;

        border: 1px solid #d9d4cc;
        border-radius: 50%;
  
        color: #1a1a1a;

        font-size: 12px;
        font-weight: 500;
        line-height: 1;
        text-decoration: none;

        cursor: pointer;
        flex-shrink: 0;

        transition:
            background-color .2s ease,
            color .2s ease,
            border-color .2s ease;
    }

    .size-pill:hover {
        background-color: #f5f3ef;
        border-color: #1a1a1a;
    }

    .size-pill.is-active {
        color: #1a1a1a;
        border-color: #1a1a1a;
    }

    .size-pill:focus-visible {
        outline: 2px solid #1a1a1a;
        outline-offset: 2px;
    }

    @media (max-width: 767px) {
        .size-pill {
            width: 32px;
            height: 32px;
            min-width: 32px;
            min-height: 32px;
            font-size: 11px;
        }
    }
    /* ============================================================
   Stock Error Row - پس‌زمینه قرمز برای کل ردیف
   ============================================================ */
.invoice-row.is-stock-error {
    background: #fff4f4;
    border-inline-start: 4px solid #d32f2f;
    transition: background 0.2s ease;
}

.invoice-row.is-stock-error:hover {
    background: #ffe8e8;
}

/* ============================================================
   XCode column - قرمز وقتی خطا داره
   ============================================================ */
.invoice-row__xcode.is-error,
.invoice-row.is-stock-error .invoice-row__xcode {
    color: #d32f2f !important;
    font-weight: 700;
}

.invoice-row__xcode.is-error strong,
.invoice-row.is-stock-error .invoice-row__xcode strong {
    color: #d32f2f !important;
}

/* ============================================================
   Shake animation - وقتی کاربر میخواد بیشتر اضافه کنه
   ============================================================ */
@keyframes stockShake {
    0%, 100% { transform: translateX(0); }
    20%      { transform: translateX(-6px); }
    40%      { transform: translateX(6px); }
    60%      { transform: translateX(-4px); }
    80%      { transform: translateX(4px); }
}

.invoice-row.is-shaking {
    animation: stockShake 0.4s ease-in-out;
}

/* ============================================================
   Stock Alert box
   ============================================================ */

.order-stock-alert strong {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: #d32f2f;
}

[dir="rtl"] .order-stock-alert {
    text-align: right;
}

/* ============================================================
   Loading state روی دکمه +
   ============================================================ */
.qty-control button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}


/* ============================================================
   SKELETON LOADER
   ============================================================ */

.design-card--skeleton {
    pointer-events: none;
    cursor: default;
}

/* Shimmer base */
.skeleton-shimmer,
.skeleton-line,
.skeleton-btn {
    position: relative;
    overflow: hidden;
    background-color: #f6f6f3;
    border-radius: 4px;
}

.skeleton-shimmer::after,
.skeleton-line::after,
.skeleton-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, .75) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: shimmer 1.6s infinite;
    will-change: transform;
}

@keyframes shimmer {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

html[dir="rtl"] .skeleton-shimmer::after,
html[dir="rtl"] .skeleton-line::after,
html[dir="rtl"] .skeleton-btn::after {
    animation-name: shimmerRtl;
}

@keyframes shimmerRtl {
    0%   { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

/* تصویر کارت */
.design-card--skeleton .design-card__media.skeleton-shimmer {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    background-color: #fff6;
}

/* خطوط متن */
.skeleton-line {
    display: block;
    height: 12px;
    border-radius: 6px;
    margin-bottom: 8px;
}

.skeleton-line--lg { width: 85%; height: 14px; }
.skeleton-line--md { width: 65%; }
.skeleton-line--sm { width: 40%; height: 10px; }

/* دکمه */
.skeleton-btn {
    width: 100%;
    height: 40px;
    border-radius: 6px;
    margin-top: 12px;
    background-color: #f6f6f3;
}

/* fade-in برای کارت‌های واقعی */
.design-card:not(.design-card--skeleton) {
    animation: cardFadeIn .4s ease-out;
}

@keyframes cardFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================================
   🌀 Button Loading Spinner
   ============================================================ */
.primary-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: opacity .2s ease;
}

.primary-action .btn-spinner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    animation: spin 0.9s linear infinite;
}

.primary-action .btn-spinner[hidden] {
    display: none;
}

.primary-action.is-loading {
    opacity: 0.85;
    cursor: wait;
    pointer-events: none;
}

.primary-action.is-loading .btn-text {
    opacity: 0.7;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* اسپینر سراسری روی فرم (اختیاری) */
.submit-form.is-submitting {
    position: relative;
    pointer-events: none;
    opacity: 0.85;
}

.submit-form.is-submitting::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.4);
    z-index: 10;
}