/* MF Essence Import · preto quente + dourado (acento único) */
:root{
  --bg:#0E0B08;
  --bg-2:#15110C;
  --surface:#1B1610;
  --ink:#EFE7DA;
  --ink-2:#B5A791;
  --ink-3:#7D715F;
  --gold:#C9A45C;
  --gold-2:#E4C98E;
  --on-gold:#1A1208;
  --line:rgba(239,231,218,.12);
  --line-gold:rgba(201,164,92,.35);

  --serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans:'Hanken Grotesk','Segoe UI',Helvetica,Arial,sans-serif;

  --t-s:clamp(.88rem,.85rem + .1vw,.95rem);
  --t-0:clamp(1.05rem,1rem + .2vw,1.15rem);
  --t-1:clamp(1.2rem,1.1rem + .4vw,1.4rem);
  --t-2:clamp(1.4rem,1.2rem + .8vw,1.9rem);
  --t-3:clamp(2.2rem,1.5rem + 2.6vw,3.8rem);
  --disp:clamp(2.9rem,1.6rem + 4.4vw,5.4rem);

  --pad:clamp(72px,5vw + 44px,144px);
  --gut:clamp(20px,4vw,64px);
  --max:1220px;
  --head-h:80px;
  --r:14px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:var(--t-0); line-height:1.6; -webkit-font-smoothing:antialiased; }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:500; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:4px; }
.skip{ position:absolute; left:-9999px; top:8px; background:var(--gold); color:var(--on-gold); padding:10px 16px; z-index:100; border-radius:6px; }
.skip:focus{ left:8px; }
.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gut); }
section[id]{ scroll-margin-top:calc(var(--head-h) + 8px); }

/* grão sutil */
body::before{ content:""; position:fixed; inset:0; pointer-events:none; z-index:1; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

.eyebrow{ font-size:.78rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:14px; }
.eyebrow::before{ content:""; width:28px; height:1px; background:var(--gold); opacity:.7; }
.h-sec{ font-family:var(--serif); font-size:var(--t-3); line-height:1.08; letter-spacing:-.015em; }
.h-sec em{ font-style:italic; color:var(--gold-2); }
.lede{ font-size:var(--t-1); line-height:1.5; color:var(--ink-2); max-width:42ch; }
.prose{ color:var(--ink-2); max-width:58ch; }

/* botões */
.btn{ display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:0 26px; border-radius:999px; font-weight:600; font-size:.98rem;
  letter-spacing:.02em; text-decoration:none; border:1px solid transparent; transition:transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease; }
.btn svg{ width:19px; height:19px; flex:0 0 auto; }
.btn-gold{ background:var(--gold); color:var(--on-gold); }
.btn-gold:hover{ background:var(--gold-2); transform:translateY(-2px); }
.btn-line{ border-color:var(--line-gold); color:var(--ink); }
.btn-line:hover{ border-color:var(--gold); color:var(--gold-2); }

/* header */
.site-head{ position:sticky; top:0; z-index:50; transition:background-color .3s, border-color .3s; border-bottom:1px solid transparent; }
.site-head.scrolled{ background:rgba(14,11,8,.86); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom-color:var(--line); }
.head-in{ height:var(--head-h); display:flex; align-items:center; gap:32px; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }
.brand img{ width:44px; height:auto; mix-blend-mode:lighten; }
.brand-name{ font-family:var(--serif); font-size:1.15rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-2); line-height:1; }
.nav ul{ display:flex; gap:28px; }
.nav a{ text-decoration:none; font-size:.92rem; letter-spacing:.06em; color:var(--ink-2); padding:6px 0; border-bottom:1px solid transparent; transition:color .2s, border-color .2s; }
.nav a:hover, .nav a.active{ color:var(--ink); border-bottom-color:var(--gold); }
.head-cta{ min-height:44px; padding:0 20px; font-size:.9rem; }
.menu-btn{ display:none; width:46px; height:46px; border-radius:12px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
.menu-btn svg{ width:22px; height:22px; margin:auto; }

/* hero */
.hero{ position:relative; padding:clamp(32px,4vw,64px) 0 clamp(72px,7vw,120px); overflow:hidden; }
.hero::after{ content:""; position:absolute; right:-10%; top:-20%; width:60%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(closest-side, rgba(201,164,92,.18), transparent 70%); pointer-events:none; }
.hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(32px,5vw,72px); align-items:center; }
.hero h1{ font-family:var(--serif); font-size:var(--disp); line-height:1.02; letter-spacing:-.02em; margin:26px 0 26px; font-weight:500; }
.hero h1 em{ display:block; font-style:italic; color:var(--gold-2); }
.hero .lede{ margin-bottom:36px; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-media{ position:relative; }
.hero-media .frame{ position:relative; border-radius:220px 220px var(--r) var(--r); overflow:hidden; border:1px solid var(--line-gold); aspect-ratio:4/5; background:#0a0806; }
.hero-media .frame img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:40% 60%; }
.hero-media .mono{ position:absolute; left:-40px; bottom:-26px; width:130px; mix-blend-mode:lighten; opacity:.95; }

/* faixa de diferenciais */
.perks{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-2); }
.perks-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.perk{ display:flex; gap:16px; align-items:flex-start; padding:clamp(26px,3vw,40px) clamp(10px,2vw,32px); border-left:1px solid var(--line); }
.perk:first-child{ border-left:0; padding-left:0; }
.perk svg{ width:30px; height:30px; color:var(--gold); flex:0 0 auto; margin-top:2px; }
.perk b{ display:block; font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; margin-bottom:4px; }
.perk span{ color:var(--ink-2); font-size:.95rem; }

/* CATÁLOGO (âncora) */
.catalog{ padding:var(--pad) 0; }
.cat-head{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:40px; }
.cat-head .h-sec{ margin-top:16px; }
.tabs{ display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:36px; }
.tab{ font:inherit; font-size:.95rem; letter-spacing:.06em; background:none; border:0; color:var(--ink-2); padding:14px 18px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; }
.tab[aria-selected="true"]{ color:var(--ink); border-bottom-color:var(--gold); }
.tab small{ color:var(--ink-3); margin-left:6px; }
.panel-intro{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:baseline; margin-bottom:24px; }
.panel-intro h3{ font-family:var(--serif); font-size:var(--t-2); }
.panel-intro p{ color:var(--ink-2); font-size:.95rem; }
.js .panel[hidden]{ display:none; }
.list{ columns:2; column-gap:clamp(32px,5vw,72px); }
.item{ break-inside:avoid; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.item h4{ font-family:var(--serif); font-size:1.28rem; letter-spacing:.01em; line-height:1.2; }
.item .ref{ display:block; color:var(--ink-3); font-size:.86rem; margin-top:3px; letter-spacing:.02em; }
.item .ref b{ color:var(--ink-2); font-weight:500; }
.item a{ flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:600; color:var(--gold); text-decoration:none; padding:8px 0 8px 12px; letter-spacing:.04em; }
.item a svg{ width:15px; height:15px; transition:transform .2s; }
.item a:hover{ color:var(--gold-2); }
.item a:hover svg{ transform:translateX(3px); }
.cat-note{ margin-top:28px; color:var(--ink-3); font-size:var(--t-s); max-width:70ch; }
.cat-cta{ margin-top:36px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

/* presentes */
.gift{ padding:0 0 var(--pad); }
.gift-grid{ display:grid; grid-template-columns:1fr 1fr; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.gift-media{ position:relative; min-height:460px; }
.gift-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:18% 55%; }
.gift-txt{ padding:clamp(36px,5vw,80px); display:flex; flex-direction:column; justify-content:center; }
.gift-txt .h-sec{ margin:18px 0 20px; }
.gift-txt .btn{ align-self:flex-start; margin-top:32px; }

/* como comprar */
.steps{ padding:var(--pad) 0; border-top:1px solid var(--line); }
.steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,48px); margin-top:48px; counter-reset:s; }
.step{ border-top:1px solid var(--line-gold); padding-top:24px; }
.step .n{ font-family:var(--serif); font-style:italic; font-size:3rem; color:var(--gold); line-height:1; display:block; margin-bottom:14px; }
.step h3{ font-family:var(--serif); font-size:var(--t-2); margin-bottom:10px; }
.step p{ color:var(--ink-2); }

/* contato final */
.final{ padding:var(--pad) 0; background:var(--bg-2); border-top:1px solid var(--line); text-align:center; position:relative; overflow:hidden; }
.final img.mono-big{ width:120px; margin:0 auto 28px; mix-blend-mode:lighten; }
.final .h-sec{ max-width:18ch; margin:0 auto 20px; }
.final .prose{ margin:0 auto 36px; }
.final .hero-cta{ justify-content:center; }

/* rodapé */
.foot{ padding:56px 0 32px; border-top:1px solid var(--line); font-size:.92rem; color:var(--ink-2); }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--line); }
.foot h4{ font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:14px; }
.foot li{ margin-bottom:8px; }
.foot a{ text-decoration:none; }
.foot a:hover{ color:var(--ink); }
.foot-bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:22px; font-size:.82rem; color:var(--ink-3); }

/* WhatsApp flutuante */
.wa-float{ position:fixed; right:20px; bottom:20px; z-index:60; width:58px; height:58px; border-radius:50%; background:#25D366; color:#0B2A17;
  display:grid; place-items:center; box-shadow:0 12px 28px -10px rgba(0,0,0,.6); }
.wa-float svg{ width:28px; height:28px; }
@media (prefers-reduced-motion:no-preference){ .wa-float{ animation:wa 2.6s ease-out infinite; } }
@keyframes wa{ 0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)} 100%{box-shadow:0 0 0 18px rgba(37,211,102,0)} }

/* cookies */
#cookie-bar{ position:fixed; left:20px; bottom:20px; z-index:70; max-width:420px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; font-size:.88rem; box-shadow:0 20px 50px -20px rgba(0,0,0,.7); }
#cookie-bar p{ color:var(--ink-2); margin-bottom:12px; }
#cookie-bar a{ color:var(--gold-2); }
#cookie-bar .cb{ display:flex; gap:10px; }
#cookie-bar button{ font:inherit; font-weight:600; font-size:.88rem; min-height:40px; padding:0 16px; border-radius:999px; cursor:pointer; border:1px solid var(--line); background:transparent; color:var(--ink); }
#cookie-bar #cookie-accept{ background:var(--gold); color:var(--on-gold); border-color:var(--gold); }

/* reveal */
.reveal{ opacity:1; transform:none; }
.js .reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.js .reveal.is-visible{ opacity:1; transform:none; }

@media (max-width:980px){
  :root{ --head-h:68px; }
  .menu-btn{ display:grid; }
  .head-cta{ display:none; }
  .nav{ position:fixed; inset:var(--head-h) 0 auto 0; background:var(--bg); border-bottom:1px solid var(--line); padding:8px var(--gut) 24px;
    opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s, transform .2s, visibility .2s; }
  .nav.open{ opacity:1; visibility:visible; transform:none; }
  .nav ul{ flex-direction:column; gap:0; }
  .nav a{ display:block; padding:15px 0; font-size:1.05rem; border-bottom:1px solid var(--line); }
  .site-head{ background:rgba(14,11,8,.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
  .hero-grid, .cat-head, .gift-grid{ grid-template-columns:1fr; }
  .hero-media{ max-width:440px; margin:0 auto; width:100%; }
  .hero-media .mono{ left:-8px; width:96px; }
  .perks-grid, .steps-grid{ grid-template-columns:1fr; }
  .perk{ border-left:0; padding-left:0; border-top:1px solid var(--line); }
  .perk:first-child{ border-top:0; }
  .list{ columns:1; }
  .gift-media{ min-height:300px; }
  .foot-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .brand-name{ font-size:.98rem; letter-spacing:.1em; white-space:nowrap; }
  .brand img{ width:36px; }
  .hero-cta .btn{ width:100%; justify-content:center; }
  .tabs{ flex-wrap:nowrap; gap:0; overflow-x:auto; }
  .tab{ padding:12px 10px; font-size:.88rem; white-space:nowrap; }
  #cookie-bar{ left:12px; right:12px; bottom:90px; max-width:none; }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .js .reveal{ opacity:1; transform:none; }
}
