:root{
  color-scheme: light;

  --s-1:.25rem; --s-2:.5rem;  --s-3:.75rem; --s-4:1rem;
  --s-5:1.5rem; --s-6:2rem;   --s-7:3rem;   --s-8:4rem;
  --s-9:6rem;

  --paper:      #FAF7EF;
  --paper-2:    #F1EAD8;
  --ink:        #071B3D;
  --ink-soft:   #47526E;
  --line:       #E7E0CE;
  --line-2:     #D8CDB0;

  --accent:       #9C7A1E;
  --accent-deep:  #7E6114;
  --accent-fg:    #04204C;
  --accent-light: #F1D28C;

  --gold:       #E8BA42;
  --gold-deep:  #B98C28;
  --gold-light: #F6DA9B;
  --navy:       #04204C;

  --sig-fg:   #F4EFE6;

  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans:  'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --fs-meta:  .8125rem;
  --fs-sm:    .9375rem;
  --fs-base:  1rem;
  --fs-lead:  1.1875rem;
  --fs-h3:    clamp(1.5rem, 3vw, 2rem);
  --fs-h2:    clamp(2rem, 4.6vw, 3.15rem);
  --fs-hero:  clamp(2.5rem, 6.4vw, 4.85rem);

  --r-img:  3px;
  --r-pill: 999px;
  --hair:   1px solid var(--line);
  --lift:   0 22px 48px -30px rgba(22,36,31,.40);

  --wrap: 68rem;
  --gutter: clamp(1.25rem, 5vw, 3.5rem);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:clip; }
body{
  margin:0;
  overflow-x:hidden;
  font-family:var(--sans);
  font-size:var(--fs-base);
  line-height:1.65;
  color:var(--ink);
  background:
    linear-gradient(122deg, rgba(255,255,255,.55) 0%, rgba(250,247,239,0) 34%, rgba(250,247,239,0) 66%, rgba(255,255,255,.4) 100%),
    radial-gradient(130% 60% at 82% -8%, rgba(255,255,255,.6), rgba(250,247,239,0) 58%),
    var(--paper);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; height:auto; }
a{ color:var(--accent); text-decoration-thickness:1px; text-underline-offset:.18em; }
a:hover{ color:var(--accent-deep); }
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.018em;
  margin:0;
  font-optical-sizing:auto;
}
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:2px;
}
.skip{
  position:absolute; left:-9999px; top:0;
  background:var(--ink); color:var(--paper);
  padding:.75rem 1.25rem; z-index:999;
}
.skip:focus{ left:.5rem; top:.5rem; }

.wrap{
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.prose{ max-width:38rem; }
.prose p + p{ margin-top:var(--s-4); }

.block{ padding-block:clamp(4rem, 9vw, var(--s-9)); }
.lead{
  font-size:var(--fs-lead);
  line-height:1.55;
  color:var(--ink-soft);
}

.btn{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--sans); font-weight:600;
  font-size:var(--fs-sm);
  min-height:44px;
  padding:.75rem 1.4rem;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.btn--primary{
  background:linear-gradient(180deg,var(--gold-light),var(--gold));
  color:var(--accent-fg);
  border-radius:var(--r-pill);
  padding-inline:1.7rem;
  box-shadow:0 10px 26px -12px rgba(232,186,66,.6);
}
.btn--primary:hover{ background:linear-gradient(180deg,var(--gold),var(--gold-deep)); color:var(--accent-fg); }

.textlink{
  font-family:var(--sans); font-weight:600; font-size:var(--fs-sm);
  text-decoration:none;
  padding-bottom:2px;
  background-image:linear-gradient(currentColor,currentColor);
  background-position:0 100%; background-repeat:no-repeat; background-size:100% 1px;
  transition:background-size .28s cubic-bezier(.2,.7,.2,1), color .18s ease;
}

.site-header{
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:var(--hair);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-5);
  min-height:74px;
}

.logo-seal,.logo-mark{
  display:block; width:auto;
  --seal-fg:var(--navy); --seal-bg:#ffffff;
}
.logo-seal--invert{ --seal-fg:#F4EFE6; --seal-bg:var(--navy); }

.brandmark{
  display:flex; align-items:center; gap:.7rem;
  line-height:1; text-decoration:none;
}
.brandmark .logo-mark{ height:46px; transition:height .25s ease; }
.brandmark .logo-word{
  font-family:var(--serif); font-weight:700; font-size:1.35rem;
  letter-spacing:.14em; color:var(--navy);
}
.site-header.is-scrolled .brandmark .logo-mark{ height:40px; }
@media (max-width:460px){ .brandmark .logo-word{ font-size:1.15rem; letter-spacing:.1em; } }
.main-nav{ display:flex; align-items:center; gap:var(--s-6); }
.main-nav a{
  font-family:var(--sans); font-size:var(--fs-sm); font-weight:500;
  color:var(--ink-soft); text-decoration:none;
}
.main-nav a:hover{ color:var(--ink); }
.header-actions{ display:flex; align-items:center; gap:var(--s-4); }
.nav-toggle{
  display:none;
  width:44px; height:44px;
  border:1px solid var(--line-2); background:transparent;
  align-items:center; justify-content:center; cursor:pointer;
  color:var(--ink);
}
.nav-toggle svg{ width:20px; height:20px; }

@media (max-width:900px){
  .main-nav{ display:none; }
  .header-actions .btn--primary{ display:none; }
  .nav-toggle{ display:inline-flex; }
}

.drawer-backdrop{
  position:fixed; inset:0; background:rgba(22,36,31,.5);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:60;
}
.drawer-backdrop.open{ opacity:1; pointer-events:auto; }
.drawer{
  position:fixed; inset:0 0 0 auto; width:min(340px,86vw);
  background:var(--paper); z-index:70;
  visibility:hidden;
  transform:translateX(100%); transition:transform .3s ease, visibility .3s ease;
  padding:var(--s-6) var(--gutter);
  display:flex; flex-direction:column; gap:var(--s-5);
  border-left:var(--hair);
}
.drawer.open{ transform:translateX(0); visibility:visible; }
.drawer a{
  font-family:var(--serif); font-size:1.25rem; color:var(--ink); text-decoration:none;
  padding-block:.6rem;
}
.drawer a:hover{ color:var(--accent); }
.drawer-close{
  align-self:flex-end; background:none; border:none; cursor:pointer;
  color:var(--ink-soft); font-size:1.75rem; line-height:1; padding:.25rem .5rem;
}

.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:var(--hair);
  background:var(--ink,#111);
}
.hero-figure{
  position:absolute;
  inset:0;
  margin:0;
  z-index:0;
}
.hero-figure picture{ display:block; width:100%; height:100%; }
.hero-figure img{
  width:100%; height:100%; object-fit:cover; object-position:center 30%;
}
.hero-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(60% 50% at 50% 50%, rgba(4,20,15,.62) 0%, rgba(4,20,15,.32) 60%, rgba(4,20,15,.1) 100%),
    linear-gradient(0deg, rgba(4,20,15,.65) 0%, rgba(4,20,15,.15) 30%, rgba(4,20,15,.15) 70%, rgba(4,20,15,.55) 100%);
}
.hero-content{
  position:relative; z-index:2;
  width:100%;
  padding-block:clamp(4rem, 14vh, 7rem) clamp(2.5rem, 7vh, 4rem);
  display:flex;
  justify-content:center;
  text-align:center;
}
.hero-copy{ max-width:42rem; color:var(--paper); }
.hero-eyebrow{
  margin:0 0 var(--s-4);
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.hero-eyebrow::before{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:28px; height:2px;
  margin-right:.7rem;
  position:relative; top:-.1em;
  background:var(--gold-light);
}
.hero h1{
  font-size:var(--fs-hero);
  font-weight:400;
  max-width:16ch;
  margin-inline:auto;
  color:var(--paper);
}
.hero .lead{
  margin-top:var(--s-5);
  margin-inline:auto;
  max-width:44ch;
  font-size:clamp(1.15rem, 1.7vw, 1.4rem);
  line-height:1.55;
  color:color-mix(in srgb, var(--paper) 88%, transparent);
}
@media (max-height:640px){
  .hero{ min-height:88vh; min-height:88svh; }
}
@media (max-width:640px){
  .hero{
    min-height:78vh; min-height:78svh;
    align-items:flex-start;
  }
  .hero-content{
    padding-block:clamp(1.25rem, 5vh, 2rem) 0;
  }
  .hero-eyebrow{ margin-bottom:var(--s-3); }
  .hero .lead{
    margin-top:var(--s-4);
    max-width:none;
    font-size:var(--fs-sm);
    line-height:1.5;
  }
}
.hero-proof-bar{
  border-bottom:var(--hair);
  background:var(--paper);
}
.hero-proof{
  padding-block:var(--s-5);
}
.hero-proof__label{
  display:block;
  margin-bottom:var(--s-3);
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.hero-proof__list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; align-items:center;
  gap:.55rem .6rem;
}
.hero-proof__list li{
  font-family:var(--serif);
  font-size:var(--fs-sm);
  line-height:1.2;
  color:var(--ink);
  padding:.42rem .9rem;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:var(--paper);
  white-space:nowrap;
  transition:border-color .18s ease, color .18s ease;
}
.hero-proof__list li:hover{
  border-color:var(--ink-soft);
}
.hero-proof__more{
  display:inline-flex; align-items:baseline; gap:.45rem;
  margin-top:var(--s-4);
  font-family:var(--sans);
  font-weight:600;
  font-size:var(--fs-sm);
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}
.hero-proof__more:hover,
.hero-proof__more:focus-visible{ color:var(--accent-deep); }
.hero-proof__arrow{ transition:transform .18s ease; }
.hero-proof__more:hover .hero-proof__arrow,
.hero-proof__more:focus-visible .hero-proof__arrow{ transform:translateX(3px); }

.lifeaxis{
  background:var(--navy);
  border-bottom:var(--hair);
}
.lifeaxis ol{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:0 auto; list-style:none;
}
.lifeaxis a{
  display:flex; flex-direction:column; gap:.3rem;
  align-items:center; text-align:center;
  padding:var(--s-5) var(--s-4);
  text-decoration:none; color:var(--sig-fg);
}
.lifeaxis .n{
  font-family:var(--serif); font-size:var(--fs-sm); color:var(--gold-light);
}
.lifeaxis .t{
  font-family:var(--serif); font-size:1.0625rem; letter-spacing:-.01em;
}
.lifeaxis .k{
  font-family:var(--sans); font-size:var(--fs-meta); color:var(--accent-light);
}
.lifeaxis a:hover .t{ color:var(--gold-light); }

.lifeaxis-feat{ grid-column:1/-1; }
.lifeaxis li:nth-child(n+2) a{ border-top:1px solid rgba(244,239,230,.25); }

@media (prefers-reduced-motion: no-preference){
  .lifeaxis a{
    transform:scaleX(.001); transform-origin:left;
    animation:axisdraw .5s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .lifeaxis li:nth-child(1) a{ animation-delay:.05s; }
  .lifeaxis li:nth-child(2) a{ animation-delay:.16s; }
  .lifeaxis li:nth-child(3) a{ animation-delay:.27s; }
  .lifeaxis li:nth-child(4) a{ animation-delay:.38s; }
  .lifeaxis li:nth-child(5) a{ animation-delay:.49s; }
  .lifeaxis li:nth-child(6) a{ animation-delay:.60s; }
  .lifeaxis li:nth-child(7) a{ animation-delay:.71s; }
  .lifeaxis .n,.lifeaxis .t,.lifeaxis .k{ opacity:0; animation:axisfade .4s ease forwards; }
  .lifeaxis li:nth-child(1) a *{ animation-delay:.32s; }
  .lifeaxis li:nth-child(2) a *{ animation-delay:.43s; }
  .lifeaxis li:nth-child(3) a *{ animation-delay:.54s; }
  .lifeaxis li:nth-child(4) a *{ animation-delay:.65s; }
  .lifeaxis li:nth-child(5) a *{ animation-delay:.76s; }
  .lifeaxis li:nth-child(6) a *{ animation-delay:.87s; }
  .lifeaxis li:nth-child(7) a *{ animation-delay:.98s; }
}
@keyframes axisdraw{ to{ transform:scaleX(1); } }
@keyframes axisfade{ to{ opacity:1; } }

.stage-num{
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-light);
  display:inline-block;
  margin-bottom:var(--s-4);
  padding:.62rem 1.3rem;
  background:var(--navy);
  border:1px solid var(--gold);
  box-shadow:inset 0 0 0 3px var(--navy), inset 0 0 0 4px rgba(246,218,155,.45);
}

#onde .stage-num{
  background:rgba(232,186,66,.09);
  border-color:rgba(232,186,66,.55);
  box-shadow:inset 0 0 0 3px transparent, inset 0 0 0 4px rgba(246,218,155,.28);
  color:var(--gold-light);
}

#casa{
  border-top:var(--hair);
  background:
    linear-gradient(126deg, rgba(255,255,255,.6), rgba(250,247,239,0) 30%),
    radial-gradient(140% 70% at 12% -10%, rgba(255,255,255,.66), rgba(250,247,239,0) 55%),
    var(--paper);
}
#casa .wrap{
  display:grid; grid-template-columns:.85fr 1.15fr;
  gap:clamp(2rem,5vw,var(--s-8)); align-items:center;
}
.casa-media{
  position:relative; border-radius:var(--r-img); overflow:hidden;
  box-shadow:var(--lift);
}
.casa-media img{ width:100%; height:100%; object-fit:cover; aspect-ratio:3/4; }
.seal{
  position:absolute; left:var(--s-4); bottom:var(--s-4);
  background:color-mix(in srgb, var(--ink) 82%, transparent);
  color:var(--paper);
  padding:.6rem 1rem;
  display:flex; flex-direction:column; gap:.15rem;
  backdrop-filter:blur(4px);
}
.seal b{ font-family:var(--serif); font-size:.9rem; letter-spacing:.04em; font-weight:600; }
.seal span{ font-family:var(--sans); font-size:.625rem; letter-spacing:.22em; color:rgba(251,249,245,.78); }
#casa h2{ font-size:var(--fs-h2); font-weight:400; }
#casa .prose{ margin-top:var(--s-4); }
.portfolio-note{
  margin-top:var(--s-5); padding-top:var(--s-5);
  border-top:var(--hair);
  font-family:var(--serif); font-size:var(--fs-lead); line-height:1.5;
  max-width:44ch;
}
.portfolio-note b{ font-weight:600; color:var(--accent); }

.novo-momento{
  border-top:var(--hair);
  background:
    radial-gradient(120% 90% at 85% 0%, rgba(232,186,66,.22), rgba(232,186,66,0) 55%),
    linear-gradient(150deg, var(--paper-2), var(--gold-light) 130%);
}
.novo-momento__card{
  position:relative;
  background:linear-gradient(160deg, var(--navy), #071B3D 70%);
  border:1px solid var(--gold);
  box-shadow:inset 0 0 0 3px var(--navy), inset 0 0 0 4px rgba(246,218,155,.35), var(--lift);
  padding:clamp(2rem,5vw,var(--s-8));
  max-width:56rem; margin-inline:auto;
}
.novo-momento__badge{
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-light);
  display:inline-block;
  margin-bottom:var(--s-5);
  padding-bottom:var(--s-3);
  border-bottom:1px solid rgba(232,186,66,.45);
}
.novo-momento__body{
  display:flex; flex-direction:column; gap:var(--s-4);
  font-family:var(--serif);
  font-size:var(--fs-lead);
  line-height:1.6;
  color:rgba(251,249,245,.92);
}
.novo-momento__body b{ font-weight:700; color:var(--gold-light); }
@media (max-width:640px){
  .novo-momento__card{ padding:var(--s-5); }
}

#lojistas{ background:var(--paper-2); border-top:var(--hair); }
#lojistas h2{ font-size:var(--fs-h2); font-weight:400; max-width:16ch; }
#lojistas .lead{ color:var(--ink-soft); margin-top:var(--s-4); }
.reasons{
  margin-top:var(--s-6);
  display:grid; gap:0;
  border-top:var(--hair);
  padding-left:0; list-style:none;
}
.reasons li{
  display:grid; grid-template-columns:auto 1fr; gap:var(--s-4);
  padding:var(--s-4) 0;
  border-bottom:var(--hair);
  font-size:var(--fs-sm);
  color:var(--ink-soft);
}
.reasons .rn{ font-family:var(--serif); color:var(--accent); }
.cta-row{
  margin-top:var(--s-6);
  display:flex; gap:var(--s-4) var(--s-5); flex-wrap:wrap; align-items:center;
}
.cta-row .textlink{ color:var(--accent); }

#onde{ background:var(--ink); color:var(--sig-fg); }
#onde h2{ font-size:var(--fs-h2); font-weight:400; }
#onde .prose{ margin-top:var(--s-4); }
#onde .lead{ color:rgba(244,239,230,.80); }

#onde .wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:clamp(2rem,6vw,var(--s-8));
  row-gap:var(--s-7);
  align-items:center;
}
#onde .stockists{ grid-column:1 / -1; margin-top:var(--s-4); }

#contato .wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:clamp(2rem,6vw,var(--s-8));
  row-gap:var(--s-6);
  align-items:center;
}
#onde .sec-head .prose,
#contato .sec-head .prose{ max-width:42rem; }

.channels{
  border-top:var(--hair);
  max-width:44rem;
}
.channels > div{
  padding:var(--s-4) 0;
  border-bottom:var(--hair);
  display:grid; grid-template-columns:11rem 1fr; gap:var(--s-4);
}
.channels dt{ font-family:var(--serif); font-size:var(--fs-base); }
.channels dd{ margin:0; font-size:var(--fs-sm); color:var(--ink-soft); }
#onde .channels{ border-top-color:rgba(244,239,230,.18); }
#onde .channels > div{ border-bottom-color:rgba(244,239,230,.18); }
#onde .channels dd{ color:rgba(244,239,230,.80); }
.stockists-intro{
  font-family:var(--serif);
  font-size:clamp(1.35rem, 3vw, 2rem);
  line-height:1.3;
  font-weight:400;
  margin-bottom:var(--s-6);
}
.stockist-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:var(--r-img);
  overflow:hidden;
  padding-left:0; list-style:none;
}
.stockist-grid li{
  background:var(--paper);
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  min-height:76px;
  padding:var(--s-4) var(--s-3);
  font-family:var(--serif);
  font-size:1.0625rem;
  letter-spacing:-.005em;
  color:var(--ink);
  border-top:1px solid var(--line-2);
  border-left:1px solid var(--line-2);
}
.stockist-grid li:nth-child(3n+1){ border-left:0; }
.stockist-grid li:nth-child(-n+3){ border-top:0; }
.stockist-grid li:last-child{ grid-column:1 / -1; border-left:0; }

#contato{ background:var(--paper); border-top:var(--hair); }
#contato h2{ font-size:var(--fs-h2); font-weight:400; }
#contato .prose{ margin-top:var(--s-4); }
.contacts{
  border-top:var(--hair);
  max-width:40rem;
}
.contacts a{
  display:grid; grid-template-columns:auto 1fr auto; gap:var(--s-4); align-items:center;
  padding:var(--s-4) 0;
  border-bottom:var(--hair);
  text-decoration:none; color:var(--ink);
}
.contacts a:hover .cn{ color:var(--accent); }
.contacts .ci{ width:22px; height:22px; color:var(--ink-soft); }
.contacts .cn{ font-family:var(--serif); font-size:var(--fs-lead); }
.contacts .cv{ font-size:var(--fs-sm); color:var(--ink-soft); }

footer{
  background:var(--ink); color:rgba(244,239,230,.62);
  padding-block:var(--s-8) var(--s-5);
}
.footer-brand .logo-seal{ height:88px; margin-bottom:var(--s-4); }
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:var(--s-6);
  padding-bottom:var(--s-6);
  border-bottom:1px solid rgba(244,239,230,.14);
}
.footer-brand p{ margin-top:var(--s-4); font-size:var(--fs-sm); max-width:30ch; }
.footer-col h4{
  font-family:var(--serif); font-weight:600; font-size:var(--fs-sm);
  color:var(--sig-fg); margin-bottom:var(--s-4);
}
.footer-col li + li{ margin-top:var(--s-3); }
.footer-col a{ font-size:var(--fs-sm); color:rgba(244,239,230,.62); text-decoration:none; }
.footer-col a:hover{ color:var(--accent-light); }
.footer-bottom{
  margin-top:var(--s-5);
  display:flex; justify-content:space-between; gap:var(--s-4); flex-wrap:wrap;
  font-size:var(--fs-meta); color:rgba(244,239,230,.42);
}

@media (max-width:860px){
  #onde .wrap,
  #contato .wrap,
  #casa .wrap{ grid-template-columns:1fr; }
  .hero-proof__list{
    overflow-x:auto; flex-wrap:nowrap; padding-bottom:.25rem;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .hero-proof__list::-webkit-scrollbar{ display:none; }
  .lifeaxis ol{ grid-template-columns:1fr 1fr; }
  #casa{ padding-top:0; }
  .casa-media{
    width:auto; max-width:none;
    margin-inline:calc(var(--gutter) * -1);
    border-radius:0; box-shadow:none;
  }
  .casa-media img{ aspect-ratio:4/5; object-position:center top; }
  .casa-media .seal{ left:var(--gutter); bottom:var(--s-4); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .channels > div{ grid-template-columns:1fr; gap:var(--s-1); }
  .contacts a{ grid-template-columns:auto 1fr; column-gap:var(--s-4); row-gap:2px; }
  .contacts .ci{ grid-row:span 2; align-self:center; }

  body{ background-attachment:scroll; }

  .stockist-grid{ grid-template-columns:repeat(2,1fr); }
  .stockist-grid li{ min-height:60px; }
  .stockist-grid li:nth-child(3n+1){ border-left:1px solid var(--line-2); }
  .stockist-grid li:nth-child(-n+3){ border-top:1px solid var(--line-2); }
  .stockist-grid li:nth-child(odd){ border-left:0; }
  .stockist-grid li:nth-child(-n+2){ border-top:0; }
  .stockist-grid li:last-child{ border-left:0; }
}
@media (max-width:460px){
  .lifeaxis ol{ grid-template-columns:1fr; }
  .lifeaxis li:nth-child(n+1) a{ border-top:0; border-bottom:var(--hair); }
  .footer-grid{ grid-template-columns:1fr; }
}

.readbar{
  position:fixed; left:0; top:0; height:2px; width:100%;
  background:var(--accent);
  transform:scaleX(0); transform-origin:left;
  z-index:80; pointer-events:none;
  transition:transform .1s linear;
}

.site-header{ transition:box-shadow .25s ease, background .25s ease; }
.site-header .wrap{ transition:min-height .25s ease; }
.site-header.is-scrolled{
  background:color-mix(in srgb, var(--paper) 96%, transparent);
  box-shadow:0 1px 0 var(--line), 0 6px 20px -16px rgba(22,36,31,.28);
}
.site-header.is-scrolled .wrap{ min-height:62px; }
.main-nav a{ transition:color .18s ease; }
.main-nav a.is-current{ color:var(--ink); }
.main-nav a.is-current::after{
  content:""; display:block; height:1px; margin-top:3px; background:var(--accent);
}

@media (hover:hover){
  .textlink{ background-size:0% 1px; }
  .textlink:hover,.textlink:focus-visible{ background-size:100% 1px; }
}
.btn--primary{ transition:background .18s ease, color .18s ease, transform .12s ease; }
.btn--primary:active{ transform:translateY(1px); }
.casa-media img{ transition:transform .5s cubic-bezier(.2,.7,.2,1); }
@media (hover:hover){
  .casa-media:hover img{ transform:scale(1.035); }
}
.contacts a{ transition:background .2s ease, padding-left .2s ease; }
@media (hover:hover){
  .contacts a:hover{ background:var(--paper-2); padding-left:.6rem; }
}
.stockist-grid li{ transition:background .2s ease, color .2s ease; }
@media (hover:hover){
  .stockist-grid li:hover{ background:var(--paper-2); color:var(--accent); }
}

.mobilecta{
  position:fixed; left:0; right:0; bottom:0; z-index:55; display:none;
  padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--paper) 90%, transparent);
  backdrop-filter:blur(8px);
  border-top:var(--hair);
  transform:translateY(120%);
  transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
.mobilecta.is-visible{ transform:translateY(0); }
.mobilecta .btn{ width:100%; justify-content:center; }
@media (max-width:900px){
  .mobilecta{ display:block; }

  body.has-mobilecta{ padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: no-preference){
  .reveal{
    opacity:0; transform:translateY(16px);
    transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1);
    transition-delay:var(--reveal-delay,0s);
  }
  .reveal.is-in{ opacity:1; transform:none; }

  .hero-figure img{ animation:heroIn 22s ease-out both; }
  @keyframes heroIn{ from{ transform:scale(1); } to{ transform:scale(1.08); } }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important;
     transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .readbar{ display:none !important; }
}
section[id]{ scroll-margin-top:150px; }

#onde, footer{ position:relative; }
#onde::before,
footer::before{
  content:"";
  position:absolute; left:0; right:0; top:0; height:44px;
  pointer-events:none;
  opacity:.6;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='44' viewBox='0 0 1600 44' preserveAspectRatio='none'%3E%3Cpath d='M0,26 C230,4 400,42 660,24 C920,6 1090,42 1340,22 C1460,13 1530,17 1600,20' fill='none' stroke='%23E8BA42' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  filter:drop-shadow(0 0 6px rgba(232,186,66,.45));
}
footer::before{ top:-1px; }

.linhas-intro{ padding-bottom:clamp(2rem, 5vw, var(--s-7)); }
.linhas-intro .sec-head .prose,
#catalogo .sec-head .prose{ max-width:none; }
.linhas-intro h2{ font-size:var(--fs-h2); font-weight:400; margin-top:var(--s-2); }
.linhas-intro .lead{ margin-top:var(--s-4); }
.cat-group[id]{ scroll-margin-top:120px; }

#catalogo{
  border-top:var(--hair);
  background:
    linear-gradient(124deg, rgba(255,255,255,.6), rgba(250,247,239,0) 32%),
    radial-gradient(140% 70% at 88% -10%, rgba(255,255,255,.66), rgba(250,247,239,0) 55%),
    var(--paper);
}
#catalogo .sec-head h2{ font-size:var(--fs-h2); font-weight:400; margin-top:var(--s-2); }
#catalogo .sec-head .lead{ margin-top:var(--s-4); }

.cat-group{ margin-top:clamp(2rem, 5vw, 3rem); }
.cat-group:first-of-type{ margin-top:var(--s-7); }
.cat-group > h3{
  font-family:var(--serif); font-weight:500;
  font-size:var(--fs-h3);
  padding-bottom:var(--s-3);
  border-bottom:1px solid var(--line-2);
}
.group-note{
  margin-top:var(--s-2);
  font-size:var(--fs-sm); color:var(--ink-soft);
}

.cat-toggle{
  margin-top:var(--s-3);
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--sans); font-weight:600;
  font-size:var(--fs-sm); letter-spacing:.02em;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:var(--r-pill);
  padding:.6rem 1.2rem;
  min-height:44px;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.cat-toggle::after{
  content:"";
  width:8px; height:8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-1px) rotate(45deg);
  transition:transform .2s ease;
}
.cat-toggle[aria-expanded="true"]::after{
  transform:translateY(2px) rotate(225deg);
}
@media (hover:hover){
  .cat-toggle:hover{
    border-color:var(--gold-deep);
    color:var(--accent-deep);
    background:var(--paper-2);
  }
}

.prod-grid{
  margin-top:var(--s-5);
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--s-5);
  align-items:stretch;
}
.prod-grid[hidden]{ display:none; }
@media (max-width:860px){
  .prod-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }

  section[id]{ scroll-margin-top:84px; }
  .cat-group[id]{ scroll-margin-top:76px; }
}
@media (max-width:560px){
  .prod-grid{ grid-template-columns:1fr; }
}

.prod{
  display:flex; flex-direction:column;
  height:100%;
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:var(--r-img);
  padding:var(--s-5);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
@media (hover:hover){
  .prod:hover{
    border-color:var(--gold-deep);
    box-shadow:0 18px 40px -28px rgba(22,36,31,.5);
    transform:translateY(-2px);
  }
}
.prod-fig{
  margin:0 0 var(--s-4);
  background:var(--paper-2);
  border-radius:var(--r-img);
  aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.prod-fig img{ width:100%; height:100%; object-fit:contain; }
.prod-fig:has(img){ padding:var(--s-4); }
#grp-fem .prod-fig, #grp-masc .prod-fig, #grp-baby .prod-fig, #grp-splash .prod-fig{ aspect-ratio:1/1; }
#grp-sab .prod-fig:has(img){ aspect-ratio:2/1; }
#grp-deo .prod-fig{ aspect-ratio:1/1; }

.prod-fig--wide img{ object-fit:cover; }

.prod-fig--wide img[src*="touch-1200x600"]{ transform:scale(1.13); }

.prod-fig img[src*="hydra-vita"]{ transform:scale(1.35); }

.campaign-banner{
  display:flex; align-items:center; gap:var(--s-7);
  width:100%; margin-top:var(--s-6); margin-bottom:var(--s-6);
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:var(--r-img);
  padding:var(--s-6);
  font:inherit; text-align:left; color:inherit; cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease;
}
@media (hover:hover){
  .campaign-banner:hover{
    border-color:var(--gold-deep);
    box-shadow:0 18px 40px -28px rgba(22,36,31,.5);
  }
}
.campaign-banner__fig{
  position:relative;
  flex:0 0 auto;
  width:12rem;
  aspect-ratio:9/16;
  border-radius:var(--r-img);
  overflow:hidden;
  margin:0;
}
.campaign-banner__fig img{ width:100%; height:100%; object-fit:cover; display:block; }
.campaign-banner__caption{
  display:flex; flex-direction:column; gap:var(--s-2);
}
.play-badge{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:3.8rem; height:3.8rem;
  display:flex; align-items:center; justify-content:center;
  background:rgba(4,32,76,.82);
  color:var(--paper);
  border-radius:50%;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.55);
  transition:transform .2s ease, background .2s ease;
}
.play-badge svg{ width:1.5rem; height:1.5rem; }
@media (hover:hover){
  .campaign-banner:hover .play-badge{ transform:translate(-50%,-50%) scale(1.08); background:var(--accent-deep,#04204C); }
}
.campaign-tag{
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--accent);
}
.campaign-title{
  font-family:var(--serif); font-weight:600;
  font-size:var(--fs-h3);
  letter-spacing:-.01em;
}
.campaign-slogan{
  font-family:var(--serif); font-style:italic;
  font-size:var(--fs-lead);
  color:var(--ink-soft);
  margin-top:-.15rem;
}
.campaign-desc{
  font-size:var(--fs-sm);
  color:var(--ink-soft);
  max-width:38rem;
}
.campaign-cta{
  display:inline-flex; align-items:baseline; gap:.45rem;
  margin-top:var(--s-2);
  font-family:var(--sans); font-weight:600; font-size:var(--fs-sm);
  color:var(--accent);
}
.campaign-cta__arrow{ transition:transform .18s ease; }
@media (hover:hover){
  .campaign-banner:hover .campaign-cta{ color:var(--accent-deep); }
  .campaign-banner:hover .campaign-cta__arrow{ transform:translateX(3px); }
}
@media (max-width:700px){
  .campaign-banner{ flex-direction:column; align-items:center; gap:var(--s-5); text-align:center; }
  .campaign-banner__fig{ width:100%; max-width:16rem; margin-inline:auto; }
  .campaign-banner__caption{ align-items:center; }
  .campaign-desc{ max-width:none; }
}

.prod h4{
  font-family:var(--serif); font-weight:500;
  font-size:var(--fs-lead);
  letter-spacing:-.01em;
}
.prod-meta{
  margin-top:var(--s-2);
  font-family:var(--sans);
  font-size:var(--fs-meta);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--accent);
}
.prod-desc{
  margin-top:var(--s-3);
  font-size:var(--fs-sm);
  color:var(--ink-soft);
}

.prod h4{
  line-height:1.15;
  min-height:calc(2 * 1.15em);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden;
}
.prod .prod-meta{
  line-height:1.35;
  min-height:calc(2 * 1.35em);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden;
}
.prod .prod-desc{
  line-height:1.55;
  min-height:calc(3 * 1.55em);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden;
}

.chips{
  margin-top:var(--s-4);
  padding-top:var(--s-4);
  border-top:var(--hair);
  display:flex; flex-wrap:wrap; gap:var(--s-2);
  list-style:none; padding-left:0;
}
.chips li{
  font-family:var(--sans); font-size:var(--fs-meta);
  color:var(--ink);
  border:1px solid var(--line-2);
  border-radius:var(--r-pill);
  padding:.3rem .8rem;
}

.video-lightbox{
  border:0; padding:0; background:transparent;
  max-width:92vw;
}
.video-lightbox::backdrop{ background:rgba(10,10,10,.86); }
.video-lightbox video{
  display:block;
  height:min(85vh, 760px);
  width:auto;
  max-width:92vw;
  aspect-ratio:9/16;
  object-fit:cover;
  background:#000;
  border-radius:var(--r-img);
}
.video-lightbox__close{
  position:absolute; top:-2.6rem; right:0;
  width:2.4rem; height:2.4rem;
  display:flex; align-items:center; justify-content:center;
  border:0; border-radius:50%;
  background:rgba(255,255,255,.14);
  color:var(--paper);
  font-size:1.6rem; line-height:1;
  cursor:pointer;
}
.video-lightbox__close:hover{ background:rgba(255,255,255,.26); }
@media (max-width:560px){
  .video-lightbox{ max-width:94vw; }
  .video-lightbox__close{ top:-2.4rem; }
}