/* =========================================================
   MAISON · SECOND HAND — storefront
   Brand navy (from the @maison.brazil seal) carries the page.
   Bands alternate deep navy and warm sand so product photos
   land on quiet ground and the scroll never goes flat white.
   Display: Bodoni Moda (the brand's elegant serif)
   Text:    Hanken Grotesk
   ========================================================= */

:root{
  /* brand navy, sampled from the Instagram seal */
  --navy-900:#0A1B34;
  --navy:#11294E;
  --navy-700:#1B3C6E;
  --navy-500:#2E5590;
  --navy-line:rgba(245,241,232,.16);
  --navy-line-2:rgba(245,241,232,.28);

  --cream:#F6F2E9;
  --sand:#EDE7DB;
  --sand-2:#E3DBCB;
  --paper:#FBF9F4;

  --ink:#141821;
  --ink-2:#464C5A;          /* 6.9:1 on sand */
  --ink-3:#5E6472;          /* 4.8:1 on sand — meta text stays legible */

  --gold:#C6A15C;           /* 7.1:1 on navy-900 */
  --gold-soft:#D9BE8A;
  --gold-ink:#7A643A;       /* 5.2:1 on paper — gold that works on light ground */

  --on-navy:#F6F2E9;
  --on-navy-2:rgba(246,242,233,.74);
  --on-navy-3:rgba(246,242,233,.55);

  --radius:14px;
  --radius-sm:8px;

  --display:'Bodoni Moda',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;

  --ease:cubic-bezier(.19,1,.22,1);
  --shadow:0 26px 60px -30px rgba(10,27,52,.55);
  --shadow-sm:0 14px 34px -20px rgba(10,27,52,.45);

  --pad:5vw;
  --max:1440px;
}

*{margin:0;padding:0;box-sizing:border-box}
/* `overflow-x: clip` (not hidden) kills the sliver of horizontal scroll that
   fixed-position overlays create by sizing to the viewport including the
   scrollbar gutter — and unlike `hidden`, it does not turn the root into a
   scroll container, so the sticky header keeps working. */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;text-underline-offset:.2em}
img{max-width:100%;display:block}

/* browser surfaces themed from the palette */
::selection{background:var(--navy);color:var(--cream)}
:root{caret-color:var(--navy);accent-color:var(--navy)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
html{scrollbar-color:var(--navy-500) var(--sand);scrollbar-width:thin}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--sand)}
::-webkit-scrollbar-thumb{background:var(--navy-500);border-radius:20px;border:3px solid var(--sand)}
::-webkit-scrollbar-thumb:hover{background:var(--navy)}

/* small caps meta label (sans, not mono) */
.meta{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:1.02rem 2.1rem;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;white-space:nowrap;
  transition:transform .4s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.btn--gold{background:var(--gold);color:var(--navy-900);border-color:var(--gold)}
.btn--gold:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 16px 32px -16px rgba(198,161,92,.7)}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(20,24,33,.28)}
.btn--ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
/* ghost on navy grounds */
.on-navy .btn--ghost,.hero .btn--ghost,.buyback .btn--ghost,.banner .btn--ghost{color:var(--on-navy);border-color:var(--navy-line-2)}
.on-navy .btn--ghost:hover,.hero .btn--ghost:hover,.buyback .btn--ghost:hover,.banner .btn--ghost:hover{border-color:var(--cream)}

/* ---------- section heads ---------- */
.rowhead{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  max-width:var(--max);margin:0 auto 2.4rem;padding:0 var(--pad)}
.rowhead h2,.shop__head h2{font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.9rem);
  letter-spacing:-.02em;line-height:1.05}
/* Keep Didone hairlines from thinning out at heading sizes (see .hero__word). */
.rowhead h2,.shop__head h2,.manifesto__statement,.banner__text h2,.buyback__text h2,
.cta-final h2,.pagehead__title,.modal__name,.card__name,.faq__item summary{
  font-optical-sizing:none;font-variation-settings:'opsz' 12}
.rowhead p{color:var(--ink-2);font-size:.98rem;margin-top:.5rem;max-width:52ch}
.rowhead__link{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-2);
  border-bottom:1px solid rgba(20,24,33,.25);padding-bottom:.25rem;transition:color .3s,border-color .3s}
.rowhead__link:hover{color:var(--ink);border-color:var(--ink)}

/* ---------- wordmark ---------- */
.wordmark{display:inline-flex;flex-direction:column;line-height:1;gap:.34rem;align-items:center}
.wordmark__name{font-family:var(--display);font-size:1.35rem;letter-spacing:.34em;font-weight:600;padding-left:.34em}
.wordmark__tag{font-size:.53rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3);padding-left:.34em;font-weight:600}

/* the brand seal, drawn as geometry (sun over water) */
.seal{display:block}
.seal circle,.seal line,.seal path{vector-effect:non-scaling-stroke}

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--navy-900);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;
  transition:opacity .8s var(--ease),visibility .8s var(--ease)}
.preloader.done{opacity:0;visibility:hidden}
.preloader__logo{display:flex;gap:.42rem;font-family:var(--display);font-weight:600;font-size:2rem;
  letter-spacing:.34em;color:var(--cream);padding-left:.34em}
.preloader__logo span{opacity:0;transform:translateY(12px);animation:plLetter .6s var(--ease) forwards}
.preloader__logo span:nth-child(1){animation-delay:.05s}
.preloader__logo span:nth-child(2){animation-delay:.11s}
.preloader__logo span:nth-child(3){animation-delay:.17s}
.preloader__logo span:nth-child(4){animation-delay:.23s}
.preloader__logo span:nth-child(5){animation-delay:.29s}
.preloader__logo span:nth-child(6){animation-delay:.35s}
@keyframes plLetter{to{opacity:1;transform:translateY(0)}}
.preloader__bar{width:150px;height:2px;background:var(--navy-line);overflow:hidden;border-radius:2px}
.preloader__bar i{display:block;height:100%;width:0;background:var(--gold);animation:plBar 1.4s var(--ease) forwards .3s}
@keyframes plBar{to{width:100%}}

/* =========================================================
   ANNOUNCEMENT BAR
   ========================================================= */
.topbar{background:var(--navy-900);color:var(--on-navy);overflow:hidden;white-space:nowrap;position:relative;z-index:120}
.topbar__track{display:inline-flex;align-items:center;gap:1.5rem;padding:.6rem 0;animation:marquee 36s linear infinite}
.topbar__track span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.topbar__track b{width:3px;height:3px;border-radius:50%;background:var(--gold);flex-shrink:0}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =========================================================
   HEADER
   ========================================================= */
.snav{position:sticky;top:0;z-index:130;background:var(--cream);border-bottom:1px solid rgba(20,24,33,.1);
  transition:box-shadow .4s var(--ease)}
.snav.scrolled{box-shadow:0 8px 26px -20px rgba(10,27,52,.6)}
.snav__inner{max-width:var(--max);margin:0 auto;padding:.9rem var(--pad);display:grid;
  grid-template-columns:1fr auto 1fr;align-items:center;gap:1.4rem}
.snav__cats{display:flex;gap:1.9rem;justify-self:start}
.snav__cats a{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--ink-2);position:relative;transition:color .3s}
.snav__cats a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1.5px;background:var(--navy);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.snav__cats a:hover{color:var(--navy)}
.snav__cats a:hover::after{transform:scaleX(1)}
.snav__logo{justify-self:center}
.snav__logo .wordmark__name{color:var(--navy-900)}
.snav__actions{display:flex;align-items:center;gap:.2rem;justify-self:end}
.snav__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--navy-900);
  background:none;border:0;cursor:pointer;border-radius:50%;transition:background .3s var(--ease)}
.snav__icon:hover{background:rgba(17,41,78,.09)}
.snav__burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px;margin-left:.2rem}
.snav__burger span{width:24px;height:1.6px;background:var(--navy-900);transition:transform .4s var(--ease)}
.snav__burger.open span:first-child{transform:translateY(3.8px) rotate(45deg)}
.snav__burger.open span:last-child{transform:translateY(-3.8px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:125;background:var(--navy-900);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:1.3rem;transform:translateY(-100%);transition:transform .55s var(--ease);padding:2rem}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-family:var(--display);font-weight:500;font-size:1.8rem;color:var(--cream)}
.mobile-menu__cta{margin-top:1rem;font-family:var(--sans)!important;font-size:.8rem!important;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;background:var(--gold);color:var(--navy-900)!important;
  padding:.95rem 2rem;border-radius:var(--radius-sm)}

/* =========================================================
   HERO — deep navy, kinetic wordmark
   ========================================================= */
.hero{position:relative;min-height:86vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:5rem var(--pad) 4.5rem;background:var(--navy-900);color:var(--on-navy);overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(58% 46% at 50% 34%,rgba(46,85,144,.55),transparent 70%),
    radial-gradient(80% 50% at 50% 108%,rgba(198,161,92,.18),transparent 72%)}
.hero__glow{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  width:min(78vw,900px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(198,161,92,.16),transparent 62%);
  animation:heroGlow 7s ease-in-out infinite}
@keyframes heroGlow{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.07)}}
.hero__content{position:relative;z-index:2;max-width:1200px;display:flex;flex-direction:column;align-items:center}
.hero__seal{margin-bottom:1.8rem;opacity:0;animation:heroFade .9s var(--ease) forwards .25s}
.hero__seal .seal{width:clamp(66px,8vw,92px);height:auto;color:var(--gold)}
.hero__seal .seal__sun{transform-origin:50% 62%;animation:sunRise 1.6s var(--ease) forwards .45s;transform:translateY(10px);opacity:0}
@keyframes sunRise{to{transform:translateY(0);opacity:1}}
/* Bodoni is a Didone: its optical-size axis thins the hairlines as the type
   grows, so at display size the wordmark washes out on the dark ground.
   Pin opsz to the low end to keep the strokes sturdy and readable. */
.hero__word{display:flex;justify-content:center;font-family:var(--display);font-weight:700;line-height:.9;
  letter-spacing:.06em;font-size:clamp(3rem,15vw,10rem);color:#FFFDF7;margin:0;padding-left:.06em;
  font-optical-sizing:none;font-variation-settings:'opsz' 6,'wght' 700}
.hero__ltr{display:inline-block;overflow:hidden;padding:0 .01em;
  animation:heroFloat 4.2s var(--ease) infinite;animation-delay:calc(1.3s + var(--i) * .12s)}
.hero__ltr>span{display:inline-block;transform:translateY(112%);
  animation:heroRise .95s var(--ease) forwards;animation-delay:calc(.5s + var(--i) * .085s)}
@keyframes heroRise{to{transform:translateY(0)}}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-.05em)}}
.hero__rule{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;opacity:0;animation:heroFade .9s var(--ease) forwards 1.5s}
.hero__rule i{display:block;width:clamp(30px,7vw,70px);height:1px;background:var(--navy-line-2)}
.hero__rule span{font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;font-weight:600;color:var(--gold);padding-left:.42em}
@keyframes heroFade{to{opacity:1}}
.hero__tag{max-width:46ch;color:var(--on-navy-2);font-size:clamp(1rem,1.5vw,1.14rem);margin-top:1.7rem;line-height:1.62}
.hero__actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:2.2rem}
.hero__scroll{position:absolute;bottom:1.7rem;right:var(--pad);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--on-navy-3)}
.hero__scroll i{width:1px;height:38px;background:var(--navy-line-2);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:0;left:0;width:100%;height:45%;background:var(--gold);
  animation:scrollDot 2s var(--ease) infinite}
@keyframes scrollDot{0%{top:-45%}100%{top:100%}}

/* =========================================================
   MANIFESTO (home — a casa)
   ========================================================= */
.manifesto{background:var(--cream);padding:6rem var(--pad) 5.5rem}
.manifesto__inner{max-width:980px;margin:0 auto;text-align:center}
.manifesto__lead{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-ink)}
.manifesto__statement{font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,4.4vw,3.4rem);
  line-height:1.1;letter-spacing:-.025em;color:var(--navy-900);margin-top:1.3rem;max-width:20ch;
  margin-left:auto;margin-right:auto}
.manifesto__cols{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-top:2.8rem;text-align:left}
.manifesto__cols p{color:var(--ink-2);font-size:1.02rem;line-height:1.75}
.manifesto__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.2rem;
  padding-top:2.4rem;border-top:1px solid rgba(20,24,33,.14)}
.manifesto__facts strong{display:block;font-family:var(--display);font-weight:600;font-size:1.22rem;
  color:var(--navy-900);margin-bottom:.25rem}
.manifesto__facts span{font-size:.86rem;color:var(--ink-2)}

/* =========================================================
   PAGE HEAD (pecas.html)
   ========================================================= */
.pagehead{background:var(--navy-900);color:var(--on-navy);padding:7rem var(--pad) 3.4rem}
.pagehead__inner{max-width:var(--max);margin:0 auto}
.crumb{display:flex;align-items:center;gap:.6rem;font-size:.74rem;color:var(--on-navy-3);margin-bottom:1.1rem}
.crumb a{transition:color .3s}
.crumb a:hover{color:var(--gold)}
.pagehead__title{font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,5vw,3.6rem);
  line-height:1.05;letter-spacing:-.025em;color:var(--cream)}
.pagehead__sub{color:var(--on-navy-2);margin-top:.9rem;font-size:1.02rem;max-width:56ch;line-height:1.65}

/* =========================================================
   FEATURED (home — chegaram agora)
   ========================================================= */
.featured{background:var(--sand);padding:1rem 0 5rem}
.featured__cta{text-align:center;margin-top:3rem;padding:0 var(--pad)}

/* =========================================================
   BRAND CIRCLES (compre por marca)
   ========================================================= */
.shopby{background:var(--sand);padding:4.5rem 0 3rem}
.shopby__grid{display:flex;gap:clamp(1rem,3vw,2.6rem);justify-content:center;flex-wrap:wrap;
  max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.shopby__tile{display:flex;flex-direction:column;align-items:center;gap:.85rem;width:clamp(92px,11vw,132px);
  background:none;border:0;cursor:pointer;font:inherit;color:inherit;
  transition:transform .45s var(--ease)}
.shopby__tile:hover{transform:translateY(-6px)}
.shopby__img{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:var(--sand-2) center/cover no-repeat;
  position:relative;overflow:hidden;transition:box-shadow .4s var(--ease)}
.shopby__img::after{content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:inset 0 0 0 3px var(--sand),inset 0 0 0 4px rgba(20,24,33,.14);transition:box-shadow .4s var(--ease)}
.shopby__tile:hover .shopby__img{box-shadow:var(--shadow-sm)}
.shopby__tile:hover .shopby__img::after{box-shadow:inset 0 0 0 3px var(--sand),inset 0 0 0 4px var(--gold)}
.shopby__meta{display:block;text-align:center}
.shopby__name{display:block;font-family:var(--sans);font-weight:600;font-size:.83rem;color:var(--ink);
  line-height:1.25;margin-bottom:.2rem;letter-spacing:.01em}
.shopby__meta .shopby__count{font-size:.68rem;color:var(--ink-3);letter-spacing:.04em}

/* =========================================================
   SHOP
   ========================================================= */
.shop{background:var(--sand);padding:4.5rem 0 5rem}
.shop__inner{max-width:var(--max);margin:0 auto}
.shop__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:0 var(--pad);margin-bottom:1.5rem}
.shop__count{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-3);white-space:nowrap}
.shop__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.4rem;flex-wrap:wrap;
  padding:0 var(--pad) 1.4rem;margin-bottom:2.2rem;border-bottom:1px solid rgba(20,24,33,.14)}
.shop__controls{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.search{display:flex;align-items:center;gap:.5rem;background:var(--paper);border:1px solid rgba(20,24,33,.18);
  border-radius:40px;padding:.52rem 1rem;color:var(--ink-3);transition:border-color .35s var(--ease)}
.search:focus-within{border-color:var(--navy);color:var(--navy)}
.search input{background:none;border:0;color:var(--ink);font-family:var(--sans);font-size:.86rem;width:168px}
.search input:focus{outline:none}
.search input::placeholder{color:var(--ink-3)}
.sort{display:flex;align-items:center;gap:.5rem}
.sort span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-3)}
.sort select{background:var(--paper);border:1px solid rgba(20,24,33,.18);color:var(--ink);font-family:var(--sans);
  font-size:.84rem;padding:.55rem 2rem .55rem .9rem;border-radius:40px;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2311294E' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center}
.sort select:focus{outline:none;border-color:var(--navy)}
.shop__more{text-align:center;margin-top:3.4rem;padding:0 var(--pad)}
.shop__more-text{color:var(--ink-2);font-size:1rem;margin-bottom:1.1rem}
.shop--page{padding-top:2.6rem}
.shop--page .shop__toolbar{margin-bottom:2.4rem}

.filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.chip{font-family:var(--sans);font-size:.71rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:var(--ink-2);background:var(--paper);border:1px solid rgba(20,24,33,.18);border-radius:40px;
  padding:.52rem 1.05rem;cursor:pointer;
  transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}
.chip:hover{color:var(--navy);border-color:var(--navy)}
.chip--on{background:var(--navy);border-color:var(--navy);color:var(--cream)}
.grid__empty{text-align:center;color:var(--ink-2);max-width:46ch;margin:2rem auto 0;padding:0 var(--pad);font-size:1rem}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.card{position:relative;display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;
  background:var(--paper);border-radius:var(--radius);overflow:hidden;border:0;
  box-shadow:0 2px 10px -6px rgba(10,27,52,.28);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sand-2)}
.card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s var(--ease)}
.card:hover .card__img{transform:scale(1.055)}
.card__ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1.2rem;background:var(--sand-2);
  font-family:var(--display);font-weight:500;font-size:1.05rem;color:var(--ink-3)}
.card__badge{position:absolute;top:.9rem;left:.9rem;z-index:3;font-size:.6rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;padding:.4rem .68rem;border-radius:4px;
  background:var(--navy-900);color:var(--cream)}
.card__badge--out{background:var(--cream);color:var(--ink-2)}
/* sold: stays on the grid as proof that stock really moves, but reads as gone */
.card__badge--sold{background:var(--cream);color:var(--ink-2);letter-spacing:.16em}
.card--sold .card__img{filter:grayscale(.72) contrast(.95);opacity:.6}
.card--sold .card__name{color:var(--ink-2)}
.card--sold .card__price strong{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}
.card--sold .card__quick{background:var(--cream);color:var(--ink-2)}
.card--sold:hover{transform:translateY(-3px)}
.card__quick{position:absolute;left:.9rem;right:.9rem;bottom:.9rem;z-index:3;opacity:0;transform:translateY(10px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);background:var(--navy-900);color:var(--cream);
  text-align:center;padding:.82rem;border-radius:var(--radius-sm);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:600}
.card:hover .card__quick{opacity:1;transform:translateY(0)}
.card__body{padding:1.15rem 1.15rem 1.35rem}
.card__brand{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);
  margin-bottom:.45rem}
.card__name{font-family:var(--display);font-size:1.08rem;font-weight:500;line-height:1.22;margin-bottom:.7rem;color:var(--ink)}
.card__price{display:flex;flex-direction:column;gap:.16rem}
.card__price strong{font-size:1rem;font-weight:700;color:var(--navy-900);font-variant-numeric:tabular-nums}
.card__price small{font-size:.72rem;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* de / por — the anchor stays quiet so it reads as heritage retail,
   not as a discount-bin sticker. */
.price__was{font-size:.72rem;color:var(--ink-3);text-decoration:line-through;
  text-decoration-thickness:1px;text-underline-offset:0;font-variant-numeric:tabular-nums}
.price__now{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.price__off{font-size:.62rem;font-weight:700;letter-spacing:.04em;color:var(--gold-ink);
  border:1px solid rgba(122,100,58,.35);border-radius:3px;padding:.08rem .28rem;font-variant-numeric:tabular-nums}
.price__save{font-size:.74rem;color:var(--gold-ink);font-weight:600;font-variant-numeric:tabular-nums}

/* =========================================================
   FEATURED BANNER
   ========================================================= */
.banner{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.banner__inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(360px,46vw,520px)}
.banner__text{padding:clamp(2.6rem,5vw,4.5rem) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:1.1rem}
.banner__text h2{font-family:var(--display);font-weight:600;font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.06;letter-spacing:-.02em}
.banner__text p{color:var(--on-navy-2);font-size:1.02rem;line-height:1.65;max-width:44ch}
.banner__actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}
.banner__media{position:relative;min-height:280px;overflow:hidden;background:var(--navy-700)}
/* Illustrative stock photo — replaced at runtime by a real piece's photo as
   soon as the catalog has one (see fillFeature in main.js). Inset beyond the
   frame so the parallax drift never exposes an edge. */
.banner__img{position:absolute;inset:-6% 0;
  background:url('https://images.unsplash.com/photo-1596755094514-f87e34085b2c?auto=format&fit=crop&w=1200&q=80')
  center/cover no-repeat;transform:translateY(var(--par,0));will-change:transform}
.banner__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--navy) 0%,rgba(17,41,78,.35) 26%,transparent 60%)}

/* =========================================================
   BRAND ROW
   ========================================================= */
.brands{background:var(--cream);padding:3.2rem 0;overflow:hidden;white-space:nowrap}
.brands__track{display:inline-flex;align-items:center;gap:clamp(1.8rem,4vw,3.4rem);
  animation:marquee 42s linear infinite;will-change:transform}
.brands__track span{font-family:var(--display);font-weight:600;font-size:clamp(1.05rem,1.8vw,1.45rem);
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);
  font-optical-sizing:none;font-variation-settings:'opsz' 12}
.brands__track i{width:5px;height:5px;border-radius:50%;background:var(--gold-ink);flex-shrink:0;opacity:.6}
.brands:hover .brands__track{animation-play-state:paused}

/* =========================================================
   TRUST STRIP
   ========================================================= */
.trust{background:var(--navy-900);color:var(--on-navy)}
.trust__row{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:0 auto}
.trust__item{display:flex;align-items:center;gap:.95rem;padding:1.75rem clamp(1.2rem,2.4vw,2.2rem)}
.trust__item:not(:last-child){border-right:1px solid var(--navy-line)}
.trust__item svg{color:var(--gold);flex-shrink:0}
.trust__item strong{display:block;font-weight:600;font-size:.88rem;color:var(--cream);margin-bottom:.12rem}
.trust__item span{font-size:.78rem;color:var(--on-navy-3);line-height:1.4}

/* =========================================================
   EDITORIAL TWO-UP
   ========================================================= */
.editorial{background:var(--sand);padding:5rem 0}
.editorial__grid{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.edit__card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:clamp(300px,32vw,420px);
  display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;color:var(--cream);
  background:var(--navy-700) center/cover no-repeat;transition:transform .5s var(--ease)}
.edit__card:hover{transform:translateY(-5px)}
.edit__card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,27,52,.12) 30%,rgba(10,27,52,.86) 100%)}
.edit__card>*{position:relative;z-index:2}
.edit__card h3{font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.5rem;letter-spacing:-.01em}
.edit__card p{color:rgba(246,242,233,.82);font-size:.95rem;max-width:38ch;margin-bottom:1.1rem;line-height:1.6}
.edit__link{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);
  display:inline-flex;align-items:center;gap:.5rem}
.edit__card:hover .edit__link svg{transform:translateX(4px)}
.edit__link svg{transition:transform .35s var(--ease)}

/* =========================================================
   BUYBACK
   ========================================================= */
.buyback{background:var(--navy);color:var(--on-navy);padding:5rem var(--pad)}
.buyback__inner{max-width:1100px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.buyback__text h2{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;letter-spacing:-.02em}
.buyback__text p{color:var(--on-navy-2);margin-top:1rem;font-size:1.04rem;line-height:1.65;max-width:56ch;margin-left:auto;margin-right:auto}
.buyback__actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:.8rem}

/* =========================================================
   FAQ
   ========================================================= */
.faq{background:var(--cream);padding:5rem var(--pad) 5.5rem}
.faq__wrap{max-width:860px;margin:0 auto}
.faq .rowhead{padding:0;margin:0 0 2rem}
.faq__item{border-bottom:1px solid rgba(20,24,33,.14)}
.faq__item summary{list-style:none;cursor:pointer;padding:1.5rem 0;display:flex;align-items:center;
  justify-content:space-between;font-family:var(--display);font-size:1.16rem;font-weight:500;color:var(--ink);
  transition:color .3s;gap:1.4rem}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--navy)}
.faq__item summary i{width:18px;height:18px;position:relative;flex-shrink:0}
.faq__item summary i::before,.faq__item summary i::after{content:"";position:absolute;background:var(--navy);transition:transform .35s var(--ease)}
.faq__item summary i::before{top:50%;left:0;width:100%;height:1.6px;transform:translateY(-50%)}
.faq__item summary i::after{left:50%;top:0;height:100%;width:1.6px;transform:translateX(-50%)}
.faq__item[open] summary i::after{transform:translateX(-50%) scaleY(0)}
.faq__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.faq__item[open] .faq__body{grid-template-rows:1fr}
.faq__body p{overflow:hidden;min-height:0;color:var(--ink-2);padding-bottom:1.5rem;max-width:68ch;line-height:1.7}

/* =========================================================
   NEWSLETTER
   ========================================================= */
.cta-final{background:var(--navy-900);color:var(--on-navy);padding:5.5rem var(--pad);text-align:center;
  border-bottom:1px solid var(--navy-line)}
.cta-final__inner{max-width:600px;margin:0 auto}
.cta-final h2{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.2vw,3rem);line-height:1.08;
  margin-bottom:1rem;letter-spacing:-.02em}
.cta-final p{color:var(--on-navy-2);margin-bottom:2rem;font-size:1.02rem}
.cta-final__form{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.cta-final__form input{flex:1;min-width:240px;background:rgba(246,242,233,.07);border:1px solid var(--navy-line-2);
  color:var(--cream);padding:.98rem 1.2rem;border-radius:var(--radius-sm);font-family:var(--sans);font-size:.95rem;
  transition:border-color .35s,background .35s}
.cta-final__form input::placeholder{color:var(--on-navy-3)}
.cta-final__form input:focus{outline:none;border-color:var(--gold);background:rgba(246,242,233,.11)}
.cta-final__msg{display:block;margin-top:1.2rem;font-size:.85rem;min-height:1.2em;letter-spacing:.02em}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--navy-900);color:var(--on-navy);padding:4.5rem var(--pad) 2.4rem}
.footer__top{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.footer .wordmark{align-items:flex-start}
.footer .wordmark__name{color:var(--cream)}
.footer .wordmark__tag{color:var(--on-navy-3)}
.footer__brand p{color:var(--on-navy-2);max-width:38ch;margin:1.2rem 0 1.4rem;font-size:.92rem;line-height:1.7}
.footer__social{display:flex;gap:1.3rem}
.footer__social a{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--cream);transition:color .3s}
.footer__social a:hover{color:var(--gold)}
.footer__col h4{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-navy-3);
  margin-bottom:1.25rem;font-weight:600}
.footer__col a,.footer__col span{display:block;color:var(--on-navy-2);font-size:.9rem;margin-bottom:.7rem;transition:color .3s}
.footer__col a:hover{color:var(--gold)}
.footer__bottom{max-width:var(--max);margin:3.2rem auto 0;padding-top:1.7rem;border-top:1px solid var(--navy-line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--on-navy-3);font-size:.74rem;letter-spacing:.03em}

/* =========================================================
   PRODUCT MODAL
   ========================================================= */
.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;
  background:rgba(10,27,52,.66);backdrop-filter:blur(6px);opacity:0;visibility:hidden;
  transition:opacity .35s var(--ease),visibility .35s var(--ease)}
.modal.open{opacity:1;visibility:visible}
.modal__panel{position:relative;width:min(940px,100%);max-height:90vh;overflow:hidden;background:var(--paper);
  border-radius:var(--radius);box-shadow:var(--shadow);display:grid;
  transform:translateY(16px) scale(.99);transition:transform .45s var(--ease)}
.modal.open .modal__panel{transform:none}
.modal__close{position:absolute;top:1rem;right:1rem;z-index:4;width:40px;height:40px;border-radius:50%;
  background:var(--cream);border:0;color:var(--navy-900);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .3s var(--ease)}
.modal__close:hover{background:var(--sand-2)}
.modal__body{display:grid;grid-template-columns:1fr 1fr;max-height:90vh}
.modal__media{position:relative;background:var(--sand-2) center/cover no-repeat;min-height:340px}
.modal__ph{position:absolute;left:1.4rem;bottom:1.4rem;font-family:var(--display);font-weight:500;font-size:1.4rem;color:var(--ink-3)}
.modal__sold{position:absolute;top:1rem;left:1rem;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;padding:.4rem .68rem;border-radius:4px;background:var(--cream);color:var(--ink-2)}
/* ---- photo gallery: extra angles so nobody has to ask in the DMs ---- */
.gal{position:relative;background:var(--sand-2);min-height:340px;overflow:hidden;
  display:flex;align-items:flex-end;touch-action:pan-y}
/* background-image transitions are discrete (they snap at the midpoint), so
   the swap is instant and the motion comes from a replayed settle instead. */
.gal__stage{position:absolute;inset:0;background-size:cover;background-position:center}
.gal__stage.swap{animation:galSwap .34s var(--ease)}
@keyframes galSwap{from{opacity:.2;transform:scale(1.02)}to{opacity:1;transform:none}}
.gal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;
  background:rgba(251,249,244,.92);border:0;color:var(--navy-900);display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:var(--shadow-sm);transition:background .25s var(--ease),transform .25s var(--ease)}
.gal__nav:hover{background:var(--paper);transform:translateY(-50%) scale(1.08)}
.gal__nav--prev{left:.75rem}
.gal__nav--next{right:.75rem}
.gal__count{position:absolute;top:.9rem;right:.9rem;z-index:3;font-size:.68rem;font-weight:600;letter-spacing:.06em;
  padding:.3rem .6rem;border-radius:20px;background:rgba(10,27,52,.72);color:var(--cream)}
.gal__thumbs{position:relative;z-index:3;display:flex;gap:.4rem;padding:.75rem;width:100%;
  overflow-x:auto;background:linear-gradient(180deg,transparent,rgba(10,27,52,.5))}
.gal__thumb{width:46px;height:56px;flex-shrink:0;border-radius:5px;border:2px solid transparent;cursor:pointer;
  background-color:var(--sand);background-size:cover;background-position:center;padding:0;
  transition:border-color .25s var(--ease),opacity .25s var(--ease);opacity:.65}
.gal__thumb:hover{opacity:1}
.gal__thumb.is-on{border-color:var(--gold);opacity:1}

.modal__info{padding:clamp(1.8rem,3.2vw,2.6rem);overflow-y:auto;display:flex;flex-direction:column;gap:1rem}
.modal__brand{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-ink)}
.modal__name{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;line-height:1.12;
  letter-spacing:-.02em;margin-top:-.3rem}
.modal__price{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;padding-bottom:.6rem;
  border-bottom:1px solid rgba(20,24,33,.14)}
.modal__price .price__was,.modal__price .price__save{flex-basis:auto}
.modal__price .price__was{font-size:.86rem}
.modal__price strong{font-size:1.45rem;font-weight:700;color:var(--navy-900);font-variant-numeric:tabular-nums}
.modal__price span{font-size:.82rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.modal__spec h4{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.4rem;font-weight:600}
.modal__spec p{color:var(--ink-2);font-size:.96rem;line-height:1.62}
.modal__cta{margin-top:.4rem;width:100%}
.modal__note{font-size:.78rem;color:var(--ink-3);line-height:1.55}
.modal__sold--out{background:var(--navy-900);color:var(--cream)}
.modal__soldnote{font-size:.92rem;color:var(--ink-2);background:var(--cream);
  border-radius:var(--radius-sm);padding:.7rem .9rem;line-height:1.5}

/* =========================================================
   PRODUCT PAGE (peca/<slug>.html — gerada pelo build)
   ========================================================= */
.pg{max-width:var(--max);margin:0 auto;padding:2rem var(--pad) 4rem;background:var(--paper)}
.crumb--light{color:var(--ink-3);margin-bottom:1.6rem}
.crumb--light a{transition:color .3s}
.crumb--light a:hover{color:var(--navy)}
.pg__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:start}
.pg__gal{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--sand-2);
  aspect-ratio:4/5;display:flex;align-items:flex-end;touch-action:pan-y}
.pg__gal--empty{align-items:center;justify-content:center;font-family:var(--display);font-size:1.4rem;color:var(--ink-3)}
.pg__stage{position:absolute;inset:0;background-size:cover;background-position:center}
.pg__stage.swap{animation:galSwap .34s var(--ease)}
.pg__sold{position:absolute;top:1rem;left:1rem;z-index:4;font-size:.66rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;padding:.42rem .8rem;border-radius:4px;background:var(--navy-900);color:var(--cream)}
.pg__info{display:flex;flex-direction:column;gap:1.1rem;padding-top:.4rem}
.pg__brand{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-ink)}
.pg__name{font-family:var(--display);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.1;
  letter-spacing:-.02em;margin-top:-.3rem;font-optical-sizing:none;font-variation-settings:'opsz' 12}
.pg__price{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;padding-bottom:.7rem;
  border-bottom:1px solid rgba(20,24,33,.14)}
.pg__price strong{font-size:1.6rem;font-weight:700;color:var(--navy-900);font-variant-numeric:tabular-nums}
.pg__price>span:last-child{font-size:.84rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.pg__spec h2{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  margin-bottom:.35rem;font-weight:600;font-family:var(--sans)}
.pg__spec p{color:var(--ink-2);font-size:.98rem;line-height:1.65}
.pg__todo{color:#A33B31;font-style:italic}
.pg__auth{background:var(--cream);border-radius:var(--radius-sm);padding:1.1rem 1.2rem}
.pg__auth h2{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);
  margin-bottom:.4rem;font-weight:600;font-family:var(--sans)}
.pg__auth p{color:var(--ink-2);font-size:.95rem;line-height:1.6}
.pg__soldnote{font-size:.94rem;color:var(--ink-2);background:var(--cream);
  border-radius:var(--radius-sm);padding:.8rem 1rem;line-height:1.5}
.pg__cta{margin-top:.4rem;width:100%;min-height:52px}
.pg__note{font-size:.8rem;color:var(--ink-3);line-height:1.55}
.pg__back{margin-top:3rem;text-align:center}
.pg__back a{font-size:.8rem;letter-spacing:.06em;color:var(--ink-2);border-bottom:1px solid rgba(20,24,33,.22);
  padding-bottom:.2rem;transition:color .3s,border-color .3s}
.pg__back a:hover{color:var(--navy);border-color:var(--navy)}

/* =========================================================
   DOC PAGES (trocas / entrega / privacidade)
   ========================================================= */
.doc{max-width:760px;margin:0 auto;padding:2.4rem var(--pad) 5rem}
.doc__title{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.4vw,3rem);line-height:1.08;
  letter-spacing:-.025em;margin-bottom:1.1rem;font-optical-sizing:none;font-variation-settings:'opsz' 12}
.doc__lead{color:var(--ink-2);font-size:1.06rem;line-height:1.7;padding-bottom:1.6rem;margin-bottom:.6rem;
  border-bottom:1px solid rgba(20,24,33,.14)}
.doc h2{font-family:var(--display);font-weight:600;font-size:1.32rem;color:var(--navy-900);
  margin:2.2rem 0 .7rem;letter-spacing:-.01em;font-optical-sizing:none;font-variation-settings:'opsz' 12}
.doc p{color:var(--ink-2);font-size:1rem;line-height:1.75;margin-bottom:.9rem;max-width:68ch}
.doc strong{color:var(--ink);font-weight:600}
.doc a{color:var(--navy);border-bottom:1px solid rgba(17,41,78,.3);transition:border-color .3s}
.doc a:hover{border-color:var(--navy)}
.doc__todo{color:#A33B31;font-style:italic}
.doc__prazos{width:100%;border-collapse:collapse;margin:1.1rem 0 1.4rem;font-size:.94rem}
.doc__prazos th,.doc__prazos td{text-align:left;padding:.72rem .9rem;border-bottom:1px solid rgba(20,24,33,.12)}
.doc__prazos thead th{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.doc__prazos tbody td{color:var(--ink-2)}
.doc__prazos tbody td:first-child{color:var(--ink);font-weight:500}
.doc__prazos td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap}
.doc__prazos tbody tr:last-child td{border-bottom:0}
.doc__updated{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid rgba(20,24,33,.14);
  font-size:.86rem;color:var(--ink-3)}

/* =========================================================
   FLOATING WHATSAPP
   ========================================================= */
.wa-float{position:fixed;right:1.5rem;bottom:1.5rem;z-index:200;width:56px;height:56px;border-radius:50%;
  background:var(--gold);color:var(--navy-900);display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 34px -12px rgba(198,161,92,.75);transition:transform .4s var(--ease)}
.wa-float:hover{transform:scale(1.08)}

/* =========================================================
   SCROLL REVEAL
   ========================================================= */
.js .reveal{opacity:0;transform:translateY(24px);
  transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
/* variants share the one grammar: rise into place, exponential ease-out */
.js .reveal--rise{transform:translateY(38px) scale(.985)}
.js .reveal--pop{transform:translateY(20px) scale(.9)}
.reveal--rise.in,.reveal--pop.in{transform:none}
.js .banner__text{transition-duration:1s}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.hero__ltr>span,.hero__rule,.hero__seal,.hero__seal .seal__sun,
  .hero__content,.banner__img{opacity:1!important;transform:none!important}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1080px){
  .grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .snav__cats{display:none}
  .snav__burger{display:flex}
  .grid{grid-template-columns:repeat(2,1fr)}
  .manifesto__cols{grid-template-columns:1fr;gap:1.4rem}
  .manifesto__facts{grid-template-columns:1fr;gap:1.5rem;text-align:left}
  .banner__inner{grid-template-columns:1fr}
  .banner__media{order:-1;min-height:44vw}
  .banner__media::after{background:linear-gradient(180deg,transparent 40%,var(--navy) 100%)}
  .editorial__grid{grid-template-columns:1fr}
  .trust__row{grid-template-columns:repeat(2,1fr)}
  .trust__item:nth-child(2){border-right:0}
  .trust__item:nth-child(1),.trust__item:nth-child(2){border-bottom:1px solid var(--navy-line)}
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__bottom{flex-direction:column}
  .modal__body{grid-template-columns:1fr;max-height:86vh}
  .modal__media,.gal{min-height:44vh}
  .pg__grid{grid-template-columns:1fr;gap:1.6rem}
  .pg__gal{aspect-ratio:1}
}
@media(max-width:560px){
  .grid{grid-template-columns:repeat(2,1fr);gap:.9rem}
  .trust__row{grid-template-columns:1fr}
  .trust__item{border-right:0!important}
  .trust__item:not(:last-child){border-bottom:1px solid var(--navy-line)}
  .footer__top{grid-template-columns:1fr}
  .cta-final__form input{min-width:100%}
  .shop__toolbar{flex-direction:column;align-items:stretch}
  .shop__controls{justify-content:space-between}
  .search{flex:1}.search input{width:100%}
  .card__body{padding:.9rem .9rem 1.1rem}
  .card__name{font-size:.98rem}
  .shopby__grid{gap:1rem}
  /* touch targets stay comfortably above 44px on the smallest screens */
  .chip{padding:.66rem 1.1rem}
  .gal__nav{width:44px;height:44px}
  .gal__thumb{width:52px;height:64px}
  .snav__icon{width:44px;height:44px}
}
