/* ---------- preloader ---------- */
#preloader{
  position:fixed;
  inset:0;
  z-index:9999;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:8vh;
  transition:opacity .6s var(--ease-buttery), visibility .6s var(--ease-buttery);
}
#preloader video{
  width:min(1050px, 88vw);
  height:auto;
  display:block;
}
#preloader.preloader-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
body.preloading{overflow:hidden;}

/* ---------- find-your-match banner ---------- */
.match-banner{
  position:relative;
  background-size:cover;
  background-position:center;
  padding:70px 40px;
  margin:40px 0 0;
  overflow:hidden;
}
.match-panel{
  position:relative;
  max-width:1460px;
  margin:0 auto;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
  padding:60px 60px;
}
.match-close{
  position:absolute;
  top:22px;right:22px;
  width:30px;height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.85);
  border:0;
  display:flex;align-items:center;justify-content:center;
  z-index:3;
}
.match-close svg{width:14px;height:14px;stroke:var(--black);}
.match-ribbon{
  position:absolute;
  top:50%;right:0;
  transform:translateY(-50%);
  background:#111;
  color:#fff;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-size:12px;
  letter-spacing:.04em;
  padding:18px 10px;
  z-index:3;
}

.match-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:40px;
}
.match-copy h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:44px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:.01em;
  margin:0 0 24px;
  color:var(--black);
}
.match-copy p{
  font-size:15px;
  line-height:1.6;
  color:var(--text);
  max-width:420px;
  margin:0 0 30px;
}
.match-cta{
  display:inline-block;
  background:none;
  border:1px solid var(--black);
  padding:14px 34px;
  font-size:13px;
  letter-spacing:.03em;
  color:var(--black);
  transition:background .35s var(--ease-buttery), color .35s var(--ease-buttery);
}
.match-cta:hover{background:var(--black);color:#fff;}

.match-collage{
  position:relative;
  width:100%;
  max-width:640px;
  height:520px;
  justify-self:end;
}
.collage-img{
  position:absolute;
  object-fit:cover;
  background:#dcdcdc;
  box-shadow:0 14px 34px rgba(0,0,0,.14);
}
.collage-img.c1{width:230px;height:230px;top:0;left:70px;}
.collage-img.c2{width:250px;height:330px;top:20px;right:0;}
.collage-img.c3{width:210px;height:250px;bottom:0;left:0;}
.collage-img.c4{width:210px;height:290px;bottom:-10px;left:190px;z-index:2;}
.collage-img.c5{width:240px;height:290px;bottom:0;right:20px;z-index:1;}

@media (max-width:900px){
  .match-banner{padding:40px 16px;}
  .match-panel{padding:40px 24px;}
  .match-inner{grid-template-columns:1fr;gap:50px;}
  .match-copy h2{font-size:32px;}
  .match-collage{
    max-width:100%;
    height:auto;
    justify-self:stretch;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .collage-img{position:static;width:100%;height:180px;box-shadow:none;}
  .match-ribbon{display:none;}
}

/* ---------- featured products ---------- */
.featured{
  background:#eef2e7;
  padding:60px 40px 70px;
}
.featured-inner{max-width:1800px;margin:0 auto;}
.featured-inner h2{
  font-family:var(--sans);
  text-transform:uppercase;
  font-weight:700;
  font-size:26px;
  letter-spacing:.01em;
  color:#4a4a3f;
  margin:0 0 36px;
}
.featured-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:26px;
}
.featured-card{display:block;}
.featured-image{
  position:relative;
  aspect-ratio:4/3;
  background:#e3e6da;
  overflow:hidden;
  margin-bottom:18px;
}
.featured-image img{width:100%;height:100%;object-fit:cover;}
.featured-badge{
  position:absolute;
  top:16px;left:16px;
  background:#fff;
  color:#2a2a24;
  font-size:13px;
  font-weight:600;
  padding:8px 14px;
  z-index:2;
}
.featured-name{
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:#2a2a24;
  margin:0 0 6px;
}
.featured-price{
  font-size:15px;
  color:#4a4a3f;
  margin:0;
}

@media (max-width:900px){
  .featured{padding:40px 16px 50px;}
  .featured-grid{grid-template-columns:1fr;gap:34px;}
}

/* ---------- craft strip (interactive scroll + cursor photo reel) ---------- */
.craft-pin-wrap{
  position:relative;
  height:300vh; /* scroll distance the section stays pinned for */
}
.craft-section{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
  background:#fff;
  padding:80px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.craft-text{
  position:relative;
  z-index:3;
  max-width:620px;
  pointer-events:none;
}
.craft-text h2{
  font-family:var(--sans);
  font-weight:800;
  font-size:88px;
  line-height:.86;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:0 0 34px;
  color:#111;
}
.craft-tagline{
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.6;
  letter-spacing:.01em;
  color:#111;
  margin:0;
}
.craft-strip-wrap{
  position:absolute;
  top:50%;
  left:0;
  right:0;
  height:440px;
  transform:translateY(-50%);
  overflow:hidden;
  z-index:2;
}
.craft-strip{
  display:flex;
  gap:16px;
  position:absolute;
  left:38%;
  top:0;
  will-change:transform;
}
.craft-img{
  flex:0 0 auto;
  width:320px;
  height:440px;
  background:var(--grey-bg);
  overflow:hidden;
}
.craft-img img{width:100%;height:100%;object-fit:cover;}

@media (max-width:900px){
  .craft-pin-wrap{height:auto;}
  .craft-section{
    position:relative;
    top:auto;
    height:auto;
    padding:50px 20px;
    display:block;
  }
  .craft-text h2{font-size:48px;}
  .craft-strip-wrap{
    position:relative;
    top:auto;left:auto;right:auto;
    transform:none;
    height:280px;
    margin-top:40px;
  }
  .craft-strip{left:0;position:relative;}
  .craft-img{width:200px;height:280px;}
}

/* ---------- global "15% OFF" promo ribbon (persists site-wide) ---------- */
.promo-ribbon{
  position:fixed;
  top:50%;
  right:0;
  transform:translateY(-50%);
  z-index:500;
  display:flex;
  align-items:stretch;
}
.promo-tab{
  background:#111;
  color:#fff;
  border:0;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-size:12px;
  letter-spacing:.05em;
  padding:20px 11px;
  cursor:pointer;
}
.promo-panel{
  max-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-right:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  white-space:nowrap;
  padding:0;
  transition:max-width .4s var(--ease-buttery), padding .4s var(--ease-buttery);
}
.promo-ribbon.open .promo-panel{
  max-width:280px;
  padding:20px 22px;
}
.promo-label{
  font-size:12px;
  color:var(--muted);
  margin:0 0 10px;
}
.promo-code{display:flex;align-items:center;gap:12px;}
.promo-code-text{
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:.04em;
  font-weight:600;
  color:var(--black);
}
.promo-copy{
  border:1px solid var(--black);
  background:none;
  font-size:11px;
  letter-spacing:.02em;
  padding:7px 12px;
  cursor:pointer;
  transition:background .25s var(--ease-buttery), color .25s var(--ease-buttery);
}
.promo-copy:hover{background:var(--black);color:#fff;}

@media (max-width:600px){
  .promo-tab{padding:16px 9px;font-size:11px;}
  .promo-ribbon.open .promo-panel{max-width:220px;padding:16px 16px;}
}

/* ---------- shop new in (lifestyle photo + product card) ---------- */
.shop-new{
  display:grid;
  grid-template-columns:0.72fr 380px;
  gap:60px;
  padding:60px 40px;
  align-items:start;
  justify-content:center;
}
.shop-new-image{
  background:var(--grey-bg);
  aspect-ratio:3/4;
  max-width:520px;
  overflow:hidden;
}
.shop-new-image img{width:100%;height:100%;object-fit:cover;}

.shop-new-copy{text-align:center;}
.shop-new-copy h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:30px;
  font-weight:500;
  letter-spacing:.01em;
  margin:0 0 20px;
}
.shop-new-copy h2 .w1{color:var(--black);}
.shop-new-copy h2 .w2{color:var(--black);}
.shop-new-copy h2 .w3{color:var(--black);}
.shop-new-cta{
  display:inline-block;
  background:#f0c6a8;
  border:0;
  border-radius:6px;
  padding:12px 32px;
  font-family:var(--sans);
  font-size:14px;
  letter-spacing:.01em;
  color:#2a1a12;
  margin-bottom:34px;
  transition:background .3s var(--ease-buttery);
}
.shop-new-cta:hover{background:#e8b490;}

.shop-new-card{
  border:1px solid var(--line);
  padding:18px;
  text-align:center;
}
.shop-new-card-image{
  background:var(--grey-bg);
  aspect-ratio:3/4;
  overflow:hidden;
  margin-bottom:16px;
}
.shop-new-card-image img{width:100%;height:100%;object-fit:cover;}
.shop-new-card-name{
  font-size:14px;
  line-height:1.4;
  color:var(--text);
  margin:0 0 8px;
}
.shop-new-card-price{
  font-size:14px;
  color:var(--text);
  margin:0 0 18px;
}
.shop-new-card-btn{
  display:inline-block;
  border:1px solid var(--black);
  background:none;
  padding:10px 24px;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--black);
  transition:background .3s var(--ease-buttery), color .3s var(--ease-buttery);
}
.shop-new-card-btn:hover{background:var(--black);color:#fff;}

@media (max-width:900px){
  .shop-new{grid-template-columns:1fr;padding:40px 20px;gap:30px;}
}

/* ---------- women's new arrivals (masonry + floating AI search) ---------- */
.arrivals{
  position:relative;
  padding:50px 99px 90px;
  background:#f3efe9;
  text-align:center;
}
.arrivals-brand{
  font-size:11px;
  letter-spacing:.3em;
  color:rgba(17,17,17,.45);
  text-transform:uppercase;
  margin:0 0 8px;
}
.arrivals-head h2{
  font-family:var(--serif);
  font-size:34px;
  font-weight:500;
  color:var(--black);
  margin:0 0 30px;
}
.arrivals-grid{
  display:grid;
  grid-template-columns:1.3fr 0.85fr 0.85fr 1.3fr;
  grid-template-rows:repeat(2, 320px);
  gap:12px;
  position:relative;
}
.arrivals-tile{
  position:relative;
  background:var(--grey-bg);
  overflow:hidden;
  cursor:pointer;
}

/* visually hidden but readable by the quick-view script + screen readers */
.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;
}
.arrivals-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s var(--ease-buttery);
}
.arrivals-tile:hover img{transform:scale(1.06);}

/* explicit placement — don't rely on grid auto-placement guesswork */
.arrivals-tile:nth-child(1){grid-column:1; grid-row:1 / 3;}
.arrivals-tile:nth-child(2){grid-column:2; grid-row:1;}
.arrivals-tile:nth-child(3){grid-column:2; grid-row:2;}
.arrivals-tile:nth-child(4){grid-column:3; grid-row:1;}
.arrivals-tile:nth-child(5){grid-column:3; grid-row:2;}
.arrivals-tile:nth-child(6){grid-column:4; grid-row:1 / 3;}
.arrivals-tile .wish{
  position:absolute;
  bottom:8px;right:8px;top:auto;
  width:17px;height:17px;
  border-radius:50%;
  background:rgba(60,60,60,.45);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s var(--ease-buttery);
}
.arrivals-tile .wish:hover{background:rgba(40,40,40,.65);}
.arrivals-tile .wish .icon{width:10px;height:10px;stroke:#fff;stroke-width:1.6;flex-shrink:0;}

.arrivals-float{
  position:absolute;
  left:50%;
  bottom:40px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  z-index:5;
  width:min(640px, 90vw);
}
.scroll-pill{
  background:rgba(35,35,35,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#fff;
  border:0;
  border-radius:30px;
  padding:9px 20px;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:8px;
}
.ai-search-pill{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(28,28,28,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:40px;
  padding:8px 8px 8px 8px;
  width:100%;
}
.ai-plus{
  width:36px;height:36px;
  flex:0 0 auto;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:0;
  color:#fff;
  font-size:18px;
  display:flex;align-items:center;justify-content:center;
}
.ai-search-pill input{
  flex:1;
  min-width:0;
  background:none;
  border:0;
  color:#fff;
  font-size:14px;
  outline:none;
}
.ai-search-pill input::placeholder{color:rgba(255,255,255,.7);}
.ai-submit{
  width:36px;height:36px;
  flex:0 0 auto;
  border-radius:50%;
  background:#fff;
  border:0;
  color:#111;
  display:flex;align-items:center;justify-content:center;
}

@media (max-width:900px){
  .arrivals-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,220px);}
  .arrivals-tile:nth-child(1),
  .arrivals-tile:nth-child(2),
  .arrivals-tile:nth-child(3),
  .arrivals-tile:nth-child(4),
  .arrivals-tile:nth-child(5),
  .arrivals-tile:nth-child(6){grid-column:auto; grid-row:auto;}
  .arrivals-tile.tall{grid-row:span 2;}
  .arrivals-float{bottom:20px;}
}

/* ---------- festive edit (occasion-wear: Ganesh Chaturthi, Holi, Diwali) ---------- */
.festive{
  padding:60px 40px 70px;
  background:#fff;
  text-align:center;
}
.festive-head h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:30px;
  margin:0 0 8px;
  color:var(--black);
}
.festive-head p{
  font-size:13px;
  color:var(--muted);
  margin:0 0 34px;
}
.festive-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.festive-card{
  position:relative;
  display:block;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--grey-bg);
}
.festive-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s var(--ease-buttery);
}
.festive-card:hover img{transform:scale(1.06);}
.festive-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 45%);
}
.festive-overlay{
  position:absolute;
  left:0;right:0;bottom:22px;
  z-index:2;
  text-align:center;
}
.festive-overlay .eyebrow{
  display:block;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,.8);
  margin-bottom:6px;
}
.festive-overlay .title{
  font-family:var(--serif);
  font-size:24px;
  color:#fff;
}

@media (max-width:900px){
  .festive{padding:40px 16px 50px;}
  .festive-grid{grid-template-columns:1fr;gap:14px;}
}

/* ===================== MOXEN — shared styles ===================== */
:root{
  --black:#111;
  --line:#e4e4e4;
  --grey-bg:#f4f4f4;
  --text:#1a1a1a;
  --muted:#6b6b6b;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans: Helvetica, Arial, sans-serif;
  --ease-buttery: cubic-bezier(.19,1,.22,1);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--sans);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}

.container{max-width:1800px;margin:0 auto;padding:0 40px;}

/* ---------- top strip ---------- */
.top-strip{
  background:#000;
  color:#fff;
  text-align:center;
  font-size:12px;
  letter-spacing:.03em;
  padding:8px 12px;
}

/* ---------- header ---------- */
header.site-header{border-bottom:1px solid var(--line);}

.header-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 40px 10px;
  font-size:12px;
  letter-spacing:.06em;
}
.division-nav{display:flex;gap:22px;}
.division-nav a{
  padding-bottom:6px;
  border-bottom:2px solid transparent;
}
.division-nav a.active{border-bottom-color:var(--black);font-weight:600;}
.region-select{color:var(--muted);font-size:12px;}

.logo-row{
  text-align:center;
  padding:6px 0 14px;
}
.logo-row a{
  font-family:var(--serif);
  font-size:34px;
  letter-spacing:.14em;
  font-weight:600;
}

.header-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 40px;
  border-top:1px solid var(--line);
  font-size:13px;
  letter-spacing:.02em;
}
.main-nav{display:flex;gap:26px;flex-wrap:wrap;}
.main-nav a{padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .3s var(--ease-buttery);}
.main-nav a:hover{border-bottom:1px solid var(--black);}

.header-icons{display:flex;align-items:center;gap:18px;}
.search-box{
  display:flex;align-items:center;gap:8px;
  color:var(--muted);font-size:13px;
}
.icon{width:19px;height:19px;stroke:var(--black);fill:none;stroke-width:1.3;}

/* ---------- mobile nav toggle ---------- */
.nav-toggle{display:none;background:none;border:0;padding:0;}

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:var(--grey-bg);
  overflow:hidden;
  min-height:640px;
  display:flex;
  align-items:flex-end;
}
.hero-image{position:absolute;inset:0;}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:top center;}

.hero-slider{position:absolute;inset:0;}
.hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  opacity:0;
  transition:opacity 1s var(--ease-buttery, ease);
}
.hero-slide.active{opacity:1;}

.hero-copy{
  position:relative;
  z-index:2;
  padding:50px 60px 130px;
  color:var(--black);
}
.hero-eyebrow{font-size:13px;letter-spacing:.06em;color:var(--black);opacity:.85;margin-bottom:18px;text-shadow:0 1px 6px rgba(255,255,255,.5);}
.hero-title{
  font-family:var(--serif);
  font-size:46px;
  line-height:1.15;
  font-weight:500;
  margin:0 0 26px;
  color:var(--black);
  text-shadow:0 1px 8px rgba(255,255,255,.5);
}
.hero-link{text-decoration:underline;font-size:14px;color:var(--black);text-shadow:0 1px 6px rgba(255,255,255,.5);}

/* ---------- section heading ---------- */
.section-heading{
  text-align:center;
  padding:50px 20px 10px;
}
.section-heading h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:30px;
  margin:0 0 10px;
}
.section-heading a{
  font-size:13px;
  text-decoration:underline;
}

/* ---------- product rail ---------- */
.rail-wrap{position:relative;padding:20px 0 10px;}
.rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 4 * 6px) / 4.3);
  gap:6px;
  overflow-x:auto;
  scroll-behavior:smooth;
  padding:0 40px;
  scrollbar-width:none;
}
.rail::-webkit-scrollbar{display:none;}

@media (max-width:1100px){
  .rail{grid-auto-columns:calc((100% - 3 * 6px) / 3.3);}
}
@media (max-width:750px){
  .rail{grid-auto-columns:calc((100% - 2 * 6px) / 2.3);}
}
@media (max-width:480px){
  .rail{grid-auto-columns:80%;}
}

.rail-arrow{
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:50%;
  width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  z-index:5;
  transition:transform .3s var(--ease-buttery), box-shadow .3s var(--ease-buttery);
}
.rail-arrow:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 4px 14px rgba(0,0,0,.12);}
.rail-arrow.left{left:6px;}
.rail-arrow.right{right:6px;}

.card{position:relative;}
.card .wish{
  position:absolute;top:14px;right:14px;z-index:4;
  background:none;border:0;
}
.card .bag{
  position:absolute;top:14px;right:52px;z-index:4;
  background:none;border:0;
  opacity:0;
  transition:opacity .3s var(--ease-buttery);
}
.card:hover .bag{opacity:1;}

.card-image{
  position:relative;
  background:var(--grey-bg);
  aspect-ratio:3/4;
  overflow:hidden;
}
.card-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .5s var(--ease-buttery);
}
.card-image img.img-primary{opacity:1;}
.card-image img.img-hover{opacity:0;}
.card:hover .card-image img.img-primary{opacity:0;}
.card:hover .card-image img.img-hover{opacity:1;}

.sizes-bar{
  position:absolute;
  left:0;right:0;bottom:0;
  background:rgba(255,255,255,.94);
  text-align:center;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--text);
  padding:11px 8px;
  z-index:3;
  transform:translateY(100%);
  transition:transform .45s var(--ease-buttery);
}
.card:hover .sizes-bar{transform:translateY(0);}

.card-info{padding:14px 4px;}
.card-brand{font-size:14px;margin:0 0 4px;}
.card-price{font-size:14px;color:var(--text);margin:0;}

/* ---------- editorial split ---------- */
.editorial{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:30px;
  padding:0 30px;
}
.editorial-tile{text-align:center;padding:0 20px;}
.editorial-label{
  font-size:11px;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:8px;
}
.editorial-title{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  color:var(--black);
  margin-bottom:20px;
}
.editorial-image{
  background:var(--grey-bg);
  aspect-ratio:4/4.6;
  max-height:640px;
  max-width:820px;
  margin:0 auto;
  overflow:hidden;
}
.editorial-image img{width:100%;height:100%;object-fit:cover;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);margin-top:60px;}
.footer-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding:60px 40px;
}
.footer-top h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:22px;
  margin:0 0 14px;
}
.newsletter-form{
  display:flex;
  border-bottom:1px solid var(--black);
  max-width:420px;
  margin-top:22px;
}
.newsletter-form input{
  flex:1;border:0;padding:10px 0;font-size:14px;outline:none;
}
.newsletter-form button{
  background:none;border:0;font-size:13px;letter-spacing:.05em;
  text-decoration:underline;
}
.app-badges{display:flex;gap:12px;margin-top:22px;}
.app-badges span{
  border:1px solid var(--black);
  padding:9px 16px;
  font-size:12px;
}
.footer-links{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  padding:0 40px 40px;
  font-size:13px;
  color:var(--muted);
}
.footer-links h4{font-size:13px;color:var(--text);margin:0 0 12px;}
.footer-links li{margin-bottom:8px;}
.footer-bottom{
  border-top:1px solid var(--line);
  padding:18px 40px;
  font-size:12px;
  color:var(--muted);
  display:flex;justify-content:space-between;
}

/* ---------- designers directory (men.html style page) ---------- */
.directory{
  display:grid;
  grid-template-columns:1fr 1fr 1.4fr;
  gap:40px;
  padding:40px;
}
.directory h4{
  font-size:13px;letter-spacing:.05em;
  margin:0 0 18px;color:var(--muted);
}
.directory ul li{margin-bottom:10px;font-size:14px;}
.directory-image{background:var(--grey-bg);aspect-ratio:4/3;overflow:hidden;}
.directory-image img{width:100%;height:100%;object-fit:cover;}
.directory-caption{font-size:13px;margin-top:10px;color:var(--muted);}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .header-top{padding:12px 16px;}
  .division-nav{display:none;}
  .header-bottom{padding:10px 16px;}
  .main-nav{display:none;}
  .nav-toggle{display:block;}
  .container{padding:0 16px;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-copy{padding:36px 24px;order:2;}
  .hero-title{font-size:30px;}
  .editorial{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;padding:40px 20px;}
  .footer-links{grid-template-columns:1fr 1fr;padding:0 20px 30px;}
  .directory{grid-template-columns:1fr;padding:24px;}
  .rail{padding:0 16px;}
}
/* ===================== MOXEN — product quick view (click any product) ===================== */

/* opens in the normal page flow, between the header and footer — not an overlay */
.qv-overlay{display:none;}
.qv-overlay.open{display:block;}
body.qv-open .page-content{display:none;}
body.qv-open .promo-ribbon{display:none;}

.qv-panel{
  position:relative;
  background:#fff;
  width:100%;
  max-width:1400px;
  margin:auto;
  display:grid;
  grid-template-columns:84px minmax(0,1fr) 560px;
}

.qv-close{
  position:absolute;
  top:18px;right:18px;
  width:32px;height:32px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  z-index:5;
  transition:background .25s var(--ease-buttery);
}
.qv-close:hover{background:var(--grey-bg);}
.qv-close svg{width:14px;height:14px;stroke:var(--black);fill:none;stroke-width:1.4;}

/* thumbnails column */
.qv-thumbs{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:48px 10px 24px;
  overflow-y:auto;
}
.qv-thumb{
  border:1px solid var(--line);
  background:var(--grey-bg);
  padding:0;
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  opacity:.65;
  transition:opacity .25s var(--ease-buttery), border-color .25s var(--ease-buttery);
}
.qv-thumb img{width:100%;height:100%;object-fit:cover;}
.qv-thumb:hover{opacity:1;}
.qv-thumb.active{opacity:1;border-color:var(--black);}

/* main image — a smaller, centered box rather than filling the whole column */
.qv-main{
  position:relative;
  background:#fff;
  width:90%;
  max-width:780px;
  height:82vh;
  max-height:820px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  margin:32px auto 24px;
}
.qv-main img{max-width:96%;max-height:96%;width:auto;height:auto;object-fit:contain;}

.qv-main-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:0;
  padding:14px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  z-index:4;
  opacity:.55;
  transition:opacity .25s var(--ease-buttery);
}
.qv-main-arrow:hover{opacity:1;}
.qv-main-arrow.prev{left:2px;}
.qv-main-arrow.next{right:2px;}
.qv-main-arrow svg{width:34px;height:34px;stroke:var(--black);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}
.qv-main-arrow:disabled{opacity:0;pointer-events:none;}

/* info column — extra breathing room around name / price / description */
.qv-info{
  padding:48px 48px 40px 40px;
  border-left:1px solid var(--line);
  overflow-y:auto;
}
.qv-brand{
  font-family:var(--serif);
  font-size:26px;
  letter-spacing:.01em;
  margin:0 0 14px;
  color:var(--black);
}
.qv-price{
  font-size:16px;
  color:var(--text);
  margin:0 0 34px;
}

.qv-colors{margin-bottom:26px;}
.qv-colors-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}
.qv-color-selected{text-transform:none;letter-spacing:0;color:var(--black);font-size:12.5px;}
.qv-color-grid{display:flex;flex-wrap:wrap;gap:10px;}
.qv-color-swatch{
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid rgba(17,17,17,.12);
  box-shadow:0 0 0 2px #fff inset;
  cursor:pointer;
  padding:0;
  transition:outline-color .25s var(--ease-buttery), transform .2s ease;
}
.qv-color-swatch:hover{transform:scale(1.08);}
.qv-color-swatch.selected{outline:2px solid var(--black);outline-offset:2px;}

.qv-sizes{margin-bottom:30px;}
.qv-sizes-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}
.qv-size-guide{text-decoration:underline;color:var(--muted);}
.qv-size-grid{display:flex;flex-wrap:wrap;gap:8px;}
.qv-size-btn{
  min-width:44px;
  padding:9px 10px;
  border:1px solid var(--line);
  background:#fff;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--text);
  transition:border-color .25s var(--ease-buttery), background .25s var(--ease-buttery), color .25s var(--ease-buttery);
}
.qv-size-btn:hover{border-color:var(--black);}
.qv-size-btn.selected{background:var(--black);border-color:var(--black);color:#fff;}

.qv-add-bag{
  display:block;
  width:100%;
  background:#c9ab97;
  color:var(--black);
  border:1px solid #c9ab97;
  padding:15px 20px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:14px;
  transition:background .25s var(--ease-buttery), opacity .25s var(--ease-buttery);
}
.qv-add-bag:hover{background:#bd9a83;opacity:1;}

.qv-added-msg{
  display:none;
  border:1px solid var(--line);
  padding:13px 16px;
  font-size:12px;
  line-height:1.5;
  color:var(--text);
  margin-bottom:18px;
}
.qv-added-msg.show{display:block;}
.qv-added-msg strong{font-weight:600;}

.qv-check{
  display:block;
  width:100%;
  background:none;
  color:var(--black);
  border:1px solid var(--black);
  padding:14px 20px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:26px;
  transition:background .25s var(--ease-buttery), color .25s var(--ease-buttery);
}
.qv-check:hover{background:var(--black);color:#fff;}

.qv-wish{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  white-space:nowrap;
  background:none;
  border:0;
  padding:14px 20px;
  margin-bottom:26px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--black);
}
.qv-wish span{text-decoration:none;white-space:nowrap;}
.qv-wish .icon{width:16px;height:18px;stroke:var(--black);fill:none;stroke-width:1.3;flex-shrink:0;}

.qv-acc-item{border-top:1px solid var(--line);}
.qv-acc-item:last-child{border-bottom:1px solid var(--line);}
.qv-acc-head{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:none;
  border:0;
  padding:20px 0;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--black);
  text-align:left;
}
.qv-acc-icon{position:relative;width:11px;height:11px;flex-shrink:0;}
.qv-acc-icon::before,.qv-acc-icon::after{
  content:"";
  position:absolute;
  background:var(--black);
  transition:transform .25s var(--ease-buttery);
}
.qv-acc-icon::before{left:0;top:50%;width:11px;height:1px;transform:translateY(-50%);}
.qv-acc-icon::after{top:0;left:50%;width:1px;height:11px;transform:translateX(-50%);}
.qv-acc-item.open .qv-acc-icon::after{transform:translateX(-50%) rotate(90deg);opacity:0;}
.qv-acc-body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s var(--ease-buttery);
}
.qv-acc-body > div{overflow:hidden;}
.qv-acc-item.open .qv-acc-body{grid-template-rows:1fr;}
.qv-acc-body p{font-size:13px;line-height:1.75;color:var(--text);margin:0 0 16px;}
.qv-acc-body ul{margin:0 0 14px;padding:0;}
.qv-acc-body li{font-size:13px;line-height:1.9;color:var(--muted);padding-left:14px;position:relative;}
.qv-acc-body li::before{content:"—";position:absolute;left:0;color:var(--muted);}

/* you may also like */
.qv-also{
  grid-column:1 / -1;
  border-top:1px solid var(--line);
  padding:34px 40px 40px;
}
.qv-also-title{
  font-family:var(--serif);
  font-size:15px;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-align:center;
  margin:0 0 22px;
  color:var(--black);
}
.qv-also-rail-wrap{position:relative;}
.qv-also-rail{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:0 34px 4px;
}
.qv-also-rail::-webkit-scrollbar{display:none;}
.qv-also-card{
  flex:0 0 calc((100% - 4 * 18px) / 4.3);
  background:none;
  border:0;
  padding:0;
  text-align:left;
}
.qv-also-arrow{
  position:absolute;
  top:38%;
  transform:translateY(-50%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:50%;
  width:34px;height:34px;
  font-size:15px;
  line-height:1;
  display:flex;align-items:center;justify-content:center;
  z-index:5;
  transition:transform .3s var(--ease-buttery), box-shadow .3s var(--ease-buttery);
}
.qv-also-arrow:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 4px 14px rgba(0,0,0,.12);}
.qv-also-arrow.left{left:0;}
.qv-also-arrow.right{right:0;}

@media (max-width:750px){
  .qv-also-card{flex:0 0 calc((100% - 2 * 18px) / 2.3);}
}
.qv-also-img{
  display:block;
  aspect-ratio:3/4;
  background:var(--grey-bg);
  overflow:hidden;
  margin-bottom:8px;
}
.qv-also-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-buttery);}
.qv-also-card:hover .qv-also-img img{transform:scale(1.04);}
.qv-also-brand{display:block;font-size:13px;color:var(--text);margin-bottom:2px;}
.qv-also-price{display:block;font-size:13px;color:var(--muted);}

/* mobile rules for quick view live in one place further down this file,
   under "quick view — mobile rebuild", to avoid conflicting declarations */
/* ================= cart drawer (slide-in "Added to Bag" panel) ================= */
.cart-drawer-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  background:rgba(17,17,17,.35);
  opacity:0;
  visibility:hidden;
  transition:opacity .35s var(--ease-buttery), visibility 0s linear .35s;
}
.cart-drawer-overlay.open{
  opacity:1;
  visibility:visible;
  transition:opacity .35s var(--ease-buttery), visibility 0s linear 0s;
}
body.cart-open{overflow:hidden;}

.cart-drawer{
  position:absolute;
  top:0;right:0;bottom:0;
  width:100%;
  max-width:500px;
  background:#fff;
  display:flex;
  flex-direction:column;
  transform:translateX(100%);
  transition:transform .45s var(--ease-buttery);
  box-shadow:-8px 0 30px rgba(0,0,0,.08);
}
.cart-drawer-overlay.open .cart-drawer{transform:translateX(0);}

.cart-drawer-ship{
  background:#f4ece6;
  text-align:center;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--text);
  padding:12px 12px;
  flex:0 0 auto;
}

.cart-drawer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding:26px 26px 20px;
  flex:0 0 auto;
}
.cart-drawer-title{
  font-family:var(--serif);
  font-size:22px;
  font-weight:600;
  letter-spacing:.02em;
  margin:0;
  text-transform:uppercase;
}
.cart-drawer-close{
  width:34px;height:34px;
  flex:0 0 auto;
  border:0;
  background:none;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .25s var(--ease-buttery);
}
.cart-drawer-close:hover{opacity:.55;}
.cart-drawer-close svg{width:21px;height:21px;stroke:var(--black);fill:none;stroke-width:1.3;}

.cart-drawer-subtotal{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding:0 26px 20px;
  flex:0 0 auto;
}
.cart-drawer-subtotal-label{font-size:15px;font-weight:700;}
.cart-drawer-subtotal-vat{font-size:12px;color:var(--muted);margin-top:4px;}
.cart-drawer-subtotal-amount{font-size:16px;font-weight:700;}

.cart-drawer-actions{
  display:flex;
  gap:10px;
  padding:0 26px 24px;
  flex:0 0 auto;
}
.cart-drawer-actions a{
  flex:1;
  text-align:center;
  padding:15px 10px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid var(--black);
  transition:background .25s var(--ease-buttery), color .25s var(--ease-buttery);
}
.cart-view-btn{background:#fff;color:var(--black);}
.cart-view-btn:hover{background:var(--grey-bg);}
.cart-checkout-btn{background:var(--black);color:#fff;}
.cart-checkout-btn:hover{background:#333;}

.cart-drawer-items{
  flex:1 1 auto;
  overflow-y:auto;
  padding:6px 26px 26px;
  border-top:1px solid var(--line);
}
.cart-drawer-empty{
  padding:70px 0;
  text-align:center;
  font-size:13px;
  color:var(--muted);
}

.cart-item{
  display:flex;
  gap:18px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
  position:relative;
}
.cart-item-img{
  width:125px;
  height:125px;
  flex:0 0 auto;
  background:var(--grey-bg);
  overflow:hidden;
}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{flex:1 1 auto;min-width:0;padding-right:24px;}
.cart-item-name{
  font-family:var(--serif);
  font-size:16px;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin:0 0 8px;
}
.cart-item-meta{
  font-size:12px;
  letter-spacing:.03em;
  color:var(--muted);
  text-transform:uppercase;
  margin:0 0 3px;
}
.cart-item-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-top:15px;
}
.cart-item-qty{
  display:flex;
  align-items:center;
  border:1px solid var(--line);
}
.cart-item-qty button{
  width:31px;height:31px;
  border:0;background:none;
  font-size:15px;
  display:flex;align-items:center;justify-content:center;
}
.cart-item-qty span{
  min-width:24px;
  text-align:center;
  font-size:13px;
}
.cart-item-subtotal{font-size:12px;text-align:right;}
.cart-item-subtotal small{display:block;color:var(--muted);font-size:10px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:3px;}
.cart-item-remove{
  position:absolute;
  top:24px;right:0;
  width:26px;height:26px;
  border:0;background:none;
  display:flex;align-items:center;justify-content:center;
}
.cart-item-remove svg{width:14px;height:14px;stroke:var(--black);fill:none;stroke-width:1.3;}

/* header bag icon + count badge */
.bag-icon-btn, .wishlist-icon-btn{
  position:relative;
  background:none;border:0;padding:0;
  display:flex;align-items:center;justify-content:center;
}
.cart-count, .wishlist-count{
  position:absolute;
  top:-7px;right:-8px;
  min-width:15px;height:15px;
  border-radius:50%;
  background:var(--black);
  color:#fff;
  font-size:9px;
  line-height:15px;
  text-align:center;
  padding:0 3px;
  display:none;
}
.cart-count.show, .wishlist-count.show{display:block;}

@media (max-width:640px){
  .cart-drawer{max-width:100%;}
}

/* ================= remove-item confirmation modal ================= */
.remove-modal-overlay{
  position:fixed;
  inset:0;
  z-index:3000;
  background:rgba(17,17,17,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s var(--ease-buttery), visibility 0s linear .3s;
}
.remove-modal-overlay.open{
  opacity:1;
  visibility:visible;
  transition:opacity .3s var(--ease-buttery), visibility 0s linear 0s;
}
.remove-modal{
  position:relative;
  background:#fff;
  width:100%;
  max-width:560px;
  padding:44px 48px 40px;
  transform:translateY(14px);
  transition:transform .35s var(--ease-buttery);
}
.remove-modal-overlay.open .remove-modal{transform:translateY(0);}

.remove-modal-close{
  position:absolute;
  top:20px;right:20px;
  width:34px;height:34px;
  border:0;background:none;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .25s var(--ease-buttery);
}
.remove-modal-close:hover{opacity:.55;}
.remove-modal-close svg{width:19px;height:19px;stroke:var(--black);fill:none;stroke-width:1.4;}

.remove-modal-title{
  font-family:var(--serif);
  font-size:26px;
  letter-spacing:.01em;
  text-transform:uppercase;
  margin:0 0 20px;
  padding-right:30px;
}
.remove-modal-text{
  font-size:14px;
  color:var(--text);
  margin:0 0 18px;
}
.remove-modal-item{
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  margin:0 0 30px;
}
.remove-modal-actions{
  display:flex;
  gap:12px;
}
.remove-modal-actions button{
  flex:1;
  padding:15px 10px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid var(--black);
  transition:background .25s var(--ease-buttery), color .25s var(--ease-buttery);
}
.remove-modal-wishlist{background:#fff;color:var(--black);}
.remove-modal-wishlist:hover{background:var(--grey-bg);}
.remove-modal-remove{background:var(--black);color:#fff;}
.remove-modal-remove:hover{background:#333;}

@media (max-width:640px){
  .remove-modal{padding:36px 24px 30px;}
  .remove-modal-title{font-size:22px;}
}
/* ===================== MOXEN — premium NEW ARRIVALS mega menu ===================== */
header.site-header{position:relative;z-index:600;background:#fff;}
.header-bottom{position:relative;}

.main-nav{align-items:center;}
.nav-item{position:static;display:flex;align-items:center;}

.mega-trigger{display:inline-flex;align-items:center;gap:5px;}
.mega-caret{
  width:13px;height:13px;stroke:var(--black);fill:none;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .45s var(--ease-buttery);
}
.has-mega.open .mega-caret{transform:rotate(180deg);}
.has-mega.open > .mega-trigger{border-bottom:1px solid var(--black);}

.mega-backdrop{
  position:fixed;inset:0;
  background:rgba(17,17,17,.30);
  opacity:0;visibility:hidden;
  transition:opacity .5s var(--ease-buttery), visibility .5s;
  z-index:520;
}
.mega-backdrop.show{opacity:1;visibility:visible;}

.mega-panel{
  position:absolute;
  left:0;right:0;top:100%;
  background:#fff;
  border-top:1px solid var(--line);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.42);
  opacity:0;visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .5s var(--ease-buttery), transform .5s var(--ease-buttery), visibility .5s;
  z-index:610;
  max-height:calc(100vh - 150px);
  overflow-y:auto;
  text-align:left;
}
.has-mega.open .mega-panel{opacity:1;visibility:visible;transform:translateY(0);}

.mega-inner{
  display:grid;
  grid-template-columns:1fr 1fr .78fr 300px;
  gap:46px;
  max-width:1800px;
  margin:0 auto;
  padding:38px 40px 34px;
}
.mega-col{min-width:0;}
.mega-heading{
  font-family:var(--serif);
  font-size:19px;letter-spacing:.09em;
  margin:0 0 16px;font-weight:600;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.mega-sub{
  margin:20px 0 10px;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);
}
.mega-sub:first-of-type{margin-top:0;}
.mega-list{display:flex;flex-direction:column;gap:2px;}
.mega-list li{
  opacity:0;transform:translateY(7px);
  transition:opacity .5s var(--ease-buttery), transform .5s var(--ease-buttery);
}
.has-mega.open .mega-list li{opacity:1;transform:none;}
.has-mega.open .mega-list li:nth-child(1){transition-delay:.05s;}
.has-mega.open .mega-list li:nth-child(2){transition-delay:.08s;}
.has-mega.open .mega-list li:nth-child(3){transition-delay:.11s;}
.has-mega.open .mega-list li:nth-child(4){transition-delay:.14s;}
.has-mega.open .mega-list li:nth-child(5){transition-delay:.17s;}
.has-mega.open .mega-list li:nth-child(6){transition-delay:.20s;}
.has-mega.open .mega-list li:nth-child(7){transition-delay:.23s;}
.has-mega.open .mega-list li:nth-child(8){transition-delay:.26s;}

.main-nav .mega-panel a{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 0;border-bottom:0;
  font-size:13.5px;letter-spacing:.01em;
  color:var(--text);
  position:relative;
  transition:color .35s var(--ease-buttery), transform .35s var(--ease-buttery);
}
.main-nav .mega-panel a::after{
  content:"";position:absolute;left:0;bottom:2px;
  width:100%;height:1px;background:var(--black);
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease-buttery);
}
.main-nav .mega-list a:hover{border-bottom:0;transform:translateX(3px);}
.main-nav .mega-list a:hover::after{transform:scaleX(1);}

.mega-tag{
  font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--black);
  padding:2px 5px;line-height:1;
  transform:translateY(-1px);
}

.main-nav a.mega-feature{
  display:block;padding:0;border-bottom:0;
}
.main-nav a.mega-feature:hover{border-bottom:0;}
.mega-feature-img{
  overflow:hidden;background:var(--grey-bg);
  aspect-ratio:3/3.4;
}
.mega-feature-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--ease-buttery);
}
.mega-feature:hover .mega-feature-img img{transform:scale(1.06);}
.mega-feature-label{
  margin:14px 0 4px;
  font-size:10px;letter-spacing:.16em;color:var(--muted);
}
.mega-feature-title{
  margin:0 0 8px;
  font-family:var(--serif);font-size:18px;
}
.mega-feature-link{
  font-size:12px;letter-spacing:.04em;
  border-bottom:1px solid var(--black);padding-bottom:2px;
}
.mega-foot{
  display:flex;justify-content:space-between;align-items:center;
  gap:20px;
  padding:14px 40px;
  border-top:1px solid var(--line);
  background:#fafafa;
  font-size:11.5px;letter-spacing:.06em;
  color:var(--muted);
  max-width:100%;
}
.main-nav .mega-foot a{
  border-bottom:1px solid var(--black);padding:0 0 2px;
  color:var(--text);font-size:11.5px;letter-spacing:.06em;
}

/* ===================== MOXEN — expanding search ===================== */
.search-box{
  background:none;border:0;padding:0;
  cursor:pointer;
  transition:opacity .35s var(--ease-buttery);
}
.search-box:hover{opacity:.6;}
.search-open .search-box{opacity:0;pointer-events:none;}
.search-open .main-nav{opacity:0;pointer-events:none;}
.main-nav{transition:opacity .4s var(--ease-buttery);}

.search-flyout{
  position:absolute;
  top:4px;bottom:4px;right:40px;
  width:186px;
  display:flex;align-items:center;gap:12px;
  background:#fff;
  border-bottom:1px solid transparent;
  padding:0;
  overflow:hidden;
  opacity:0;visibility:hidden;
  transition:width .62s var(--ease-buttery),
             opacity .35s var(--ease-buttery),
             visibility .62s,
             border-color .5s var(--ease-buttery);
  z-index:620;
}
.search-open .search-flyout{
  width:calc(100% - 80px);
  opacity:1;visibility:visible;
  border-bottom-color:var(--black);
}
.search-flyout-icon{flex:0 0 auto;width:20px;height:20px;}
.search-flyout-input{
  flex:1 1 auto;min-width:0;
  border:0;outline:0;background:none;
  font-family:var(--sans);
  font-size:15px;letter-spacing:.02em;
  color:var(--text);
  padding:4px 0;
}
.search-flyout-input::placeholder{color:#b0b0b0;}
.search-flyout-clear{
  flex:0 0 auto;background:none;border:0;padding:4px;
  opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease-buttery);
}
.search-flyout-clear svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:1.5;stroke-linecap:round;}
.search-flyout.has-text .search-flyout-clear{opacity:1;pointer-events:auto;}
.search-flyout-close{
  flex:0 0 auto;background:none;border:0;padding:4px 0;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);
  transition:color .3s var(--ease-buttery);
}
.search-flyout-close:hover{color:var(--black);}

.search-results-panel{
  position:absolute;left:0;right:0;top:100%;
  background:#fff;
  border-top:1px solid var(--line);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.42);
  opacity:0;visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .45s var(--ease-buttery), transform .45s var(--ease-buttery), visibility .45s;
  z-index:615;
  max-height:calc(100vh - 150px);
  overflow-y:auto;
}
.search-open.results-open .search-results-panel{opacity:1;visibility:visible;transform:translateY(0);}
.search-results-inner{max-width:1800px;margin:0 auto;padding:30px 40px 34px;}

.search-sec-title{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px;
}
.search-sec + .search-sec{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);}

.search-chips{display:flex;flex-wrap:wrap;gap:10px;}
.search-chip{
  border:1px solid var(--line);background:#fff;
  padding:9px 16px;font-size:12.5px;letter-spacing:.03em;
  transition:border-color .35s var(--ease-buttery), background .35s var(--ease-buttery);
}
.search-chip:hover{border-color:var(--black);background:#fafafa;}

.search-cat-list{display:flex;flex-wrap:wrap;gap:8px 26px;}
.search-cat{
  background:none;border:0;padding:4px 0;
  font-size:13.5px;text-align:left;
  border-bottom:1px solid transparent;
  transition:border-color .35s var(--ease-buttery);
}
.search-cat:hover{border-bottom-color:var(--black);}
.search-cat small{color:var(--muted);font-size:11px;margin-left:7px;letter-spacing:.08em;text-transform:uppercase;}

.search-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:22px;
}
.search-hit{
  display:flex;gap:12px;align-items:center;
  background:none;border:0;padding:6px;text-align:left;
  transition:background .35s var(--ease-buttery);
}
.search-hit:hover{background:#fafafa;}
.search-hit-img{
  width:58px;height:74px;flex:0 0 auto;
  background:var(--grey-bg);overflow:hidden;
}
.search-hit-img img{width:100%;height:100%;object-fit:cover;}
.search-hit-brand{margin:0 0 4px;font-size:13px;}
.search-hit-price{margin:0;font-size:12px;color:var(--muted);}
.search-hit-cat{margin:5px 0 0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a0a0a0;}
.search-hit mark{background:none;color:inherit;text-decoration:underline;text-underline-offset:2px;}
.search-empty{font-size:13.5px;color:var(--muted);margin:0;}
.search-empty b{color:var(--text);font-weight:600;}

@media (max-width:900px){
  .mega-panel{display:none;}
  .search-flyout{right:16px;top:4px;bottom:4px;width:150px;}
  .search-open .search-flyout{width:calc(100% - 32px);}
  .search-flyout-close{display:none;}
  .search-results-inner{padding:22px 16px 26px;}
  .search-grid{grid-template-columns:1fr 1fr;gap:14px;}
}

/* ===================== MOXEN — hero copy per slide ===================== */
.hero-copy{
  position:relative;
  z-index:2;
  display:grid;
  align-items:end;
}
.hero-copy-slide{
  grid-area:1 / 1;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:opacity .9s var(--ease-buttery), transform .9s var(--ease-buttery), visibility .9s;
  pointer-events:none;
}
.hero-copy-slide.active{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
.hero-copy-slide .hero-eyebrow{transition-delay:.05s;}
.hero-copy-slide .hero-title{transition-delay:.1s;}

.hero-dots{
  grid-area:1 / 1;
  align-self:end;
  justify-self:start;
  display:flex;
  gap:10px;
  transform:translateY(46px);
  z-index:3;
}
.hero-dot{
  background:none;border:0;padding:8px 0;
  width:42px;
  display:block;
}
.hero-dot span{
  display:block;height:2px;width:100%;
  background:rgba(17,17,17,.28);
  position:relative;overflow:hidden;
}
.hero-dot span::after{
  content:"";position:absolute;inset:0;
  background:var(--black);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease-buttery);
}
.hero-dot:hover span::after{transform:scaleX(.4);}
.hero-dot.active span::after{
  transform:scaleX(1);
  transition:transform 4.4s linear;
}

/* ===================== MOXEN — premium footer ===================== */
.site-footer{
  border-top:1px solid var(--line);
  margin-top:90px;
  background:#fff;
  color:var(--text);
}
.f-eyebrow{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin:0 0 12px;
}

.f-cta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  max-width:1800px;margin:0 auto;
  padding:70px 40px 60px;
}
.f-cta-title{
  font-family:var(--serif);
  font-size:31px;font-weight:500;line-height:1.2;
  margin:0 0 12px;
}
.f-cta-text{
  font-size:14px;line-height:1.7;color:var(--muted);
  margin:0;max-width:440px;
}
.site-footer .newsletter-form{
  display:flex;align-items:center;
  border:0;border-bottom:1px solid var(--black);
  max-width:460px;margin-top:26px;
}
.site-footer .newsletter-form input{
  flex:1;min-width:0;border:0;background:none;
  padding:12px 0;font-size:14px;font-family:var(--sans);outline:none;
}
.site-footer .newsletter-form input::placeholder{color:#a8a8a8;}
.site-footer .newsletter-form button{
  background:var(--black);color:#fff;border:0;
  padding:11px 24px;margin-left:14px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  transition:opacity .35s var(--ease-buttery);
}
.site-footer .newsletter-form button:hover{opacity:.78;}
.f-fineprint{font-size:11.5px;color:#9a9a9a;margin:14px 0 0;}

.f-badges{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
.f-badge{
  display:flex;align-items:center;gap:11px;
  border:1px solid var(--line);
  padding:10px 18px;
  transition:border-color .35s var(--ease-buttery), background .35s var(--ease-buttery);
}
.f-badge:hover{border-color:var(--black);background:#fafafa;}
.f-badge svg{width:21px;height:21px;fill:var(--black);stroke:none;flex:0 0 auto;}
.f-badge span{display:flex;flex-direction:column;font-size:13.5px;letter-spacing:.02em;line-height:1.25;}
.f-badge small{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

.f-services{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  max-width:1800px;margin:0 auto;
  padding:30px 40px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.f-service{display:flex;align-items:center;gap:14px;}
.f-service svg{
  width:26px;height:26px;flex:0 0 auto;
  stroke:var(--black);fill:none;stroke-width:1.1;
  stroke-linecap:round;stroke-linejoin:round;
}
.f-service-title{margin:0 0 3px;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;}
.f-service-text{margin:0;font-size:12px;color:var(--muted);}

.f-main{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 2.4fr;
  gap:70px;
  max-width:1800px;margin:0 auto;
  padding:58px 40px 50px;
}
.f-logo{
  font-family:var(--serif);
  font-size:30px;letter-spacing:.2em;font-weight:600;
  display:inline-block;margin-bottom:16px;
}
.f-tagline{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 24px;max-width:320px;}
.f-socials{display:flex;gap:10px;}
.f-social{
  width:38px;height:38px;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--black);
  transition:border-color .35s var(--ease-buttery), background .35s var(--ease-buttery), transform .35s var(--ease-buttery);
}
.f-social:hover{border-color:var(--black);background:var(--black);transform:translateY(-2px);}
.f-social svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.2;}
.f-social:hover svg{stroke:#fff;}
.f-social:hover svg circle[fill]{fill:#fff;}

.f-links{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
}
.f-col-head{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;background:none;border:0;padding:0 0 16px;
  font-family:var(--sans);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text);text-align:left;cursor:default;
}
.f-col-caret{display:none;width:16px;height:16px;stroke:var(--black);fill:none;stroke-width:1.4;stroke-linecap:round;transition:transform .4s var(--ease-buttery);}
.f-col-list li{margin-bottom:11px;}
.f-col-list a{
  font-size:13px;color:var(--muted);
  position:relative;
  transition:color .35s var(--ease-buttery);
}
.f-col-list a::after{
  content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;
  background:var(--black);transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease-buttery);
}
.f-col-list a:hover{color:var(--text);}
.f-col-list a:hover::after{transform:scaleX(1);}

.f-bottom{
  border-top:1px solid var(--line);
  max-width:1800px;margin:0 auto;
  padding:22px 40px 26px;
  display:flex;align-items:center;justify-content:space-between;
  gap:22px;flex-wrap:wrap;
}
.f-bottom-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.f-region{
  display:flex;align-items:center;gap:9px;
  background:none;border:1px solid var(--line);
  padding:9px 16px;
  font-size:12px;letter-spacing:.04em;color:var(--text);
  transition:border-color .35s var(--ease-buttery);
}
.f-region:hover{border-color:var(--black);}
.f-region svg{width:15px;height:15px;stroke:var(--black);fill:none;stroke-width:1.1;}
.f-copy{font-size:11.5px;color:var(--muted);letter-spacing:.03em;}
.f-pay{display:flex;gap:8px;flex-wrap:wrap;}
.f-pay-mark{
  border:1px solid var(--line);
  padding:6px 10px;
  font-size:9.5px;letter-spacing:.12em;
  color:var(--muted);
}

/* ===================== MOXEN — mobile drawer nav ===================== */
.mnav-overlay{
  position:fixed;inset:0;
  background:rgba(17,17,17,.42);
  opacity:0;visibility:hidden;
  transition:opacity .45s var(--ease-buttery), visibility .45s;
  z-index:2500;
}
.mnav-overlay.open{opacity:1;visibility:visible;}
.mnav{
  position:fixed;
  top:0;left:0;bottom:0;
  width:min(410px, 88vw);
  background:#fff;
  z-index:2600;
  display:flex;flex-direction:column;
  transform:translateX(-102%);
  transition:transform .55s var(--ease-buttery);
  overscroll-behavior:contain;
}
.mnav.open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.22);}
.mnav-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 14px;
  border-bottom:1px solid var(--line);
}
.mnav-logo{font-family:var(--serif);font-size:23px;letter-spacing:.18em;font-weight:600;}
.mnav-close{background:none;border:0;padding:6px;display:flex;}
.mnav-close svg{width:20px;height:20px;stroke:var(--black);fill:none;stroke-width:1.4;stroke-linecap:round;}
.mnav-divisions{
  display:flex;
  border-bottom:1px solid var(--line);
}
.mnav-divisions a{
  flex:1;text-align:center;
  padding:14px 4px;
  font-size:11px;letter-spacing:.14em;
  border-bottom:2px solid transparent;
  color:var(--muted);
}
.mnav-divisions a.active{color:var(--text);border-bottom-color:var(--black);}
.mnav-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 0 20px;}
.mnav-item{border-bottom:1px solid #f1f1f1;}
.mnav-link,
.mnav-acc-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;
  background:none;border:0;
  padding:16px 20px;
  font-family:var(--sans);
  font-size:13px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--text);text-align:left;
}
.mnav-acc-caret{width:16px;height:16px;stroke:var(--black);fill:none;stroke-width:1.4;stroke-linecap:round;transition:transform .4s var(--ease-buttery);flex:0 0 auto;}
.mnav-item.open .mnav-acc-caret{transform:rotate(180deg);}
.mnav-acc-body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--ease-buttery);
}
.mnav-item.open .mnav-acc-body{grid-template-rows:1fr;}
.mnav-acc-inner{overflow:hidden;}
.mnav-group{padding:2px 20px 16px;}
.mnav-group-title{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin:10px 0 8px;
}
.mnav-group a{
  display:block;padding:9px 0;
  font-size:14px;color:var(--text);
  border-bottom:1px solid #f6f6f6;
}
.mnav-tag{
  font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--black);padding:2px 5px;margin-left:8px;
}
.mnav-foot{
  border-top:1px solid var(--line);
  padding:16px 20px 22px;
  display:flex;flex-direction:column;gap:12px;
  font-size:12.5px;color:var(--muted);
}
.mnav-foot a{display:flex;align-items:center;gap:10px;color:var(--text);font-size:13px;}
.mnav-foot .icon{width:17px;height:17px;}
body.mnav-open{overflow:hidden;}

/* ===================== MOXEN — site-wide mobile pass ===================== */
html{-webkit-text-size-adjust:100%;}
body{overflow-x:hidden;}

@media (hover:none){
  /* no hover on touch — reveal the affordances that were hover-only */
  .card .bag{opacity:1;}
  .rail-arrow{display:none;}
  .main-nav a:hover{border-bottom-color:transparent;}
}

@media (max-width:900px){
  /* ---- header ---- */
  .top-strip{font-size:10.5px;letter-spacing:.04em;padding:7px 10px;}
  .header-top{padding:10px 16px 8px;justify-content:center;}
  .division-nav{display:flex;gap:18px;font-size:10.5px;letter-spacing:.14em;}
  .division-nav a{padding-bottom:5px;}
  .region-select{display:none;}
  .logo-row{padding:4px 0 12px;}
  .logo-row a{font-size:25px;letter-spacing:.2em;}
  .header-bottom{padding:9px 16px;gap:10px;}
  .nav-toggle{display:flex;align-items:center;padding:4px;}
  .header-icons{gap:15px;margin-left:auto;}
  .search-box span{display:none;}

  /* ---- hero ---- */
  .hero{min-height:84vh;}
  .hero-copy{padding:30px 22px 86px;}
  .hero-eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:12px;}
  .hero-title{font-size:32px;line-height:1.18;margin-bottom:18px;}
  .hero-link{font-size:13px;}
  .hero-dots{transform:translateY(40px);gap:8px;}
  .hero-dot{width:32px;}

  /* ---- generic section rhythm ---- */
  .section-heading{padding:36px 18px 4px;}
  .section-heading h2{font-size:24px;}
  .festive-head h2,
  .arrivals-head h2{font-size:25px;}
  .arrivals{padding:40px 16px 50px;}
  .arrivals-head h2{margin-bottom:20px;}
  .editorial{padding:0 4px;gap:26px;margin-top:24px;}
  .editorial-tile{padding:0 12px;}
  .editorial-title{font-size:19px;}
  .container{padding:0 16px;}

  /* ---- rails ---- */
  .rail{padding:0 16px;gap:10px;}
  .card-info{padding:11px 2px;}
  .card-brand,.card-price{font-size:13px;}
  .sizes-bar{font-size:11px;padding:9px 6px;}

  /* ---- shop new in ---- */
  .shop-new{gap:26px;padding:36px 16px 44px;}
  .shop-new-image{max-width:100%;}
  .shop-new-copy h2{font-size:24px;}

  /* ---- promo ribbon ---- */
  .promo-tab{padding:14px 8px;font-size:10px;letter-spacing:.06em;}

  /* ---- footer ---- */
  .site-footer{margin-top:56px;}
  .f-cta{grid-template-columns:1fr;gap:38px;padding:42px 20px 36px;}
  .f-cta-title{font-size:25px;}
  .f-services{grid-template-columns:1fr 1fr;gap:18px;padding:24px 20px;}
  .f-main{grid-template-columns:1fr;gap:30px;padding:36px 20px 8px;}
  .f-tagline{max-width:100%;}
  .f-links{grid-template-columns:1fr;gap:0;}
  .f-col{border-top:1px solid var(--line);}
  .f-col-head{padding:16px 0;cursor:pointer;}
  .f-col-caret{display:block;}
  .f-col-list{
    display:grid;grid-template-rows:0fr;
    transition:grid-template-rows .45s var(--ease-buttery);
  }
  .f-col-list > *{overflow:hidden;}
  .f-col.open .f-col-list{grid-template-rows:1fr;}
  .f-col.open .f-col-caret{transform:rotate(180deg);}
  .f-col-inner{overflow:hidden;padding-bottom:8px;}
  .f-bottom{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 20px 28px;}
  .f-bottom-left{flex-direction:column;align-items:flex-start;gap:12px;}

  /* ---- preloader ---- */
  #preloader video{width:min(560px, 76vw);}
}

/* ===================== MOXEN — quick view, mobile rebuild ===================== */
@media (max-width:900px){
  .qv-panel{
    grid-template-columns:1fr;
    max-width:100%;
    display:flex;
    flex-direction:column;
  }

  /* close button pinned to the viewport, not the page \u2014 stays reachable
     no matter how far down the person has scrolled */
  .qv-close{
    position:fixed;
    top:14px; right:14px;
    width:38px;height:38px;
    background:rgba(255,255,255,.94);
    box-shadow:0 2px 10px rgba(0,0,0,.14);
    z-index:50;
  }

  /* main image first: a tall, consistent frame instead of a viewport-height
     box that shrank or stretched depending on breakpoint */
  .qv-main{
    order:1;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:4/5;
    margin:0;
    background:var(--grey-bg);
  }
  .qv-main img{max-width:100%;max-height:100%;}
  .qv-main-arrow{padding:10px;}
  .qv-main-arrow svg{width:24px;height:24px;}

  /* thumbnails as a horizontal strip directly under the main photo */
  .qv-thumbs{
    order:2;
    flex-direction:row;
    padding:12px 16px;
    gap:8px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .qv-thumbs::-webkit-scrollbar{display:none;}
  .qv-thumb{width:56px;flex:0 0 56px;aspect-ratio:3/4;scroll-snap-align:start;}

  /* product details */
  .qv-info{
    order:3;
    border-left:0;
    border-top:1px solid var(--line);
    padding:26px 20px 8px;
    overflow-y:visible;
  }
  .qv-brand{font-size:20px;margin-bottom:8px;}
  .qv-price{font-size:15px;margin-bottom:24px;}
  .qv-colors{margin-bottom:20px;}
  .qv-color-swatch{width:34px;height:34px;}
  .qv-sizes{margin-bottom:22px;}
  .qv-size-btn{min-width:48px;min-height:44px;padding:0 12px;font-size:12.5px;}

  /* bigger, easier-to-hit action buttons */
  .qv-add-bag,.qv-check,.qv-wish{padding:15px 20px;font-size:12.5px;}
  .qv-add-bag{margin-bottom:12px;}
  .qv-check{margin-bottom:10px;}
  .qv-wish{margin-bottom:8px;padding-bottom:20px;}

  .qv-acc-head{padding:17px 0;font-size:11.5px;}
  .qv-acc-body p,.qv-acc-body li{font-size:13px;}

  /* related products */
  .qv-also{
    order:4;
    padding:26px 0 36px;
    border-top:1px solid var(--line);
  }
  .qv-also-title{font-size:13px;margin-bottom:16px;}
  .qv-also-rail{padding:0 20px 4px;gap:12px;}
  .qv-also-card{flex:0 0 42%;}
  .qv-also-arrow{display:none;}   /* swipe on touch instead of tapping tiny arrows */
}

@media (max-width:480px){
  .qv-main{aspect-ratio:3/4;}
  .qv-info{padding:22px 16px 6px;}
  .qv-brand{font-size:18px;}
  .qv-also-rail{padding:0 16px 4px;}
  .qv-also-card{flex:0 0 46%;}
}

@media (max-width:600px){
  .division-nav{gap:14px;font-size:10px;letter-spacing:.1em;}
  .logo-row a{font-size:21px;}
  .hero{min-height:78vh;}
  .hero-title{font-size:27px;}
  .hero-copy{padding:26px 18px 78px;}
  .section-heading h2{font-size:21px;}
  .festive-head h2,.arrivals-head h2{font-size:22px;}
  .arrivals-grid{grid-template-rows:repeat(4,168px);gap:8px;}
  .editorial-image{aspect-ratio:3/4;}
  .f-services{grid-template-columns:1fr;gap:16px;}
  .f-cta-title{font-size:22px;}
  .f-logo{font-size:25px;}
  .f-badge{flex:1 1 auto;justify-content:center;}
  .f-pay-mark{font-size:9px;padding:5px 8px;}
  .site-footer .newsletter-form button{padding:10px 16px;font-size:10px;letter-spacing:.12em;}
  .remove-modal{padding:32px 22px 28px;}
  .remove-modal-title{font-size:21px;}
  .promo-tab{padding:12px 7px;font-size:9.5px;}
}

@media (max-width:420px){
  .hero-title{font-size:24px;}
  .rail{grid-auto-columns:86%;}
  .f-badges{flex-direction:column;}
}

/* ===================== MOXEN — scrolling announcement bar ===================== */
.top-strip{
  padding:0;
  overflow:hidden;
}
.marquee{
  position:relative;
  overflow:hidden;
  /* soft fade at both ends so text doesn't hard-clip */
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 70px, #000 calc(100% - 70px), transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 70px, #000 calc(100% - 70px), transparent 100%);
}
.marquee-track{
  display:flex;
  width:max-content;
  animation:marquee-scroll 46s linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-run{display:flex;align-items:center;flex:0 0 auto;}
.marquee-item{
  display:inline-flex;align-items:center;
  padding:9px 0;
  font-size:11.5px;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  color:rgba(255,255,255,.88);
}
.marquee-item b{
  font-weight:500;
  color:#fff;
  letter-spacing:.14em;
  border-bottom:1px solid rgba(255,255,255,.45);
  padding-bottom:1px;
  margin:0 2px;
}
.marquee-sep{
  display:inline-flex;align-items:center;
  padding:0 26px;
  font-size:5px;
  color:rgba(255,255,255,.4);
}
@keyframes marquee-scroll{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;justify-content:center;}
  .marquee-run:nth-child(2){display:none;}
}
@media (max-width:900px){
  .top-strip{padding:0;}
  .marquee-item{font-size:10px;letter-spacing:.09em;padding:8px 0;}
  .marquee-sep{padding:0 18px;}
  .marquee-track{animation-duration:34s;}
  .marquee{
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
            mask-image:linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  }
}

/* ===================== MOXEN — refined shopping bag ===================== */
.bag-icon{
  stroke:var(--black);
  fill:none;
  stroke-width:1.25;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.bag-icon-btn, .wishlist-icon-btn{
  position:relative;
  background:none;border:0;padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:transform .35s var(--ease-buttery);
}
.bag-icon-btn:hover, .wishlist-icon-btn:hover{transform:translateY(-1px);}
.bag-icon-btn:active, .wishlist-icon-btn:active{transform:scale(.94);}
.card .bag .bag-icon{stroke-width:1.35;}

.cart-count, .wishlist-count{
  position:absolute;
  top:-6px;right:-9px;
  min-width:17px;height:17px;
  border-radius:50%;
  background:var(--black);
  color:#fff;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:17px;
  text-align:center;
  padding:0 4px;
  border:1.5px solid #fff;
  display:none;
}
.cart-count.show, .wishlist-count.show{display:block;animation:bag-pop .42s var(--ease-buttery);}
@keyframes bag-pop{
  0%{transform:scale(.4);opacity:0;}
  60%{transform:scale(1.18);opacity:1;}
  100%{transform:scale(1);}
}