/* =========================================================
   ESSENCE — CHECKPOINT B1
   Fundação visual + Header + Hero
   HTML / CSS / JS puro
========================================================= */

:root{
  --ess-white:#ffffff;
  --ess-paper:#f8f6f2;
  --ess-paper-2:#f1ece4;
  --ess-ink:#191716;
  --ess-muted:#6f6964;
  --ess-wine:#6a1f32;
  --ess-wine-dark:#48131f;
  --ess-gold:#a98a5b;
  --ess-line:rgba(25,23,22,.13);

  --announcement-h:34px;
  --header-h:86px;

  --serif:"Italiana", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;

  --ease:cubic-bezier(.2,.75,.2,1);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  min-width:320px;
  background:var(--ess-paper);
  color:var(--ess-ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.is-locked{
  overflow:hidden;
}

a{
  color:inherit;
}

button,
input{
  font:inherit;
}

button{
  color:inherit;
}

img{
  max-width:100%;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* =========================================================
   ANNOUNCEMENT
========================================================= */

.announcement{
  position:relative;
  z-index:90;
  height:var(--announcement-h);
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  background:var(--ess-wine-dark);
  color:#fff;
  overflow:hidden;
}

.announcement__viewport{
  position:relative;
  height:100%;
  overflow:hidden;
}

.announcement__item{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .45s ease, transform .55s var(--ease);
  text-align:center;
  padding:0 16px;
}

.announcement__item.is-active{
  opacity:1;
  transform:none;
}

.announcement__item span{
  font-size:10px;
  font-weight:500;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

.announcement__arrow{
  width:42px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  opacity:.7;
  cursor:pointer;
  transition:opacity .25s ease;
}

.announcement__arrow:hover{
  opacity:1;
}

.announcement__arrow svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
}

/* =========================================================
   HEADER
========================================================= */

.site-header{
  position:absolute;
  left:0;
  right:0;
  top:var(--announcement-h);
  z-index:80;
  height:var(--header-h);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.20);
  transition:
    background .42s ease,
    color .42s ease,
    border-color .42s ease,
    box-shadow .42s ease,
    backdrop-filter .42s ease;
}

.site-header.is-sticky{
  position:fixed;
  top:0;
  color:var(--ess-ink);
  background:rgba(250,248,244,.94);
  border-color:var(--ess-line);
  box-shadow:0 10px 30px rgba(25,23,22,.05);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.site-header.is-mega-open{
  color:var(--ess-ink);
  background:rgba(250,248,244,.98);
  border-color:var(--ess-line);
}

.site-header__inner{
  width:min(1500px,calc(100% - 52px));
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:32px;
}

.primary-nav{
  display:flex;
  align-items:center;
  gap:clamp(22px,2.4vw,42px);
}

.primary-nav--right{
  justify-content:flex-end;
  padding-right:132px;
}

.nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  height:var(--header-h);
  color:inherit;
  text-decoration:none;
  font-size:11px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}

.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:21px;
  height:1px;
  background:currentColor;
  transition:right .35s var(--ease);
}

.nav-link:hover::after,
.nav-link.is-active::after{
  right:0;
}

.site-header.is-sticky .nav-link:hover,
.site-header.is-mega-open .nav-link:hover{
  color:var(--ess-wine);
}

/* BRAND */

.brand{
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1;
  min-width:170px;
}

.brand__name{
  font-family:var(--serif);
  font-size:29px;
  letter-spacing:.13em;
}

.brand__descriptor{
  margin-top:7px;
  font-size:7.5px;
  font-weight:500;
  letter-spacing:.35em;
  padding-left:.35em;
}

/* ACTIONS */

.header-actions{
  position:absolute;
  right:max(26px,calc((100vw - 1500px)/2));
  top:0;
  height:var(--header-h);
  display:flex;
  align-items:center;
  gap:15px;
}

.header-icon{
  width:28px;
  height:34px;
  border:0;
  background:none;
  display:grid;
  place-items:center;
  padding:0;
  text-decoration:none;
  cursor:pointer;
  position:relative;
}

.header-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
}

.bag-count{
  position:absolute;
  right:-4px;
  top:3px;
  width:15px;
  height:15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:currentColor;
  color:var(--ess-paper);
  font-size:8px;
  font-weight:600;
}

.site-header:not(.is-sticky):not(.is-mega-open) .bag-count{
  background:#fff;
  color:var(--ess-ink);
}

.header-menu-toggle{
  display:none;
}

.header-menu-toggle span{
  display:block;
  width:19px;
  height:1px;
  background:currentColor;
  position:absolute;
  left:4px;
}

.header-menu-toggle span:first-child{
  transform:translateY(-3px);
}

.header-menu-toggle span:last-child{
  transform:translateY(3px);
}

/* =========================================================
   MEGA MENU
========================================================= */

.mega-menu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:rgba(250,248,244,.99);
  color:var(--ess-ink);
  border-bottom:1px solid var(--ess-line);
  box-shadow:0 28px 55px rgba(25,23,22,.08);
  opacity:0;
  visibility:hidden;
  transform:translateY(-9px);
  transition:
    opacity .28s ease,
    visibility .28s ease,
    transform .42s var(--ease);
}

.mega-menu.is-open{
  opacity:1;
  visibility:visible;
  transform:none;
}

.mega-menu__inner{
  width:min(1440px,calc(100% - 64px));
  margin:0 auto;
}

.mega-panel{
  display:none;
  grid-template-columns:.65fr .65fr 1.15fr;
  gap:70px;
  padding:44px 0 50px;
}

.mega-panel.is-active{
  display:grid;
}

.mega-panel__links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
}

.mega-panel__eyebrow{
  margin-bottom:10px;
  color:var(--ess-wine);
  font-size:9px;
  font-weight:600;
  letter-spacing:.20em;
}

.mega-panel__links a{
  text-decoration:none;
  font-family:var(--serif);
  font-size:21px;
  letter-spacing:.01em;
  transition:color .2s ease, transform .25s var(--ease);
}

.mega-panel__links a:hover{
  color:var(--ess-wine);
  transform:translateX(3px);
}

.mega-panel__feature{
  position:relative;
  min-height:245px;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  background:#d8d2cc;
}

.mega-panel__feature::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 20%,rgba(15,10,10,.62) 100%);
}

.mega-panel__feature img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s var(--ease);
}

.mega-panel__feature:hover img{
  transform:scale(1.04);
}

.mega-panel__feature-copy{
  position:absolute;
  z-index:2;
  inset:auto 26px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.mega-panel__feature-copy small{
  font-size:8px;
  font-style:normal;
  font-weight:600;
  letter-spacing:.22em;
  opacity:.8;
}

.mega-panel__feature-copy strong{
  max-width:420px;
  margin-top:8px;
  font-family:var(--serif);
  font-size:27px;
  font-weight:400;
  line-height:1.08;
}

.mega-panel__feature-copy em{
  margin-top:15px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,.65);
  font-size:10px;
  font-style:normal;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* =========================================================
   HERO
========================================================= */

.hero{
  position:relative;
  min-height:clamp(690px,calc(100svh - var(--announcement-h)),980px);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
  background:#463d37;
}

.hero__media,
.hero__media picture,
.hero__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.hero__media img{
  object-fit:cover;
  object-position:center 43%;
  transform:scale(1.035);
  animation:heroZoom 12s var(--ease) both;
}

@keyframes heroZoom{
  from{ transform:scale(1.065); }
  to{ transform:scale(1.015); }
}

.hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(13,10,9,.53) 0%,rgba(13,10,9,.22) 42%,rgba(13,10,9,.07) 66%,rgba(13,10,9,.18) 100%),
    linear-gradient(0deg,rgba(13,10,9,.30) 0%,transparent 42%);
}

.hero__grain{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.11;
  pointer-events:none;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
}

.hero__content{
  position:relative;
  z-index:3;
  width:min(1500px,calc(100% - 90px));
  min-height:inherit;
  margin:0 auto;
  padding-top:calc(var(--header-h) + 110px);
  padding-bottom:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.hero__eyebrow{
  margin:0 0 25px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.28em;
}

.hero h1{
  margin:0;
  max-width:850px;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(56px,6.3vw,104px);
  line-height:.94;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.hero__copy{
  margin:28px 0 0;
  max-width:520px;
  font-size:clamp(14px,1.1vw,17px);
  font-weight:300;
  line-height:1.65;
  letter-spacing:.01em;
}

.hero__actions{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:35px;
}

.button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  padding:0 24px;
  text-decoration:none;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:
    background .32s ease,
    color .32s ease,
    border-color .32s ease,
    transform .32s var(--ease);
}

.button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  transition:transform .3s var(--ease);
}

.button:hover svg{
  transform:translateX(4px);
}

.button--light{
  background:#fff;
  color:var(--ess-ink);
  border:1px solid #fff;
}

.button--light:hover{
  background:var(--ess-paper);
  border-color:var(--ess-paper);
  transform:translateY(-1px);
}

.button--ghost{
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
}

.button--ghost:hover{
  background:rgba(255,255,255,.10);
  border-color:#fff;
}

.hero__side-note{
  position:absolute;
  z-index:3;
  right:34px;
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:center;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:7px;
  font-weight:500;
  letter-spacing:.25em;
  opacity:.75;
}

.hero__side-note i{
  display:block;
  width:36px;
  height:1px;
  background:currentColor;
}

.hero__scroll{
  position:absolute;
  z-index:3;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  color:#fff;
  text-decoration:none;
  opacity:.75;
}

.hero__scroll span{
  font-size:7px;
  font-weight:600;
  letter-spacing:.25em;
}

.hero__scroll i{
  display:block;
  width:1px;
  height:34px;
  background:rgba(255,255,255,.75);
  transform-origin:top;
  animation:scrollLine 1.8s ease-in-out infinite;
}

@keyframes scrollLine{
  0%,100%{ transform:scaleY(.35); opacity:.45; }
  50%{ transform:scaleY(1); opacity:1; }
}

[data-hero-reveal]{
  opacity:1;
  transform:none;
}

html.js [data-hero-reveal]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s ease, transform .9s var(--ease);
}

html.js body.is-loaded [data-hero-reveal]{
  opacity:1;
  transform:none;
}

html.js body.is-loaded [data-hero-reveal]:nth-child(1){ transition-delay:.10s; }
html.js body.is-loaded [data-hero-reveal]:nth-child(2){ transition-delay:.19s; }
html.js body.is-loaded [data-hero-reveal]:nth-child(3){ transition-delay:.30s; }
html.js body.is-loaded [data-hero-reveal]:nth-child(4){ transition-delay:.40s; }

/* =========================================================
   NEXT BLOCK PLACEHOLDER
========================================================= */

.next-preview{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:21px;
  background:var(--ess-paper);
  color:var(--ess-muted);
}

.next-preview__line{
  display:block;
  width:1px;
  height:42px;
  background:var(--ess-wine);
  opacity:.5;
}

.next-preview p{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(23px,2.3vw,34px);
}

/* =========================================================
   SEARCH OVERLAY
========================================================= */

.search-overlay{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(248,246,242,.985);
  color:var(--ess-ink);
  opacity:0;
  visibility:hidden;
  transform:translateY(-14px);
  transition:opacity .35s ease, visibility .35s ease, transform .45s var(--ease);
}

.search-overlay.is-open{
  opacity:1;
  visibility:visible;
  transform:none;
}

.search-overlay__close{
  position:absolute;
  top:28px;
  right:34px;
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  cursor:pointer;
}

.search-overlay__close svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1;
}

.search-overlay__inner{
  width:min(900px,calc(100% - 48px));
  height:100%;
  margin:0 auto;
  padding:clamp(110px,14vh,180px) 0 60px;
}

.search-overlay__eyebrow{
  display:block;
  margin-bottom:25px;
  color:var(--ess-wine);
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
}

.search-form{
  display:grid;
  grid-template-columns:1fr 52px;
  align-items:center;
  border-bottom:1px solid var(--ess-ink);
}

.search-form input{
  width:100%;
  height:82px;
  padding:0;
  border:0;
  outline:none;
  background:transparent;
  color:var(--ess-ink);
  font-family:var(--serif);
  font-size:clamp(35px,5vw,66px);
}

.search-form input::placeholder{
  color:#aaa39d;
}

.search-form button{
  width:52px;
  height:52px;
  border:0;
  background:transparent;
  cursor:pointer;
}

.search-form svg{
  width:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1;
}

.search-overlay__suggestions{
  margin-top:42px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 28px;
}

.search-overlay__suggestions > span{
  width:100%;
  margin-bottom:10px;
  color:var(--ess-muted);
  font-size:8px;
  font-weight:600;
  letter-spacing:.2em;
}

.search-overlay__suggestions a{
  text-decoration:none;
  font-size:13px;
  border-bottom:1px solid transparent;
  padding-bottom:3px;
}

.search-overlay__suggestions a:hover{
  color:var(--ess-wine);
  border-color:currentColor;
}

/* =========================================================
   MOBILE DRAWER
========================================================= */

.mobile-drawer{
  position:fixed;
  inset:0;
  z-index:130;
  pointer-events:none;
  visibility:hidden;
  transition:visibility .4s;
}

.mobile-drawer.is-open{
  visibility:visible;
  pointer-events:auto;
}

.mobile-drawer__backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,8,8,.42);
  opacity:0;
  transition:opacity .35s ease;
}

.mobile-drawer.is-open .mobile-drawer__backdrop{
  opacity:1;
}

.mobile-drawer__panel{
  position:absolute;
  inset:0 auto 0 0;
  width:min(440px,92vw);
  background:var(--ess-paper);
  color:var(--ess-ink);
  transform:translateX(-101%);
  transition:transform .5s var(--ease);
  display:flex;
  flex-direction:column;
}

.mobile-drawer.is-open .mobile-drawer__panel{
  transform:none;
}

.mobile-drawer__top{
  min-height:92px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--ess-line);
}

.brand--drawer{
  align-items:flex-start;
  min-width:0;
}

.brand--drawer .brand__name{
  font-size:26px;
}

.mobile-drawer__close{
  width:38px;
  height:38px;
  border:0;
  background:transparent;
}

.mobile-drawer__close svg{
  width:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1;
}

.mobile-nav{
  flex:1;
  overflow-y:auto;
  padding:25px 22px;
}

.mobile-nav > a,
.mobile-nav summary{
  list-style:none;
  min-height:58px;
  border-bottom:1px solid var(--ess-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-decoration:none;
  font-family:var(--serif);
  font-size:26px;
  cursor:pointer;
}

.mobile-nav summary::-webkit-details-marker{
  display:none;
}

.mobile-nav summary span{
  font-family:var(--sans);
  font-size:18px;
  font-weight:300;
  transition:transform .3s ease;
}

.mobile-nav details[open] summary span{
  transform:rotate(45deg);
}

.mobile-nav details > div{
  padding:4px 0 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.mobile-nav details > div a{
  text-decoration:none;
  color:var(--ess-muted);
  font-size:13px;
}

.mobile-drawer__footer{
  padding:22px;
  border-top:1px solid var(--ess-line);
  display:grid;
  gap:9px;
}

.mobile-drawer__footer a{
  color:var(--ess-wine);
  text-decoration:none;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mobile-drawer__footer small{
  margin-top:8px;
  color:var(--ess-muted);
  font-size:9px;
  letter-spacing:.08em;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1180px){
  .site-header__inner{
    width:calc(100% - 36px);
  }

  .primary-nav{
    display:none;
  }

  .header-menu-toggle{
    display:grid;
    grid-column:1;
    justify-self:start;
  }

  .brand{
    grid-column:2;
  }

  .header-actions{
    position:static;
    grid-column:3;
    justify-self:end;
  }

  .header-icon--account{
    display:none;
  }

  .mega-menu{
    display:none;
  }

  .hero__content{
    width:calc(100% - 64px);
  }
}

@media (max-width:720px){
  :root{
    --announcement-h:32px;
    --header-h:72px;
  }

  .announcement{
    grid-template-columns:30px 1fr 30px;
  }

  .announcement__arrow{
    width:30px;
    height:32px;
  }

  .announcement__item span{
    font-size:8px;
    letter-spacing:.08em;
    white-space:normal;
    line-height:1.25;
  }

  .site-header__inner{
    width:calc(100% - 28px);
    gap:10px;
  }

  .brand{
    min-width:0;
  }

  .brand__name{
    font-size:23px;
    letter-spacing:.11em;
  }

  .brand__descriptor{
    margin-top:5px;
    font-size:6px;
    letter-spacing:.28em;
  }

  .header-actions{
    gap:6px;
  }

  .header-icon{
    width:26px;
  }

  .header-icon svg{
    width:19px;
    height:19px;
  }

  .hero{
    min-height:calc(100svh - var(--announcement-h));
  }

  .hero__media img{
    object-position:58% center;
  }

  .hero__overlay{
    background:
      linear-gradient(180deg,rgba(10,8,8,.16) 0%,rgba(10,8,8,.08) 25%,rgba(10,8,8,.62) 100%),
      linear-gradient(90deg,rgba(10,8,8,.18),transparent 70%);
  }

  .hero__content{
    width:calc(100% - 40px);
    min-height:inherit;
    justify-content:flex-end;
    padding-top:calc(var(--header-h) + 60px);
    padding-bottom:94px;
  }

  .hero__eyebrow{
    margin-bottom:16px;
    font-size:8px;
  }

  .hero h1{
    font-size:clamp(46px,14vw,66px);
    line-height:.96;
  }

  .hero__copy{
    margin-top:19px;
    max-width:95%;
    font-size:13px;
    line-height:1.6;
  }

  .hero__actions{
    width:100%;
    margin-top:27px;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .button{
    width:100%;
    min-height:48px;
  }

  .hero__side-note{
    display:none;
  }

  .hero__scroll{
    left:auto;
    right:20px;
    transform:none;
    bottom:22px;
  }

  .hero__scroll span{
    display:none;
  }

  .next-preview{
    min-height:210px;
    padding:30px 20px;
    text-align:center;
  }

  .search-overlay__close{
    top:18px;
    right:18px;
  }

  .search-overlay__inner{
    width:calc(100% - 40px);
    padding-top:110px;
  }

  .search-form{
    grid-template-columns:1fr 42px;
  }

  .search-form input{
    height:66px;
    font-size:38px;
  }

  .search-overlay__suggestions{
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }

  [data-hero-reveal]{
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   B2 / UNIVERSOS ESSENCE
========================================================= */

.universes{
  position:relative;
  overflow:hidden;
  background:var(--ess-paper);
  color:var(--ess-ink);
  padding:clamp(92px,10vw,156px) 0 clamp(94px,10vw,150px);
  isolation:isolate;
}

.universes::before{
  content:"";
  position:absolute;
  width:min(44vw,680px);
  aspect-ratio:1;
  border:1px solid rgba(106,31,50,.07);
  border-radius:50%;
  right:-21vw;
  top:-19vw;
  pointer-events:none;
}

.universes__shell{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.universes__intro{
  margin-bottom:clamp(46px,6.2vw,88px);
}

.universes__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:23px;
  color:var(--ess-wine);
}

.universes__eyebrow span{
  width:39px;
  height:1px;
  background:currentColor;
}

.universes__eyebrow small{
  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:.24em;
}

.universes__intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.58fr);
  align-items:end;
  gap:clamp(48px,8vw,150px);
}

.universes__intro h2{
  margin:0;
  max-width:900px;
  font-family:var(--serif);
  font-size:clamp(46px,5.7vw,88px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.028em;
}

.universes__intro-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
  padding-bottom:6px;
}

.universes__intro-copy p{
  margin:0;
  max-width:430px;
  color:var(--ess-muted);
  font-size:clamp(14px,1.05vw,17px);
  font-weight:300;
  line-height:1.72;
}

.text-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:var(--ess-wine);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding-bottom:5px;
  border-bottom:1px solid rgba(106,31,50,.36);
}

.text-link svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .32s var(--ease);
}

.text-link:hover svg{
  transform:translateX(4px);
}

.text-link--dark{
  color:var(--ess-ink);
  border-color:rgba(25,23,22,.25);
}

.universes__editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  grid-template-rows:repeat(2,minmax(300px,1fr)) auto;
  gap:14px;
}

.universe-card{
  position:relative;
  display:block;
  min-height:0;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  background:#b9ada4;
  isolation:isolate;
}

.universe-card--primary{
  grid-column:1;
  grid-row:1 / span 2;
  min-height:790px;
}

.universe-card--compact{
  min-height:388px;
}

.universe-card__media,
.universe-card__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.universe-card__media{
  margin:0;
  overflow:hidden;
}

.universe-card__media img{
  object-fit:cover;
  transform:scale(1.015);
  transition:transform 1.05s var(--ease), filter .75s ease;
  will-change:transform;
}

.universe-card--primary .universe-card__media img{
  object-position:center 54%;
}

.universe-card__wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(10,8,8,.11) 0%,rgba(10,8,8,.02) 35%,rgba(10,8,8,.64) 100%);
  transition:background .5s ease;
}

.universe-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:var(--ess-wine-dark);
  opacity:0;
  mix-blend-mode:multiply;
  transition:opacity .58s var(--ease);
  pointer-events:none;
}

.universe-card__topline{
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:clamp(22px,2.2vw,34px) clamp(24px,2.5vw,38px);
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.2em;
  opacity:.82;
}

.universe-card__content{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:clamp(28px,3vw,46px) clamp(24px,3vw,46px);
}

.universe-card__content p{
  margin:0 0 8px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.13em;
  text-transform:uppercase;
  opacity:.78;
}

.universe-card__content h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(39px,4.2vw,67px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.025em;
}

.universe-card--compact .universe-card__content h3{
  font-size:clamp(32px,3vw,47px);
}

.universe-card__arrow{
  flex:0 0 auto;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.50);
  border-radius:50%;
  display:grid;
  place-items:center;
  transition:background .35s ease, color .35s ease, transform .35s var(--ease);
}

.universe-card__arrow svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.15;
}

@media (hover:hover){
  .universe-card:hover .universe-card__media img{
    transform:scale(1.065);
    filter:saturate(.92) contrast(1.02);
  }

  .universe-card:hover::after{
    opacity:.17;
  }

  .universe-card:hover .universe-card__arrow{
    background:#fff;
    color:var(--ess-ink);
    transform:translateX(2px);
  }
}

.universe-feature{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(390px,.78fr);
  min-height:470px;
  background:#eae2d8;
  color:var(--ess-ink);
  text-decoration:none;
  overflow:hidden;
}

.universe-feature__media{
  position:relative;
  margin:0;
  min-height:470px;
  overflow:hidden;
  background:#c9bdb1;
}

.universe-feature__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 65%,rgba(234,226,216,.08));
  pointer-events:none;
}

.universe-feature__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
  transition:transform 1.05s var(--ease), filter .7s ease;
}

.universe-feature__copy{
  position:relative;
  padding:clamp(42px,5vw,78px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.universe-feature__number{
  position:absolute;
  top:30px;
  right:34px;
  color:rgba(25,23,22,.45);
  font-size:8px;
  font-weight:600;
  letter-spacing:.20em;
}

.universe-feature__eyebrow{
  margin:0 0 16px;
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
}

.universe-feature h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(42px,4.2vw,66px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.026em;
}

.universe-feature__body{
  max-width:430px;
  margin:25px 0 28px;
  color:#6d655f;
  font-size:14px;
  font-weight:300;
  line-height:1.7;
}

@media (hover:hover){
  .universe-feature:hover .universe-feature__media img{
    transform:scale(1.05);
    filter:saturate(.95) contrast(1.015);
  }
}

.universes__signature{
  min-height:86px;
  border-bottom:1px solid var(--ess-line);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:22px;
  color:var(--ess-muted);
}

.universes__signature > span{
  font-size:7px;
  font-weight:600;
  letter-spacing:.25em;
}

.universes__signature > span:last-child{
  text-align:right;
}

.universes__signature p{
  margin:0;
  color:var(--ess-ink);
  font-family:var(--serif);
  font-size:clamp(17px,1.7vw,24px);
  text-align:center;
}

.chapter-transition{
  height:clamp(60px,7vw,110px);
  background:linear-gradient(180deg,var(--ess-paper),#fff);
}

/* Reveal reutilizável a partir do B2 */
[data-reveal]{
  opacity:1;
  transform:none;
}

html.js [data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .9s var(--ease);
}

html.js [data-reveal].is-visible{
  opacity:1;
  transform:none;
}

/* =========================================================
   B2 / RESPONSIVE
========================================================= */

@media (max-width:1024px){
  .universes__shell{
    width:min(100% - 40px,1200px);
  }

  .universes__intro-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .universes__intro-copy{
    max-width:610px;
  }

  .universes__editorial-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto;
  }

  .universe-card--primary{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:650px;
  }

  .universe-card--compact{
    min-height:390px;
  }

  .universe-feature{
    grid-template-columns:1.05fr .95fr;
  }
}

@media (max-width:720px){
  .universes{
    padding:78px 0 82px;
  }

  .universes::before{
    width:430px;
    right:-280px;
    top:-160px;
  }

  .universes__shell{
    width:100%;
  }

  .universes__intro{
    padding:0 20px;
    margin-bottom:37px;
  }

  .universes__eyebrow{
    margin-bottom:18px;
  }

  .universes__intro h2{
    font-size:clamp(42px,12.5vw,60px);
    line-height:.98;
  }

  .universes__intro-copy{
    gap:21px;
  }

  .universes__intro-copy p{
    font-size:14px;
    line-height:1.64;
  }

  .universes__editorial-grid{
    display:flex;
    gap:10px;
    padding:0 20px 8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .universes__editorial-grid::-webkit-scrollbar{
    display:none;
  }

  .universe-card,
  .universe-card--primary,
  .universe-card--compact,
  .universe-feature{
    flex:0 0 82vw;
    width:82vw;
    min-height:535px;
    height:535px;
    scroll-snap-align:start;
  }

  .universe-card__topline{
    padding:24px 22px;
  }

  .universe-card__content{
    padding:26px 22px;
  }

  .universe-card__content h3,
  .universe-card--compact .universe-card__content h3{
    font-size:42px;
  }

  .universe-card__arrow{
    width:44px;
    height:44px;
  }

  .universe-feature{
    display:flex;
    position:relative;
    color:#fff;
    background:#5f5550;
  }

  .universe-feature__media{
    position:absolute;
    inset:0;
    min-height:0;
  }

  .universe-feature__media::after{
    background:linear-gradient(180deg,rgba(10,8,8,.06),rgba(10,8,8,.72));
  }

  .universe-feature__copy{
    position:absolute;
    z-index:2;
    inset:auto 0 0;
    padding:26px 22px;
    justify-content:flex-end;
  }

  .universe-feature__number{
    display:none;
  }

  .universe-feature__eyebrow{
    color:#fff;
    opacity:.76;
    margin-bottom:8px;
  }

  .universe-feature h3{
    font-size:42px;
  }

  .universe-feature__body{
    display:none;
  }

  .universe-feature .text-link{
    margin-top:18px;
    color:#fff;
    border-color:rgba(255,255,255,.5);
  }

  .universes__signature{
    margin:30px 20px 0;
    min-height:94px;
    grid-template-columns:1fr;
    justify-items:center;
    gap:9px;
    padding:22px 0;
  }

  .universes__signature > span:last-child{
    text-align:center;
  }

  .universes__signature p{
    order:-1;
    font-size:19px;
    max-width:290px;
  }

  .chapter-transition{
    height:58px;
  }
}

@media (prefers-reduced-motion:reduce){
  [data-reveal]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* =========================================================
   B3 / MAIS ESCOLHIDOS + PRODUCT CARD
========================================================= */

.bestsellers{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,9vw,146px) 0 clamp(78px,8vw,124px);
  background:#fff;
  color:var(--ess-ink);
}

.bestsellers::before{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  left:-260px;
  bottom:8%;
  border:1px solid rgba(106,31,50,.07);
  border-radius:50%;
  pointer-events:none;
}

.bestsellers__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}

.bestsellers__header{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.55fr);
  align-items:end;
  gap:clamp(44px,8vw,140px);
  margin-bottom:clamp(46px,5.5vw,80px);
}

.bestsellers__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:21px;
  color:var(--ess-wine);
}

.bestsellers__eyebrow span{
  display:block;
  width:38px;
  height:1px;
  background:currentColor;
}

.bestsellers__eyebrow small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.24em;
}

.bestsellers__heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(47px,5.25vw,82px);
  font-weight:400;
  line-height:.97;
  letter-spacing:-.035em;
}

.bestsellers__header-side{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.bestsellers__header-side p{
  margin:0;
  max-width:430px;
  color:var(--ess-muted);
  font-size:14px;
  font-weight:300;
  line-height:1.75;
}

.bestsellers__controls{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:27px;
}

.products-nav{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--ess-line);
  border-radius:50%;
  background:#fff;
  color:var(--ess-ink);
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease;
}

.products-nav svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
}

.products-nav:hover:not(:disabled){
  background:var(--ess-wine);
  border-color:var(--ess-wine);
  color:#fff;
}

.products-nav:disabled{
  opacity:.28;
  cursor:default;
}

.products-track{
  --product-gap:14px;
  display:flex;
  gap:var(--product-gap);
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:5px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  outline:none;
}

.products-track::-webkit-scrollbar{
  display:none;
}

.product-card{
  flex:0 0 calc((100% - (var(--product-gap) * 3))/4);
  min-width:0;
  scroll-snap-align:start;
}

.product-card__media{
  position:relative;
  display:block;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#f4f1ec;
  text-decoration:none;
  color:var(--ess-ink);
}

.product-card__images,
.product-card__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.product-card__image{
  object-fit:cover;
  object-position:center;
  transform:scale(1.005);
  transition:opacity .62s ease,transform .9s var(--ease),filter .55s ease;
}

.product-card__image--secondary{
  opacity:0;
  transform:scale(1.025);
}

.product-card__badge{
  position:absolute;
  z-index:4;
  top:16px;
  left:16px;
  padding:7px 9px 6px;
  background:var(--ess-wine);
  color:#fff;
  font-size:7px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1;
}

.product-card__badge--soft{
  background:rgba(248,246,242,.92);
  color:var(--ess-wine-dark);
  backdrop-filter:blur(7px);
}

.product-card__view{
  position:absolute;
  z-index:4;
  left:17px;
  right:17px;
  bottom:16px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 15px;
  background:rgba(250,248,244,.93);
  color:var(--ess-ink);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:9px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .35s ease,transform .42s var(--ease),background .25s ease,color .25s ease;
}

.product-card__view svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.product-card__info{
  padding:19px 2px 0;
}

.product-card__meta{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
  color:var(--ess-muted);
}

.product-card__meta span{
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.16em;
}

.product-card__meta span + span::before{
  content:"";
  display:inline-block;
  width:2px;
  height:2px;
  margin:0 9px 2px 0;
  border-radius:50%;
  background:currentColor;
  opacity:.55;
}

.product-card__title{
  display:block;
  width:max-content;
  max-width:100%;
  color:var(--ess-ink);
  text-decoration:none;
  font-family:var(--serif);
  font-size:clamp(21px,1.65vw,27px);
  line-height:1.12;
  letter-spacing:-.015em;
}

.product-card__pricing{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--ess-line);
}

.product-card__pix-row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  column-gap:6px;
  row-gap:5px;
}

.product-card__pix-row strong{
  font-size:clamp(18px,1.45vw,23px);
  font-weight:500;
  letter-spacing:-.035em;
}

.product-card__pix-row > span{
  color:var(--ess-muted);
  font-size:10px;
}

.product-card__pix-row em{
  margin-left:3px;
  padding:5px 6px 4px;
  background:#eee5e7;
  color:var(--ess-wine-dark);
  font-size:6.5px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
}

.product-card__pricing p{
  margin:7px 0 0;
  color:var(--ess-muted);
  font-size:9.5px;
  font-weight:300;
  line-height:1.5;
}

@media (hover:hover){
  .product-card:hover .product-card__image--primary{
    opacity:0;
    transform:scale(1.025);
  }

  .product-card:hover .product-card__image--secondary{
    opacity:1;
    transform:scale(1.015);
  }

  .product-card:hover .product-card__view{
    opacity:1;
    transform:none;
  }

  .product-card__view:hover{
    background:var(--ess-wine);
    color:#fff;
  }

  .product-card__view:hover svg{
    transform:translateX(4px);
  }

  .product-card__title:hover{
    color:var(--ess-wine);
  }
}

.bestsellers__footer{
  min-height:86px;
  margin-top:36px;
  padding-top:25px;
  border-top:1px solid var(--ess-line);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
}

.bestsellers__counter{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ess-muted);
}

.bestsellers__counter b,
.bestsellers__counter span{
  font-size:8px;
  font-weight:500;
  letter-spacing:.12em;
}

.bestsellers__counter b{
  color:var(--ess-wine);
}

.bestsellers__counter i{
  display:block;
  width:48px;
  height:1px;
  background:var(--ess-line);
}

.bestsellers__all{
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding-bottom:7px;
  border-bottom:1px solid var(--ess-ink);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.bestsellers__all svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.bestsellers__all:hover{
  color:var(--ess-wine);
  border-color:currentColor;
}

.bestsellers__all:hover svg{
  transform:translateX(4px);
}

.chapter-transition--after-products{
  height:clamp(48px,5vw,84px);
  background:linear-gradient(180deg,#fff,var(--ess-paper));
}

/* =========================================================
   B3 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .bestsellers__shell{
    width:min(100% - 40px,1200px);
  }

  .bestsellers__header{
    grid-template-columns:1fr .72fr;
    gap:54px;
  }

  .product-card{
    flex-basis:calc((100% - (var(--product-gap) * 2))/3);
  }
}

@media (max-width:760px){
  .bestsellers{
    padding:76px 0 72px;
  }

  .bestsellers__shell{
    width:100%;
  }

  .bestsellers__header{
    grid-template-columns:1fr;
    gap:24px;
    padding:0 20px;
    margin-bottom:38px;
  }

  .bestsellers__eyebrow{
    margin-bottom:17px;
  }

  .bestsellers__heading h2{
    font-size:clamp(43px,12vw,59px);
  }

  .bestsellers__header-side p{
    max-width:560px;
    font-size:13.5px;
    line-height:1.66;
  }

  .bestsellers__controls{
    display:none;
  }

  .products-track{
    --product-gap:10px;
    padding:0 20px 8px;
    scroll-padding-inline:20px;
  }

  .product-card{
    flex:0 0 min(78vw,360px);
  }

  .product-card__media{
    aspect-ratio:4 / 5.1;
  }

  .product-card__badge{
    top:13px;
    left:13px;
  }

  .product-card__view{
    left:13px;
    right:13px;
    bottom:13px;
    min-height:42px;
    opacity:1;
    transform:none;
    background:rgba(250,248,244,.90);
  }

  .product-card__info{
    padding-top:16px;
  }

  .product-card__title{
    font-size:23px;
  }

  .product-card__pix-row strong{
    font-size:20px;
  }

  .product-card__pricing p{
    max-width:280px;
    font-size:9px;
  }

  .bestsellers__footer{
    min-height:78px;
    margin:27px 20px 0;
    padding-top:22px;
  }

  .bestsellers__counter i{
    width:34px;
  }
}

@media (max-width:420px){
  .product-card{
    flex-basis:82vw;
  }
}


/* =========================================================
   B4 / GRID EDITORIAL
========================================================= */

.editorial{
  position:relative;
  overflow:hidden;
  padding:clamp(90px,9vw,150px) 0 clamp(78px,8vw,126px);
  background:var(--ess-paper);
  color:var(--ess-ink);
}

.editorial::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:1px;
  height:86px;
  background:rgba(106,31,50,.18);
  transform:translateX(-50%);
}

.editorial__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}

.editorial__header{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.48fr);
  align-items:end;
  gap:clamp(50px,9vw,160px);
  margin-bottom:clamp(48px,5.8vw,86px);
}

.editorial__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
  color:var(--ess-wine);
}

.editorial__eyebrow span{
  display:block;
  width:38px;
  height:1px;
  background:currentColor;
}

.editorial__eyebrow small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.24em;
}

.editorial__heading h2{
  margin:0;
  max-width:980px;
  font-family:var(--serif);
  font-size:clamp(47px,5.35vw,84px);
  font-weight:400;
  line-height:.97;
  letter-spacing:-.038em;
}

.editorial__intro{
  padding-bottom:5px;
}

.editorial__index{
  display:block;
  margin-bottom:18px;
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
}

.editorial__intro p{
  margin:0;
  max-width:410px;
  color:var(--ess-muted);
  font-size:14px;
  font-weight:300;
  line-height:1.75;
}

.editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:14px;
  min-height:840px;
}

.editorial-grid__right{
  min-width:0;
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
}

.editorial-grid__pair{
  min-height:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.editorial-card{
  position:relative;
  min-width:0;
  min-height:0;
  display:block;
  overflow:hidden;
  background:#cdc5bc;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}

.editorial-card__media,
.editorial-card__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.editorial-card__media{
  margin:0;
  overflow:hidden;
}

.editorial-card__media img{
  object-fit:cover;
  object-position:center;
  transform:scale(1.012);
  filter:saturate(.86) contrast(.98);
  transition:transform 1.15s var(--ease),filter .65s ease;
  will-change:transform;
}

.editorial-card--feature .editorial-card__media img{
  object-position:center 46%;
}

.editorial-card--wide .editorial-card__media img{
  object-position:center 52%;
}

.editorial-card__wash{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(13,10,9,.08) 12%,rgba(13,10,9,.05) 38%,rgba(13,10,9,.66) 100%),
    linear-gradient(90deg,rgba(13,10,9,.16),transparent 66%);
  transition:background .55s ease;
}

.editorial-card--small .editorial-card__wash{
  background:linear-gradient(180deg,rgba(13,10,9,.05) 12%,rgba(13,10,9,.62) 100%);
}

.editorial-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:var(--ess-wine-dark);
  opacity:0;
  mix-blend-mode:multiply;
  transition:opacity .55s ease;
  pointer-events:none;
}

.editorial-card__topline{
  position:absolute;
  z-index:3;
  top:clamp(20px,2.2vw,31px);
  left:clamp(20px,2.4vw,34px);
  right:clamp(20px,2.4vw,34px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,255,255,.82);
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.18em;
}

.editorial-card__content{
  position:absolute;
  z-index:3;
  left:clamp(25px,3.5vw,52px);
  right:clamp(25px,3.5vw,52px);
  bottom:clamp(28px,4vw,58px);
}

.editorial-card__content--compact{
  left:clamp(24px,2.8vw,40px);
  right:clamp(24px,2.8vw,40px);
  bottom:clamp(25px,3vw,39px);
}

.editorial-card__content--small{
  left:22px;
  right:22px;
  bottom:22px;
}

.editorial-card__content small{
  display:block;
  margin-bottom:10px;
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.19em;
  opacity:.84;
}

.editorial-card h3{
  margin:0;
  max-width:760px;
  font-family:var(--serif);
  font-size:clamp(42px,4.4vw,72px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.035em;
}

.editorial-card--wide h3{
  font-size:clamp(34px,3.2vw,52px);
}

.editorial-card--small h3{
  font-size:clamp(26px,2.15vw,35px);
  line-height:1.01;
}

.editorial-card__cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.60);
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.editorial-card__cta svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

@media (hover:hover){
  .editorial-card:hover .editorial-card__media img{
    transform:scale(1.065);
    filter:saturate(.94) contrast(1.01);
  }

  .editorial-card:hover::after{
    opacity:.16;
  }

  .editorial-card:hover .editorial-card__cta svg{
    transform:translateX(4px);
  }
}

.editorial__footer{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:48px;
  margin-top:28px;
  padding-top:25px;
  border-top:1px solid var(--ess-line);
}

.editorial__footer p{
  margin:0;
  max-width:720px;
  color:var(--ess-muted);
  font-family:var(--serif);
  font-size:clamp(20px,1.8vw,28px);
  line-height:1.35;
}

.editorial__footer p span{
  color:var(--ess-ink);
}

.editorial__all{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding-bottom:7px;
  border-bottom:1px solid var(--ess-ink);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.editorial__all svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.editorial__all:hover{
  color:var(--ess-wine);
  border-color:currentColor;
}

.editorial__all:hover svg{
  transform:translateX(4px);
}

.chapter-transition--after-editorial{
  height:clamp(48px,5vw,84px);
  background:linear-gradient(180deg,var(--ess-paper),#fff);
}

/* =========================================================
   B4 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .editorial__shell{
    width:min(100% - 40px,1200px);
  }

  .editorial__header{
    grid-template-columns:1fr .62fr;
    gap:56px;
  }

  .editorial-grid{
    min-height:720px;
  }

  .editorial-card--small h3{
    font-size:27px;
  }
}

@media (max-width:820px){
  .editorial__header{
    grid-template-columns:1fr;
    gap:26px;
  }

  .editorial__intro{
    max-width:580px;
  }

  .editorial-grid{
    grid-template-columns:1fr;
    min-height:0;
  }

  .editorial-card--feature{
    min-height:680px;
  }

  .editorial-grid__right{
    grid-template-rows:auto auto;
  }

  .editorial-card--wide{
    min-height:430px;
  }

  .editorial-grid__pair{
    min-height:340px;
  }
}

@media (max-width:600px){
  .editorial{
    padding:78px 0 72px;
  }

  .editorial::before{
    height:52px;
  }

  .editorial__shell{
    width:100%;
  }

  .editorial__header{
    padding:0 20px;
    margin-bottom:39px;
  }

  .editorial__eyebrow{
    margin-bottom:17px;
  }

  .editorial__heading h2{
    font-size:clamp(42px,12vw,58px);
  }

  .editorial__intro p{
    font-size:13.5px;
    line-height:1.66;
  }

  .editorial-grid{
    gap:10px;
  }

  .editorial-card--feature{
    min-height:590px;
  }

  .editorial-card--wide{
    min-height:390px;
  }

  .editorial-grid__right,
  .editorial-grid__pair{
    gap:10px;
  }

  .editorial-grid__pair{
    grid-template-columns:1fr 1fr;
    min-height:310px;
  }

  .editorial-card__topline{
    top:18px;
    left:18px;
    right:18px;
  }

  .editorial-card__content{
    left:22px;
    right:22px;
    bottom:28px;
  }

  .editorial-card__content--compact{
    bottom:25px;
  }

  .editorial-card__content--small{
    left:15px;
    right:15px;
    bottom:16px;
  }

  .editorial-card h3{
    font-size:44px;
  }

  .editorial-card--wide h3{
    font-size:37px;
  }

  .editorial-card--small h3{
    font-size:22px;
    line-height:1.02;
  }

  .editorial-card__content--small small{
    font-size:6.5px;
    letter-spacing:.13em;
  }

  .editorial-card__content--small .editorial-card__cta{
    margin-top:14px;
    font-size:6.5px;
    gap:7px;
  }

  .editorial-card__content--small .editorial-card__cta svg{
    width:13px;
    height:13px;
  }

  .editorial__footer{
    margin:25px 20px 0;
    padding-top:22px;
    flex-direction:column;
    gap:24px;
  }

  .editorial__footer p{
    font-size:22px;
  }
}

@media (max-width:390px){
  .editorial-grid__pair{
    grid-template-columns:1fr;
    min-height:0;
  }

  .editorial-card--small{
    min-height:330px;
  }

  .editorial-card--small h3{
    font-size:29px;
  }

  .editorial-card__content--small small{
    font-size:7px;
  }
}


/* =========================================================
   B5 / ATELIER ESSENCE
========================================================= */

.atelier{
  position:relative;
  overflow:hidden;
  background:#f5f1eb;
  color:var(--ess-ink);
  padding:clamp(105px,11vw,170px) 0 clamp(110px,12vw,180px);
  isolation:isolate;
}

.atelier::before{
  content:"";
  position:absolute;
  width:720px;
  height:720px;
  left:-420px;
  top:-320px;
  border:1px solid rgba(106,31,50,.08);
  border-radius:50%;
  pointer-events:none;
}

.atelier::after{
  content:"ESSENCE";
  position:absolute;
  right:-.03em;
  top:42%;
  z-index:-1;
  color:rgba(106,31,50,.025);
  font-family:var(--serif);
  font-size:clamp(140px,18vw,330px);
  line-height:.7;
  letter-spacing:.02em;
  pointer-events:none;
}

.atelier__shell{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.atelier__header{
  margin-bottom:clamp(58px,7vw,100px);
}

.atelier__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:25px;
  color:var(--ess-wine);
}

.atelier__eyebrow span{
  display:block;
  width:42px;
  height:1px;
  background:currentColor;
}

.atelier__eyebrow small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
}

.atelier__headline-row{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(300px,.58fr);
  gap:clamp(50px,9vw,150px);
  align-items:end;
}

.atelier__headline-row h2{
  margin:0;
  max-width:900px;
  font-family:var(--serif);
  font-size:clamp(56px,6.2vw,102px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.025em;
}

.atelier__headline-row p{
  margin:0 0 8px;
  max-width:430px;
  color:var(--ess-muted);
  font-size:14px;
  font-weight:300;
  line-height:1.8;
}

.atelier-story{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);
  min-height:720px;
  background:#ece5dd;
}

.atelier-story__visual{
  position:relative;
  min-height:720px;
  margin:0;
  overflow:hidden;
  background:#d4ccc4;
}

.atelier-story__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(20,15,13,.03),rgba(20,15,13,.22));
  pointer-events:none;
}

.atelier-story__visual img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(.98);
  transition:transform 1.2s var(--ease),filter .8s ease;
}

.atelier-story__visual figcaption{
  position:absolute;
  z-index:2;
  left:32px;
  right:32px;
  bottom:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  font-size:8px;
  font-weight:600;
  letter-spacing:.18em;
}

.atelier-story__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(55px,6.8vw,105px);
  background:#f8f5f0;
}

.atelier-story__index{
  margin-bottom:clamp(60px,8vw,120px);
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.20em;
}

.atelier-story blockquote{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(36px,3.7vw,61px);
  font-weight:400;
  line-height:1.06;
  letter-spacing:-.02em;
}

.atelier-story__copy > p{
  max-width:510px;
  margin:31px 0 0;
  color:var(--ess-muted);
  font-size:13.5px;
  font-weight:300;
  line-height:1.82;
}

.atelier-story__link,
.restoration__cta{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:34px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(25,23,22,.45);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.atelier-story__link svg,
.restoration__cta svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  transition:transform .3s var(--ease);
}

@media (hover:hover){
  .atelier-story__visual:hover img{
    transform:scale(1.035);
    filter:saturate(.9) contrast(1.01);
  }

  .atelier-story__link:hover svg,
  .restoration__cta:hover svg{
    transform:translateX(4px);
  }
}

.atelier-pillars{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(25,23,22,.13);
  border-bottom:1px solid rgba(25,23,22,.13);
  margin-top:clamp(72px,8vw,115px);
}

.atelier-pillar{
  min-height:370px;
  padding:38px clamp(28px,3.2vw,50px) 44px;
  border-right:1px solid rgba(25,23,22,.13);
}

.atelier-pillar:last-child{
  border-right:0;
}

.atelier-pillar__top{
  display:flex;
  align-items:center;
  gap:15px;
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.13em;
}

.atelier-pillar__top i{
  width:30px;
  height:1px;
  background:currentColor;
  opacity:.55;
}

.atelier-pillar h3{
  margin:64px 0 25px;
  font-family:var(--serif);
  font-size:clamp(32px,3vw,50px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.018em;
}

.atelier-pillar p{
  margin:0;
  max-width:365px;
  color:var(--ess-muted);
  font-size:12.5px;
  font-weight:300;
  line-height:1.75;
}

.restoration{
  display:grid;
  grid-template-columns:minmax(370px,.72fr) minmax(0,1.28fr);
  min-height:610px;
  margin-top:clamp(70px,9vw,130px);
  background:var(--ess-wine-dark);
  color:#fff;
  overflow:hidden;
}

.restoration__content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(45px,6vw,90px);
}

.restoration__eyebrow{
  margin-bottom:28px;
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
  opacity:.75;
}

.restoration h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(43px,4.4vw,72px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.02em;
}

.restoration__content p{
  max-width:440px;
  margin:29px 0 0;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:300;
  line-height:1.78;
}

.restoration__cta{
  color:#fff;
  border-color:rgba(255,255,255,.45);
}

.restoration__media{
  position:relative;
  min-height:610px;
  margin:0;
  overflow:hidden;
}

.restoration__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(72,19,31,.35),transparent 45%),linear-gradient(0deg,rgba(10,8,8,.14),transparent 55%);
}

.restoration__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(1.02);
  transition:transform 1.25s var(--ease);
}

.restoration__stamp{
  position:absolute;
  right:32px;
  bottom:31px;
  z-index:2;
  width:118px;
  aspect-ratio:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:50%;
  color:#fff;
  text-align:center;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.restoration__stamp::before{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
}

.restoration__stamp b{
  font-family:var(--serif);
  font-size:16px;
  font-weight:400;
  letter-spacing:.08em;
}

.restoration__stamp small{
  max-width:72px;
  font-size:5.5px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.16em;
}

@media (hover:hover){
  .restoration:hover .restoration__media img{
    transform:scale(1.03);
  }
}

.chapter-transition--after-atelier{
  height:clamp(50px,7vw,90px);
  background:var(--ess-paper);
}

/* =========================================================
   B5 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .atelier__headline-row{
    grid-template-columns:1fr;
    gap:28px;
  }

  .atelier__headline-row p{
    max-width:620px;
  }

  .atelier-story{
    grid-template-columns:1fr 1fr;
  }

  .atelier-story__copy{
    padding:55px;
  }

  .atelier-story__index{
    margin-bottom:65px;
  }

  .restoration{
    grid-template-columns:.9fr 1.1fr;
  }
}

@media (max-width:820px){
  .atelier__shell{
    width:calc(100% - 40px);
  }

  .atelier-story{
    grid-template-columns:1fr;
  }

  .atelier-story__visual{
    min-height:570px;
  }

  .atelier-story__copy{
    padding:55px 42px 62px;
  }

  .atelier-story__index{
    margin-bottom:52px;
  }

  .atelier-pillars{
    grid-template-columns:1fr;
  }

  .atelier-pillar{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(25,23,22,.13);
    padding:32px 10px 38px;
  }

  .atelier-pillar:last-child{
    border-bottom:0;
  }

  .atelier-pillar h3{
    margin:35px 0 18px;
  }

  .restoration{
    grid-template-columns:1fr;
  }

  .restoration__content{
    min-height:480px;
  }

  .restoration__media{
    min-height:520px;
  }
}

@media (max-width:620px){
  .atelier{
    padding:82px 0 90px;
  }

  .atelier::after{
    display:none;
  }

  .atelier__shell{
    width:100%;
  }

  .atelier__header{
    padding:0 20px;
    margin-bottom:42px;
  }

  .atelier__eyebrow{
    margin-bottom:18px;
  }

  .atelier__headline-row h2{
    font-size:clamp(46px,13.8vw,64px);
    line-height:.94;
  }

  .atelier__headline-row p{
    font-size:13px;
    line-height:1.7;
  }

  .atelier-story{
    min-height:0;
  }

  .atelier-story__visual{
    min-height:520px;
  }

  .atelier-story__visual figcaption{
    left:20px;
    right:20px;
    bottom:18px;
  }

  .atelier-story__copy{
    padding:46px 20px 55px;
  }

  .atelier-story__index{
    margin-bottom:45px;
  }

  .atelier-story blockquote{
    font-size:clamp(37px,11.5vw,52px);
  }

  .atelier-story__copy > p{
    font-size:13px;
    line-height:1.72;
  }

  .atelier-pillars{
    margin:64px 20px 0;
  }

  .atelier-pillar{
    padding:29px 0 34px;
  }

  .atelier-pillar h3{
    font-size:36px;
  }

  .atelier-pillar p{
    font-size:12.5px;
  }

  .restoration{
    margin-top:70px;
  }

  .restoration__content{
    min-height:460px;
    padding:50px 20px 54px;
  }

  .restoration h3{
    font-size:clamp(43px,13vw,58px);
  }

  .restoration__media{
    min-height:430px;
  }

  .restoration__stamp{
    right:18px;
    bottom:18px;
    width:100px;
  }
}


/* =========================================================
   B6 / COLEÇÃO EM DESTAQUE
========================================================= */

.featured-collection{
  position:relative;
  overflow:hidden;
  padding:clamp(105px,11vw,170px) 0 clamp(105px,11vw,165px);
  background:#fbfaf7;
  color:var(--ess-ink);
  isolation:isolate;
}

.featured-collection::before{
  content:"06";
  position:absolute;
  right:-.02em;
  top:-.10em;
  z-index:-1;
  color:rgba(106,31,50,.026);
  font-family:var(--serif);
  font-size:clamp(220px,30vw,520px);
  line-height:1;
  pointer-events:none;
}

.featured-collection__shell{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.featured-collection__header{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);
  align-items:end;
  gap:clamp(48px,9vw,150px);
  margin-bottom:clamp(56px,7vw,96px);
}

.featured-collection__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
  color:var(--ess-wine);
}

.featured-collection__eyebrow span{
  width:42px;
  height:1px;
  background:currentColor;
}

.featured-collection__eyebrow small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
}

.featured-collection__heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(56px,6.3vw,102px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.027em;
}

.featured-collection__intro{
  padding-bottom:6px;
}

.featured-collection__intro p{
  margin:0;
  max-width:430px;
  color:var(--ess-muted);
  font-size:13.5px;
  font-weight:300;
  line-height:1.8;
}

.featured-collection__all{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:27px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(25,23,22,.45);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.featured-collection__all svg,
.collection-spotlight__cta svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  transition:transform .3s var(--ease);
}

.featured-collection__all:hover svg,
.collection-spotlight__cta:hover svg{
  transform:translateX(4px);
}

/* STAGE */

.collection-spotlight{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);
  min-height:760px;
  background:#eee8e1;
}

.collection-spotlight__visual{
  position:relative;
  min-height:760px;
  margin:0;
  overflow:hidden;
  background:#d9d1c9;
}

.collection-spotlight__visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  filter:saturate(.86) contrast(1.01);
  transition:
    opacity .26s ease,
    transform 1.15s var(--ease),
    filter .7s ease;
}

.collection-spotlight__visual.is-changing img{
  opacity:.10;
  transform:scale(1.025);
}

.collection-spotlight__veil{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(15,10,8,.04) 30%,rgba(15,10,8,.28) 100%),
    linear-gradient(90deg,rgba(15,10,8,.08),transparent 44%);
  pointer-events:none;
}

.collection-spotlight__caption{
  position:absolute;
  z-index:2;
  left:34px;
  right:34px;
  bottom:30px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#fff;
  font-size:8px;
  font-weight:600;
  letter-spacing:.20em;
}

.collection-spotlight__vertical{
  position:absolute;
  z-index:2;
  top:50%;
  left:28px;
  transform:translate(-50%,-50%) rotate(-90deg);
  color:rgba(255,255,255,.76);
  font-size:7px;
  font-weight:600;
  letter-spacing:.28em;
  white-space:nowrap;
}

/* STORY */

.collection-spotlight__story{
  display:flex;
  flex-direction:column;
  padding:clamp(48px,6.2vw,92px);
  background:#f1ece6;
}

.collection-spotlight__index{
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.20em;
}

.collection-spotlight__copy{
  margin-top:auto;
  transition:opacity .18s ease, transform .24s var(--ease);
}

.collection-spotlight__story.is-changing .collection-spotlight__copy{
  opacity:.18;
  transform:translateY(7px);
}

.collection-spotlight__copy small{
  display:block;
  margin-bottom:18px;
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
}

.collection-spotlight__copy h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(42px,4.4vw,71px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.023em;
}

.collection-spotlight__copy p{
  max-width:470px;
  margin:29px 0 0;
  color:var(--ess-muted);
  font-size:13px;
  font-weight:300;
  line-height:1.82;
}

.collection-spotlight__cta{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:34px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(25,23,22,.45);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.collection-spotlight__selectors{
  margin-top:clamp(55px,7vw,95px);
  border-top:1px solid rgba(25,23,22,.14);
}

.collection-selector{
  width:100%;
  min-height:66px;
  display:grid;
  grid-template-columns:35px 1fr 45px;
  align-items:center;
  gap:14px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(25,23,22,.14);
  background:transparent;
  color:var(--ess-muted);
  text-align:left;
  cursor:pointer;
  transition:color .3s ease;
}

.collection-selector span{
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
}

.collection-selector b{
  font-family:var(--serif);
  font-size:20px;
  font-weight:400;
  letter-spacing:.01em;
}

.collection-selector i{
  position:relative;
  justify-self:end;
  width:32px;
  height:1px;
  background:rgba(25,23,22,.22);
  overflow:hidden;
}

.collection-selector i::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--ess-wine);
  transform:translateX(-102%);
  transition:transform .42s var(--ease);
}

.collection-selector:hover,
.collection-selector.is-active{
  color:var(--ess-ink);
}

.collection-selector.is-active{
  color:var(--ess-wine);
}

.collection-selector.is-active i::after{
  transform:none;
}

/* FOOTER MOTIF */

.featured-collection__footer{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:center;
  gap:clamp(20px,3vw,45px);
  margin-top:clamp(50px,6vw,82px);
  padding-top:27px;
  border-top:1px solid rgba(25,23,22,.13);
}

.featured-collection__footer p{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(22px,2vw,30px);
}

.featured-collection__footer p span{
  color:var(--ess-wine);
  font-family:var(--sans);
  font-size:7px;
  font-weight:600;
  letter-spacing:.10em;
}

.featured-collection__footer > i{
  height:1px;
  background:rgba(25,23,22,.16);
}

.chapter-transition--after-featured{
  height:clamp(48px,7vw,88px);
  background:var(--ess-paper);
}

/* =========================================================
   B6 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .featured-collection__header{
    grid-template-columns:1fr;
    gap:28px;
  }

  .featured-collection__intro p{
    max-width:620px;
  }

  .collection-spotlight{
    grid-template-columns:1fr 1fr;
  }

  .collection-spotlight__story{
    padding:55px;
  }
}

@media (max-width:820px){
  .featured-collection__shell{
    width:calc(100% - 40px);
  }

  .collection-spotlight{
    grid-template-columns:1fr;
  }

  .collection-spotlight__visual{
    min-height:650px;
  }

  .collection-spotlight__story{
    min-height:680px;
  }

  .collection-spotlight__copy{
    margin-top:70px;
  }

  .collection-spotlight__selectors{
    margin-top:auto;
    padding-top:55px;
  }
}

@media (max-width:620px){
  .featured-collection{
    padding:82px 0 88px;
  }

  .featured-collection::before{
    top:10px;
    font-size:220px;
  }

  .featured-collection__shell{
    width:100%;
  }

  .featured-collection__header{
    padding:0 20px;
    margin-bottom:42px;
  }

  .featured-collection__eyebrow{
    margin-bottom:18px;
  }

  .featured-collection__heading h2{
    font-size:clamp(45px,13.6vw,62px);
    line-height:.94;
  }

  .featured-collection__intro p{
    font-size:13px;
    line-height:1.7;
  }

  .collection-spotlight{
    min-height:0;
  }

  .collection-spotlight__visual{
    min-height:560px;
  }

  .collection-spotlight__caption{
    left:20px;
    right:20px;
    bottom:18px;
  }

  .collection-spotlight__vertical{
    left:18px;
  }

  .collection-spotlight__story{
    min-height:650px;
    padding:45px 20px 35px;
  }

  .collection-spotlight__copy{
    margin-top:65px;
  }

  .collection-spotlight__copy h3{
    font-size:clamp(41px,12.3vw,55px);
  }

  .collection-spotlight__copy p{
    font-size:12.8px;
    line-height:1.75;
  }

  .collection-spotlight__selectors{
    padding-top:45px;
  }

  .collection-selector{
    min-height:64px;
  }

  .collection-selector b{
    font-size:19px;
  }

  .featured-collection__footer{
    margin:48px 20px 0;
    grid-template-columns:1fr;
    gap:15px;
  }

  .featured-collection__footer > i{
    display:none;
  }

  .featured-collection__footer p{
    justify-content:space-between;
    padding-bottom:13px;
    border-bottom:1px solid rgba(25,23,22,.11);
  }
}


/* =========================================================
   B7 / MOTION GALLERY
   Quatro trilhos verticais independentes, alternando direção.
========================================================= */

.motion-gallery{
  position:relative;
  background:#f7f4ef;
  color:var(--ess-ink);
  overflow:clip;
}

.motion-gallery__intro{
  position:relative;
  z-index:2;
  padding:clamp(105px,11vw,165px) 0 clamp(72px,8vw,115px);
  background:#f7f4ef;
}

.motion-gallery__intro-inner{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.motion-gallery__label{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:25px;
  color:var(--ess-wine);
}

.motion-gallery__label > span{
  width:42px;
  height:1px;
  background:currentColor;
}

.motion-gallery__label small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
}

.motion-gallery__intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.52fr);
  align-items:end;
  gap:clamp(50px,9vw,150px);
}

.motion-gallery__intro h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(56px,6.4vw,104px);
  font-weight:400;
  line-height:.92;
  letter-spacing:-.028em;
}

.motion-gallery__intro p{
  max-width:430px;
  margin:0 0 7px;
  color:var(--ess-muted);
  font-size:13.5px;
  font-weight:300;
  line-height:1.8;
}

/* palco alto + viewport sticky = sensação da referência */
.motion-gallery__stage{
  position:relative;
  height:230vh;
  min-height:1500px;
  background:#f7f4ef;
}

.motion-gallery__sticky{
  position:sticky;
  top:0;
  height:100svh;
  min-height:680px;
  overflow:hidden;
  padding:calc(var(--header-h) + 24px) clamp(14px,2vw,30px) 26px;
  background:#f7f4ef;
}

.motion-gallery__columns{
  width:min(1560px,100%);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(10px,1.25vw,20px);
  overflow:hidden;
}

.motion-column{
  position:relative;
  height:100%;
  min-width:0;
  overflow:visible;
  will-change:transform;
}

.motion-column__track{
  display:flex;
  flex-direction:column;
  gap:clamp(10px,1.25vw,20px);
  will-change:transform;
  transform:translate3d(0,var(--motion-y,0px),0);
}

.motion-tile{
  position:relative;
  flex:none;
  margin:0;
  overflow:hidden;
  background:#e5dfd7;
}

.motion-tile img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.012);
  transition:transform .8s var(--ease), filter .6s ease;
  filter:saturate(.88) contrast(1.01);
}

@media (hover:hover){
  .motion-tile:hover img{
    transform:scale(1.045);
    filter:saturate(.98) contrast(1.02);
  }
}

.motion-tile--square{
  aspect-ratio:1 / 1;
}

.motion-tile--portrait{
  aspect-ratio:4 / 5.4;
}

.motion-tile--tall{
  aspect-ratio:4 / 6.4;
}

.motion-tile--landscape{
  aspect-ratio:4 / 3;
}

.motion-tile--wide{
  aspect-ratio:4 / 2.5;
}

/* peças gráficas no meio das fotos */
.motion-tile--quote{
  min-height:250px;
  padding:clamp(25px,2.6vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#efe9e1;
  color:var(--ess-ink);
}

.motion-tile--quote > span{
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.24em;
}

.motion-tile--quote p{
  margin:35px 0;
  font-family:var(--serif);
  font-size:clamp(28px,2.4vw,41px);
  line-height:1.02;
}

.motion-tile--quote i{
  display:block;
  width:42px;
  height:1px;
  background:var(--ess-wine);
}

.motion-tile--monogram{
  aspect-ratio:1 / .78;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  background:#fff;
  color:var(--ess-wine);
  border:1px solid rgba(106,31,50,.13);
}

.motion-tile--monogram span{
  font-family:var(--serif);
  font-size:clamp(80px,9vw,140px);
  line-height:.8;
}

.motion-tile--monogram small{
  font-size:7px;
  font-weight:600;
  letter-spacing:.28em;
}

.motion-tile--wine{
  min-height:240px;
  padding:clamp(25px,2.6vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--ess-wine-dark);
  color:#fff;
}

.motion-tile--wine small{
  margin-bottom:auto;
  font-size:8px;
  font-weight:600;
  letter-spacing:.24em;
  opacity:.75;
}

.motion-tile--wine p{
  margin:36px 0 0;
  font-family:var(--serif);
  font-size:clamp(27px,2.35vw,40px);
  line-height:1.02;
}

/* HUD lateral inspirado no minimalismo da referência */
.motion-gallery__hud{
  position:absolute;
  z-index:5;
  right:9px;
  top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:center;
  display:flex;
  align-items:center;
  gap:13px;
  color:rgba(25,23,22,.50);
  font-size:6.5px;
  font-weight:600;
  letter-spacing:.22em;
  pointer-events:none;
}

.motion-gallery__hud i{
  width:34px;
  height:1px;
  background:currentColor;
}

/* fechamento depois do motion */
.motion-gallery__outro{
  min-height:310px;
  padding:80px 32px;
  display:grid;
  place-items:center;
  text-align:center;
  background:#f7f4ef;
}

.motion-gallery__outro p{
  max-width:920px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(35px,4.5vw,68px);
  line-height:1.05;
  letter-spacing:-.02em;
}

.motion-gallery__outro p span{
  color:var(--ess-wine);
}

.chapter-transition--after-motion{
  height:clamp(45px,6vw,80px);
  background:var(--ess-paper);
}

/* =========================================================
   B7 / TABLET
========================================================= */

@media (max-width:1024px){
  .motion-gallery__intro-grid{
    grid-template-columns:1fr;
    gap:26px;
  }

  .motion-gallery__intro p{
    max-width:610px;
  }

  .motion-gallery__stage{
    height:215vh;
  }

  .motion-gallery__sticky{
    padding-left:16px;
    padding-right:16px;
  }

  .motion-gallery__columns{
    gap:12px;
  }

  .motion-column__track{
    gap:12px;
  }
}

/* =========================================================
   B7 / MOBILE
   Mantém o conceito, mas em 2 colunas para preservar legibilidade.
========================================================= */

@media (max-width:700px){
  .motion-gallery__intro{
    padding:82px 0 62px;
  }

  .motion-gallery__intro-inner{
    width:calc(100% - 40px);
  }

  .motion-gallery__label{
    margin-bottom:18px;
  }

  .motion-gallery__intro h2{
    font-size:clamp(45px,13.8vw,62px);
    line-height:.94;
  }

  .motion-gallery__intro p{
    font-size:13px;
    line-height:1.72;
  }

  .motion-gallery__stage{
    height:205vh;
    min-height:1320px;
  }

  .motion-gallery__sticky{
    min-height:600px;
    padding:
      calc(var(--header-h) + 18px)
      10px
      16px;
  }

  .motion-gallery__columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .motion-column__track{
    gap:9px;
  }

  /* No mobile aparecem duas trilhas completas.
     As outras duas ficam fora para evitar miniaturas estreitas demais. */
  .motion-column:nth-child(3),
  .motion-column:nth-child(4){
    display:none;
  }

  .motion-tile--quote{
    min-height:210px;
    padding:24px 18px;
  }

  .motion-tile--quote p{
    font-size:30px;
  }

  .motion-gallery__hud{
    display:none;
  }

  .motion-gallery__outro{
    min-height:270px;
    padding:65px 20px;
  }

  .motion-gallery__outro p{
    font-size:clamp(35px,10.5vw,49px);
  }
}

@media (prefers-reduced-motion:reduce){
  .motion-gallery__stage{
    height:auto;
    min-height:0;
  }

  .motion-gallery__sticky{
    position:relative;
    height:auto;
    min-height:0;
    overflow:visible;
  }

  .motion-gallery__columns{
    height:auto;
    align-items:start;
  }

  .motion-column{
    height:auto;
  }

  .motion-column__track{
    transform:none!important;
  }
}


/* B7 / conteúdo adicional exclusivo do mobile para manter curso de animação */
.motion-tile--mobile-extra{
  display:none;
}

@media (max-width:700px){
  .motion-tile--mobile-extra{
    display:block;
  }
}


/* =========================================================
   B8 / CONFIANÇA & ATENDIMENTO
========================================================= */

.concierge{
  position:relative;
  overflow:hidden;
  background:#f9f7f3;
  color:var(--ess-ink);
  padding:clamp(110px,11vw,175px) 0 0;
  isolation:isolate;
}

.concierge::before{
  content:"";
  position:absolute;
  width:min(50vw,760px);
  aspect-ratio:1;
  right:-22vw;
  top:-12vw;
  border:1px solid rgba(106,31,50,.06);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}

.concierge__shell{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.concierge__header{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.53fr);
  gap:clamp(55px,9vw,150px);
  align-items:end;
  margin-bottom:clamp(58px,7vw,100px);
}

.concierge__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
  color:var(--ess-wine);
}

.concierge__eyebrow span{
  width:42px;
  height:1px;
  background:currentColor;
}

.concierge__eyebrow small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
}

.concierge__heading h2{
  max-width:980px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(53px,6.1vw,98px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.028em;
}

.concierge__intro{
  padding-bottom:7px;
}

.concierge__intro p{
  max-width:445px;
  margin:0;
  color:var(--ess-muted);
  font-size:13.5px;
  font-weight:300;
  line-height:1.8;
}

.concierge__text-link{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:17px;
  margin-top:28px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(25,23,22,.40);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.concierge__text-link svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.concierge__text-link:hover svg{
  transform:translateX(4px);
}

/* EXPERIÊNCIA */

.concierge__experience{
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(430px,1.04fr);
  min-height:760px;
  border-top:1px solid rgba(25,23,22,.12);
  border-bottom:1px solid rgba(25,23,22,.12);
}

.concierge__media{
  position:relative;
  min-height:760px;
  margin:0;
  overflow:hidden;
  background:#d9d1ca;
}

.concierge__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(1.02);
  transform:scale(1.01);
  transition:transform 1.1s var(--ease), filter .7s ease;
}

@media (hover:hover){
  .concierge__media:hover img{
    transform:scale(1.035);
    filter:saturate(.90) contrast(1.03);
  }
}

.concierge__media-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(14,10,9,.02) 30%,rgba(14,10,9,.60) 100%),
    linear-gradient(90deg,rgba(14,10,9,.10),transparent 52%);
}

.concierge__media figcaption{
  position:absolute;
  z-index:2;
  left:clamp(28px,4vw,58px);
  right:clamp(28px,4vw,58px);
  bottom:clamp(30px,4vw,56px);
  color:#fff;
}

.concierge__media figcaption > small{
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
  opacity:.78;
}

.concierge__media figcaption > p{
  max-width:520px;
  margin:16px 0 30px;
  font-family:var(--serif);
  font-size:clamp(38px,4vw,66px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.02em;
}

.concierge__media figcaption > span{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:7px;
  font-weight:600;
  letter-spacing:.22em;
  opacity:.70;
}

.concierge__media figcaption > span i{
  display:block;
  width:34px;
  height:1px;
  background:currentColor;
}

/* JOURNEY / ACCORDION */

.concierge__journey{
  padding:clamp(52px,6.2vw,94px);
  background:#f2ede6;
}

.concierge__journey-label{
  display:block;
  margin-bottom:clamp(52px,6vw,82px);
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
}

.concierge__details{
  border-top:1px solid rgba(25,23,22,.14);
}

.concierge-detail{
  border-bottom:1px solid rgba(25,23,22,.14);
}

.concierge-detail summary{
  min-height:98px;
  display:grid;
  grid-template-columns:42px 1fr 38px;
  align-items:center;
  gap:18px;
  list-style:none;
  cursor:pointer;
  color:var(--ess-ink);
}

.concierge-detail summary::-webkit-details-marker{
  display:none;
}

.concierge-detail summary > span{
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
}

.concierge-detail summary > div{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.concierge-detail summary small{
  color:var(--ess-muted);
  font-size:7px;
  font-weight:600;
  letter-spacing:.18em;
}

.concierge-detail summary strong{
  font-family:var(--serif);
  font-size:clamp(23px,2.1vw,32px);
  font-weight:400;
  line-height:1.05;
}

.concierge-detail summary > i{
  position:relative;
  justify-self:end;
  width:28px;
  height:28px;
}

.concierge-detail summary > i::before,
.concierge-detail summary > i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:17px;
  height:1px;
  background:var(--ess-ink);
  transform:translate(-50%,-50%);
  transition:transform .35s var(--ease), opacity .25s ease;
}

.concierge-detail summary > i::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.concierge-detail[open] summary > i::after{
  transform:translate(-50%,-50%) rotate(0);
  opacity:0;
}

.concierge-detail[open] summary{
  color:var(--ess-wine);
}

.concierge-detail__content{
  overflow:hidden;
  padding:0 45px 32px 60px;
}

.concierge-detail__content p{
  max-width:570px;
  margin:0;
  color:var(--ess-muted);
  font-size:12.5px;
  font-weight:300;
  line-height:1.8;
}

.concierge-detail__content a{
  width:max-content;
  display:inline-block;
  margin-top:18px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(106,31,50,.45);
  color:var(--ess-wine);
  text-decoration:none;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* PRINCÍPIOS */

.concierge__principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(55px,7vw,96px);
  border-top:1px solid rgba(25,23,22,.13);
  border-bottom:1px solid rgba(25,23,22,.13);
}

.concierge-principle{
  min-height:285px;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:19px;
  padding:clamp(35px,4vw,58px);
}

.concierge-principle + .concierge-principle{
  border-left:1px solid rgba(25,23,22,.13);
}

.concierge-principle > span{
  padding-top:5px;
  color:var(--ess-wine);
  font-size:7px;
  font-weight:600;
  letter-spacing:.12em;
}

.concierge-principle small{
  color:var(--ess-muted);
  font-size:7px;
  font-weight:600;
  letter-spacing:.20em;
}

.concierge-principle h3{
  margin:16px 0 17px;
  font-family:var(--serif);
  font-size:clamp(27px,2.6vw,42px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.015em;
}

.concierge-principle p{
  max-width:330px;
  margin:0;
  color:var(--ess-muted);
  font-size:12px;
  font-weight:300;
  line-height:1.75;
}

/* CONTATO FINAL */

.concierge-contact{
  margin-top:clamp(70px,8vw,120px);
  background:var(--ess-wine-dark);
  color:#fff;
  overflow:hidden;
}

.concierge-contact__inner{
  position:relative;
  width:min(1460px,calc(100% - 64px));
  min-height:420px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:60px;
  align-items:center;
  padding:clamp(65px,7vw,105px) 0;
}

.concierge-contact__copy{
  position:relative;
  z-index:2;
}

.concierge-contact__copy > span{
  display:block;
  margin-bottom:20px;
  font-size:8px;
  font-weight:600;
  letter-spacing:.24em;
  opacity:.68;
}

.concierge-contact__copy h3{
  max-width:900px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(46px,5.4vw,86px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.023em;
}

.concierge-contact__actions{
  position:relative;
  z-index:2;
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:13px;
  width:min(100%,340px);
}

.concierge-contact__primary,
.concierge-contact__secondary{
  min-height:55px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}

.concierge-contact__primary{
  gap:20px;
  padding:0 24px;
  background:#fff;
  color:var(--ess-wine-dark);
  border:1px solid #fff;
}

.concierge-contact__primary svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.concierge-contact__primary:hover{
  background:#f3ede6;
  border-color:#f3ede6;
}

.concierge-contact__primary:hover svg{
  transform:translateX(4px);
}

.concierge-contact__secondary{
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
}

.concierge-contact__secondary:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.72);
}

.concierge-contact__mark{
  position:absolute;
  right:-.08em;
  bottom:-.22em;
  color:rgba(255,255,255,.035);
  font-family:var(--serif);
  font-size:clamp(270px,29vw,510px);
  line-height:.8;
  pointer-events:none;
}

.chapter-transition--after-concierge{
  height:clamp(48px,7vw,90px);
  background:var(--ess-paper);
}

/* =========================================================
   B8 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .concierge__header{
    grid-template-columns:1fr;
    gap:28px;
  }

  .concierge__intro p{
    max-width:630px;
  }

  .concierge__experience{
    grid-template-columns:1fr 1fr;
  }

  .concierge__journey{
    padding:50px 42px;
  }

  .concierge-detail summary{
    grid-template-columns:32px 1fr 30px;
  }

  .concierge-detail__content{
    padding-left:50px;
    padding-right:20px;
  }

  .concierge-contact__inner{
    grid-template-columns:1fr;
    gap:42px;
  }

  .concierge-contact__actions{
    justify-self:start;
  }
}

@media (max-width:820px){
  .concierge__shell{
    width:calc(100% - 40px);
  }

  .concierge__experience{
    grid-template-columns:1fr;
  }

  .concierge__media{
    min-height:650px;
  }

  .concierge__journey{
    padding:56px 42px 66px;
  }

  .concierge__principles{
    grid-template-columns:1fr;
  }

  .concierge-principle{
    min-height:0;
  }

  .concierge-principle + .concierge-principle{
    border-left:0;
    border-top:1px solid rgba(25,23,22,.13);
  }

  .concierge-contact__inner{
    width:calc(100% - 40px);
  }
}

@media (max-width:620px){
  .concierge{
    padding-top:84px;
  }

  .concierge__shell{
    width:100%;
  }

  .concierge__header{
    padding:0 20px;
    margin-bottom:45px;
  }

  .concierge__eyebrow{
    margin-bottom:18px;
  }

  .concierge__heading h2{
    font-size:clamp(43px,13vw,59px);
    line-height:.95;
  }

  .concierge__intro p{
    font-size:13px;
    line-height:1.72;
  }

  .concierge__media{
    min-height:560px;
  }

  .concierge__media figcaption{
    left:20px;
    right:20px;
    bottom:25px;
  }

  .concierge__media figcaption > p{
    font-size:clamp(38px,11vw,50px);
  }

  .concierge__journey{
    padding:48px 20px 58px;
  }

  .concierge__journey-label{
    margin-bottom:37px;
  }

  .concierge-detail summary{
    min-height:86px;
    grid-template-columns:28px 1fr 28px;
    gap:10px;
  }

  .concierge-detail summary strong{
    font-size:23px;
  }

  .concierge-detail__content{
    padding:0 5px 28px 38px;
  }

  .concierge__principles{
    margin-top:50px;
  }

  .concierge-principle{
    grid-template-columns:28px 1fr;
    padding:35px 20px;
  }

  .concierge-principle h3{
    font-size:32px;
  }

  .concierge-contact{
    margin-top:70px;
  }

  .concierge-contact__inner{
    width:calc(100% - 40px);
    min-height:480px;
    padding:62px 0;
  }

  .concierge-contact__copy h3{
    font-size:clamp(43px,12vw,57px);
    line-height:.96;
  }

  .concierge-contact__actions{
    width:100%;
  }

  .concierge-contact__mark{
    right:-.18em;
    bottom:-.09em;
    font-size:260px;
  }
}

/* QA global / anchors: evita que seções com id fiquem escondidas atrás do header sticky */
main section[id]{
  scroll-margin-top:calc(var(--header-h) + 18px);
}


/* =========================================================
   B9 / SHOWROOM & CTA FINAL
========================================================= */

.showroom-final{
  position:relative;
  overflow:hidden;
  padding:clamp(108px,11vw,176px) 0 clamp(95px,10vw,155px);
  background:#f5f0e9;
  color:var(--ess-ink);
  isolation:isolate;
}

.showroom-final::before{
  content:"";
  position:absolute;
  width:min(62vw,940px);
  aspect-ratio:1;
  left:-31vw;
  bottom:-34vw;
  border:1px solid rgba(106,31,50,.07);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}

.showroom-final__shell{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.showroom-final__header{
  margin-bottom:clamp(58px,7vw,96px);
}

.showroom-final__label{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:25px;
  color:var(--ess-wine);
}

.showroom-final__label > span{
  width:42px;
  height:1px;
  background:currentColor;
}

.showroom-final__label small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
}

.showroom-final__header-grid{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.52fr);
  gap:clamp(48px,9vw,150px);
  align-items:end;
}

.showroom-final__header h2{
  max-width:1000px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(54px,6.25vw,100px);
  font-weight:400;
  line-height:.93;
  letter-spacing:-.028em;
}

.showroom-final__header p{
  max-width:450px;
  margin:0 0 7px;
  color:var(--ess-muted);
  font-size:13.5px;
  font-weight:300;
  line-height:1.82;
}

/* CENA PRINCIPAL */

.showroom-scene{
  position:relative;
  min-height:760px;
}

.showroom-scene__media{
  position:relative;
  min-height:760px;
  margin:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 25%,rgba(255,255,255,.95),rgba(255,255,255,0) 26%),
    linear-gradient(135deg,#d8cabc,#a79282);
}

.showroom-scene__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(1.02) brightness(.96);
  transform:scale(1.012);
  transition:transform 1.2s var(--ease),filter .7s ease;
}

@media (hover:hover){
  .showroom-scene:hover .showroom-scene__media img{
    transform:scale(1.035);
    filter:saturate(.88) contrast(1.03) brightness(.98);
  }
}

.showroom-scene__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(23,17,15,.08),transparent 42%),
    linear-gradient(180deg,rgba(15,10,9,.02) 38%,rgba(15,10,9,.30) 100%);
}

.showroom-scene__caption{
  position:absolute;
  z-index:2;
  left:34px;
  bottom:28px;
  display:flex;
  align-items:center;
  gap:13px;
  color:#fff;
  font-size:7px;
  font-weight:600;
  letter-spacing:.22em;
}

.showroom-scene__caption i{
  width:36px;
  height:1px;
  background:currentColor;
}

/* CARD FLUTUANTE */

.showroom-card{
  position:absolute;
  z-index:4;
  right:clamp(30px,5vw,74px);
  bottom:clamp(30px,5vw,74px);
  width:min(520px,43%);
  min-height:560px;
  display:flex;
  flex-direction:column;
  padding:clamp(42px,4.6vw,68px);
  background:#f9f7f3;
  box-shadow:0 28px 70px rgba(35,25,21,.15);
}

.showroom-anchor{
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.showroom-card__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:var(--ess-wine);
}

.showroom-card__topline small,
.showroom-card__topline > span{
  font-size:7px;
  font-weight:600;
  letter-spacing:.20em;
}

.showroom-card h3{
  margin:clamp(70px,7vw,105px) 0 24px;
  font-family:var(--serif);
  font-size:clamp(43px,4.5vw,68px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.025em;
}

.showroom-card > p{
  max-width:390px;
  margin:0;
  color:var(--ess-muted);
  font-size:12.5px;
  font-weight:300;
  line-height:1.82;
}

.showroom-card__actions{
  display:flex;
  flex-direction:column;
  gap:11px;
  margin-top:34px;
}

.showroom-card__primary,
.showroom-card__secondary{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:9px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}

.showroom-card__primary{
  gap:20px;
  padding:0 22px;
  background:var(--ess-wine-dark);
  border:1px solid var(--ess-wine-dark);
  color:#fff;
}

.showroom-card__primary svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.showroom-card__primary:hover{
  background:var(--ess-wine);
  border-color:var(--ess-wine);
}

.showroom-card__primary:hover svg{
  transform:translateX(4px);
}

.showroom-card__secondary{
  border:1px solid rgba(25,23,22,.28);
  color:var(--ess-ink);
}

.showroom-card__secondary:hover{
  border-color:rgba(25,23,22,.58);
  background:rgba(255,255,255,.45);
}

.showroom-card__note{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:13px;
  align-items:start;
  margin-top:auto;
  padding-top:30px;
}

.showroom-card__note > span{
  display:block;
  width:28px;
  height:1px;
  margin-top:8px;
  background:var(--ess-wine);
}

.showroom-card__note p{
  margin:0;
  color:var(--ess-muted);
  font-size:9px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:.02em;
}

/* FLUXO */

.showroom-flow{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(48px,6vw,84px);
  border-top:1px solid rgba(25,23,22,.13);
  border-bottom:1px solid rgba(25,23,22,.13);
}

.showroom-flow article{
  min-height:260px;
  display:grid;
  grid-template-columns:32px 1fr;
  gap:20px;
  padding:clamp(34px,4vw,56px);
}

.showroom-flow article + article{
  border-left:1px solid rgba(25,23,22,.13);
}

.showroom-flow article > span{
  padding-top:4px;
  color:var(--ess-wine);
  font-size:7px;
  font-weight:600;
  letter-spacing:.12em;
}

.showroom-flow small{
  color:var(--ess-muted);
  font-size:7px;
  font-weight:600;
  letter-spacing:.20em;
}

.showroom-flow h3{
  margin:15px 0 16px;
  font-family:var(--serif);
  font-size:clamp(27px,2.55vw,40px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.015em;
}

.showroom-flow p{
  max-width:320px;
  margin:0;
  color:var(--ess-muted);
  font-size:11.5px;
  font-weight:300;
  line-height:1.75;
}

/* ASSINATURA */

.showroom-signature{
  min-height:230px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:clamp(28px,4vw,65px);
  padding:45px 0 0;
}

.showroom-signature > span{
  color:var(--ess-wine);
  font-family:var(--serif);
  font-size:clamp(34px,3.4vw,52px);
  letter-spacing:.10em;
}

.showroom-signature p{
  margin:0;
  color:var(--ess-muted);
  font-family:var(--serif);
  font-size:clamp(24px,2.45vw,37px);
  line-height:1.05;
}

.showroom-signature i{
  width:80px;
  height:1px;
  background:var(--ess-wine);
}

.chapter-transition--after-showroom{
  height:clamp(42px,5vw,72px);
  background:#f9f7f3;
}

/* =========================================================
   B9 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .showroom-final__header-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .showroom-final__header p{
    max-width:640px;
  }

  .showroom-card{
    width:min(500px,48%);
  }
}

@media (max-width:850px){
  .showroom-final__shell{
    width:calc(100% - 40px);
  }

  .showroom-scene{
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    background:#f0e9e1;
  }

  .showroom-scene__media{
    min-height:620px;
  }

  .showroom-card{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    min-height:560px;
    box-shadow:none;
    background:#efe8df;
  }

  .showroom-flow{
    grid-template-columns:1fr;
  }

  .showroom-flow article{
    min-height:0;
  }

  .showroom-flow article + article{
    border-left:0;
    border-top:1px solid rgba(25,23,22,.13);
  }

  .showroom-signature{
    grid-template-columns:1fr auto;
  }

  .showroom-signature p{
    grid-column:1 / -1;
    grid-row:2;
  }
}

@media (max-width:620px){
  .showroom-final{
    padding:84px 0 78px;
  }

  .showroom-final__shell{
    width:100%;
  }

  .showroom-final__header{
    padding:0 20px;
    margin-bottom:43px;
  }

  .showroom-final__label{
    margin-bottom:18px;
  }

  .showroom-final__header h2{
    font-size:clamp(43px,13vw,59px);
    line-height:.95;
  }

  .showroom-final__header p{
    font-size:13px;
    line-height:1.72;
  }

  .showroom-scene__media{
    min-height:520px;
  }

  .showroom-scene__caption{
    left:20px;
    right:20px;
    bottom:18px;
    gap:9px;
    font-size:6px;
    letter-spacing:.16em;
  }

  .showroom-scene__caption i{
    width:22px;
  }

  .showroom-card{
    min-height:600px;
    padding:45px 20px 34px;
  }

  .showroom-card h3{
    margin-top:70px;
    font-size:clamp(43px,12.5vw,56px);
  }

  .showroom-card > p{
    font-size:12.5px;
  }

  .showroom-flow{
    margin:48px 20px 0;
  }

  .showroom-flow article{
    grid-template-columns:27px 1fr;
    padding:34px 0;
  }

  .showroom-flow h3{
    font-size:31px;
  }

  .showroom-signature{
    min-height:200px;
    margin:0 20px;
    padding-top:46px;
  }

  .showroom-signature i{
    width:42px;
  }

  .showroom-signature p{
    font-size:27px;
  }
}


/* B9 / anchors internos também respeitam o header sticky */
#especialista,
#contato{
  scroll-margin-top:calc(var(--header-h) + 18px);
}


/* =========================================================
   B10 / FOOTER PREMIUM
========================================================= */

.site-footer{
  position:relative;
  background:#f5f0e9;
  color:var(--ess-ink);
}

/* NEWSLETTER / CORRESPONDENCE */

.footer-correspondence{
  position:relative;
  overflow:hidden;
  padding:clamp(90px,9vw,145px) 0;
  background:#f5f0e9;
  border-top:1px solid rgba(25,23,22,.11);
}

.footer-correspondence::after{
  content:"";
  position:absolute;
  width:min(44vw,680px);
  aspect-ratio:1;
  top:50%;
  right:-22vw;
  transform:translateY(-50%);
  border:1px solid rgba(106,31,50,.06);
  border-radius:50%;
  pointer-events:none;
}

.footer-correspondence__inner{
  position:relative;
  z-index:1;
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  align-items:end;
  gap:clamp(65px,10vw,170px);
}

.footer-correspondence__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
  color:var(--ess-wine);
}

.footer-correspondence__eyebrow > span{
  width:42px;
  height:1px;
  background:currentColor;
}

.footer-correspondence__eyebrow small{
  font-size:8px;
  font-weight:600;
  letter-spacing:.23em;
}

.footer-correspondence__copy h2{
  max-width:880px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(49px,5.6vw,88px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.025em;
}

.footer-correspondence__copy > p{
  max-width:610px;
  margin:27px 0 0;
  color:var(--ess-muted);
  font-size:13px;
  font-weight:300;
  line-height:1.8;
}

/* NEWSLETTER FORM */

.footer-newsletter{
  width:100%;
  max-width:560px;
  justify-self:end;
}

.footer-newsletter > label{
  display:block;
  margin-bottom:14px;
  color:var(--ess-muted);
  font-size:8px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.footer-newsletter__field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  border-bottom:1px solid rgba(25,23,22,.60);
  transition:border-color .25s ease;
}

.footer-newsletter__field:focus-within{
  border-color:var(--ess-wine);
}

.footer-newsletter__field input{
  min-width:0;
  height:67px;
  padding:0 18px 0 0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ess-ink);
  font-family:var(--serif);
  font-size:clamp(22px,2vw,29px);
}

.footer-newsletter__field input::placeholder{
  color:#a49c95;
}

.footer-newsletter__field button{
  min-height:47px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 0 0 22px;
  border:0;
  background:transparent;
  color:var(--ess-wine);
  cursor:pointer;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.footer-newsletter__field button svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.footer-newsletter__field button:hover svg{
  transform:translateX(4px);
}

.footer-newsletter__meta{
  min-height:42px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:12px;
}

.footer-newsletter__meta p,
.footer-newsletter__status{
  margin:0;
  color:var(--ess-muted);
  font-size:8.5px;
  font-weight:300;
  line-height:1.5;
}

.footer-newsletter__meta p{
  max-width:310px;
}

.footer-newsletter__status{
  max-width:190px;
  color:var(--ess-wine);
  text-align:right;
}

.footer-newsletter.is-error .footer-newsletter__field{
  border-color:#99404f;
}

/* DARK BODY */

.site-footer__body{
  position:relative;
  overflow:hidden;
  background:#231b1d;
  color:#f4eee8;
}

.site-footer__shell{
  position:relative;
  z-index:2;
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
  padding:clamp(76px,8vw,120px) 0 30px;
}

.site-footer__brand-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.55fr);
  align-items:end;
  gap:70px;
  padding-bottom:clamp(56px,6vw,90px);
  border-bottom:1px solid rgba(255,255,255,.13);
}

.site-footer__brand{
  width:max-content;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
  text-decoration:none;
}

.site-footer__brand > span{
  font-family:var(--serif);
  font-size:clamp(59px,7vw,110px);
  line-height:.82;
  letter-spacing:.10em;
}

.site-footer__brand > small{
  margin-top:15px;
  padding-left:.6em;
  font-size:8px;
  font-weight:500;
  letter-spacing:.38em;
  opacity:.65;
}

.site-footer__brand-row > p{
  max-width:500px;
  margin:0;
  color:rgba(244,238,232,.70);
  font-family:var(--serif);
  font-size:clamp(23px,2.25vw,34px);
  font-weight:400;
  line-height:1.18;
}

/* NAVIGATION */

.site-footer__navigation{
  display:grid;
  grid-template-columns:.72fr .9fr .78fr 1.28fr;
  gap:clamp(40px,5vw,86px);
  padding:clamp(58px,6vw,88px) 0;
  border-bottom:1px solid rgba(255,255,255,.13);
}

.footer-nav-group{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.footer-nav-group__title{
  margin-bottom:10px;
  color:#bd8d98;
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.22em;
}

.footer-nav-group a{
  position:relative;
  color:rgba(244,238,232,.74);
  text-decoration:none;
  font-family:var(--serif);
  font-size:20px;
  line-height:1.1;
  transition:color .25s ease, transform .3s var(--ease);
}

.footer-nav-group a:hover{
  color:#fff;
  transform:translateX(3px);
}

.footer-nav-group--contact{
  padding-left:clamp(20px,4vw,66px);
  border-left:1px solid rgba(255,255,255,.13);
}

.footer-nav-group--contact > p{
  max-width:400px;
  margin:0 0 22px;
  color:rgba(244,238,232,.60);
  font-size:11.5px;
  font-weight:300;
  line-height:1.8;
}

.footer-nav-group .footer-nav-group__accent{
  display:inline-flex;
  align-items:center;
  gap:15px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.35);
  color:#fff;
  font-family:var(--sans);
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.footer-nav-group__accent svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.footer-nav-group__accent:hover svg{
  transform:translateX(4px);
}

/* MIDDLE */

.site-footer__middle{
  min-height:150px;
  display:grid;
  grid-template-columns:.8fr 1fr auto;
  align-items:center;
  gap:55px;
  border-bottom:1px solid rgba(255,255,255,.13);
}

.site-footer__social,
.site-footer__service{
  display:grid;
  gap:9px;
}

.site-footer__social > span,
.site-footer__service > span{
  color:#bd8d98;
  font-size:7px;
  font-weight:600;
  letter-spacing:.22em;
}

.site-footer__social{
  grid-template-columns:auto auto auto;
  align-items:center;
  justify-content:start;
  column-gap:20px;
}

.site-footer__social > span{
  grid-column:1 / -1;
}

.site-footer__social a,
.site-footer__social-placeholder{
  color:rgba(244,238,232,.70);
  text-decoration:none;
  font-size:10px;
  font-weight:500;
  letter-spacing:.06em;
  padding-bottom:3px;
}

.site-footer__social a{
  border-bottom:1px solid transparent;
}

.site-footer__social a:hover{
  color:#fff;
  border-color:rgba(255,255,255,.45);
}

.site-footer__social-placeholder{
  cursor:default;
}

.site-footer__service p{
  max-width:430px;
  margin:0;
  color:rgba(244,238,232,.58);
  font-size:10px;
  font-weight:300;
  line-height:1.65;
}

.footer-backtop{
  display:flex;
  align-items:center;
  gap:13px;
  padding:13px 0 13px 18px;
  border:0;
  border-left:1px solid rgba(255,255,255,.20);
  background:transparent;
  color:rgba(244,238,232,.76);
  cursor:pointer;
}

.footer-backtop span{
  font-size:7px;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.footer-backtop svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.1;
  transition:transform .3s var(--ease);
}

.footer-backtop:hover{
  color:#fff;
}

.footer-backtop:hover svg{
  transform:translateY(-3px);
}

/* LEGAL */

.site-footer__legal{
  min-height:92px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:35px;
  color:rgba(244,238,232,.42);
}

.site-footer__legal p{
  margin:0;
  font-size:8px;
  font-weight:400;
  letter-spacing:.04em;
}

.site-footer__legal-links{
  justify-self:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 22px;
}

.site-footer__legal-links span{
  color:inherit;
  font-size:8px;
}

.site-footer__signature{
  font-size:6.5px;
  font-weight:600;
  letter-spacing:.18em;
  white-space:nowrap;
}

/* LARGE WATERMARK */

.site-footer__watermark{
  position:absolute;
  left:50%;
  bottom:-.18em;
  z-index:1;
  transform:translateX(-50%);
  color:rgba(255,255,255,.018);
  font-family:var(--serif);
  font-size:clamp(190px,24vw,420px);
  line-height:.8;
  letter-spacing:.05em;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

/* =========================================================
   B10 / RESPONSIVE
========================================================= */

@media (max-width:1100px){
  .footer-correspondence__inner{
    grid-template-columns:1fr;
    gap:50px;
  }

  .footer-newsletter{
    justify-self:start;
    max-width:720px;
  }

  .site-footer__brand-row{
    grid-template-columns:1fr;
    gap:34px;
  }

  .site-footer__brand-row > p{
    max-width:620px;
  }

  .site-footer__navigation{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-nav-group--contact{
    padding-left:0;
    border-left:0;
  }

  .site-footer__middle{
    grid-template-columns:1fr 1fr auto;
  }

  .site-footer__legal{
    grid-template-columns:1fr auto;
  }

  .site-footer__legal-links{
    justify-self:start;
    grid-column:1;
    grid-row:2;
    justify-content:flex-start;
  }

  .site-footer__signature{
    grid-column:2;
    grid-row:1 / span 2;
  }
}

@media (max-width:760px){
  .footer-correspondence{
    padding:82px 0;
  }

  .footer-correspondence__inner,
  .site-footer__shell{
    width:calc(100% - 40px);
  }

  .footer-correspondence__copy h2{
    font-size:clamp(43px,12.5vw,58px);
  }

  .footer-newsletter__field input{
    height:61px;
    font-size:23px;
  }

  .site-footer__navigation{
    grid-template-columns:1fr 1fr;
    gap:45px 30px;
  }

  .site-footer__middle{
    grid-template-columns:1fr;
    gap:34px;
    padding:42px 0;
  }

  .footer-backtop{
    width:max-content;
    padding-left:0;
    border-left:0;
  }

  .site-footer__legal{
    grid-template-columns:1fr;
    gap:19px;
    padding:28px 0;
  }

  .site-footer__legal-links{
    grid-column:auto;
    grid-row:auto;
  }

  .site-footer__signature{
    grid-column:auto;
    grid-row:auto;
  }
}

@media (max-width:520px){
  .footer-correspondence__inner,
  .site-footer__shell{
    width:calc(100% - 40px);
  }

  .footer-correspondence__eyebrow{
    margin-bottom:18px;
  }

  .footer-correspondence__copy > p{
    font-size:12.8px;
    line-height:1.72;
  }

  .footer-newsletter__field{
    grid-template-columns:1fr auto;
  }

  .footer-newsletter__field input{
    min-width:0;
    padding-right:8px;
    font-size:20px;
  }

  .footer-newsletter__field button{
    padding-left:10px;
  }

  .footer-newsletter__field button span{
    display:none;
  }

  .footer-newsletter__meta{
    flex-direction:column;
    gap:7px;
  }

  .footer-newsletter__status{
    max-width:none;
    text-align:left;
  }

  .site-footer__shell{
    padding-top:72px;
  }

  .site-footer__brand-row{
    padding-bottom:54px;
  }

  .site-footer__brand > span{
    font-size:clamp(49px,16vw,68px);
    letter-spacing:.08em;
  }

  .site-footer__brand > small{
    margin-top:11px;
    font-size:6.5px;
  }

  .site-footer__brand-row > p{
    font-size:26px;
  }

  .site-footer__navigation{
    grid-template-columns:1fr;
    gap:0;
    padding:0;
  }

  .footer-nav-group{
    padding:34px 0;
    border-bottom:1px solid rgba(255,255,255,.11);
  }

  .footer-nav-group--contact{
    border-bottom:0;
  }

  .footer-nav-group a{
    font-size:21px;
  }

  .site-footer__social{
    grid-template-columns:auto auto;
  }

  .site-footer__social > span{
    grid-column:1 / -1;
  }

  .site-footer__watermark{
    bottom:.05em;
    font-size:170px;
  }
}

/* Footer links receive safe sticky-header offset */
#footer{
  scroll-margin-top:calc(var(--header-h) + 18px);
}

/* =========================================================
   B11 / PÁGINA DE COLEÇÃO
========================================================= */

.page-collection{
  background:#fbfaf7;
}

.page-collection .site-header{
  color:var(--ess-ink);
  background:rgba(250,248,244,.97);
  border-color:var(--ess-line);
  box-shadow:0 9px 26px rgba(25,23,22,.035);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.page-collection .site-header:not(.is-sticky){
  position:absolute;
  top:var(--announcement-h);
}

.page-collection .site-header .bag-count{
  background:var(--ess-ink);
  color:var(--ess-paper);
}

.page-collection .site-header .nav-link.is-current{
  color:var(--ess-wine);
}

.page-collection .site-header .nav-link.is-current::after{
  right:0;
}

.collection-page{
  background:#fbfaf7;
  color:var(--ess-ink);
}

/* HERO */

.collection-hero{
  padding:calc(var(--header-h) + clamp(62px,7vw,105px)) 0 clamp(60px,7vw,95px);
  background:#fbfaf7;
  overflow:hidden;
}

.collection-hero__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}

.collection-breadcrumb{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:clamp(38px,5vw,62px);
  color:var(--ess-muted);
  font-size:8px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.collection-breadcrumb a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}

.collection-breadcrumb a:hover{
  color:var(--ess-wine);
}

.collection-breadcrumb span[aria-hidden="true"]{
  opacity:.45;
}

.collection-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(480px,1.07fr);
  align-items:stretch;
  gap:clamp(55px,7vw,120px);
}

.collection-hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:570px;
  padding:25px 0 34px;
}

.collection-hero__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:25px;
  color:var(--ess-wine);
}

.collection-hero__eyebrow > span{
  width:42px;
  height:1px;
  background:currentColor;
}

.collection-hero__eyebrow small{
  font-size:8px;
  font-weight:600;
  letter-spacing:.23em;
}

.collection-hero h1{
  max-width:800px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(58px,6vw,96px);
  font-weight:400;
  line-height:.93;
  letter-spacing:-.028em;
}

.collection-hero__copy > p{
  max-width:560px;
  margin:31px 0 0;
  color:var(--ess-muted);
  font-size:13.5px;
  font-weight:300;
  line-height:1.82;
}

.collection-hero__guide{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:35px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(25,23,22,.42);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.collection-hero__guide svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.collection-hero__guide:hover svg{
  transform:translateX(4px);
}

.collection-hero__media{
  position:relative;
  min-height:570px;
  margin:0;
  overflow:hidden;
  background:#ddd5cd;
}

.collection-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,10,9,.01) 45%,rgba(15,10,9,.34) 100%);
  pointer-events:none;
}

.collection-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  filter:saturate(.80) contrast(1.02);
  transform:scale(1.01);
}

.collection-hero__media figcaption{
  position:absolute;
  z-index:2;
  left:29px;
  right:29px;
  bottom:25px;
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-size:7px;
  font-weight:600;
  letter-spacing:.20em;
}

.collection-hero__media figcaption i{
  width:34px;
  height:1px;
  background:currentColor;
  opacity:.72;
}

/* quick material navigation */

.collection-materials{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:clamp(45px,6vw,78px);
  border-top:1px solid var(--ess-line);
  border-bottom:1px solid var(--ess-line);
}

.collection-material{
  min-height:96px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:7px;
  padding:0 22px;
  border:0;
  border-right:1px solid var(--ess-line);
  background:transparent;
  color:var(--ess-ink);
  cursor:pointer;
  text-align:left;
  transition:background .28s ease,color .28s ease;
}

.collection-material:last-child{
  border-right:0;
}

.collection-material span{
  font-family:var(--serif);
  font-size:21px;
  line-height:1;
}

.collection-material small{
  color:var(--ess-muted);
  font-size:7px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:color .28s ease;
}

.collection-material:hover,
.collection-material.is-active{
  background:var(--ess-wine-dark);
  color:#fff;
}

.collection-material:hover small,
.collection-material.is-active small{
  color:rgba(255,255,255,.62);
}

/* CATALOG */

.collection-catalog{
  position:relative;
  padding:0 0 clamp(110px,10vw,165px);
  background:#fff;
  scroll-margin-top:calc(var(--header-h) + 24px);
}

.collection-catalog__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}

.collection-toolbar{
  position:sticky;
  top:var(--header-h);
  z-index:42;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin:0 -1px;
  padding:0 1px;
  border-bottom:1px solid var(--ess-line);
  background:rgba(255,255,255,.965);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.collection-toolbar__left{
  display:flex;
  align-items:baseline;
  gap:14px;
}

.collection-toolbar__label{
  font-size:9px;
  font-weight:600;
  letter-spacing:.19em;
}

.collection-toolbar__count{
  color:var(--ess-muted);
  font-size:9px;
}

.collection-toolbar__actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.collection-filter-button,
.collection-sort{
  min-height:44px;
  display:flex;
  align-items:center;
  border:1px solid var(--ess-line);
  background:#fff;
}

.collection-filter-button{
  position:relative;
  gap:10px;
  padding:0 15px;
  color:var(--ess-ink);
  cursor:pointer;
}

.collection-filter-button > span,
.collection-sort > span{
  font-size:8px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.collection-filter-button em{
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:var(--ess-wine);
  color:#fff;
  font-size:7px;
  font-style:normal;
  font-weight:700;
}

.collection-filter-button svg,
.collection-sort svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
}

.collection-sort{
  position:relative;
  gap:7px;
  padding:0 12px 0 15px;
}

.collection-sort > span{
  color:var(--ess-muted);
}

.collection-sort select{
  min-width:108px;
  height:42px;
  padding:0 22px 0 6px;
  border:0;
  outline:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  color:var(--ess-ink);
  cursor:pointer;
  font-size:10px;
  font-weight:500;
}

.collection-sort svg{
  position:absolute;
  right:10px;
  pointer-events:none;
}

/* active filter pills */

.collection-active-filters{
  min-height:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding-top:0;
  transition:padding .25s ease;
}

.collection-active-filters:not(:empty){
  padding-top:18px;
}

.collection-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:32px;
  padding:0 10px 0 12px;
  border:1px solid #ded7d0;
  background:#f8f5f1;
  color:var(--ess-ink);
  cursor:pointer;
  font-size:8px;
  letter-spacing:.04em;
}

.collection-filter-chip i{
  position:relative;
  width:12px;
  height:12px;
}

.collection-filter-chip i::before,
.collection-filter-chip i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:1px;
  background:currentColor;
}

.collection-filter-chip i::before{ transform:translate(-50%,-50%) rotate(45deg); }
.collection-filter-chip i::after{ transform:translate(-50%,-50%) rotate(-45deg); }

/* product grid */

.collection-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:14px;
  row-gap:clamp(50px,5vw,76px);
  padding-top:clamp(36px,4vw,58px);
}

.collection-grid .product-card{
  flex:none;
  min-width:0;
}

.collection-grid .product-card__media{
  aspect-ratio:4 / 5.1;
}

.collection-grid .product-card__title{
  width:auto;
}

.collection-grid .product-card[data-card-enter]{
  opacity:0;
  transform:translateY(12px);
  animation:collectionCardIn .44s var(--ease) forwards;
  animation-delay:var(--card-delay,0ms);
}

@keyframes collectionCardIn{
  to{ opacity:1; transform:none; }
}

.collection-card__placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  pointer-events:none;
}

/* editorial break inside grid */

.collection-editorial-card{
  position:relative;
  grid-column:span 2;
  min-height:570px;
  overflow:hidden;
  background:#351c23;
  color:#fff;
}

.collection-editorial-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(42,20,26,.96) 0%,rgba(68,29,39,.84) 52%,rgba(68,29,39,.38) 100%);
}

.collection-editorial-card::after{
  content:"E";
  position:absolute;
  right:-.07em;
  bottom:-.22em;
  color:rgba(255,255,255,.045);
  font-family:var(--serif);
  font-size:clamp(230px,24vw,420px);
  line-height:.8;
}

.collection-editorial-card__inner{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  min-height:570px;
  padding:clamp(38px,5vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.collection-editorial-card small{
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
  opacity:.72;
}

.collection-editorial-card h2{
  max-width:620px;
  margin:auto 0 25px;
  font-family:var(--serif);
  font-size:clamp(42px,4.4vw,70px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.02em;
}

.collection-editorial-card p{
  max-width:480px;
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:300;
  line-height:1.75;
}

.collection-editorial-card a{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:15px;
  margin-top:30px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.46);
  color:#fff;
  text-decoration:none;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.collection-editorial-card a svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
}

/* load more */

.collection-loadmore{
  display:flex;
  justify-content:center;
  padding-top:clamp(62px,7vw,96px);
}

.collection-loadmore[hidden]{
  display:none;
}

.collection-loadmore button{
  min-width:210px;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:0 24px;
  border:1px solid var(--ess-ink);
  background:#fff;
  color:var(--ess-ink);
  cursor:pointer;
  transition:background .25s ease,color .25s ease;
}

.collection-loadmore button span{
  font-size:9px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.collection-loadmore button small{
  color:var(--ess-muted);
  font-size:8px;
}

.collection-loadmore button:hover{
  background:var(--ess-ink);
  color:#fff;
}

.collection-loadmore button:hover small{
  color:rgba(255,255,255,.62);
}

/* empty */

.collection-empty{
  min-height:440px;
  padding:80px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.collection-empty[hidden]{ display:none; }

.collection-empty > span{
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.21em;
}

.collection-empty h2{
  max-width:670px;
  margin:17px 0 15px;
  font-family:var(--serif);
  font-size:clamp(38px,4vw,61px);
  font-weight:400;
  line-height:1;
}

.collection-empty p{
  margin:0;
  color:var(--ess-muted);
  font-size:12px;
}

.collection-empty button{
  margin-top:28px;
  padding:0 0 5px;
  border:0;
  border-bottom:1px solid var(--ess-wine);
  background:transparent;
  color:var(--ess-wine);
  cursor:pointer;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* closing concierge */

.collection-closing{
  padding:clamp(90px,10vw,155px) 0;
  background:#f1ebe4;
  text-align:center;
}

.collection-closing__shell{
  width:min(900px,calc(100% - 40px));
  margin:0 auto;
}

.collection-closing span{
  color:var(--ess-wine);
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
}

.collection-closing h2{
  margin:20px 0 23px;
  font-family:var(--serif);
  font-size:clamp(46px,5.4vw,82px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.024em;
}

.collection-closing p{
  max-width:620px;
  margin:0 auto;
  color:var(--ess-muted);
  font-size:13px;
  font-weight:300;
  line-height:1.78;
}

.collection-closing a{
  display:inline-block;
  margin-top:31px;
  padding:16px 24px;
  background:var(--ess-wine-dark);
  color:#fff;
  text-decoration:none;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* FILTER DRAWER */

.filter-drawer{
  position:fixed;
  inset:0;
  z-index:145;
  visibility:hidden;
  pointer-events:none;
  transition:visibility .4s;
}

.filter-drawer.is-open{
  visibility:visible;
  pointer-events:auto;
}

.filter-drawer__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,10,10,.38);
  opacity:0;
  transition:opacity .35s ease;
}

.filter-drawer.is-open .filter-drawer__backdrop{
  opacity:1;
}

.filter-drawer__panel{
  position:absolute;
  top:0;
  right:0;
  width:min(470px,94vw);
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:#fbfaf7;
  color:var(--ess-ink);
  transform:translateX(102%);
  transition:transform .48s var(--ease);
  box-shadow:-20px 0 60px rgba(25,23,22,.10);
}

.filter-drawer.is-open .filter-drawer__panel{
  transform:none;
}

.filter-drawer__header{
  min-height:105px;
  padding:24px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  border-bottom:1px solid var(--ess-line);
}

.filter-drawer__header small{
  display:block;
  margin-bottom:7px;
  color:var(--ess-wine);
  font-size:7px;
  font-weight:600;
  letter-spacing:.20em;
}

.filter-drawer__header h2{
  margin:0;
  font-family:var(--serif);
  font-size:34px;
  font-weight:400;
  line-height:1;
}

.filter-drawer__header button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}

.filter-drawer__header svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.1;
}

.filter-drawer__content{
  overflow-y:auto;
  padding:0 28px 35px;
  overscroll-behavior:contain;
}

.filter-group{
  margin:0;
  padding:30px 0 25px;
  border:0;
  border-bottom:1px solid var(--ess-line);
}

.filter-group legend{
  width:100%;
  margin-bottom:17px;
  padding:0;
  font-family:var(--serif);
  font-size:24px;
}

.filter-group label{
  min-height:39px;
  display:grid;
  grid-template-columns:20px 1fr auto;
  align-items:center;
  gap:11px;
  cursor:pointer;
  color:var(--ess-muted);
}
.filter-group[hidden],
.filter-group label[hidden],
.collection-material[hidden]{ display:none; }

.filter-group input{
  appearance:none;
  -webkit-appearance:none;
  width:16px;
  height:16px;
  margin:0;
  border:1px solid #a9a099;
  background:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}

.filter-group input::after{
  content:"";
  width:7px;
  height:7px;
  background:var(--ess-wine);
  transform:scale(0);
  transition:transform .18s ease;
}

.filter-group input:checked{
  border-color:var(--ess-wine);
}

.filter-group input:checked::after{
  transform:scale(1);
}

.filter-group label:has(input:checked){
  color:var(--ess-ink);
}

.filter-group label > span{
  font-size:11px;
}

.filter-group label > small{
  font-size:8px;
  color:var(--ess-muted);
}

.filter-drawer__footer{
  min-height:84px;
  display:grid;
  grid-template-columns:.62fr 1.38fr;
  gap:9px;
  padding:13px 16px;
  border-top:1px solid var(--ess-line);
  background:#fbfaf7;
}

.filter-drawer__footer button{
  border:0;
  cursor:pointer;
  font-size:8px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.filter-drawer__clear{
  background:#ede7e0;
  color:var(--ess-ink);
}

.filter-drawer__apply{
  background:var(--ess-wine-dark);
  color:#fff;
}

/* =========================================================
   B11 / RESPONSIVE
========================================================= */

@media (max-width:1180px){
  .collection-hero__grid{
    grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);
    gap:48px;
  }

  .collection-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .collection-editorial-card{
    grid-column:span 2;
  }
}

@media (max-width:900px){
  .collection-hero__shell,
  .collection-catalog__shell{
    width:calc(100% - 40px);
  }

  .collection-hero__grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .collection-hero__copy{
    min-height:0;
    padding:8px 0 0;
  }

  .collection-hero__media{
    min-height:580px;
  }

  .collection-materials{
    overflow-x:auto;
    grid-template-columns:repeat(5,minmax(175px,1fr));
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }

  .collection-materials::-webkit-scrollbar{ display:none; }

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

  .collection-editorial-card{
    grid-column:1 / -1;
  }
}

@media (max-width:650px){
  .collection-hero{
    padding-top:calc(var(--header-h) + 46px);
    padding-bottom:50px;
  }

  .collection-breadcrumb{
    margin-bottom:32px;
  }

  .collection-hero h1{
    font-size:clamp(46px,13.2vw,60px);
    line-height:.94;
  }

  .collection-hero__copy > p{
    margin-top:23px;
    font-size:12.8px;
    line-height:1.72;
  }

  .collection-hero__media{
    min-height:500px;
  }

  .collection-hero__media figcaption{
    left:18px;
    right:18px;
    bottom:17px;
    font-size:6px;
  }

  .collection-materials{
    margin-top:40px;
    margin-left:-20px;
    margin-right:-20px;
    padding-left:20px;
    grid-template-columns:repeat(5,160px);
    border-bottom:0;
  }

  .collection-material{
    min-height:82px;
    padding:0 15px;
    border-bottom:1px solid var(--ess-line);
  }

  .collection-material span{
    font-size:18px;
  }

  .collection-toolbar{
    top:var(--header-h);
    min-height:70px;
  }

  .collection-toolbar__actions{
    gap:7px;
  }

  .collection-filter-button,
  .collection-sort{
    min-height:40px;
  }

  .collection-filter-button{
    padding:0 11px;
  }

  .collection-filter-button svg{
    display:none;
  }

  .collection-sort{
    padding-left:10px;
  }

  .collection-sort > span{
    display:none;
  }

  .collection-sort select{
    min-width:105px;
    padding-left:0;
    font-size:9px;
  }

  .collection-grid{
    column-gap:10px;
    row-gap:40px;
    padding-top:34px;
  }

  .collection-grid .product-card__media{
    aspect-ratio:4 / 5.2;
  }

  .collection-grid .product-card__badge{
    top:9px;
    left:9px;
    padding:6px 6px 5px;
    font-size:5.7px;
    letter-spacing:.10em;
  }

  .collection-grid .product-card__view{
    display:none;
  }

  .collection-grid .product-card__info{
    padding-top:13px;
  }

  .collection-grid .product-card__meta{
    gap:5px;
    margin-bottom:6px;
  }

  .collection-grid .product-card__meta span{
    font-size:6.1px;
    letter-spacing:.10em;
  }

  .collection-grid .product-card__meta span + span::before{
    margin-right:5px;
  }

  .collection-grid .product-card__title{
    font-size:17px;
    line-height:1.08;
  }

  .collection-grid .product-card__pricing{
    margin-top:11px;
    padding-top:10px;
  }

  .collection-grid .product-card__pix-row{
    column-gap:4px;
  }

  .collection-grid .product-card__pix-row strong{
    font-size:15.5px;
  }

  .collection-grid .product-card__pix-row > span{
    font-size:8px;
  }

  .collection-grid .product-card__pix-row em{
    margin-left:0;
    padding:4px 4px 3px;
    font-size:5.5px;
  }

  .collection-grid .product-card__pricing p{
    margin-top:5px;
    font-size:7.4px;
    line-height:1.4;
  }

  .collection-editorial-card,
  .collection-editorial-card__inner{
    min-height:500px;
  }

  .collection-editorial-card__inner{
    padding:34px 24px;
  }

  .collection-editorial-card h2{
    font-size:43px;
  }

  .collection-closing{
    padding:84px 0;
  }

  .collection-closing h2{
    font-size:clamp(43px,12vw,56px);
  }

  .filter-drawer__panel{
    width:min(430px,96vw);
  }
}

@media (max-width:350px){
  .collection-hero__shell,
  .collection-catalog__shell{
    width:calc(100% - 28px);
  }

  .collection-materials{
    margin-left:-14px;
    margin-right:-14px;
    padding-left:14px;
  }

  .collection-toolbar__label{
    display:none;
  }

  .collection-toolbar__left{
    gap:0;
  }

  .collection-sort select{
    min-width:92px;
  }

  .collection-filter-button > span{
    font-size:7px;
  }

  .collection-grid{
    column-gap:8px;
  }

  .collection-grid .product-card__title{
    font-size:15.5px;
  }

  .collection-grid .product-card__pix-row strong{
    font-size:14.5px;
  }

  .collection-grid .product-card__pix-row em{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .collection-grid .product-card[data-card-enter]{
    opacity:1;
    transform:none;
    animation:none;
  }
}

/* B11 / explicit hidden state so component display rules never expose zero badges */
.collection-filter-button em[hidden]{
  display:none !important;
}


/* =========================================================
   B12 / CARD DEFINITIVO DO PRODUTO
   Um único sistema visual para Home, coleção e relacionados.
========================================================= */

.product-card--definitive{
  position:relative;
  min-width:0;
  color:var(--ess-ink);
}

.product-card--definitive .product-card__media{
  aspect-ratio:4 / 5.15;
  background:#f1eee9;
  isolation:isolate;
}

.product-card--definitive .product-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(25,23,22,.045);
  transition:border-color .35s ease;
}

.product-card--definitive .product-card__image{
  filter:saturate(.92) contrast(1.015);
}

.product-card--definitive .product-card__badge{
  top:14px;
  left:14px;
  padding:7px 9px 6px;
  border:1px solid rgba(25,23,22,.10);
  box-shadow:none;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}

.product-card__badge--wine{
  background:var(--ess-wine-dark);
  border-color:var(--ess-wine-dark)!important;
  color:#fff;
}

.product-card--definitive .product-card__badge--soft{
  background:rgba(250,248,244,.90);
  color:var(--ess-wine-dark);
}

.product-card--definitive .product-card__view{
  left:14px;
  right:14px;
  bottom:14px;
  min-height:46px;
  padding:0 16px;
  background:rgba(250,248,244,.94);
  border:1px solid rgba(255,255,255,.35);
  color:var(--ess-ink);
}

.product-card--definitive .product-card__view > span{
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.product-card--definitive .product-card__info{
  padding:18px 1px 0;
}

.product-card--definitive .product-card__meta{
  margin-bottom:8px;
}

.product-card--definitive .product-card__meta span{
  color:#756f69;
  font-size:7px;
  letter-spacing:.17em;
}

.product-card--definitive .product-card__title{
  width:auto;
  min-height:2.2em;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:clamp(20px,1.55vw,26px);
  line-height:1.1;
}

.product-card__attributes{
  min-height:17px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
  color:#8a827c;
}

.product-card__attributes span{
  font-size:8px;
  font-weight:400;
  letter-spacing:.03em;
}

.product-card__attributes span + span::before{
  content:"/";
  margin-right:7px;
  color:#b5ada6;
}

.product-card--definitive .product-card__pricing{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(25,23,22,.105);
}

.product-card--definitive .product-card__pix-row{
  column-gap:6px;
  row-gap:4px;
}

.product-card--definitive .product-card__pix-row strong{
  font-size:clamp(18px,1.42vw,23px);
  font-weight:500;
  letter-spacing:-.035em;
}

.product-card--definitive .product-card__pix-row > span{
  color:#625c57;
  font-size:9px;
  font-weight:400;
}

.product-card--definitive .product-card__pix-row em{
  margin-left:2px;
  padding:5px 6px 4px;
  background:#eee4df;
  color:var(--ess-wine-dark);
  border:0;
  font-size:6px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.10em;
  line-height:1;
}

.product-card--definitive .product-card__pricing p{
  margin:6px 0 0;
  color:#7c756f;
  font-size:8.5px;
  font-weight:300;
  line-height:1.5;
}

@media (hover:hover){
  .product-card--definitive:hover .product-card__media::after,
  .product-card--definitive:focus-within .product-card__media::after{
    border-color:rgba(106,31,50,.15);
  }

  .product-card--definitive:hover .product-card__image--primary,
  .product-card--definitive:focus-within .product-card__image--primary{
    opacity:0;
    transform:scale(1.02);
  }

  .product-card--definitive:hover .product-card__image--secondary,
  .product-card--definitive:focus-within .product-card__image--secondary{
    opacity:1;
    transform:scale(1.015);
  }

  .product-card--definitive:hover .product-card__view,
  .product-card--definitive:focus-within .product-card__view{
    opacity:1;
    transform:none;
  }
}

/* B12 neutraliza diferenças antigas entre o card da Home e o da coleção */
.collection-grid .product-card--definitive .product-card__media{
  aspect-ratio:4 / 5.15;
}

.collection-grid .product-card--definitive .product-card__title{
  font-size:clamp(19px,1.45vw,25px);
}

@media (max-width:650px){
  .product-card--definitive .product-card__media,
  .collection-grid .product-card--definitive .product-card__media{
    aspect-ratio:4 / 5.25;
  }

  .product-card--definitive .product-card__badge,
  .collection-grid .product-card--definitive .product-card__badge{
    top:8px;
    left:8px;
    max-width:calc(100% - 16px);
    padding:5px 5px 4px;
    font-size:5.4px;
    letter-spacing:.09em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .product-card--definitive .product-card__view,
  .collection-grid .product-card--definitive .product-card__view{
    display:none;
  }

  .product-card--definitive .product-card__info,
  .collection-grid .product-card--definitive .product-card__info{
    padding-top:12px;
  }

  .product-card--definitive .product-card__meta,
  .collection-grid .product-card--definitive .product-card__meta{
    margin-bottom:5px;
    gap:5px;
  }

  .product-card--definitive .product-card__meta span,
  .collection-grid .product-card--definitive .product-card__meta span{
    font-size:5.8px;
    letter-spacing:.09em;
  }

  .product-card--definitive .product-card__meta span + span::before,
  .collection-grid .product-card--definitive .product-card__meta span + span::before{
    margin-right:5px;
  }

  .product-card--definitive .product-card__title,
  .collection-grid .product-card--definitive .product-card__title{
    min-height:2.15em;
    font-size:15.8px;
    line-height:1.07;
  }

  .product-card__attributes{
    min-height:14px;
    margin-top:6px;
    gap:5px;
  }

  .product-card__attributes span{
    font-size:6.7px;
  }

  .product-card__attributes span + span::before{
    margin-right:5px;
  }

  .product-card--definitive .product-card__pricing,
  .collection-grid .product-card--definitive .product-card__pricing{
    margin-top:9px;
    padding-top:9px;
  }

  .product-card--definitive .product-card__pix-row,
  .collection-grid .product-card--definitive .product-card__pix-row{
    column-gap:4px;
  }

  .product-card--definitive .product-card__pix-row strong,
  .collection-grid .product-card--definitive .product-card__pix-row strong{
    font-size:15px;
  }

  .product-card--definitive .product-card__pix-row > span,
  .collection-grid .product-card--definitive .product-card__pix-row > span{
    font-size:7.4px;
  }

  .product-card--definitive .product-card__pix-row em,
  .collection-grid .product-card--definitive .product-card__pix-row em{
    padding:4px 4px 3px;
    font-size:5px;
  }

  .product-card--definitive .product-card__pricing p,
  .collection-grid .product-card--definitive .product-card__pricing p{
    margin-top:5px;
    font-size:7.2px;
    line-height:1.38;
  }
}

@media (max-width:350px){
  .product-card--definitive .product-card__title,
  .collection-grid .product-card--definitive .product-card__title{
    font-size:14.7px;
  }

  .product-card--definitive .product-card__pix-row strong,
  .collection-grid .product-card--definitive .product-card__pix-row strong{
    font-size:14px;
  }

  .product-card--definitive .product-card__pix-row em,
  .collection-grid .product-card--definitive .product-card__pix-row em{
    display:none;
  }

  .product-card__attributes{
    display:none;
  }
}


/* B12 / keyboard focus */
.product-card--definitive .product-card__media:focus-visible,
.product-card--definitive .product-card__title:focus-visible{
  outline:1px solid var(--ess-wine);
  outline-offset:3px;
}


/* =========================================================
   B13 / PDP — PÁGINA DEFINITIVA DO PRODUTO
========================================================= */

.page-product{
  background:#fbfaf7;
}

.page-product .site-header{
  color:var(--ess-ink);
  background:rgba(250,248,244,.97);
  border-color:var(--ess-line);
  box-shadow:0 9px 26px rgba(25,23,22,.035);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.page-product .site-header:not(.is-sticky){
  position:absolute;
  top:var(--announcement-h);
}

.page-product .site-header .bag-count{
  background:var(--ess-ink);
  color:var(--ess-paper);
}

.product-page{
  background:#fbfaf7;
  color:var(--ess-ink);
}

.pdp-primary{
  padding:calc(var(--header-h) + 48px) 0 clamp(78px,8vw,125px);
}

.pdp-primary__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}

.pdp-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 32px;
  color:var(--ess-muted);
  font-size:7.5px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.pdp-breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.pdp-breadcrumb a:hover{ color:var(--ess-wine); }
.pdp-breadcrumb span[aria-hidden="true"]{ opacity:.42; }

.pdp-layout{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(430px,.62fr);
  align-items:start;
  gap:clamp(48px,5.5vw,90px);
}

/* Gallery */
.pdp-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  min-width:0;
}

.pdp-media{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  padding:0;
  border:0;
  background:#f0ede8;
  cursor:zoom-in;
  text-align:left;
}

.pdp-media--portrait{ aspect-ratio:4/5; }
.pdp-media--wide{ grid-column:1 / -1; aspect-ratio:2/1; }

.pdp-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) contrast(1.015);
  transition:transform .8s var(--ease), filter .55s ease;
}

.pdp-media > span{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  color:rgba(25,23,22,.50);
  font-size:6px;
  font-weight:600;
  letter-spacing:.16em;
}

.pdp-media::after{
  content:"+";
  position:absolute;
  right:14px;
  bottom:12px;
  z-index:2;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  background:rgba(250,248,244,.88);
  color:var(--ess-ink);
  font-family:var(--sans);
  font-size:15px;
  font-weight:300;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .28s ease,transform .35s var(--ease);
}

@media (hover:hover){
  .pdp-media:hover img{ transform:scale(1.025); filter:saturate(.98) contrast(1.02); }
  .pdp-media:hover::after{ opacity:1; transform:none; }
}

.pdp-gallery[data-count="1"]{ grid-template-columns:1fr; }
.pdp-gallery[data-count="1"] .pdp-media{ aspect-ratio:1.18/1; }
.pdp-gallery[data-count="3"] .pdp-media:last-child{ grid-column:1 / -1; aspect-ratio:2/1; }
.pdp-gallery[data-count="5"] .pdp-media:last-child{ grid-column:1 / -1; aspect-ratio:2/1; }

/* Purchase panel */
.pdp-buy{
  position:sticky;
  top:calc(var(--header-h) + 28px);
  padding-top:7px;
}

.pdp-buy__eyebrow{
  display:block;
  margin-bottom:16px;
  color:var(--ess-wine);
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.22em;
}

.pdp-buy h1{
  max-width:620px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(43px,3.65vw,62px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.024em;
}

.pdp-buy__subtitle{
  margin:15px 0 0;
  color:var(--ess-muted);
  font-size:11px;
  font-weight:300;
  line-height:1.55;
}

.pdp-buy__reference{
  margin:12px 0 0;
  color:#8c857f;
  font-size:7px;
  font-weight:600;
  letter-spacing:.13em;
}

.pdp-price{
  margin-top:32px;
  padding:24px 0 20px;
  border-top:1px solid rgba(25,23,22,.13);
  border-bottom:1px solid rgba(25,23,22,.13);
}

.pdp-price__lead{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px;
}

.pdp-price__lead strong{
  font-size:clamp(28px,2.2vw,36px);
  font-weight:500;
  letter-spacing:-.045em;
}

.pdp-price__lead > span{
  color:#5e5955;
  font-size:10px;
}

.pdp-price__lead em{
  padding:5px 7px 4px;
  background:#eee2df;
  color:var(--ess-wine-dark);
  font-size:6px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.10em;
}

.pdp-price > p{
  margin:8px 0 0;
  color:#746e69;
  font-size:10px;
  font-weight:300;
}

.pdp-payment-details{
  margin-top:15px;
}

.pdp-payment-details summary{
  width:max-content;
  display:flex;
  align-items:center;
  gap:9px;
  list-style:none;
  color:var(--ess-wine);
  cursor:pointer;
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.pdp-payment-details summary::-webkit-details-marker{ display:none; }
.pdp-payment-details summary span{ font-size:14px; font-weight:300; transition:transform .3s ease; }
.pdp-payment-details[open] summary span{ transform:rotate(45deg); }
.pdp-payment-details > div{ padding-top:14px; display:grid; gap:8px; }
.pdp-payment-details p{ margin:0; display:flex; justify-content:space-between; gap:18px; color:var(--ess-muted); font-size:9px; }
.pdp-payment-details b{ color:var(--ess-ink); font-weight:500; }

.pdp-config{ padding:26px 0 0; }
.pdp-config__heading{ display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:15px; }
.pdp-config__heading > span{ color:var(--ess-wine); font-size:7px; font-weight:600; letter-spacing:.18em; }
.pdp-config__heading a{ color:var(--ess-muted); font-size:7px; text-decoration:none; border-bottom:1px solid rgba(25,23,22,.25); padding-bottom:3px; }

.pdp-variants{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 10px;
}

.pdp-field{
  display:block;
  min-width:0;
}
.pdp-field[hidden]{ display:none; }
.pdp-field--wide{ grid-column:1 / -1; }
.pdp-field > span{ display:block; margin-bottom:7px; color:#746e69; font-size:7px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.pdp-field select{
  width:100%;
  height:50px;
  padding:0 32px 0 12px;
  border:1px solid rgba(25,23,22,.16);
  border-radius:0;
  outline:0;
  background:#fbfaf7;
  color:var(--ess-ink);
  font-size:10px;
  appearance:auto;
}
.pdp-field select:focus{ border-color:var(--ess-wine); }

.pdp-engraving{ display:block; margin-top:20px; }
.pdp-engraving > span{ display:flex; align-items:baseline; gap:7px; margin-bottom:7px; color:#746e69; font-size:7px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.pdp-engraving > span small{ color:#aaa39c; font-size:6px; font-weight:500; }
.pdp-engraving > div{ position:relative; }
.pdp-engraving input{ width:100%; height:52px; padding:0 58px 0 13px; border:1px solid rgba(25,23,22,.16); outline:0; background:#fbfaf7; color:var(--ess-ink); font-size:11px; }
.pdp-engraving input:focus{ border-color:var(--ess-wine); }
.pdp-engraving em{ position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#9b948e; font-size:7px; font-style:normal; }
.pdp-engraving > small{ display:block; margin-top:7px; color:#9b948e; font-size:7.5px; font-weight:300; }

.pdp-purchase{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:10px;
  margin-top:24px;
}

.pdp-quantity{
  height:54px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  border:1px solid rgba(25,23,22,.18);
}
.pdp-quantity button{ height:100%; border:0; background:transparent; color:var(--ess-ink); cursor:pointer; font-size:15px; font-weight:300; }
.pdp-quantity span{ text-align:center; font-size:10px; }

.pdp-add{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:0 24px;
  border:1px solid var(--ess-wine-dark);
  background:var(--ess-wine-dark);
  color:#fff;
  cursor:pointer;
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:background .28s ease,transform .3s var(--ease);
}
.pdp-add svg{ width:17px; fill:none; stroke:currentColor; stroke-width:1.2; transition:transform .3s var(--ease); }
.pdp-add:hover{ background:var(--ess-wine); transform:translateY(-1px); }
.pdp-add:hover svg{ transform:translateX(4px); }

.pdp-purchase__status{ min-height:17px; margin:9px 0 0; color:var(--ess-wine); font-size:8px; }

.pdp-specialist{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 15px;
  margin-top:22px;
  padding:18px 0;
  border-top:1px solid rgba(25,23,22,.12);
  border-bottom:1px solid rgba(25,23,22,.12);
  color:var(--ess-ink);
  text-decoration:none;
}
.pdp-specialist span{ grid-column:1; color:var(--ess-muted); font-size:7px; letter-spacing:.05em; }
.pdp-specialist strong{ grid-column:1; font-family:var(--serif); font-size:18px; font-weight:400; }
.pdp-specialist svg{ grid-column:2; grid-row:1 / span 2; align-self:center; width:20px; fill:none; stroke:var(--ess-wine); stroke-width:1.1; }

.pdp-microtrust{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding-top:22px; }
.pdp-microtrust p{ margin:0; min-width:0; }
.pdp-microtrust span{ display:block; margin-bottom:10px; color:var(--ess-wine); font-size:6px; font-weight:600; }
.pdp-microtrust b{ display:block; font-family:var(--serif); font-size:15px; font-weight:400; line-height:1.05; }
.pdp-microtrust small{ display:block; margin-top:6px; color:#8d8680; font-size:6.5px; font-weight:300; line-height:1.45; }

/* Assurance */
.pdp-assurance{ background:#f0ebe4; border-top:1px solid rgba(25,23,22,.08); border-bottom:1px solid rgba(25,23,22,.08); }
.pdp-assurance__shell{ width:min(1500px,calc(100% - 64px)); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); }
.pdp-assurance article{ min-height:250px; display:grid; grid-template-columns:32px 1fr; gap:20px; padding:clamp(35px,4vw,58px); }
.pdp-assurance article + article{ border-left:1px solid rgba(25,23,22,.11); }
.pdp-assurance article > span{ padding-top:5px; color:var(--ess-wine); font-size:7px; font-weight:600; }
.pdp-assurance small{ color:#8b847e; font-size:7px; font-weight:600; letter-spacing:.18em; }
.pdp-assurance h2{ margin:14px 0 14px; font-family:var(--serif); font-size:clamp(27px,2.4vw,40px); font-weight:400; line-height:1; }
.pdp-assurance p{ max-width:340px; margin:0; color:var(--ess-muted); font-size:11px; font-weight:300; line-height:1.7; }

/* Details */
.pdp-details{ padding:clamp(105px,10vw,160px) 0; background:#fbfaf7; }
.pdp-details__shell{ width:min(1360px,calc(100% - 64px)); margin:0 auto; }
.pdp-details__intro{ display:grid; grid-template-columns:1fr .62fr; align-items:end; gap:70px; padding-bottom:clamp(58px,6vw,88px); border-bottom:1px solid rgba(25,23,22,.13); }
.pdp-details__intro > div > span{ display:block; margin-bottom:18px; color:var(--ess-wine); font-size:8px; font-weight:600; letter-spacing:.20em; }
.pdp-details__intro h2{ margin:0; font-family:var(--serif); font-size:clamp(49px,5.5vw,84px); font-weight:400; line-height:.94; letter-spacing:-.025em; }
.pdp-details__intro > p{ max-width:450px; margin:0; color:var(--ess-muted); font-size:13px; font-weight:300; line-height:1.8; }

.pdp-details__body{ display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(55px,8vw,130px); padding-top:clamp(58px,6vw,88px); }
.pdp-specs{ border-top:1px solid rgba(25,23,22,.13); }
.pdp-specs > div{ min-height:60px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; border-bottom:1px solid rgba(25,23,22,.13); }
.pdp-specs span{ color:var(--ess-muted); font-size:8px; text-transform:uppercase; letter-spacing:.10em; }
.pdp-specs strong{ justify-self:end; font-family:var(--serif); font-size:18px; font-weight:400; text-align:right; }

.pdp-accordions{ border-top:1px solid rgba(25,23,22,.13); }
.pdp-detail{ border-bottom:1px solid rgba(25,23,22,.13); }
.pdp-detail summary{ min-height:85px; display:grid; grid-template-columns:38px 1fr 30px; align-items:center; gap:16px; list-style:none; cursor:pointer; }
.pdp-detail summary::-webkit-details-marker{ display:none; }
.pdp-detail summary span{ color:var(--ess-wine); font-size:7px; font-weight:600; }
.pdp-detail summary strong{ font-family:var(--serif); font-size:clamp(22px,2vw,30px); font-weight:400; }
.pdp-detail summary i{ position:relative; width:24px; height:24px; }
.pdp-detail summary i::before,.pdp-detail summary i::after{ content:""; position:absolute; left:50%; top:50%; width:16px; height:1px; background:currentColor; transform:translate(-50%,-50%); transition:transform .3s ease,opacity .2s ease; }
.pdp-detail summary i::after{ transform:translate(-50%,-50%) rotate(90deg); }
.pdp-detail[open] summary i::after{ opacity:0; transform:translate(-50%,-50%); }
.pdp-detail > div{ padding:0 42px 30px 54px; }
.pdp-detail > div p{ max-width:680px; margin:0; color:var(--ess-muted); font-size:12px; font-weight:300; line-height:1.8; }
#guia-aros{ scroll-margin-top:calc(var(--header-h) + 30px); }

/* Related */
.pdp-related{ padding:clamp(90px,9vw,140px) 0 clamp(110px,10vw,160px); background:#f3eee7; }
.pdp-related__shell{ width:min(1500px,calc(100% - 64px)); margin:0 auto; }
.pdp-related header{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:46px; }
.pdp-related header span{ display:block; margin-bottom:15px; color:var(--ess-wine); font-size:7px; font-weight:600; letter-spacing:.20em; }
.pdp-related header h2{ margin:0; font-family:var(--serif); font-size:clamp(40px,4.5vw,68px); font-weight:400; line-height:.98; }
.pdp-related header > a{ display:inline-flex; align-items:center; gap:15px; padding-bottom:5px; border-bottom:1px solid rgba(25,23,22,.35); color:var(--ess-ink); text-decoration:none; font-size:8px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.pdp-related header > a svg{ width:17px; fill:none; stroke:currentColor; stroke-width:1.2; }
.pdp-related__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.5vw,22px); }

/* Lightbox */
.pdp-lightbox{ position:fixed; inset:0; z-index:180; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s ease,visibility .28s ease; }
.pdp-lightbox.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
.pdp-lightbox__backdrop{ position:absolute; inset:0; width:100%; border:0; background:rgba(16,12,11,.88); }
.pdp-lightbox__dialog{ position:absolute; inset:24px; display:grid; grid-template-columns:54px 1fr 54px; grid-template-rows:1fr; align-items:center; }
.pdp-lightbox figure{ grid-column:2; grid-row:1; height:100%; margin:0; display:grid; place-items:center; overflow:hidden; }
.pdp-lightbox figure img{ max-width:100%; max-height:100%; object-fit:contain; }
.pdp-lightbox__close{ position:absolute; top:0; right:0; z-index:3; width:46px; height:46px; border:1px solid rgba(255,255,255,.30); background:rgba(16,12,11,.45); cursor:pointer; }
.pdp-lightbox__close span{ position:absolute; left:50%; top:50%; width:18px; height:1px; background:#fff; transform:translate(-50%,-50%) rotate(45deg); }
.pdp-lightbox__close span + span{ transform:translate(-50%,-50%) rotate(-45deg); }
.pdp-lightbox__nav{ z-index:2; width:44px; height:60px; border:0; background:transparent; color:#fff; cursor:pointer; font-family:var(--serif); font-size:45px; font-weight:300; opacity:.72; }
.pdp-lightbox__nav:hover{ opacity:1; }
.pdp-lightbox__nav--prev{ grid-column:1; grid-row:1; }
.pdp-lightbox__nav--next{ grid-column:3; grid-row:1; }
.pdp-lightbox__count{ position:absolute; left:0; bottom:0; color:#fff; font-size:7px; font-weight:600; letter-spacing:.17em; }

@media (max-width:1180px){
  .pdp-layout{ grid-template-columns:minmax(0,1fr) minmax(390px,.72fr); gap:40px; }
  .pdp-primary__shell,.pdp-assurance__shell,.pdp-related__shell{ width:calc(100% - 40px); }
  .pdp-details__shell{ width:calc(100% - 40px); }
  .pdp-buy h1{ font-size:48px; }
  .pdp-microtrust{ grid-template-columns:1fr; }
  .pdp-microtrust p{ display:grid; grid-template-columns:25px 1fr; column-gap:9px; }
  .pdp-microtrust span{ grid-column:1; grid-row:1 / span 2; }
  .pdp-microtrust b,.pdp-microtrust small{ grid-column:2; }
}

@media (max-width:900px){
  .pdp-primary{ padding-top:calc(var(--header-h) + 42px); }
  .pdp-layout{ grid-template-columns:1fr; }
  .pdp-buy{ position:relative; top:auto; padding-top:32px; }
  .pdp-gallery{ gap:5px; }
  .pdp-assurance__shell{ grid-template-columns:1fr; }
  .pdp-assurance article{ min-height:0; }
  .pdp-assurance article + article{ border-left:0; border-top:1px solid rgba(25,23,22,.11); }
  .pdp-details__intro{ grid-template-columns:1fr; gap:28px; }
  .pdp-details__body{ grid-template-columns:1fr; gap:55px; }
  .pdp-related__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:48px; }
}

@media (max-width:620px){
  .pdp-primary{ padding:calc(var(--header-h) + 34px) 0 72px; }
  .pdp-primary__shell,.pdp-details__shell,.pdp-related__shell{ width:calc(100% - 28px); }
  .pdp-breadcrumb{ margin-bottom:24px; font-size:6.5px; }
  .pdp-gallery{ gap:3px; }
  .pdp-media::after{ display:none; }
  .pdp-media > span{ left:9px; bottom:8px; font-size:5px; }
  .pdp-buy{ padding-top:28px; }
  .pdp-buy h1{ font-size:clamp(39px,12vw,50px); }
  .pdp-buy__subtitle{ font-size:10px; }
  .pdp-price{ margin-top:26px; }
  .pdp-price__lead strong{ font-size:27px; }
  .pdp-variants{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 9px; }
  .pdp-field select{ height:49px; }
  .pdp-purchase{ grid-template-columns:88px 1fr; }
  .pdp-add{ padding:0 14px; gap:12px; font-size:7.2px; }
  .pdp-microtrust{ display:none; }
  .pdp-assurance__shell{ width:100%; }
  .pdp-assurance article{ padding:34px 20px; }
  .pdp-details{ padding:82px 0; }
  .pdp-details__intro h2{ font-size:clamp(43px,13vw,57px); }
  .pdp-specs > div{ min-height:55px; }
  .pdp-specs strong{ font-size:16px; }
  .pdp-detail summary{ min-height:76px; grid-template-columns:28px 1fr 25px; gap:10px; }
  .pdp-detail summary strong{ font-size:21px; }
  .pdp-detail > div{ padding:0 4px 27px 38px; }
  .pdp-related{ padding:75px 0 100px; }
  .pdp-related header{ align-items:flex-start; flex-direction:column; margin-bottom:34px; }
  .pdp-related header h2{ font-size:40px; }
  .pdp-related__grid{ gap:9px; row-gap:38px; }
  .pdp-lightbox__dialog{ inset:12px; grid-template-columns:35px 1fr 35px; }
  .pdp-lightbox__nav{ width:35px; font-size:34px; }
}

@media (max-width:350px){
  .pdp-primary__shell,.pdp-details__shell,.pdp-related__shell{ width:calc(100% - 24px); }
  .pdp-buy h1{ font-size:38px; }
  .pdp-purchase{ grid-template-columns:80px 1fr; gap:7px; }
  .pdp-add{ font-size:6.5px; letter-spacing:.11em; }
  .pdp-related header h2{ font-size:35px; }
}

@media (prefers-reduced-motion:reduce){
  .pdp-media img,.pdp-add,.pdp-lightbox{ transition:none!important; }
}

/* B13 / tablet & mobile: gallery becomes a horizontal editorial rail so
   the purchase panel does not sit below six full image rows. */
@media (max-width:900px){
  .pdp-gallery{
    display:flex;
    gap:6px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:3px;
  }

  .pdp-gallery::-webkit-scrollbar{ display:none; }

  .pdp-gallery .pdp-media,
  .pdp-gallery[data-count="1"] .pdp-media,
  .pdp-gallery[data-count="3"] .pdp-media:last-child,
  .pdp-gallery[data-count="5"] .pdp-media:last-child{
    flex:0 0 min(46vw,390px);
    width:min(46vw,390px);
    aspect-ratio:1 / 1;
    grid-column:auto;
    scroll-snap-align:start;
  }
}

@media (max-width:620px){
  .pdp-gallery{
    margin-left:calc((100vw - 100%) / -2);
    margin-right:calc((100vw - 100%) / -2);
    padding-left:14px;
    padding-right:14px;
    gap:6px;
  }

  .pdp-gallery .pdp-media,
  .pdp-gallery[data-count="1"] .pdp-media,
  .pdp-gallery[data-count="3"] .pdp-media:last-child,
  .pdp-gallery[data-count="5"] .pdp-media:last-child{
    flex-basis:76vw;
    width:76vw;
    max-width:350px;
  }
}


/* =========================================================
   B13 R2 / HOME ENXUTA + MAIS PRODUTO
========================================================= */

.chapter-transition--compact{
  height:clamp(22px,3vw,44px);
}

.home-selection{
  position:relative;
  padding:clamp(72px,7vw,108px) 0 clamp(78px,7.5vw,116px);
  background:#f8f6f2;
  color:var(--ess-ink);
}

.home-selection--dating{
  background:#f3eee7;
}

.home-selection__shell{
  width:min(1460px,calc(100% - 64px));
  margin:0 auto;
}

.home-selection__header{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.55fr);
  align-items:end;
  gap:clamp(48px,8vw,130px);
  margin-bottom:clamp(42px,5vw,72px);
}

.home-selection__eyebrow{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:18px;
  color:var(--ess-wine);
}

.home-selection__eyebrow span{
  width:40px;
  height:1px;
  background:currentColor;
}

.home-selection__eyebrow small{
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
}

.home-selection__header h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(46px,5.1vw,78px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.025em;
}

.home-selection__side{
  padding-bottom:5px;
}

.home-selection__side p{
  max-width:470px;
  margin:0 0 23px;
  color:var(--ess-muted);
  font-size:12.5px;
  font-weight:300;
  line-height:1.75;
}

.home-selection__link{
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(25,23,22,.28);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:8px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.home-selection__link svg,
.concierge-contact__secondary--cta svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.home-selection__link:hover svg,
.concierge-contact__secondary--cta:hover svg{
  transform:translateX(4px);
}

.home-selection__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.6vw,28px);
}

.home-selection__grid .product-card{
  min-width:0;
  width:auto;
}

.home-selection__grid .product-card__media{
  aspect-ratio:4 / 5;
}

/* B8 virou somente a faixa aprovada de dúvida/atendimento. */
.concierge-compact{
  position:relative;
  background:#f8f6f2;
}

.concierge-contact--standalone{
  margin:0;
}

.concierge-contact--standalone .concierge-contact__inner{
  min-height:clamp(330px,31vw,470px);
}

.concierge-contact__copy h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(42px,4.8vw,72px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.025em;
}

.concierge-contact__secondary--cta{
  display:inline-flex;
  align-items:center;
  gap:13px;
}

/* B7 / um pouco mais de tempo para sentir o movimento. */
.motion-gallery__stage{
  height:270vh;
}

@media (max-width:1100px){
  .home-selection__header{
    grid-template-columns:1fr;
    gap:28px;
  }

  .home-selection__side p{
    max-width:620px;
  }

  .home-selection__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1024px){
  .motion-gallery__stage{
    height:250vh;
  }
}

@media (max-width:760px){
  .home-selection{
    padding:64px 0 74px;
  }

  .home-selection__shell{
    width:calc(100% - 40px);
  }

  .home-selection__header{
    margin-bottom:38px;
  }

  .home-selection__header h2{
    font-size:clamp(42px,12vw,56px);
  }

  .home-selection__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 12px;
  }

  .concierge-contact--standalone .concierge-contact__inner{
    min-height:360px;
  }
}

@media (max-width:700px){
  .motion-gallery__stage{
    height:235vh;
  }
}

@media (max-width:360px){
  .home-selection__shell{
    width:calc(100% - 32px);
  }

  .home-selection__grid{
    gap:24px 9px;
  }
}


/* B13 R2 / concierge sem CTA duplicado */
.concierge-contact--standalone .concierge-contact__inner{
  grid-template-columns:minmax(0,1fr) auto;
}

.concierge-contact--standalone .concierge-contact__copy{
  max-width:980px;
}

@media (max-width:760px){
  .concierge-contact--standalone .concierge-contact__inner{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   B13 R3 / HOME — CATÁLOGO + EDITORIAL
========================================================= */

/* reduz o vazio entre Favoritos e a próxima família comercial */
.chapter-transition--after-products{
  height:clamp(18px,2vw,30px);
}

.material-duo{
  position:relative;
  padding:clamp(46px,4.8vw,72px) 0 clamp(72px,6.5vw,102px);
  background:#f8f6f2;
  color:var(--ess-ink);
}

.material-duo__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}

.material-duo__intro{
  max-width:760px;
  margin:0 auto clamp(42px,4.5vw,66px);
  text-align:center;
}

.material-duo__intro > span{
  display:block;
  margin-bottom:13px;
  color:var(--ess-wine);
  font-size:7px;
  font-weight:600;
  letter-spacing:.22em;
}

.material-duo__intro h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(31px,3.25vw,48px);
  font-weight:400;
  line-height:1.03;
  letter-spacing:-.02em;
}

.material-duo__groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(25,23,22,.13);
  border-bottom:1px solid rgba(25,23,22,.13);
}

.material-family{
  min-width:0;
  padding:clamp(30px,3vw,46px) clamp(24px,2.7vw,42px) clamp(42px,4vw,62px);
}

.material-family + .material-family{
  border-left:1px solid rgba(25,23,22,.13);
}

.material-family--18k{ background:#fbfaf7; }
.material-family--12k{ background:#f3eee7; }

.material-family__header{
  min-height:70px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:30px;
}

.material-family__header--reverse > div{
  text-align:right;
}

.material-family__header small{
  display:block;
  margin-bottom:8px;
  color:var(--ess-wine);
  font-size:6.5px;
  font-weight:600;
  letter-spacing:.2em;
}

.material-family__header h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(30px,2.8vw,43px);
  font-weight:400;
  line-height:.95;
}

.material-family__header > a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(25,23,22,.28);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:6.5px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

.material-family__header > a svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
}

.material-family__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px 14px;
}

.material-family__grid .product-card{
  min-width:0;
  width:auto;
}

.material-family__grid .product-card__media{
  aspect-ratio:1 / 1.14;
}

/* Namoro continua comercial, mas com título editorial mais seco. */
.home-selection--dating{
  padding-top:clamp(58px,5.5vw,84px);
}
.home-selection--dating .home-selection__header{
  margin-bottom:clamp(34px,4vw,54px);
}
.home-selection--dating .home-selection__header h2{
  font-size:clamp(48px,5vw,72px);
}

/* A referência de movimento deve ser sentida por mais tempo. */
.motion-gallery__stage{
  height:330vh;
}

/* O bloco da PDP passa a ser um 2 x 2 compacto inclusive no mobile. */
.pdp-variants{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 10px;
}

@media (max-width:1100px){
  .material-duo__shell{ width:calc(100% - 40px); }
  .material-family{ padding-left:24px; padding-right:24px; }
}

@media (max-width:1024px){
  .motion-gallery__stage{ height:310vh; }
}

@media (max-width:820px){
  .material-duo__groups{ grid-template-columns:1fr; }
  .material-family + .material-family{ border-left:0; border-top:1px solid rgba(25,23,22,.13); }
  .material-family__header--reverse{ flex-direction:row-reverse; }
  .material-family__header--reverse > div{ text-align:left; }
}

@media (max-width:700px){
  .motion-gallery__stage{ height:285vh; }
}

@media (max-width:620px){
  .material-duo{
    padding:52px 0 68px;
  }
  .material-duo__shell{
    width:calc(100% - 28px);
  }
  .material-duo__intro{
    margin-bottom:38px;
  }
  .material-duo__intro h2{
    font-size:clamp(29px,9.4vw,39px);
  }
  .material-family{
    padding:30px 12px 44px;
  }
  .material-family__header{
    min-height:0;
    margin-bottom:23px;
  }
  .material-family__header h3{
    font-size:31px;
  }
  .material-family__grid{
    gap:28px 9px;
  }
  .material-family__header > a{
    font-size:6px;
  }
  .home-selection--dating{
    padding-top:58px;
  }
  .pdp-variants{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px 8px;
  }
  .pdp-field select{
    padding-left:10px;
    padding-right:22px;
    font-size:9.2px;
  }
}

@media (max-width:350px){
  .material-duo__shell{ width:calc(100% - 24px); }
  .material-family{ padding-left:9px; padding-right:9px; }
  .material-family__grid{ column-gap:7px; }
  .pdp-variants{ gap:10px 7px; }
  .pdp-field select{ font-size:8.8px; }
}

/* =========================================================
   B13 R4 / HOME — RITMO MAIS COMERCIAL + EDITORIAL
   Ajustes baseados na revisão visual do usuário.
========================================================= */

/* Menos vazio depois dos Favoritos. */
.bestsellers{
  padding-bottom:clamp(42px,4.2vw,68px);
}

.bestsellers__footer{
  min-height:62px;
  margin-top:24px;
  padding-top:20px;
}

.chapter-transition--after-products{
  height:clamp(6px,.9vw,14px);
  background:#f8f6f2;
}

/* Ouro 18K / Ouro 12K deixa de parecer outra vitrine idêntica. */
.material-duo--r4{
  padding:clamp(30px,3vw,44px) 0 clamp(58px,5.5vw,84px);
  background:#f8f6f2;
}

.material-duo--r4 .material-duo__shell{
  width:min(1500px,calc(100% - 64px));
}

.material-duo__intro--compact{
  max-width:none;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin:0 0 clamp(26px,3vw,40px);
  text-align:left;
  border-bottom:1px solid rgba(25,23,22,.12);
  padding-bottom:18px;
}

.material-duo__intro--compact > span{
  margin:0;
  flex:0 0 auto;
}

.material-duo__intro--compact h2{
  max-width:760px;
  margin:0;
  text-align:right;
  font-size:clamp(28px,2.6vw,40px);
  line-height:1.02;
}

.material-story{
  display:grid;
  grid-template-columns:minmax(245px,.30fr) minmax(0,1fr);
  min-height:0;
  border:1px solid rgba(25,23,22,.12);
  background:#fff;
}

.material-story + .material-story{
  margin-top:clamp(24px,2.4vw,36px);
}

.material-story--12k{
  grid-template-columns:minmax(0,1fr) minmax(245px,.30fr);
}

.material-story__editorial{
  min-width:0;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:48px;
  padding:clamp(34px,3.6vw,54px);
  background:#eee4d5;
}

.material-story__editorial--12k{
  background:#ece6df;
}

.material-story__editorial small{
  display:block;
  margin-bottom:15px;
  color:var(--ess-wine);
  font-size:7px;
  font-weight:600;
  letter-spacing:.22em;
}

.material-story__editorial h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(39px,3.8vw,61px);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.025em;
}

.material-story__editorial p{
  max-width:350px;
  margin:24px 0 0;
  color:var(--ess-muted);
  font-size:12px;
  font-weight:300;
  line-height:1.75;
}

.material-story__editorial > a{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(25,23,22,.28);
  color:var(--ess-ink);
  text-decoration:none;
  font-size:7px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.material-story__editorial > a svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  transition:transform .3s var(--ease);
}

.material-story__editorial > a:hover svg{
  transform:translateX(4px);
}

.material-story__products{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  align-items:start;
  background:#fff;
}

.material-story__products .product-card{
  min-width:0;
  width:auto;
  padding:18px 14px 22px;
  border-left:1px solid rgba(25,23,22,.09);
}

.material-story--12k .material-story__products .product-card{
  border-left:0;
  border-right:1px solid rgba(25,23,22,.09);
}

.material-story__products .product-card__media{
  aspect-ratio:1 / 1.06;
}

.material-story__products .product-card__info{
  padding-top:12px;
}

.material-story__products .product-card__meta{
  margin-bottom:6px;
}

.material-story__products .product-card__meta span{
  font-size:6.2px;
}

.material-story__products .product-card__title{
  font-size:clamp(17px,1.35vw,21px);
}

.material-story__products .product-card__pricing{
  margin-top:12px;
  padding-top:10px;
}

.material-story__products .product-card__pix-row strong{
  font-size:clamp(16px,1.2vw,20px);
}

.material-story__products .product-card__pricing p{
  font-size:8px;
}

/* Aproxima Atelier de Fragmentos e evita novo "deserto" visual. */
.chapter-transition--compact{
  height:clamp(8px,1vw,16px);
}

.atelier{
  padding-top:clamp(72px,7vw,105px);
  padding-bottom:clamp(28px,3vw,44px);
}

.atelier__header{
  margin-bottom:clamp(42px,4.5vw,66px);
}

.restoration{
  margin-top:clamp(48px,5vw,72px);
}

.chapter-transition--after-atelier{
  height:clamp(4px,.6vw,10px);
}

.motion-gallery__intro{
  padding-top:clamp(52px,5.4vw,78px);
  padding-bottom:clamp(58px,6vw,86px);
}

/* Mais percurso = movimento mais lento e mais tempo para observar. */
.motion-gallery__stage{
  height:390vh;
}

@media (max-width:1180px){
  .material-story,
  .material-story--12k{
    grid-template-columns:1fr;
  }

  .material-story--12k .material-story__products{
    order:2;
  }

  .material-story--12k .material-story__editorial{
    order:1;
  }

  .material-story__editorial{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:34px;
    padding:30px 34px;
  }

  .material-story__editorial p{
    max-width:560px;
    margin-top:16px;
  }

  .material-story__products .product-card{
    border-top:1px solid rgba(25,23,22,.09);
  }
}

@media (max-width:1024px){
  .motion-gallery__stage{
    height:350vh;
  }
}

@media (max-width:820px){
  .material-duo--r4 .material-duo__shell{
    width:calc(100% - 40px);
  }

  .material-duo__intro--compact{
    display:block;
  }

  .material-duo__intro--compact h2{
    max-width:560px;
    margin-top:10px;
    text-align:left;
  }

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

  .material-story__products .product-card{
    border-bottom:1px solid rgba(25,23,22,.09);
  }

  .material-story__products .product-card:nth-child(odd){
    border-left:0;
  }

  .material-story__products .product-card:nth-child(even){
    border-left:1px solid rgba(25,23,22,.09);
  }

  .material-story--12k .material-story__products .product-card{
    border-right:0;
  }

  .material-story__editorial{
    grid-template-columns:1fr auto;
  }
}

@media (max-width:700px){
  .motion-gallery__stage{
    height:320vh;
  }
}

@media (max-width:620px){
  .bestsellers{
    padding-bottom:34px;
  }

  .bestsellers__footer{
    min-height:52px;
    margin-top:18px;
    padding-left:20px;
    padding-right:20px;
  }

  .material-duo--r4{
    padding:26px 0 54px;
  }

  .material-duo--r4 .material-duo__shell{
    width:calc(100% - 28px);
  }

  .material-duo__intro--compact{
    margin-bottom:22px;
  }

  .material-duo__intro--compact h2{
    font-size:31px;
  }

  .material-story + .material-story{
    margin-top:18px;
  }

  .material-story__editorial{
    display:block;
    padding:28px 22px 26px;
  }

  .material-story__editorial h3{
    font-size:40px;
  }

  .material-story__editorial p{
    font-size:11.5px;
  }

  .material-story__editorial > a{
    margin-top:24px;
  }

  .material-story__products .product-card{
    padding:10px 8px 18px;
  }

  .material-story__products .product-card__badge{
    top:9px;
    left:9px;
  }

  .material-story__products .product-card__view{
    left:9px;
    right:9px;
    bottom:9px;
  }

  .material-story__products .product-card__title{
    font-size:18px;
  }

  .atelier{
    padding-top:58px;
    padding-bottom:20px;
  }

  .atelier__header{
    margin-bottom:38px;
  }

  .restoration{
    margin-top:40px;
  }

  .motion-gallery__intro{
    padding-top:44px;
  }
}

/* R4 fine tune: reduz ainda mais o intervalo percebido entre vitrines. */
.bestsellers{
  padding-bottom:clamp(30px,3.2vw,48px);
}
.bestsellers__footer{
  min-height:54px;
  margin-top:20px;
  padding-top:17px;
}
.chapter-transition--after-products{
  height:clamp(2px,.45vw,7px);
}
.material-duo--r4{
  padding-top:clamp(22px,2.3vw,34px);
}


/* =========================================================
   B13 R5 / HOME — MUDANÇA VISÍVEL DE RITMO
========================================================= */
.bestsellers{padding-bottom:14px!important;}
.bestsellers__footer{min-height:44px!important;margin-top:14px!important;padding-top:12px!important;}
.chapter-transition--after-products{height:0!important;min-height:0!important;}
.material-duo--r4{padding:20px 0 52px!important;border-top:1px solid rgba(25,23,22,.08);}
.material-duo__intro--r5{max-width:none!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;margin:0 0 18px!important;padding:0 0 17px!important;text-align:center!important;}
.material-duo__intro--r5>span{margin:0!important;font-size:6.5px!important;letter-spacing:.24em!important;white-space:nowrap;}
.material-duo__intro--r5 h2{max-width:none!important;margin:0!important;text-align:center!important;font-size:clamp(18px,1.65vw,25px)!important;line-height:1.1!important;letter-spacing:-.012em!important;}
.material-story{grid-template-columns:minmax(210px,.22fr) minmax(0,1fr)!important;border-color:rgba(25,23,22,.10)!important;}
.material-story--12k{grid-template-columns:minmax(0,1fr) minmax(210px,.22fr)!important;}
.material-story+.material-story{margin-top:14px!important;}
.material-story__editorial{padding:28px 26px!important;gap:26px!important;background:#eee5d8!important;}
.material-story__editorial--12k{background:#e9e5df!important;}
.material-story__mark{display:block;margin:-2px 0 14px;color:rgba(72,19,31,.12);font-family:var(--serif);font-size:clamp(72px,7vw,112px);font-weight:400;line-height:.72;letter-spacing:-.05em;}
.material-story__editorial h3{font-size:clamp(28px,2.45vw,39px)!important;line-height:.98!important;}
.material-story__editorial p{max-width:280px!important;margin-top:16px!important;font-size:10.5px!important;line-height:1.65!important;}
.material-story__editorial>a{margin-top:8px;font-size:6.4px!important;}
.material-story__products .product-card{padding:12px 10px 16px!important;}
.material-story__products .product-card__media{aspect-ratio:1/1.02!important;}
.material-story__products .product-card__info{padding-top:9px!important;}
.material-story__products .product-card__title{font-size:clamp(15px,1.15vw,18px)!important;}
.material-story__products .product-card__pricing{margin-top:8px!important;padding-top:8px!important;}
.material-story__products .product-card__pix-row strong{font-size:clamp(15px,1.05vw,18px)!important;}
.chapter-transition--compact{height:0!important;}
.atelier{padding-top:58px!important;padding-bottom:0!important;}
.atelier__header{margin-bottom:38px!important;}
.restoration{margin-top:38px!important;margin-bottom:0!important;}
.chapter-transition--after-atelier{height:0!important;min-height:0!important;}
.motion-gallery__intro{padding-top:34px!important;padding-bottom:42px!important;}
.motion-gallery__label{margin-bottom:16px!important;}
.motion-gallery__intro h2{font-size:clamp(52px,5.6vw,88px)!important;}
.motion-gallery__stage{height:520vh!important;min-height:4200px!important;}
.motion-column__track{gap:14px!important;}
.motion-gallery__outro{min-height:230px!important;padding:56px 32px!important;}
.chapter-transition--after-motion{height:28px!important;}
@media(max-width:1180px){
 .material-story,.material-story--12k{grid-template-columns:1fr!important;}
 .material-story__editorial{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;}
 .material-story__editorial>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:18px;}
 .material-story__editorial small{grid-column:1/-1;}
 .material-story__mark{margin:0!important;font-size:64px!important;}
 .material-story__editorial h3{font-size:31px!important;}
 .material-story__editorial p{grid-column:1/-1;max-width:620px!important;margin-top:10px!important;}
}
@media(max-width:1024px){.motion-gallery__stage{height:500vh!important;min-height:3900px!important;}}
@media(max-width:820px){
 .material-duo--r4{padding-top:16px!important;}
 .material-duo__intro--r5{display:block!important;text-align:left!important;padding-bottom:14px!important;}
 .material-duo__intro--r5 h2{margin-top:8px!important;text-align:left!important;font-size:22px!important;}
 .material-story__editorial{display:block!important;padding:24px 22px!important;}
 .material-story__editorial>div{display:block;}
 .material-story__mark{margin:0 0 12px!important;font-size:72px!important;}
 .material-story__editorial h3{font-size:34px!important;}
 .material-story__editorial p{max-width:480px!important;}
 .material-story__editorial>a{margin-top:18px;}
}
@media(max-width:700px){
 .bestsellers{padding-bottom:8px!important;}
 .bestsellers__footer{min-height:40px!important;margin-top:10px!important;}
 .material-duo--r4{padding:12px 0 40px!important;}
 .material-story+.material-story{margin-top:10px!important;}
 .atelier{padding-top:46px!important;}
 .restoration{margin-top:30px!important;}
 .motion-gallery__intro{padding-top:28px!important;padding-bottom:34px!important;}
 .motion-gallery__stage{height:520vh!important;min-height:3650px!important;}
 .motion-column__track{gap:9px!important;}
 .motion-gallery__outro{min-height:190px!important;padding:46px 20px!important;}
}


/* =========================================================
   B13 R6 / HOME — RITMO EDITORIAL DEFINITIVO
   Favoritos sobe + famílias 18K/12K em 2x2 + Fragmentos enxuto.
========================================================= */

/* A assinatura dos universos termina o capítulo; não precisa de um deserto depois. */
.universes{
  padding-bottom:clamp(28px,2.6vw,42px)!important;
}
.universes + .chapter-transition{
  height:clamp(8px,1vw,16px)!important;
  min-height:0!important;
  background:linear-gradient(180deg,var(--ess-paper),#fff)!important;
}

/* Favoritos passa a entrar logo na sequência. */
.bestsellers{
  padding-top:clamp(42px,4.5vw,68px)!important;
  padding-bottom:clamp(26px,3vw,44px)!important;
}
.bestsellers__header{
  margin-bottom:clamp(34px,4vw,54px)!important;
}
.bestsellers__footer{
  min-height:46px!important;
  margin-top:18px!important;
  padding-top:14px!important;
}
.chapter-transition--after-products{
  height:clamp(8px,1vw,16px)!important;
  min-height:0!important;
}

/* Bloco 18K / 12K: duas famílias lado a lado; cada família é um grid real 2x2. */
.material-duo--r6{
  padding:clamp(28px,3vw,46px) 0 clamp(54px,5.8vw,86px)!important;
  background:#f7f4ef!important;
  border-top:1px solid rgba(25,23,22,.08);
}
.material-duo--r6 .material-duo__shell{
  width:min(1500px,calc(100% - 64px));
  margin:0 auto;
}
.material-duo__intro--r6{
  max-width:none!important;
  margin:0 0 clamp(24px,2.6vw,38px)!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(120px,.34fr) minmax(0,1fr)!important;
  align-items:end!important;
  gap:clamp(34px,6vw,100px)!important;
  text-align:left!important;
}
.material-duo__intro--r6>span{
  margin:0 0 5px!important;
  color:var(--ess-wine)!important;
  font-size:7px!important;
  font-weight:600!important;
  letter-spacing:.24em!important;
}
.material-duo__intro--r6>div{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.55fr);
  align-items:end;
  gap:clamp(28px,5vw,84px);
}
.material-duo__intro--r6 h2{
  margin:0!important;
  max-width:620px!important;
  font-family:var(--serif)!important;
  font-size:clamp(34px,3.3vw,52px)!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:-.025em!important;
  text-align:left!important;
}
.material-duo__intro--r6 p{
  margin:0 0 3px;
  max-width:450px;
  color:var(--ess-muted);
  font-size:11.5px;
  font-weight:300;
  line-height:1.7;
}
.material-duo__groups--r6{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border:1px solid rgba(25,23,22,.11)!important;
  background:rgba(25,23,22,.11)!important;
  gap:1px!important;
}
.material-duo--r6 .material-family{
  min-width:0;
  padding:clamp(26px,2.5vw,38px) clamp(20px,2.1vw,32px) clamp(34px,3vw,48px)!important;
  border:0!important;
}
.material-duo--r6 .material-family--18k{background:#fbfaf7!important;}
.material-duo--r6 .material-family--12k{background:#f2ece4!important;}
.material-duo--r6 .material-family__header{
  min-height:64px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:22px!important;
  margin:0 0 clamp(22px,2.2vw,31px)!important;
}
.material-duo--r6 .material-family__header small{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--ess-wine)!important;
  font-size:6.5px!important;
  font-weight:600!important;
  letter-spacing:.22em!important;
}
.material-duo--r6 .material-family__header h3{
  margin:0!important;
  font-family:var(--serif)!important;
  font-size:clamp(31px,2.8vw,44px)!important;
  font-weight:400!important;
  line-height:.95!important;
  letter-spacing:-.02em!important;
}
.material-duo--r6 .material-family__header>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 0 5px!important;
  border:0!important;
  border-bottom:1px solid rgba(25,23,22,.28)!important;
  color:var(--ess-ink)!important;
  text-decoration:none!important;
  font-size:6.4px!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.material-duo--r6 .material-family__header>a svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.2!important;
}
.material-duo--r6 .material-family__grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(24px,2.1vw,34px) clamp(10px,1vw,15px)!important;
}
.material-duo--r6 .material-family__grid .product-card{
  min-width:0!important;
  width:auto!important;
  flex:initial!important;
  padding:0!important;
  background:transparent!important;
}
.material-duo--r6 .material-family__grid .product-card__media{
  aspect-ratio:1/1.12!important;
  background:#f3eee6!important;
}
.material-duo--r6 .material-family--12k .product-card__media{
  background:#f7f3ed!important;
}
.material-duo--r6 .material-family__grid .product-card__info{
  padding-top:10px!important;
}
.material-duo--r6 .material-family__grid .product-card__title{
  font-size:clamp(16px,1.25vw,20px)!important;
  line-height:1.05!important;
}
.material-duo--r6 .material-family__grid .product-card__meta{
  font-size:6px!important;
}
.material-duo--r6 .material-family__grid .product-card__attributes{
  min-height:22px!important;
  margin-top:9px!important;
  padding-top:8px!important;
}
.material-duo--r6 .material-family__grid .product-card__pricing{
  margin-top:9px!important;
  padding-top:9px!important;
}
.material-duo--r6 .material-family__grid .product-card__pix-row strong{
  font-size:clamp(16px,1.2vw,19px)!important;
}
.material-duo--r6 .material-family__grid .product-card__pricing p{
  font-size:7.5px!important;
}

/* Fragmentos: continua físico e rico, mas não se estende tanto quanto a R5. */
.motion-gallery__stage{
  height:390vh!important;
  min-height:0!important;
}
.motion-column__track{
  gap:13px!important;
}

@media(max-width:1100px){
  .material-duo__intro--r6>div{grid-template-columns:1fr;gap:14px;}
  .material-duo__intro--r6 p{max-width:620px;}
}

@media(max-width:900px){
  .material-duo__intro--r6{grid-template-columns:1fr!important;gap:12px!important;}
  .material-duo__groups--r6{grid-template-columns:1fr!important;}
  .material-duo--r6 .material-family+.material-family{border-top:0!important;}
  .motion-gallery__stage{height:350vh!important;}
}

@media(max-width:720px){
  .universes{padding-bottom:20px!important;}
  .universes + .chapter-transition{height:0!important;}
  .bestsellers{padding-top:38px!important;padding-bottom:24px!important;}
  .bestsellers__header{margin-bottom:30px!important;}
  .chapter-transition--after-products{height:0!important;}
  .material-duo--r6{padding:28px 0 56px!important;}
  .material-duo--r6 .material-duo__shell{width:calc(100% - 28px)!important;}
  .material-duo__intro--r6{margin-bottom:20px!important;}
  .material-duo__intro--r6 h2{font-size:36px!important;}
  .material-duo__intro--r6 p{font-size:11px!important;}
  .material-duo--r6 .material-family{padding:24px 12px 36px!important;}
  .material-duo--r6 .material-family__header{min-height:0!important;margin-bottom:22px!important;}
  .material-duo--r6 .material-family__header h3{font-size:32px!important;}
  .material-duo--r6 .material-family__header>a{font-size:5.8px!important;}
  .material-duo--r6 .material-family__grid{gap:26px 8px!important;}
  .material-duo--r6 .material-family__grid .product-card__title{font-size:16px!important;}
  .material-duo--r6 .material-family__grid .product-card__pix-row strong{font-size:15px!important;}
  .motion-gallery__stage{height:320vh!important;}
}

@media(max-width:360px){
  .material-duo--r6 .material-duo__shell{width:calc(100% - 20px)!important;}
  .material-duo--r6 .material-family{padding-left:9px!important;padding-right:9px!important;}
  .material-duo--r6 .material-family__grid{column-gap:6px!important;}
  .material-duo--r6 .material-family__header{gap:10px!important;}
  .material-duo--r6 .material-family__header>a{font-size:5.3px!important;}
}


/* =========================================================
   B13 R7 — PERFORMANCE PASS
   Mantém o visual da R6 e reduz custo de composição/repaint.
========================================================= */

.motion-column{
  overflow:hidden!important;
  contain:layout paint style;
  will-change:auto!important;
}

.motion-column__track{
  will-change:auto!important;
  backface-visibility:hidden;
  transform:translate3d(0,0,0);
}

.motion-gallery.is-motion-active .motion-column__track{
  will-change:transform!important;
}

.motion-tile img{
  transform:none!important;
  filter:none!important;
  transition:none!important;
  backface-visibility:hidden;
}



/* R7 PERF 2 — reduzir superfícies com blur/filter durante scroll */
.site-header.is-sticky{
  background:rgba(250,248,244,.985)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.product-card--definitive .product-card__image{
  filter:none!important;
}

.product-card--definitive .product-card__badge,
.product-card__badge--soft,
.product-card__view{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.product-card--definitive .product-card__badge--soft{
  background:rgba(250,248,244,.98)!important;
}

.product-card__view{
  background:rgba(250,248,244,.985)!important;
}

/* =========================================================
   WHATSAPP — botão flutuante (assets/js/whatsapp.js)
========================================================= */
.whatsapp-float{
  --whatsapp-bg:#25d366;
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:110;
  display:flex;
  align-items:center;
  gap:10px;
  height:54px;
  padding:0 20px 0 17px;
  border-radius:999px;
  background:var(--whatsapp-bg);
  color:#fff;
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 12px 32px rgba(25,23,22,.18);
  transition:transform .25s ease, box-shadow .25s ease, opacity .2s ease;
}
.whatsapp-float svg{ width:22px; height:22px; flex:none; fill:currentColor; }
.whatsapp-float:hover,
.whatsapp-float:focus-visible{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(25,23,22,.24); }
.whatsapp-float:focus-visible{ outline:2px solid var(--ess-ink); outline-offset:3px; }
.is-locked .whatsapp-float{ opacity:0; pointer-events:none; }

@media (max-width:760px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    width:54px;
    padding:0;
    justify-content:center;
  }
  .whatsapp-float svg{ width:26px; height:26px; }
  .whatsapp-float span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }
}

@media (prefers-reduced-motion:reduce){
  .whatsapp-float{ transition:none; }
}

/* =========================================================
   PDP — peça com uma foto só (a maioria do catálogo)
   O trilho horizontal do tablet/mobile deixava a foto em meia largura.
========================================================= */
@media (max-width:900px){
  .pdp-gallery[data-count="1"] .pdp-media{
    flex:1 1 100%;
    width:100%;
    max-width:620px;
    margin:0 auto;
  }
}

@media (max-width:620px){
  .pdp-gallery[data-count="1"] .pdp-media{
    max-width:none;
  }
}

/* =========================================================
   SACOLA (assets/js/cart.js) — mesmo vocabulário do filter-drawer
========================================================= */
.bag-drawer{ position:fixed; inset:0; z-index:150; visibility:hidden; pointer-events:none; transition:visibility .4s; }
.bag-drawer.is-open{ visibility:visible; pointer-events:auto; }
.bag-drawer__backdrop{ position:absolute; inset:0; background:rgba(15,10,10,.38); opacity:0; transition:opacity .35s ease; }
.bag-drawer.is-open .bag-drawer__backdrop{ opacity:1; }
.bag-drawer__panel{
  position:absolute; top:0; right:0; width:min(470px,100vw); height:100%;
  display:grid; grid-template-rows:auto 1fr auto;
  background:#fbfaf7; color:var(--ess-ink);
  transform:translateX(102%); transition:transform .48s var(--ease);
  box-shadow:-20px 0 60px rgba(25,23,22,.10);
}
.bag-drawer.is-open .bag-drawer__panel{ transform:none; }
.bag-drawer__header{ min-height:96px; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--ess-line); }
.bag-drawer__header small{ display:block; margin-bottom:8px; color:var(--ess-wine); font-size:8px; font-weight:600; letter-spacing:.18em; }
.bag-drawer__header h2{ margin:0; font-family:var(--serif); font-size:30px; font-weight:400; }
.bag-drawer__close{ width:42px; height:42px; display:grid; place-items:center; border:0; background:transparent; color:var(--ess-ink); cursor:pointer; }
.bag-drawer__close svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.3; }
.bag-drawer__body{ overflow-y:auto; overscroll-behavior:contain; padding:8px 26px 24px; }
.bag-drawer__footer{ padding:16px 26px 22px; border-top:1px solid var(--ess-line); background:#fbfaf7; }
.bag-drawer__footer:empty{ display:none; }

.bag-empty{ padding:60px 0; text-align:center; color:var(--ess-muted); }
.bag-empty a{ display:inline-block; margin-top:14px; color:var(--ess-ink); font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; border-bottom:1px solid var(--ess-ink); padding-bottom:4px; text-decoration:none; }

.bag-item{ display:grid; grid-template-columns:92px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--ess-line); }
.bag-item__media img{ width:92px; height:92px; display:block; object-fit:cover; background:#f0ede8; }
.bag-item__info{ min-width:0; }
.bag-item__info small{ display:block; color:var(--ess-muted); font-size:7.5px; font-weight:600; letter-spacing:.14em; }
.bag-item__name{ display:block; margin:5px 0 8px; color:var(--ess-ink); font-family:var(--serif); font-size:21px; line-height:1.15; text-decoration:none; }
.bag-item__options{ margin:0 0 12px; padding:0; list-style:none; color:var(--ess-muted); font-size:11px; line-height:1.6; }
.bag-item__row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bag-item__row strong{ font-size:13px; font-weight:600; }
.bag-qty{ display:inline-grid; grid-template-columns:30px 26px 30px; align-items:center; border:1px solid var(--ess-line); }
.bag-qty button{ height:30px; border:0; background:transparent; color:var(--ess-ink); font-size:15px; cursor:pointer; }
.bag-qty span{ text-align:center; font-size:12px; }
.bag-item__remove{ margin-top:10px; padding:0; border:0; background:none; color:var(--ess-muted); font-size:10px; text-decoration:underline; cursor:pointer; }
.bag-note{ margin:18px 0 0; color:var(--ess-muted); font-size:11px; }

.bag-totals p{ margin:0; display:flex; align-items:baseline; gap:8px; }
.bag-totals span{ color:var(--ess-muted); font-size:11px; }
.bag-totals strong{ margin-left:auto; font-size:21px; font-weight:600; }
.bag-totals em{ padding:4px 6px; background:#f1e4e4; color:var(--ess-wine); font-size:7px; font-style:normal; font-weight:700; letter-spacing:.08em; }
.bag-totals__card{ margin-top:6px!important; justify-content:flex-end; color:var(--ess-muted); font-size:11px; }

.bag-primary,
.bag-secondary{
  width:100%; min-height:54px; margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:0 20px; border:1px solid var(--ess-wine-dark); cursor:pointer;
  font-family:var(--sans); font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  transition:background .25s ease, color .25s ease, opacity .2s ease;
}
.bag-primary{ background:var(--ess-wine-dark); color:#fff; }
.bag-primary:hover{ background:var(--ess-wine); }
.bag-secondary{ background:#fff; color:var(--ess-wine-dark); }
.bag-secondary:hover{ background:#f6f1ef; }
.bag-primary b,
.bag-secondary b{ font-size:13px; letter-spacing:0; }
.bag-primary svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.4; }
.bag-primary:disabled,
.bag-secondary:disabled{ opacity:.55; cursor:progress; }
.bag-pay .bag-secondary{ margin-top:8px; }
.bag-status{ min-height:16px; margin:12px 0 0; color:var(--ess-wine); font-size:11px; line-height:1.5; }
.bag-status--info{ color:var(--ess-muted); }
.bag-secure{ margin:6px 0 0; color:var(--ess-muted); font-size:10px; text-align:center; }

.bag-back{ margin:14px 0 4px; padding:0; border:0; background:none; color:var(--ess-muted); font-size:11px; cursor:pointer; }
.bag-form fieldset{ margin:18px 0 0; padding:0; border:0; }
.bag-form legend{ margin-bottom:12px; font-family:var(--serif); font-size:22px; }
.bag-field{ display:block; margin-bottom:12px; }
.bag-field span{ display:block; margin-bottom:6px; color:#746e69; font-size:7.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.bag-field input{
  width:100%; height:46px; padding:0 12px; border:1px solid rgba(25,23,22,.16); border-radius:0;
  background:#fff; color:var(--ess-ink); font:13px var(--sans); outline:0;
}
.bag-field input:focus{ border-color:var(--ess-wine); }
.bag-field-row{ display:grid; grid-template-columns:.8fr 1.2fr; gap:10px; }
.bag-choice{ display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; margin-bottom:10px; padding:14px; border:1px solid var(--ess-line); background:#fff; cursor:pointer; }
.bag-choice input{ margin:2px 0 0; accent-color:var(--ess-wine); }
.bag-choice b{ display:block; font-size:12px; font-weight:600; }
.bag-choice small{ display:block; margin-top:3px; color:var(--ess-muted); font-size:11px; line-height:1.45; }
.bag-address{ margin-top:12px; }
.bag-address[hidden]{ display:none; }
.bag-consent{ display:grid; grid-template-columns:20px 1fr; gap:10px; margin:18px 0 0; color:var(--ess-muted); font-size:11px; line-height:1.5; cursor:pointer; }
.bag-consent input{ margin:2px 0 0; accent-color:var(--ess-wine); }
.bag-turnstile{ margin-top:16px; min-height:65px; }

@media (max-width:520px){
  .bag-drawer__header,
  .bag-drawer__body,
  .bag-drawer__footer{ padding-left:18px; padding-right:18px; }
  .bag-item{ grid-template-columns:76px 1fr; gap:12px; }
  .bag-item__media img{ width:76px; height:76px; }
}

@media (prefers-reduced-motion:reduce){
  .bag-drawer__panel,
  .bag-drawer__backdrop{ transition:none; }
}

/* =========================================================
   PÁGINA DO PEDIDO (pedido.html) e 404
========================================================= */
.order-page{ min-height:62vh; padding:clamp(56px,9vw,120px) 20px; }
.order-page__shell{ width:min(720px,100%); margin:0 auto; }
.order-page__eyebrow{ display:block; margin-bottom:16px; color:var(--ess-wine); font-size:8px; font-weight:600; letter-spacing:.18em; }
.order-page h1{ margin:0; font-family:var(--serif); font-size:clamp(40px,7vw,68px); font-weight:400; line-height:1.02; }
.order-page__lead{ max-width:520px; margin:18px 0 0; color:var(--ess-muted); font-size:14px; line-height:1.65; }
.order-page__card{ margin-top:40px; padding:26px; border:1px solid var(--ess-line); background:#fff; }
.order-page__card[hidden]{ display:none; }
.order-page__summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 22px; }
.order-page__summary dt{ color:var(--ess-muted); font-size:7.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.order-page__summary dd{ margin:6px 0 0; font-size:14px; font-weight:600; }
.order-page__items{ margin:0; padding:0; list-style:none; border-top:1px solid var(--ess-line); }
.order-page__items li{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--ess-line); }
.order-page__items strong{ display:block; font-size:13px; font-weight:600; }
.order-page__items span{ display:block; margin-top:4px; color:var(--ess-muted); font-size:11px; line-height:1.5; }
.order-page__items b{ white-space:nowrap; font-size:13px; }
.order-page__delivery{ margin:18px 0 0; color:var(--ess-muted); font-size:12px; }
.order-page__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:32px; }
.order-page__button{ min-height:52px; display:inline-flex; align-items:center; padding:0 26px; background:var(--ess-wine-dark); color:#fff; font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; }
.order-page__link{ color:var(--ess-ink); font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid var(--ess-ink); padding-bottom:4px; }

@media (max-width:560px){
  .order-page__summary{ grid-template-columns:1fr 1fr; }
  .order-page__card{ padding:18px; }
}

/* =========================================================
   SELETOR DA PDP (assets/js/custom-select.js)
   O painel nasce da borda inferior da própria caixa.
========================================================= */
.ess-select-native{ display:none!important; }
.pdp-field{ position:relative; }
.pdp-field.is-select-open{ z-index:40; }

.ess-select{ position:relative; }
.ess-select__button{
  width:100%; height:50px; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:0 14px 0 12px; border:1px solid rgba(25,23,22,.16); border-radius:0;
  background:#fbfaf7; color:var(--ess-muted); font:10px var(--sans); text-align:left; cursor:pointer;
  transition:border-color .25s ease, background .25s ease, color .25s ease;
}
.ess-select.has-value .ess-select__button{ color:var(--ess-ink); }
.ess-select__button:hover{ border-color:rgba(25,23,22,.32); }
.ess-select__button:focus-visible{ outline:none; border-color:var(--ess-wine); box-shadow:0 0 0 3px rgba(106,31,50,.12); }
.ess-select__value{ overflow:hidden; white-space:pre; text-overflow:ellipsis; }
.ess-select__button svg{ width:14px; height:14px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .35s var(--ease); }
.ess-select.is-open .ess-select__button{ border-color:var(--ess-wine); border-bottom-color:transparent; background:#fff; color:var(--ess-ink); }
.ess-select.is-open .ess-select__button svg{ transform:rotate(180deg); }

.ess-select__panel{
  position:absolute; left:0; top:calc(100% - 1px); z-index:2;
  width:100%; max-height:min(330px, 52vh); overflow-y:auto; overscroll-behavior:contain;
  padding:6px; border:1px solid var(--ess-wine); border-top:0; background:#fff;
  box-shadow:0 22px 44px -18px rgba(25,23,22,.28);
  clip-path:inset(0 0 100% 0); opacity:0; transform:translateY(-6px);
  visibility:hidden; pointer-events:none; outline:none;
  transition:clip-path .38s var(--ease), opacity .22s ease, transform .38s var(--ease), visibility 0s linear .38s;
}
.ess-select__panel::before{ content:""; position:sticky; top:-6px; display:block; height:1px; margin:-6px -6px 6px; background:var(--ess-line); }
.ess-select.is-open .ess-select__panel{
  clip-path:inset(0 0 0 0); opacity:1; transform:none; visibility:visible; pointer-events:auto;
  transition:clip-path .38s var(--ease), opacity .22s ease, transform .38s var(--ease), visibility 0s;
}

.ess-select__option{
  display:flex; align-items:center; gap:12px;
  min-height:42px; padding:0 10px; color:var(--ess-ink); font-size:11px; cursor:pointer;
  transition:background .18s ease, color .18s ease;
}
.ess-select__option span{ flex:1; min-width:0; }
.ess-select__option small{ color:var(--ess-wine); font-size:9.5px; font-weight:600; white-space:nowrap; }
.ess-select__option.is-active{ background:#f6f1ef; }
.ess-select__option[aria-selected="true"]{ color:var(--ess-wine-dark); font-weight:600; }
.ess-select__option[aria-selected="true"]::after{
  content:""; flex:none; width:5px; height:9px; border:solid var(--ess-wine); border-width:0 1.5px 1.5px 0; transform:rotate(45deg) translateY(-2px);
}

.ess-select.is-open .ess-select__option{ animation:essOptionIn .34s var(--ease) both; animation-delay:calc(var(--i) * 16ms + 60ms); }
@keyframes essOptionIn{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }

/* Aro: numeração compacta + bloco "Com acréscimo", sempre na largura da caixa */
.ess-select--grid .ess-select__panel{ padding:10px; max-height:min(400px, 62vh); }
.ess-select--grid .ess-select__panel.is-wide{ border-top:1px solid var(--ess-wine); }
.ess-select--grid .ess-select__panel.is-wide::before{ display:none; }
.ess-select__grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
.ess-select__grid--extra{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.ess-select__group{
  margin:12px 2px 8px; padding-top:12px; border-top:1px solid var(--ess-line);
  color:var(--ess-muted); font-size:7.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
}
.ess-select--grid .ess-select__option{
  min-height:38px; justify-content:center; padding:0 2px; background:#faf8f5;
  font-size:12.5px; font-variant-numeric:tabular-nums;
}
.ess-select--grid .ess-select__option span{ flex:none; }
.ess-select__grid--extra .ess-select__option{ min-height:46px; flex-direction:column; gap:2px; }
.ess-select--grid .ess-select__option small{ font-size:8.5px; font-weight:500; letter-spacing:0; }
.ess-select--grid .ess-select__option.is-active{ background:#f3ebe7; color:var(--ess-wine-dark); }
.ess-select--grid .ess-select__option[aria-selected="true"]{ background:var(--ess-wine-dark); color:#fff; }
.ess-select--grid .ess-select__option[aria-selected="true"] small{ color:#f0dce1; }
.ess-select--grid .ess-select__option[aria-selected="true"]::after{ display:none; }

@media (max-width:620px){
  .ess-select__button{ height:49px; font-size:9.5px; }
  .ess-select__option{ min-height:44px; }
}

@media (prefers-reduced-motion:reduce){
  .ess-select__panel,
  .ess-select__button svg{ transition:none; }
  .ess-select.is-open .ess-select__option{ animation:none; }
}
