/* ==========================================================================
   NORIANA — HOME NEW (page-home-new.php)
   Standalone page: its own header/footer, so the theme's style.css is not
   loaded here. Hero + picks + banner + about + reviews + FAQ + footer.
   ========================================================================== */

:root{
  --nor-ink:      #26262b;
  --nor-muted:    #6b6a6e;
  --nor-cream:    #ffffff;
  --nor-off:      #f4f4f5;
  --nor-surface:  #ececee;
  --nor-wash:     255,255,255;
  --nor-sand:     #9c9b9e;
  --nor-taupe:    #7c7b80;
  --nor-grey:     #7c7b80;
  --nor-sage:     #7e8f79;
  --nor-white:    #ffffff;
  --nor-card:     #ffffff;
  --nor-line:     #e4e4e7;
  --nor-sale:     #9c5344;
  --nor-star:     #c2a35a;

  --nor-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --nor-sans:  'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --nor-ease:  cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--nor-cream); color:var(--nor-ink); font-family:var(--nor-sans); }
img{ display:block; max-width:100%; }

/* ------------------------------------------------------------------ hero */
.hero{
  position:relative;
  height:100svh;
  min-height:560px;
  max-height:900px;
  overflow:hidden;
  background:var(--nor-cream);
}
.hero__slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.1s var(--nor-ease), visibility 1.1s var(--nor-ease);
}
.hero__slide.is-active{ opacity:1; visibility:visible; }
.hero__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center;
  transform:scale(1.18);
  transition:transform 7s linear;
}
.hero__slide.is-active .hero__img{ transform:scale(1.12); }
.hero__img--fit{
  object-position:center center;
  transform:scale(1.04);
}
.hero__slide.is-active .hero__img--fit{ transform:scale(1); }
.hero__scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(var(--nor-wash), .96) 0%,
      rgba(var(--nor-wash), .88) 26%,
      rgba(var(--nor-wash), .42) 50%,
      rgba(var(--nor-wash), 0)   68%),
    linear-gradient(180deg,
      rgba(var(--nor-wash), 0)   40%,
      rgba(var(--nor-wash), .30) 100%);
}
@media (max-width:720px){
  .hero__scrim{
    background:linear-gradient(180deg,
      rgba(var(--nor-wash), 0)   22%,
      rgba(var(--nor-wash), .82) 56%,
      rgba(var(--nor-wash), .97) 100%);
  }
}
.hero__inner{
  position:relative;
  z-index:2;
  height:100%;
  width:100%;
  max-width:1360px;
  margin-inline:auto;
  padding-inline:clamp(1.25rem, 5vw, 4rem);
  padding-top:env(safe-area-inset-top,0px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:clamp(3.5rem, 9vh, 7rem);
}
@media (min-width:721px){
  .hero__inner{ justify-content:center; }
}
.hero__copy{ max-width:34rem; }
.hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  margin:0 0 1.1rem;
  font-family:var(--nor-sans);
  font-weight:500;
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--nor-taupe);
}
.hero__eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:var(--nor-taupe);
}
.hero__title{
  margin:0 0 1.4rem;
  font-family:var(--nor-serif);
  font-weight:500;
  font-size:clamp(2.9rem, 8vw, 5.75rem);
  line-height:1.02;
  letter-spacing:.005em;
  color:var(--nor-ink);
}
.hero__title-line{ display:block; overflow:hidden; }
.hero__title-line > span{
  display:block;
  transform:translateY(105%);
  transition:transform 1s var(--nor-ease);
}
.hero__slide.is-active .hero__title-line:nth-child(1) > span{ transition-delay:.15s; transform:none; }
.hero__slide.is-active .hero__title-line:nth-child(2) > span{ transition-delay:.28s; transform:none; }
.hero__title em{
  font-style:italic;
  font-weight:400;
  color:var(--nor-taupe);
}
.hero__sub{
  margin:0 0 2rem;
  max-width:30rem;
  font-family:var(--nor-sans);
  font-weight:400;
  font-size:clamp(.95rem, 1.4vw, 1.08rem);
  line-height:1.7;
  color:var(--nor-muted);
  opacity:0;
  transform:translateY(14px);
  transition:opacity .9s var(--nor-ease) .45s, transform .9s var(--nor-ease) .45s;
}
.hero__slide.is-active .hero__sub{ opacity:1; transform:none; }
.hero__ctas{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .9s var(--nor-ease) .6s, transform .9s var(--nor-ease) .6s;
}
.hero__slide.is-active .hero__ctas{ opacity:1; transform:none; }
.hero__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:.9rem 2.1rem;
  font-family:var(--nor-sans);
  font-weight:500;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  border:1px solid transparent;
  transition:background .3s var(--nor-ease), color .3s var(--nor-ease), border-color .3s var(--nor-ease);
}
.hero__btn--solid{
  background:var(--nor-ink);
  color:var(--nor-cream);
  border-color:var(--nor-ink);
}
.hero__btn--solid:hover{ background:var(--nor-sage); color:var(--nor-white); border-color:var(--nor-sage); }
.hero__btn--ghost{
  background:transparent;
  color:var(--nor-ink);
  border-color:rgba(38,38,43,.4);
}
.hero__btn--ghost:hover{ background:var(--nor-ink); color:var(--nor-cream); border-color:var(--nor-ink); }

/* Bottom-right cluster: dots, then prev/next arrows */
.hero__arrow{
  position:absolute;
  bottom:clamp(1.25rem, 3vh, 2rem);
  z-index:3;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid rgba(38,38,43,.25);
  border-radius:50%;
  background:rgba(var(--nor-wash), .85);
  backdrop-filter:blur(3px);
  color:var(--nor-ink);
  font-family:var(--nor-serif);
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
  transition:background .3s var(--nor-ease), border-color .3s var(--nor-ease);
}
.hero__arrow:hover{ background:var(--nor-white); border-color:var(--nor-ink); }
.hero__arrow.next{ right:clamp(1.25rem, 3vw, 2.5rem); }
.hero__arrow.prev{ right:calc(clamp(1.25rem, 3vw, 2.5rem) + 60px); }
.hero__arrow span{ display:block; margin-top:-3px; }
.hero__dots{
  position:absolute;
  z-index:3;
  bottom:clamp(1.25rem, 3vh, 2rem);
  right:calc(clamp(1.25rem, 3vw, 2.5rem) + 132px);
  height:52px;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.hero__dot{
  width:34px;
  height:2px;
  border:0;
  padding:0;
  background:rgba(38,38,43,.25);
  cursor:pointer;
  transition:background .3s var(--nor-ease);
}
.hero__dot::after{
  content:"";
  display:block;
  height:100%;
  width:0;
  background:var(--nor-ink);
}
.hero__dot.is-active{ background:rgba(38,38,43,.25); }
.hero__dot.is-active::after{
  width:100%;
  transition:width var(--dot-duration,6s) linear;
}
@media (max-width:720px){
  .hero__arrow{ display:none; }
  .hero__dots{
    right:auto;
    left:50%;
    transform:translateX(-50%);
    bottom:clamp(1.5rem, 4vh, 2.5rem);
  }
}
@media (prefers-reduced-motion:reduce){
  .hero__slide, .hero__img, .hero__title-line>span, .hero__sub, .hero__ctas{ transition:none; }
  .hero__dot::after{ transition:none; }
}

/* --------------------------------------------- "Choose your first look" */
.picks{
  padding-block:clamp(3.5rem, 8vh, 6rem);
  background:var(--nor-cream);
}
.picks__wrap{
  width:100%;
  max-width:1360px;
  margin-inline:auto;
  padding-inline:clamp(1.25rem, 5vw, 4rem);
}
.picks__head{
  text-align:center;
  margin-bottom:clamp(2rem, 5vh, 3.25rem);
}
.picks__eyebrow{
  margin:0 0 1rem;
  font-family:var(--nor-sans);
  font-weight:500;
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--nor-taupe);
}
.picks__title{
  margin:0;
  font-family:var(--nor-serif);
  font-weight:500;
  font-size:clamp(2.1rem, 5vw, 3.4rem);
  line-height:1.05;
  color:var(--nor-ink);
}
.picks__grid{
  display:grid;
  gap:clamp(1rem, 2vw, 1.5rem);
  grid-template-columns:repeat(2, minmax(0,1fr));
}
@media (min-width:640px){ .picks__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (min-width:1000px){ .picks__grid{ grid-template-columns:repeat(4, minmax(0,1fr)); } }

.pcard{
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--nor-card);
  border:1px solid var(--nor-line);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:box-shadow .35s var(--nor-ease), transform .35s var(--nor-ease);
}
.pcard, .pcard *{ text-decoration:none; }
.pcard:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(38,38,43,.10);
}
.pcard__media{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--nor-cream);
}
.pcard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s var(--nor-ease);
}
.pcard:hover .pcard__media img{ transform:scale(1.05); }
.pcard__tag{
  position:absolute;
  top:.75rem;
  left:.75rem;
  z-index:2;
  padding:.3rem .7rem;
  font-family:var(--nor-sans);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  background:var(--nor-ink);
  color:var(--nor-cream);
}
.pcard__tag.is-sale{ background:var(--nor-sale); }
.pcard__body{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  padding:1rem 1rem 1.25rem;
  flex:1;
}
.pcard__cat{
  font-family:var(--nor-sans);
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--nor-taupe);
}
.shop-new .pcard__eyebrow{
  display:block;
  min-height:4.8em;
  font-family:var(--nor-sans);
  font-size:.66rem;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--nor-taupe);
  overflow-wrap:anywhere;
}
@media (max-width:639px){
  .shop-new .pcard__eyebrow{ min-height:6.4em; letter-spacing:.06em; }
}
@media (max-width:380px){
  .shop-new .pcard__eyebrow{ min-height:8em; }
}
.pcard__name{
  margin:0;
  font-family:var(--nor-serif);
  font-weight:500;
  font-size:1.4rem;
  line-height:1.2;
  color:var(--nor-ink);
}
.pcard__price{
  margin:.15rem 0 0;
  font-family:var(--nor-sans);
  font-weight:400;
  font-size:.95rem;
  color:var(--nor-ink);
}
.pcard__price .was{
  margin-left:.5rem;
  color:var(--nor-muted);
  text-decoration:line-through;
  font-size:.85rem;
}
.pcard__add{
  margin-top:auto;
  padding-top:1rem;
}
.pcard__btn{
  display:inline-flex;
  width:100%;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.7rem 1rem;
  font-family:var(--nor-sans);
  font-weight:500;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--nor-ink);
  background:transparent;
  border:1px solid var(--nor-ink);
  cursor:pointer;
  transition:background .3s var(--nor-ease), color .3s var(--nor-ease);
}
.pcard__btn:hover{ background:var(--nor-ink); color:var(--nor-cream); }
.picks__foot{
  margin-top:clamp(2rem, 5vh, 3rem);
  text-align:center;
}
.picks__viewall{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--nor-sans);
  font-weight:500;
  font-size:.75rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--nor-ink);
  padding-bottom:.35rem;
  border-bottom:1px solid var(--nor-ink);
  transition:color .3s var(--nor-ease), border-color .3s var(--nor-ease);
}
.picks__viewall:hover{ color:var(--nor-sage); border-color:var(--nor-sage); }
@media (prefers-reduced-motion:reduce){
  .pcard, .pcard__media img, .pcard__btn, .picks__viewall{ transition:none; }
  .pcard:hover{ transform:none; }
  .pcard:hover .pcard__media img{ transform:none; }
}

/* --------------------------------------------------------------- reviews */
.rev{ padding-block:clamp(3.5rem,8vh,6rem); background:var(--nor-surface); }
.rev__wrap{
  width:100%; max-width:1360px; margin-inline:auto;
  padding-inline:clamp(1.25rem,5vw,4rem);
}
.rev__head{
  display:flex; align-items:flex-end; justify-content:space-between;
  flex-wrap:wrap; gap:1rem; margin-bottom:clamp(1.75rem,4vh,2.5rem);
}
.rev__heading{ display:flex; flex-direction:column; gap:.75rem; }
.rev__eyebrow{
  margin:0; font-weight:500; font-size:.72rem;
  letter-spacing:.28em; text-transform:uppercase; color:var(--nor-grey);
}
.rev__title{
  margin:0; font-family:var(--nor-serif); font-weight:500;
  font-size:clamp(2rem,4.5vw,3.1rem); line-height:1.05; color:var(--nor-ink);
}
.rev__meta{ display:flex; align-items:center; gap:.6rem; color:var(--nor-muted); font-size:.9rem; }
.rev__stars{ display:inline-flex; gap:2px; color:var(--nor-star); }
.rev__stars svg{ width:16px; height:16px; }
.rev__slider{ position:relative; }
.rev__track{
  display:grid; grid-auto-flow:column;
  grid-auto-columns:88%;
  gap:1rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding-bottom:.5rem;
}
.rev__track::-webkit-scrollbar{ display:none; }
.rev__track > *{ scroll-snap-align:start; }
@media (min-width:640px){ .rev__track{ grid-auto-columns:calc(50% - .5rem); } }
@media (min-width:1000px){ .rev__track{ grid-auto-columns:calc(33.333% - .67rem); gap:1.5rem; } }
.rvc{
  display:flex; flex-direction:column; justify-content:space-between;
  gap:1.5rem; min-height:230px;
  padding:1.75rem;
  background:var(--nor-card);
  border:1px solid var(--nor-line);
}
.rvc__stars{ display:inline-flex; gap:2px; color:var(--nor-star); margin-bottom:-.25rem; }
.rvc__stars svg{ width:15px; height:15px; }
.rvc__body{
  margin:0; color:var(--nor-ink);
  font-size:1.02rem; line-height:1.65; font-weight:300;
}
.rvc__foot{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-top:1.25rem; border-top:1px solid var(--nor-line);
}
.rvc__who{ display:flex; align-items:center; gap:.7rem; }
.rvc__avatar{
  display:grid; place-items:center;
  width:38px; height:38px; border-radius:50%;
  background:var(--nor-off); color:var(--nor-ink);
  font-weight:500; font-size:.9rem;
}
.rvc__name{ font-weight:500; font-size:.92rem; }
.rvc__date{ color:var(--nor-grey); font-size:.8rem; white-space:nowrap; }
.rvc__product{
  display:block; margin-top:1rem;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--nor-grey); text-decoration:none;
}
.rvc__product:hover{ color:var(--nor-sage); }
.rev__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  display:none; place-items:center;
  width:46px; height:46px; border-radius:50%;
  border:1px solid var(--nor-line); background:var(--nor-white);
  color:var(--nor-ink); cursor:pointer;
  transition:background .3s var(--nor-ease), border-color .3s var(--nor-ease);
}
.rev__arrow:hover{ border-color:var(--nor-ink); }
.rev__arrow svg{ width:20px; height:20px; }
.rev__arrow--prev{ left:-10px; }
.rev__arrow--next{ right:-10px; }
@media (min-width:1000px){ .rev__arrow{ display:grid; } }
.rev__dots{
  display:flex; justify-content:center; gap:.5rem; margin-top:1.75rem;
}
.rev__dot{
  width:8px; height:8px; border-radius:50%; padding:0; border:0;
  background:var(--nor-line); cursor:pointer;
  transition:background .3s var(--nor-ease), transform .3s var(--nor-ease);
}
.rev__dot.is-active{ background:var(--nor-ink); transform:scale(1.2); }
@media (prefers-reduced-motion:reduce){
  .rev__track{ scroll-behavior:auto; }
  .rev__dot,.rev__arrow{ transition:none; }
}

/* ------------------------------------------------------------------- FAQ */
.faq{ padding-block:clamp(3.5rem,8vh,6rem); background:var(--nor-cream); }
.faq__wrap{
  width:100%; max-width:1360px; margin-inline:auto;
  padding-inline:clamp(1.25rem,5vw,4rem);
}
.faq__grid{ display:grid; gap:2rem; align-items:start; }
@media (min-width:900px){
  .faq__grid{ grid-template-columns:minmax(0,24rem) minmax(0,1fr); column-gap:4rem; }
}
.faq__eyebrow{
  margin:0 0 1rem;
  font-family:var(--nor-sans); font-weight:500;
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--nor-grey);
}
.faq__title{
  margin:0;
  font-family:var(--nor-serif); font-weight:500;
  font-size:clamp(2rem,4.5vw,3.1rem); line-height:1.05;
  color:var(--nor-ink);
}
.faq__note{
  margin:1.25rem 0 0; max-width:34ch;
  color:var(--nor-muted); font-size:.95rem; line-height:1.7;
}
.faq__note a{ color:var(--nor-ink); border-bottom:1px solid var(--nor-line); text-decoration:none; }
.faq__note a:hover{ color:var(--nor-sage); border-color:var(--nor-sage); }
.faq__list{ border-top:1px solid var(--nor-line); }
.faq__item{ border-bottom:1px solid var(--nor-line); }
.faq__q{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  width:100%; text-align:left;
  padding:1.25rem 0;
  background:none; border:0; cursor:pointer;
  font-family:var(--nor-serif); font-weight:500;
  font-size:1.35rem; line-height:1.3; color:var(--nor-ink);
  list-style:none;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__icon{
  flex:0 0 auto; position:relative; width:18px; height:18px;
}
.faq__icon::before,.faq__icon::after{
  content:""; position:absolute; background:var(--nor-grey);
  transition:transform .3s var(--nor-ease), background .3s var(--nor-ease);
}
.faq__icon::before{ top:8px; left:0; width:18px; height:2px; }
.faq__icon::after{ left:8px; top:0; width:2px; height:18px; }
.faq__item[open] .faq__icon::after{ transform:scaleY(0); }
.faq__item[open] .faq__icon::before{ background:var(--nor-sage); }
.faq__item[open] .faq__q{ color:var(--nor-sage); }
.faq__a{
  overflow:hidden;
  padding:0 0 1.4rem;
  max-width:60ch;
}
.faq__a p{
  margin:0; color:var(--nor-muted);
  font-size:.98rem; line-height:1.75;
}

/* ------------------------------------------------------- category banner */
.banner{
  position:relative;
  width:100%;
  max-width:none;
  margin-inline:0;
  margin-block:clamp(2rem,5vh,3.5rem);
  overflow:hidden;
}
.banner__link{ display:block; color:inherit; text-decoration:none; }
.banner__link, .banner__link *{ text-decoration:none; }
.banner__img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1800/650;
  object-fit:cover;
  object-position:right center;
}
/* text sits on the calm left third, aligned to the 1360px content edge */
.banner__copy{
  position:absolute;
  inset-block:0;
  inset-inline-start:max(0px, calc((100% - 1360px) / 2));
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.9rem;
  width:min(46%, 34rem);
  padding-inline:clamp(1.5rem, 5vw, 4rem);
}
.banner__eyebrow{
  margin:0 0 .3rem;
  font-family:var(--nor-sans); font-weight:500;
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--nor-grey) !important;
  text-decoration:none;
}
.banner__title{
  margin:0;
  font-family:var(--nor-serif);
  font-weight:500;
  font-size:clamp(1.9rem, 4.6vw, 3.6rem);
  line-height:1.02;
  color:var(--nor-ink);
}
.banner__rule{
  width:120px; height:1px; border:0; margin:.2rem 0;
  background:var(--nor-grey);
}
.banner__sub{
  margin:0;
  font-family:var(--nor-sans);
  font-weight:400;
  font-size:clamp(.95rem, 1.6vw, 1.3rem);
  letter-spacing:.02em;
  color:var(--nor-muted);
}
.banner__cta{
  align-self:flex-start;
  margin-top:.6rem;
  display:inline-flex; align-items:center;
  min-height:46px; padding:.7rem 1.8rem;
  font-family:var(--nor-sans); font-weight:500;
  font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none;
  color:var(--nor-white); background:var(--nor-ink);
  border:1px solid var(--nor-ink);
  transition:background .3s ease, border-color .3s ease;
}
.banner__cta:hover{ background:var(--nor-sage); border-color:var(--nor-sage); }
/* soft off-white veil on the left so the live heading stays readable */
.banner__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.75) 28%,
    rgba(255,255,255,.15) 50%,
    rgba(255,255,255,0) 66%);
}
@media (max-width:640px){
  .banner__copy{ width:70%; }
}

/* ---------------------------------------------------------------- header */
.nhead{
  position:sticky; top:0; z-index:60;
  background:var(--nor-off);
  border-bottom:1px solid var(--nor-line);
  transition:box-shadow .3s var(--nor-ease), background .3s var(--nor-ease);
}
/* keep the sticky header below the WP admin bar when logged in */
.admin-bar .nhead{ top:32px; }
@media (max-width:782px){ .admin-bar .nhead{ top:46px; } }
@media (max-width:600px){ .admin-bar .nhead{ top:0; } }
.nhead.is-stuck{
  background:var(--nor-white);
  box-shadow:0 2px 18px rgba(38,38,43,.10);
  border-bottom-color:transparent;
}
.nhead__bar{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:1rem; min-height:66px;
  max-width:1360px; margin-inline:auto;
  padding-inline:clamp(1.25rem,5vw,4rem);
}
.nhead__brand{
  justify-self:center;
  font-family:var(--nor-serif); font-weight:500;
  font-size:1.7rem; letter-spacing:.02em; color:var(--nor-ink);
  text-decoration:none;
}
.nhead__links{ display:flex; align-items:center; gap:1.75rem; }
.nhead__links > a, .nhead__item > a{
  font-family:var(--nor-sans); font-weight:400;
  font-size:.76rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--nor-ink); text-decoration:none;
}
.nhead__links a:hover{ color:var(--nor-sage); }
.nhead__item{ position:relative; }
.nhead__submenu{
  position:absolute; top:100%; left:0; z-index:20;
  display:flex; flex-direction:column; gap:.15rem;
  min-width:230px; padding:.75rem 0;
  background:var(--nor-white); border:1px solid var(--nor-line);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .25s var(--nor-ease), transform .25s var(--nor-ease), visibility .25s;
}
.nhead__item:hover .nhead__submenu{ opacity:1; visibility:visible; transform:none; }
.nhead__submenu a{
  padding:.5rem 1.25rem;
  font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--nor-muted); text-decoration:none;
}
.nhead__submenu a:hover{ color:var(--nor-ink); background:var(--nor-off); }
.nhead__right{ display:flex; align-items:center; justify-content:flex-end; gap:.75rem; }
.nhead__icon{ position:relative; display:inline-flex; color:var(--nor-ink); }
.nhead__icon:hover{ color:var(--nor-sage); }
.nhead__count{
  position:absolute; top:-6px; right:-8px;
  display:grid; place-items:center; min-width:16px; height:16px; padding:0 4px;
  border-radius:999px; background:var(--nor-ink); color:var(--nor-white);
  font-size:9px; font-weight:500;
  transition:transform .3s var(--nor-ease);
}
.nhead__count.is-bump{ transform:scale(1.35); }
.nhead__toggle{ display:none; flex-direction:column; gap:4px; width:26px; background:none; border:0; cursor:pointer; }
.nhead__toggle span{ display:block; height:1.5px; background:var(--nor-ink); }
@media (max-width:860px){
  .nhead__toggle{ display:flex; }
  .nhead__links{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:var(--nor-white); border-bottom:1px solid var(--nor-line);
    padding:.5rem clamp(1.25rem,5vw,4rem);
    max-height:0; overflow:hidden; transition:max-height .3s var(--nor-ease);
  }
  .nhead__links.is-open{ max-height:340px; }
  .nhead__links > a, .nhead__item > a{ padding:.9rem 0; }
  .nhead__submenu{ position:static; opacity:1; visibility:visible; transform:none; border:0; padding:.25rem 0 .5rem .75rem; }
}

/* ----------------------------------------------------------------- about */
.nabout{ padding-block:clamp(3.5rem,8vh,6rem); background:var(--nor-off); }
.nabout__wrap{
  max-width:1360px; margin-inline:auto;
  padding-inline:clamp(1.25rem,5vw,4rem);
  display:grid; gap:2.5rem; align-items:center;
}
@media (min-width:900px){ .nabout__wrap{ grid-template-columns:1fr 1fr; gap:4rem; } }
.nabout__eyebrow{
  margin:0 0 1rem; font-weight:500; font-size:.72rem;
  letter-spacing:.28em; text-transform:uppercase; color:var(--nor-grey);
}
.nabout__title{
  margin:0 0 1.25rem;
  font-family:var(--nor-serif); font-weight:500;
  font-size:clamp(2rem,4vw,3rem); line-height:1.08; color:var(--nor-ink);
}
.nabout__text{ margin:0 0 1rem; max-width:54ch; color:var(--nor-muted); line-height:1.75; }
.nabout__points{
  list-style:none; margin:1.75rem 0; padding:1.5rem 0 0;
  border-top:1px solid var(--nor-line);
  display:grid; gap:1rem;
}
@media (min-width:560px){ .nabout__points{ grid-template-columns:repeat(3,1fr); gap:1.25rem; } }
.nabout__point{ display:grid; grid-template-columns:auto 1fr; gap:.6rem; align-items:start; }
.nabout__pin{ display:inline-flex; margin-top:2px; color:var(--nor-sage); }
.nabout__pin svg{ width:18px; height:18px; }
.nabout__ptext{ display:flex; flex-direction:column; }
.nabout__pname{ font-weight:500; font-size:.9rem; color:var(--nor-ink); }
.nabout__pwhere{ font-size:.8rem; color:var(--nor-muted); }
.nabout__btn{
  display:inline-flex; align-items:center; min-height:48px; padding:.8rem 2rem;
  font-family:var(--nor-sans); font-weight:500; font-size:.74rem;
  letter-spacing:.18em; text-transform:uppercase; text-decoration:none;
  color:var(--nor-ink); background:transparent; border:1px solid var(--nor-ink);
  transition:background .3s var(--nor-ease), color .3s var(--nor-ease);
}
.nabout__btn:hover{ background:var(--nor-ink); color:var(--nor-white); }
.nabout__figure{ margin:0; }
.nabout__figure img{ width:100%; height:100%; max-height:560px; object-fit:cover; display:block; }
@media (min-width:900px){ .nabout__figure{ order:2; } }

/* ---------------------------------------------------------------- footer */
.nfoot{ background:var(--nor-ink); color:#cfcdcf; padding-block:clamp(3rem,7vh,5rem) 2rem; }
.nfoot__wrap{ max-width:1360px; margin-inline:auto; padding-inline:clamp(1.25rem,5vw,4rem); }
.nfoot__cols{ display:grid; gap:2.5rem; grid-template-columns:repeat(2,1fr); }
@media (min-width:900px){ .nfoot__cols{ grid-template-columns:1.6fr repeat(3,1fr); gap:3rem; } }
.nfoot__brand{
  font-family:var(--nor-serif); font-weight:500; font-size:1.7rem;
  color:var(--nor-white); text-decoration:none;
}
.nfoot__blurb{ margin:1rem 0; max-width:36ch; font-size:.9rem; line-height:1.7; color:#a7a5a8; }
.nfoot a{ color:#cfcdcf; text-decoration:none; }
.nfoot a:hover{ color:var(--nor-sage); }
.nfoot h3{
  margin:0 0 1rem; color:var(--nor-white);
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}
.nfoot ul{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; font-size:.9rem; }
.nfoot__socials{ display:flex; gap:.5rem; margin-top:1rem; }
.nfoot__social{ display:inline-flex; }
.nfoot__social svg{ width:22px; height:22px; }
.nfoot__form{ display:flex; gap:.5rem; margin-top:.5rem; }
.nfoot__form input{
  flex:1; min-width:0; padding:.7rem .9rem;
  background:transparent; border:1px solid rgba(255,255,255,.25);
  color:var(--nor-white); font-family:var(--nor-sans); font-size:.85rem;
}
.nfoot__form input::placeholder{ color:#8f8d90; }
.nfoot__form button{
  padding:.7rem 1.2rem; border:0; cursor:pointer;
  background:var(--nor-white); color:var(--nor-ink);
  font-family:var(--nor-sans); font-weight:500; font-size:.7rem;
  letter-spacing:.14em; text-transform:uppercase;
}
.nfoot__form button:hover{ background:var(--nor-sage); color:var(--nor-white); }
.nfoot__bottom{
  margin-top:2.5rem; padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between;
  font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:#8f8d90;
}

/* ----------------------------------------- "The pieces women keep" ----
   Ported from the homepage (front-page.php + style.css/home.css) and kept
   in the homepage's own palette so it looks the same on both pages. */
.keep{
  --k-bg:#ffffff;
  --k-primary:#102A24;
  --k-accent:#102A24;
  --k-secondary:#e4e4e7;
  --k-paper:#ffffff;
  --k-pad:clamp(1.4rem,5vw,7rem);
  --k-section-pad:clamp(.75rem,2.5vw,3rem);
  background:var(--k-bg);
  color:#17221F;
  font-weight:300;
  padding-bottom:clamp(2.6rem,5vw,4rem);
}
.keep button{ font:inherit; border:0; cursor:pointer; }
.keep__desktop{ width:100%; padding-top:clamp(3.2rem,7vh,5.5rem); padding-bottom:clamp(2.6rem,5vw,4rem); overflow:hidden; }
.keep__head{ max-width:1560px; margin:0 auto clamp(2rem,4vw,3.4rem); padding:0 var(--k-pad); text-align:center; }
.keep__eyebrow{
  display:block; margin-bottom:.7rem;
  font-family:var(--nor-sans); font-size:.82rem; font-weight:400;
  letter-spacing:.3em; text-transform:uppercase; color:var(--k-accent);
}
.keep__head h2{
  margin:0;
  font-family:var(--nor-serif); font-weight:500;
  font-size:clamp(2.2rem,4vw,3.2rem); color:var(--k-primary);
}

/* auto-scrolling track; home-new.js clones cards for a seamless loop */
.showcase__row{ position:relative; width:100%; overflow:hidden; }
.showcase__track{
  display:flex; align-items:stretch; gap:1.5rem;
  width:max-content; padding-left:var(--k-pad);
  will-change:transform;
  animation:keep-scroll var(--sc-duration,55s) linear infinite;
}
.showcase__row:hover .showcase__track,
.showcase__row:focus-within .showcase__track{ animation-play-state:paused; }
@keyframes keep-scroll{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(calc(-1 * var(--sc-shift,50%)),0,0); }
}

/* hover-to-expand card: one photo, widening into three on hover */
.showcase-card{
  position:relative; flex:0 0 auto;
  width:460px; height:600px; border-radius:24px; overflow:hidden;
  background:var(--k-secondary); display:block;
  text-decoration:none; color:var(--k-paper);
  transition:width .45s var(--nor-ease);
}
.showcase-card:hover,.showcase-card:focus-within{ width:960px; }
.showcase-card::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg,rgba(17,17,17,.6) 0%,rgba(17,17,17,.05) 26%,rgba(17,17,17,.12) 58%,rgba(17,17,17,.68) 100%);
}
.showcase-card__single{
  position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover;
  transition:opacity .35s var(--nor-ease), transform .5s var(--nor-ease);
}
.showcase-card:hover .showcase-card__single,
.showcase-card:focus-within .showcase-card__single{ opacity:0; }
.showcase-card__row{
  position:absolute; inset:0; z-index:1;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px;
  opacity:0; transition:opacity .4s var(--nor-ease);
}
.showcase-card:hover .showcase-card__row,
.showcase-card:focus-within .showcase-card__row{ opacity:1; }
.showcase-card__row img{ width:100%; height:100%; object-fit:cover; }
.showcase-card__copy{ position:absolute; top:0; left:0; right:0; z-index:4; padding:1.7rem 1.8rem 0; }
.showcase-card__copy span{
  display:block; margin-bottom:.35rem;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.showcase-card__copy h3{
  margin:0;
  font-family:var(--nor-serif); font-weight:500; font-size:1.6rem; line-height:1.15;
  color:var(--k-paper);
}
.showcase-card__price{ margin:.5rem 0 0; font-size:1.02rem; color:rgba(255,255,255,.85); }
.showcase-card__price .was{ margin-left:.5rem; color:rgba(255,255,255,.5); text-decoration:line-through; }
.showcase-card__tag{
  position:absolute; top:.9rem; right:.9rem; z-index:5;
  padding:.36rem .6rem; border-radius:0;
  background:var(--k-primary); color:var(--k-bg);
  font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
}
.showcase-card__tag.sale{ background:var(--k-accent); color:var(--k-paper); }
.keep .showcase-card__fav{
  position:absolute; left:1rem; bottom:1rem; z-index:5;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.92);
  display:grid; place-items:center; color:var(--k-primary);
  transition:transform .3s var(--nor-ease), color .3s var(--nor-ease);
}
.keep .showcase-card__fav:hover{ transform:scale(1.08); }
.showcase-card__fav svg,.wm-card__fav svg{ fill:none; stroke:currentColor; stroke-width:1.6; transition:fill .3s var(--nor-ease); }
.showcase-card__fav svg{ width:20px; height:20px; }
.keep .showcase-card__fav.is-fav,.keep .wm-card__fav.is-fav{ color:var(--k-accent); }
.showcase-card__fav.is-fav svg,.wm-card__fav.is-fav svg{ fill:var(--k-accent); }
.keep .showcase-card__add{
  position:absolute; left:calc(1rem + 54px); right:1rem; bottom:1rem; z-index:5;
  padding:1rem; border-radius:0;
  background:rgba(255,255,255,.95); color:var(--k-primary);
  font-size:.78rem; letter-spacing:.17em; text-transform:uppercase; text-align:center;
  transition:background .3s var(--nor-ease), color .3s var(--nor-ease);
}
.keep .showcase-card__add:hover{ background:var(--k-primary); color:var(--k-bg); }

@media (max-width:900px){
  .showcase-card{ width:320px; height:480px; }
  .showcase-card:hover,.showcase-card:focus-within{ width:min(680px,calc(100vw - 40px)); }
}
@media (max-width:560px){
  .showcase-card{ width:250px; height:420px; }
  .showcase-card:hover,.showcase-card:focus-within{ width:min(560px,calc(100vw - 32px)); }
}

/* mobile: stacked cards instead of the hover reel */
.keep__mobile{ display:none; padding-top:clamp(2.6rem,7vw,4rem); }
.keep__mobile .keep__head{ padding:0 var(--k-section-pad); }
.wm-grid{ display:flex; flex-direction:column; gap:2.2rem; padding:0 var(--k-section-pad); }
.wm-card__media{ position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5; background:var(--k-secondary); }
.wm-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.wm-card__tag{
  position:absolute; top:.8rem; left:.8rem; z-index:2;
  padding:.4rem .65rem; border-radius:0;
  background:var(--k-primary); color:var(--k-bg);
  font-size:.66rem; letter-spacing:.12em; text-transform:uppercase;
}
.wm-card__tag.sale{ background:var(--k-accent); color:var(--k-paper); }
.keep .wm-card__fav{
  position:absolute; top:.8rem; right:.8rem; z-index:2;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.92);
  display:grid; place-items:center; color:var(--k-primary);
}
.wm-card__fav svg{ width:19px; height:19px; }
.wm-card__body{ padding:1rem .2rem 0; text-align:center; }
.wm-card__cat{
  display:block; margin-bottom:.3rem;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--k-accent);
}
.wm-card__body h3{ margin:0; font-family:var(--nor-serif); font-weight:500; font-size:1.3rem; line-height:1.2; color:var(--k-primary); }
.wm-card__price{ margin:.4rem 0 0; font-size:.95rem; color:rgba(26,26,26,.72); }
.wm-card__price .was{ margin-left:.5rem; color:rgba(26,26,26,.4); text-decoration:line-through; }
.wm-card__actions{ display:flex; gap:.7rem; margin-top:1rem; }
.keep .wm-card__actions .keep__btn{ flex:1; padding:.85rem 1rem; font-size:.72rem; letter-spacing:.14em; }

/* pill buttons, as on the homepage */
.keep .keep__btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:1.06rem 2.4rem; border:1px solid var(--k-primary); border-radius:0;
  background:transparent; color:var(--k-primary);
  font-family:var(--nor-sans); font-size:.82rem; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase; text-decoration:none;
  transition:background .4s var(--nor-ease), color .4s var(--nor-ease);
}
.keep .keep__btn:hover{ background:var(--k-primary); color:var(--k-bg); }
.keep .keep__btn--solid{ background:var(--k-primary); color:var(--k-bg); }
.keep .keep__btn--solid:hover{ background:#1f4a3f; border-color:#1f4a3f; }
.keep__foot{ text-align:center; }

@media (max-width:860px){
  .keep__desktop{ display:none; }
  .keep__mobile{ display:block; }
  .keep__foot{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .showcase__track{ animation:none; }
}

/* ------------------------------------------------- add-to-cart feedback */
.ntoast{
  position:fixed; left:50%; bottom:1.5rem; z-index:80;
  transform:translate(-50%, 1rem); opacity:0; pointer-events:none;
  padding:.8rem 1.4rem;
  background:var(--nor-ink); color:var(--nor-cream);
  font-family:var(--nor-sans); font-size:.8rem; letter-spacing:.06em;
  transition:opacity .3s var(--nor-ease), transform .3s var(--nor-ease);
}
.ntoast.is-show{ opacity:1; transform:translate(-50%, 0); }

/* ------------------------------------------------- pre-launch sale strip */
.nsale{
  background:var(--nor-ink);
  color:var(--nor-cream);
  text-align:center;
}
.nsale__in{
  display:block;
  max-width:1360px; margin-inline:auto;
  padding:.6rem clamp(1.25rem,5vw,4rem);
  font-family:var(--nor-sans); font-weight:400;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
}
.nsale__in strong{ font-weight:600; }
/* the header sticks below the strip, so it scrolls away with the page */

/* the shop grid opens the page, so it needs room under the header */
.shop-new .picks{ padding-top:clamp(2.5rem,7vh,4.5rem); }

/* ------------------------------------------------------------ shop hero */
.shero{
  position:relative;
  display:grid; place-items:center;
  min-height:clamp(18rem,44vh,26rem);
  overflow:hidden;
  text-align:center;
  background:var(--nor-off);
}
.shero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.shero__veil{
  /* dark scrim with light text: the only pairing that stays readable over a
     bright photograph, whatever the crop shows */
  position:absolute; inset:-1px;
  background:linear-gradient(180deg,
    rgba(12,12,14,.55) 0%,
    rgba(12,12,14,.62) 45%,
    rgba(12,12,14,.72) 100%);
}
.shero__copy{ position:relative; z-index:2; padding-inline:clamp(1.25rem,5vw,4rem); max-width:46rem; }
.shero__eyebrow{
  margin:0 0 1rem;
  font-family:var(--nor-sans); font-weight:500;
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
.shero__title{
  margin:0;
  font-family:var(--nor-serif); font-weight:500;
  font-size:clamp(2.4rem,6vw,4.2rem); line-height:1.04;
  color:#fff;
  text-shadow:0 2px 30px rgba(0,0,0,.45);
}
.shero__sub{
  margin:1.1rem auto 0; max-width:34rem;
  color:rgba(255,255,255,.88); font-size:1rem; line-height:1.75;
}
.shop-new .picks{ padding-top:clamp(2.5rem,7vh,4.5rem); }
