/* RESPONSIVE */
@media (max-width: 1200px){
  nav{padding:1.5rem 2rem}
  nav.sc{padding:1rem 2rem}
  .h-copy,.intro,.col,.proc,.look,.mats,.nl,.config,.press,footer{padding-left:2rem;padding-right:2rem}
  .feat-r{padding:5rem 3rem}
  .config-inner{gap:4rem}
  .ft-top{gap:2rem}

  .h-copy{max-width:46%}
  .h-visual img{width:110%;transform:translateX(3%) scale(1.06)}
}

@media (max-width: 992px){
  body{cursor:auto}
  #cur,#cur-ring{display:none}
  .n-links{display:none}
  .menu-toggle{display:flex}
  .h-copy{
    max-width:100%;
    width:100%;
    padding:0 1rem;
    align-items:flex-start;
    text-align:left;
  }
  nav.open {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  nav.open .n-links {
    display: flex;
  }
  .h-eyebrow{justify-content:center}
  .h-desc{max-width:36rem}
  .h-visual img{
    width:min(100%,760px);
    transform:none;
  }
  .h-visual:hover img{
    transform:scale(1.03);
  }
  .h-visual-shadow{
    left:50%;
    width:46%;
    bottom:7%;
  }

  .p-grid,.look-grid,.mat-grid,.ft-top,.config-inner,.feat,.press-inner{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr;gap:2rem}
  .proc-grid::before,.feat-r::before,.press-line{display:none}
  .col-hdr,.ft-bot,.press-inner{display:block}
  .feat{min-height:auto}
  .feat-l{min-height:50vh}
  .look-grid{grid-template-rows:auto}
  .lk:nth-child(1),.lk:nth-child(2),.lk:nth-child(3),.lk:nth-child(4){grid-column:auto;grid-row:auto}
  .lk:nth-child(4) .lk-img{aspect-ratio:3/2}
  .mat-grid{grid-template-columns:1fr 1fr}
  .ft-top{grid-template-columns:1fr 1fr}
  #cart-panel{width:min(380px,100%)}
}

@media (max-width: 640px){
  nav{padding:1rem 1rem}
  nav.sc{padding:.9rem 1rem}
  .h-copy,.intro,.col,.proc,.look,.mats,.nl,.config,.press,footer{padding-left:1rem;padding-right:1rem}
  .h-copy{
    width:100%;
    align-items:flex-start;
    text-align:left;
  }
  .h-eyebrow{
    justify-content:center;
    gap:.8rem;
    margin-bottom:.55rem;
  }
  .h-eline{width:28px}
  .h-etxt{
    font-size:.58rem;
    letter-spacing:.28em;
  }
  .h-visual img{
    width:100%;
    max-width:100%;
    transform:none;
  }
  .h-visual:hover img{
    transform:none;
  }
  .h-visual-shadow{
    width:58%;
    bottom:8%;
  }
  .h-btns{
    flex-direction:column;
    align-items:center;
    gap:1rem;
    width:100%;
  }
  .btn-p,.btn-g{
    width:100%;
    justify-content:center;
  }
  .btn-g{
    gap:.7rem;
  }
  .h-title{
    font-size:3.9rem;
    line-height:.9;
    margin-bottom:1rem;
  }
  .h-desc{
    font-size:1rem;
    line-height:1.65;
    max-width:100%;
    margin-bottom:1.7rem;
  }
  .h-scroll{
    bottom:1.55rem;
  }

  .intro,.proc,.look,.mats,.nl,.config{padding-top:6rem;padding-bottom:6rem}
  .mat-grid,.ft-top{grid-template-columns:1fr}
  .config-bag-wrap{width:100%;max-width:320px;height:auto}
  .config-bag-svg{height:auto}
  .hscroll-track{padding:0 1rem}
  .hscroll-drag-hint{display:none}
  .size-modal-box{padding:2rem 1rem}
}

@media (max-width: 768px) {
  nav {
    padding: 1rem 1.5rem;
    align-items: center;
  }
  .n-links {
    display: none;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
  .menu-toggle {
    display: flex; /* show hamburger */
  }
  nav.open {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  nav.open .n-links {
    display: flex;
  }
}

/* ─── V2 MERGE RESPONSIVE OVERRIDES ─── */
@media (max-width:1100px){
  .collection,.lookbook,.nl{padding-left:2.5rem;padding-right:2.5rem}
  .atelier-text{padding:5rem 3.5rem}
}
@media (max-width:992px){
  .n-right{gap:1rem}
  .atelier{grid-template-columns:1fr}
  .atelier-visual{min-height:52vw}
  .atelier-text{padding:4rem 2.5rem}
  .lk-grid{grid-template-columns:1fr 1fr}
  .lk-tall{grid-column:1;grid-row:auto}
  .lk-wide{grid-column:1/-1}
}
@media (max-width:640px){
  .collection,.lookbook,.testi,.nl{padding-left:1.2rem;padding-right:1.2rem}
  .lk-grid{grid-template-columns:1fr}
  .lk-tall,.lk-wide{grid-column:auto}
  .at-pillars{grid-template-columns:1fr}
  .atelier-text{padding:3rem 1.2rem}
  .qv-panel{grid-template-columns:1fr;width:min(420px,94vw)}
  .qv-media{aspect-ratio:4/3}
}

/* HERO RATIO ADAPTABILITY FIX */
#hero{
  min-height:100svh;
  height:auto;
  overflow:hidden;
  background-position:center center;
}

.h-visual{
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}

.h-visual img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:right center;
}

/* Keep important right-side image visible while text stays readable */
.h-visual::before{
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(255,250,247,.78) 0%,
      rgba(255,250,247,.54) 34%,
      rgba(255,250,247,.12) 58%,
      rgba(255,250,247,0) 100%),
    linear-gradient(180deg,
      rgba(14,5,5,.18) 0%,
      rgba(14,5,5,.08) 45%,
      rgba(14,5,5,.35) 100%);
}

.h-copy{
  z-index:10;
}

/* Ultra-wide screens */
@media (min-aspect-ratio: 18/9){
  .h-visual img{
    object-position:right center;
  }

  .h-copy{
    max-width:42%;
  }
}

/* Tall / tablet screens */
@media (max-aspect-ratio: 4/5){
  #hero{
    min-height:100svh;
    align-items:flex-start;
    padding-top:7.5rem;
  }

  .h-visual img{
    object-position:72% center;
  }

  .h-copy{
    max-width:100%;
    padding-right:1.25rem;
  }
}

/* Mobile */
@media (max-width:640px){
  #hero{
    min-height:100svh;
    padding-top:6.5rem;
  }

  .h-visual img{
    object-position:76% center;
  }

  .h-visual::before{
    background:
      linear-gradient(180deg,
        rgba(255,250,247,.82) 0%,
        rgba(255,250,247,.68) 42%,
        rgba(255,250,247,.22) 72%,
        rgba(14,5,5,.28) 100%);
  }
}

/* Very small phones */
@media (max-width:390px){
  .h-visual img{
    object-position:80% center;
  }

  .h-title{
    font-size:clamp(3.1rem,18vw,3.8rem);
  }
}

/* ─── HERO CLEAN IMAGE (NO OVERLAYS) ─── */

/* Remove hero background gradient */
#hero{
  background-image:none !important;
  background-color:transparent;
}

/* Remove all overlay layers */
#hero::after,
.h-grad,
.h-noise{
  display:none !important;
}

/* Remove image overlay */
.h-visual::before{
  display:none !important;
}

/* Ensure image is fully visible */
.h-visual img{
  opacity:1 !important;
  filter:none !important;
}

/* Optional: remove vertical lines if you want a fully clean hero */
.h-vlines{
  display:none;
}

/* ─── HERO TEXT RESPONSIVE REFINEMENT ONLY ─── */

/* Tablet */
@media (max-width: 992px){
  .h-copy{
    max-width:54%;
    width:auto;
    padding-left:2rem;
    padding-right:1rem;
    gap:1.15rem;
    align-items:flex-start;
    text-align:left;
  }

  .h-eyebrow{
    justify-content:flex-start;
    gap:.75rem;
    margin-bottom:.2rem;
  }

  .h-eline{
    width:34px;
  }

  .h-etxt{
    font-size:.62rem;
    letter-spacing:.26em;
    line-height:1.4;
  }

  .h-title{
    font-size:clamp(3.7rem, 9vw, 5.4rem);
    line-height:.88;
    margin-bottom:1rem;
  }

  .h-desc{
    display:none;
  }

  .h-btns{
    margin-top:.25rem;
  }
}

/* Phones */
@media (max-width: 640px){
  .h-copy{
    max-width:68%;
    padding-left:1.1rem;
    padding-right:.75rem;
    gap:.85rem;
  }

  .h-eyebrow{
    gap:.55rem;
    margin-bottom:.05rem;
  }

  .h-eline{
    width:24px;
  }

  .h-etxt{
    font-size:.5rem;
    letter-spacing:.18em;
    line-height:1.35;
  }

  .h-title{
    font-size:clamp(2.7rem, 13vw, 3.75rem);
    line-height:.9;
    margin-bottom:.6rem;
    letter-spacing:-.035em;
  }

  .h-btns{
    width:auto;
    align-items:flex-start;
    margin-top:.1rem;
  }

  .btn-p{
    width:auto;
    padding:.82rem 1.35rem;
    font-size:.56rem;
    letter-spacing:.16em;
  }

  .btn-g{
    display:none;
  }
}

/* Very small phones */
@media (max-width: 390px){
  .h-copy{
    max-width:72%;
    padding-left:.9rem;
    gap:.7rem;
  }

  .h-etxt{
    font-size:.46rem;
    letter-spacing:.14em;
  }

  .h-title{
    font-size:clamp(2.35rem, 14.5vw, 3.15rem);
    line-height:.92;
    margin-bottom:.45rem;
  }

  .btn-p{
    padding:.75rem 1.05rem;
    font-size:.5rem;
    letter-spacing:.13em;
  }
}

/* ─── HERO TEXT TOP-CENTER (TABLET & MOBILE) ─── */

/* Tablet + Phones */
@media (max-width: 992px){

  #hero{
    justify-content:center;        /* center horizontally */
    align-items:flex-start;        /* anchor to top */
    padding-top:7rem;
  }

  .h-copy{
    position:relative;
    max-width:680px;
    width:100%;
    margin:0 auto;
    padding:0 1.2rem;
    align-items:center;
    text-align:center;
    gap:1rem;
  }

  .h-eyebrow{
    justify-content:center;
  }

  .h-eline{
    display:none; /* cleaner centered look */
  }

  .h-title{
    text-align:center;
  }

  .h-btns{
    justify-content:center;
  }
}

/* Phones refinement */
@media (max-width: 640px){

  #hero{
    padding-top:6.2rem;
  }

  .h-copy{
    max-width:92%;
    gap:.8rem;
  }

  .h-title{
    line-height:.92;
  }

  .h-btns{
    flex-direction:column;
    align-items:center;
    gap:.8rem;
  }
}

/* Very small phones */
@media (max-width: 390px){

  #hero{
    padding-top:5.6rem;
  }

  .h-copy{
    gap:.7rem;
  }
}

/* ─── PRIMARY BUTTON ELEVATION ─── */

.btn-p{
  box-shadow:
    0 6px 18px rgba(0,0,0,.18),
    0 2px 6px rgba(0,0,0,.12);
  transform:translateY(0);
  transition:
    transform .35s cubic-bezier(.25,.46,.45,.94),
    box-shadow .35s cubic-bezier(.25,.46,.45,.94),
    background .35s,
    color .35s;
}

/* Hover lift */
.btn-p:hover{
  transform:translateY(-4px);
  box-shadow:
    0 14px 38px rgba(0,0,0,.28),
    0 6px 14px rgba(0,0,0,.18);
}

/* Active (press) */
.btn-p:active{
  transform:translateY(-1px);
  box-shadow:
    0 6px 16px rgba(0,0,0,.2),
    0 2px 6px rgba(0,0,0,.14);
}

/* ─── COLLECTION + LOOKBOOK RESPONSIVE ENHANCEMENT ONLY ─── */

/* Tablets */
@media (max-width: 992px){
  .collection,
  .lookbook{
    padding-top:6.5rem;
    padding-bottom:7.5rem;
    padding-left:2rem;
    padding-right:2rem;
  }

  .col-hdr,
  .lk-hdr{
    margin-bottom:3.5rem;
  }

  .product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1.25rem;
    width:100%;
  }

  .p-media{
    aspect-ratio:4/3.35;
  }

  .p-body{
    padding:1rem;
  }

  .lk-grid{
    grid-template-columns:1fr 1fr;
    gap:1rem;
    width:100%;
  }

  .lk-tall,
  .lk-wide,
  .lk:nth-child(2),
  .lk:nth-child(3){
    grid-column:auto;
    grid-row:auto;
  }

  .lk-tall{
    grid-row:span 2;
  }

  .lk-wide{
    grid-column:1 / -1;
  }

  .lk-media,
  .lk-tall .lk-media,
  .lk:nth-child(2) .lk-media,
  .lk:nth-child(3) .lk-media,
  .lk-wide .lk-media{
    aspect-ratio:4/3.2;
    min-height:auto;
  }

  .lk-tall .lk-media{
    height:100%;
  }
}

/* Phones */
@media (max-width: 640px){
  .collection,
  .lookbook{
    padding-top:5.5rem;
    padding-bottom:6.5rem;
    padding-left:1.15rem;
    padding-right:1.15rem;
  }

  .col-hdr,
  .lk-hdr{
    margin-bottom:2.75rem;
  }

  .collection .sec-ey,
  .lookbook .sec-ey{
    justify-content:center;
    text-align:center;
    font-size:.5rem;
    letter-spacing:.28em;
    margin-bottom:1rem;
  }

  .collection .sec-ey::before,
  .lookbook .sec-ey::before{
    display:none;
  }

  .collection .sec-ttl,
  .lookbook .sec-ttl{
    text-align:center;
    font-size:clamp(2.15rem, 11vw, 3.2rem);
    line-height:1;
    letter-spacing:-.04em;
  }

  .collection .sec-sub,
  .lookbook .sec-sub{
    text-align:center;
    font-size:1rem;
    line-height:1.6;
    margin-left:auto;
    margin-right:auto;
    max-width:32rem;
  }

  .product-grid{
    grid-template-columns:1fr;
    gap:1.15rem;
  }

  .p-card{
    border-radius:1.1rem;
  }

  .p-media{
    aspect-ratio:4/3;
  }

  .p-media img{
    object-position:center 22%;
  }

  .p-body{
    padding:1rem 1rem 1.15rem;
    gap:.65rem;
  }

  .p-row{
    align-items:flex-start;
  }

  .p-name{
    font-size:.9rem;
    line-height:1.35;
  }

  .p-detail{
    font-size:.86rem;
    line-height:1.5;
  }

  .p-cta{
    padding:.78rem .9rem;
    font-size:.56rem;
    letter-spacing:.16em;
  }

  .lk-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .lk,
  .lk-tall,
  .lk-wide,
  .lk:nth-child(2),
  .lk:nth-child(3){
    grid-column:auto;
    grid-row:auto;
  }

  .lk-media,
  .lk-tall .lk-media,
  .lk:nth-child(2) .lk-media,
  .lk:nth-child(3) .lk-media,
  .lk-wide .lk-media{
    aspect-ratio:4/3.15;
    min-height:auto;
    height:auto;
  }

  .lk-media img{
    object-position:center 20%;
  }

  .lk-cap{
    transform:none;
    opacity:1;
    padding:1.15rem 1rem 1rem;
  }
}

/* Very small phones */
@media (max-width: 390px){
  .collection,
  .lookbook{
    padding-left:.9rem;
    padding-right:.9rem;
  }

  .collection .sec-ttl,
  .lookbook .sec-ttl{
    font-size:clamp(1.95rem, 12vw, 2.75rem);
  }

  .collection .sec-sub,
  .lookbook .sec-sub{
    font-size:.94rem;
  }

  .p-media,
  .lk-media,
  .lk-tall .lk-media,
  .lk:nth-child(2) .lk-media,
  .lk:nth-child(3) .lk-media,
  .lk-wide .lk-media{
    aspect-ratio:1 / 1;
  }
}

/* ─── NEWSLETTER RESPONSIVE ENHANCEMENT ONLY ─── */

/* Tablets */
@media (max-width: 992px){
  .nl{
    padding-top:7rem;
    padding-bottom:7rem;
    padding-left:2rem;
    padding-right:2rem;
  }

  .nl-ey{
    font-size:.56rem;
    letter-spacing:.34em;
    margin-bottom:1.15rem;
  }

  .nl-ttl{
    font-size:clamp(2.1rem, 6vw, 3.4rem);
    line-height:1.08;
    max-width:680px;
    margin-left:auto;
    margin-right:auto;
  }

  .nl-sub{
    font-size:1.05rem;
    line-height:1.65;
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:2.8rem;
  }

  .nl-form{
    max-width:560px;
  }
}

/* Phones */
@media (max-width: 640px){
  .nl{
    padding-top:5.8rem;
    padding-bottom:6.2rem;
    padding-left:1.15rem;
    padding-right:1.15rem;
  }

  .nl-ey{
    font-size:.48rem;
    letter-spacing:.26em;
    line-height:1.5;
    margin-bottom:1rem;
  }

  .nl-ttl{
    font-size:clamp(1.9rem, 10vw, 2.9rem);
    line-height:1.05;
    margin-bottom:.9rem;
  }

  .nl-sub{
    font-size:1rem;
    line-height:1.6;
    margin-bottom:2.2rem;
  }

  .nl-form{
    flex-direction:column;
    gap:.85rem;
    max-width:100%;
  }

  .nl-in{
    width:100%;
    border:1px solid rgba(221,191,137,.18);
    padding:1rem 1.1rem;
    text-align:center;
  }

  .nl-sub-btn{
    width:100%;
    padding:1rem 1.2rem;
    font-size:.58rem;
    letter-spacing:.18em;
  }

  .nl-note{
    font-size:.5rem;
    letter-spacing:.12em;
    line-height:1.6;
    max-width:280px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* Very small phones */
@media (max-width: 390px){
  .nl{
    padding-left:.9rem;
    padding-right:.9rem;
  }

  .nl-ttl{
    font-size:clamp(1.65rem, 11vw, 2.45rem);
  }

  .nl-sub{
    font-size:.94rem;
  }

  .nl-in,
  .nl-sub-btn{
    padding:.9rem 1rem;
  }
}
/* ─── FOOTER BOTTOM ALWAYS INLINE ─── */

.ft-bot{
  display:flex !important;
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  flex-wrap:nowrap;
}

/* Prevent breaking */
.ft-copy{
  white-space:nowrap;
  font-size:clamp(.5rem, 2.5vw, .58rem);
}

.ft-socs{
  display:flex;
  gap:.6rem;
  flex-shrink:0;
}

/* Small phones tightening */
@media (max-width: 390px){
  .ft-bot{
    gap:.5rem;
  }

  .ft-soc{
    width:34px;
    height:34px;
  }
}

/* ─── ROTATED TABLETS + PHONES ADAPTABILITY ONLY ─── */

@media (max-width: 992px) and (orientation: landscape){

  /* HERO */
  #hero{
    min-height:100svh;
    padding-top:5rem;
    align-items:flex-start;
  }

  .h-copy{
    max-width:58%;
    gap:.65rem;
  }

  .h-etxt{
    font-size:.48rem;
    letter-spacing:.2em;
  }

  .h-title{
    font-size:clamp(2.4rem, 6vw, 4rem);
    line-height:.88;
    margin-bottom:.35rem;
  }

  .h-btns{
    margin-top:.1rem;
  }

  .btn-p{
    padding:.72rem 1.25rem;
    font-size:.5rem;
    letter-spacing:.14em;
  }

  .h-scroll{
    display:none;
  }

  /* COLLECTION + LOOKBOOK */
  .collection,
  .lookbook{
    padding-top:4.5rem;
    padding-bottom:5rem;
    padding-left:1.5rem;
    padding-right:1.5rem;
  }

  .col-hdr,
  .lk-hdr{
    margin-bottom:2.4rem;
  }

  .collection .sec-ttl,
  .lookbook .sec-ttl{
    font-size:clamp(2.1rem, 5vw, 3.2rem);
  }

  .collection .sec-sub,
  .lookbook .sec-sub{
    font-size:.95rem;
    line-height:1.5;
  }

  .product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1rem;
  }

  .p-media{
    aspect-ratio:4 / 2.65;
  }

  .lk-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1rem;
  }

  .lk-media,
  .lk-tall .lk-media,
  .lk-wide .lk-media,
  .lk:nth-child(2) .lk-media,
  .lk:nth-child(3) .lk-media{
    aspect-ratio:4 / 2.6;
    min-height:auto;
    height:auto;
  }

  .lk-wide{
    grid-column:1 / -1;
  }

  /* NEWSLETTER */
  .nl{
    padding-top:4.5rem;
    padding-bottom:4.8rem;
    padding-left:1.5rem;
    padding-right:1.5rem;
  }

  .nl-ttl{
    font-size:clamp(1.9rem, 5vw, 2.8rem);
  }

  .nl-sub{
    margin-bottom:1.8rem;
  }

  .nl-form{
    max-width:520px;
  }

  /* FOOTER */
  footer{
    padding-left:1.5rem;
    padding-right:1.5rem;
  }

  .ft-top{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:2rem;
  }
}

/* Very short rotated phones */
@media (max-width: 760px) and (orientation: landscape) and (max-height: 430px){

  #hero{
    padding-top:4.4rem;
  }

  .h-copy{
    max-width:70%;
    gap:.5rem;
  }

  .h-title{
    font-size:clamp(2rem, 5.5vw, 3rem);
  }

  .h-etxt{
    font-size:.42rem;
  }

  .btn-p{
    padding:.62rem 1rem;
    font-size:.46rem;
  }

  .collection,
  .lookbook,
  .nl{
    padding-top:3.6rem;
    padding-bottom:4rem;
  }

  .product-grid,
  .lk-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .p-body{
    padding:.85rem;
  }

  .p-detail{
    display:none;
  }

  .lk-cap{
    padding:.85rem;
  }
}
/* ─── HERO TEXT LEFT-CENTER ONLY WHEN ROTATED ─── */

@media (max-width: 992px) and (orientation: landscape){

  #hero{
    justify-content:flex-start;   /* move to left */
    align-items:center;           /* vertically centered */
    padding-top:0;                /* remove top push */
  }

  .h-copy{
    margin:0;
    max-width:48%;
    padding-left:clamp(1rem, 4vw, 2.5rem);
    padding-right:0;

    align-items:flex-start;
    text-align:left;
  }

  .h-eyebrow{
    justify-content:flex-start;
  }

  .h-title{
    text-align:left;
  }

  .h-btns{
    justify-content:flex-start;
  }
}