:root {
  --taupe: #7a766b;
  --greige: #8f887b;
  --stone: #a39a8c;
  --olive: #6d6a5e;
  --earth: #4f4a40;
  --sage: #8b9677;
  --leaf: #596b49;
  --warm-brown: #a07c6a;
  --sand: #c2b5a3;
  --cream: #d8cdbc;
  --paper: #f6f0e8;
  --ink: #4a2b18;
  --fragrance-color: 221, 114, 141;
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Manrope", Arial, sans-serif;
  --font-script: "Caveat", cursive;
  --ease-premium: cubic-bezier(.4, 0, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--earth); background: var(--paper); font-family: var(--font-body); overflow-x: hidden; }
body.menu-open, body.dialog-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
::selection { color: var(--paper); background: var(--leaf); }

.skip-link { position: fixed; top: -80px; left: 1rem; z-index: 1000; padding: .8rem 1rem; color: white; background: var(--earth); border-radius: 2rem; transition: top .2s ease; }
.skip-link:focus { top: 1rem; }
.eyebrow { margin: 0 0 1.2rem; color: var(--leaf); font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
em { font-weight: 500; }

/* Glass navigation */
.glass-nav {
  position: fixed; top: 20px; left: 50%; z-index: 100;
  width: min(1080px, calc(100% - 40px)); height: 70px; padding: 0 12px 0 20px;
  display: flex; align-items: center; gap: 28px;
  border: 1px solid rgba(255,255,255,.46); border-radius: 999px;
  background: linear-gradient(115deg, rgba(255,255,255,.54), rgba(216,205,188,.22));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), inset 0 -1px 0 rgba(79,74,64,.08), 0 20px 50px rgba(79,74,64,.14);
  backdrop-filter: blur(18px) saturate(125%); -webkit-backdrop-filter: blur(18px) saturate(125%);
  transform: translateX(-50%); transition: height .45s var(--ease-premium), width .45s var(--ease-premium), background .45s ease;
}
.glass-nav::before { content:""; position:absolute; inset: 5px 10% auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent); opacity:.85; }
.glass-nav.is-scrolled { width: min(960px, calc(100% - 40px)); height: 58px; background: linear-gradient(115deg, rgba(246,240,232,.72), rgba(216,205,188,.38)); }
.brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; white-space: nowrap; }
.brand--navbar { flex:0 0 auto; width:150px; }
.brand-logo { display:block; width:100%; height:auto; }
.brand-name { font-family: var(--font-display); font-size: 1.65rem; font-weight: 600; letter-spacing: -.045em; }
.desktop-menu { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.desktop-menu a { position: relative; color: rgba(79,74,64,.76); font-size: .72rem; font-weight: 600; text-decoration: none; letter-spacing: .015em; transition: color .25s ease; }
.desktop-menu a::after { content:""; position:absolute; right:0; bottom:-7px; left:0; height:1px; background: var(--earth); transform:scaleX(0); transform-origin:right; transition: transform .3s var(--ease-premium); }
.desktop-menu a:hover, .desktop-menu a:focus-visible { color: var(--earth); }
.desktop-menu a:hover::after, .desktop-menu a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.nav-cta { display: inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 21px; color:var(--paper); background:var(--earth); border-radius:999px; font-size:.69rem; font-weight:600; text-decoration:none; letter-spacing:.03em; transition:transform .25s ease, background .25s ease; }
.nav-cta:hover { background: var(--leaf); transform: translateY(-1px); }
.menu-toggle { display:none; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.36); cursor:pointer; }
.menu-toggle span { display:block; width:17px; height:1px; margin:5px auto; background:var(--earth); }

.mobile-menu { position:fixed; z-index:130; top:12px; right:12px; bottom:12px; width:min(390px, calc(100% - 24px)); padding:90px 32px 34px; visibility:hidden; overflow:hidden; border:1px solid rgba(255,255,255,.45); border-radius:34px; background:linear-gradient(145deg, rgba(246,240,232,.86), rgba(194,181,163,.58)); box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 30px 90px rgba(50,37,26,.3); backdrop-filter:blur(24px) saturate(120%); -webkit-backdrop-filter:blur(24px) saturate(120%); transform:translateX(calc(100% + 30px)); transition:transform .5s var(--ease-premium), visibility .5s; }
.mobile-menu.is-open { visibility:visible; transform:translateX(0); }
.mobile-menu__glow { position:absolute; width:270px; height:270px; top:-100px; right:-80px; background:radial-gradient(circle, rgba(139,150,119,.42), transparent 68%); }
.mobile-menu__close { position:absolute; top:22px; right:22px; width:46px; height:46px; border:1px solid rgba(79,74,64,.14); border-radius:50%; color:var(--earth); background:rgba(255,255,255,.28); font-size:1.9rem; line-height:1; cursor:pointer; }
.mobile-menu__eyebrow { margin:0 0 35px; font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; }
.mobile-menu nav { display:grid; }
.mobile-menu nav a { display:flex; align-items:baseline; gap:18px; padding:16px 0; border-bottom:1px solid rgba(79,74,64,.12); font-family:var(--font-display); font-size:clamp(2rem,9vw,3rem); text-decoration:none; }
.mobile-menu nav span { font-family:var(--font-body); font-size:.55rem; letter-spacing:.12em; }
.mobile-menu__note { position:absolute; bottom:24px; left:32px; font-family:var(--font-display); font-size:1.05rem; font-style:italic; line-height:1.2; }
.menu-backdrop { position:fixed; inset:0; z-index:120; visibility:hidden; opacity:0; background:rgba(45,35,28,.25); backdrop-filter:blur(5px); transition:opacity .35s ease, visibility .35s; }
.menu-backdrop.is-open { visibility:visible; opacity:1; }

/* Shared controls */
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:0 25px; border:0; border-radius:999px; font-size:.72rem; font-weight:600; letter-spacing:.025em; text-decoration:none; cursor:pointer; transition:transform .25s ease, background .25s ease, box-shadow .25s ease; }
.button svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.3; }
.button--primary { color:var(--paper); background:var(--earth); box-shadow:0 15px 35px rgba(79,74,64,.18); }
.button--primary:hover:not(:disabled) { background:var(--leaf); box-shadow:0 18px 40px rgba(89,107,73,.25); transform:translateY(-2px); }
.button:disabled { opacity:.55; cursor:not-allowed; }
.button--glass { color:var(--paper); border:1px solid rgba(255,255,255,.34); background:rgba(255,255,255,.12); backdrop-filter:blur(12px); }
.button--glass:hover { background:rgba(255,255,255,.2); transform:translateY(-2px); }
.text-link { display:inline-block; padding:9px 0; color:var(--earth); border-bottom:1px solid rgba(79,74,64,.38); font-size:.72rem; font-weight:600; text-decoration:none; }
.text-link--dark { margin-top:28px; }

/* Hero */
.hero {
  --hero-ceiling: 1600px; /* medido empiricamente pelo usuario em perfumiar.vercel.app, teste visual 1280-2400px */
  --hero-w: min(100vw, var(--hero-ceiling));
  --hero-gutter: calc((100vw - var(--hero-w)) / 2);
  position:relative; min-height:100svh; isolation:isolate; overflow:hidden; display:flex; align-items:center;
  padding:130px calc(var(--hero-gutter) + max(calc(var(--hero-w) * 0.06), 28px)) 70px;
  background:linear-gradient(120deg,#f7efe5 0%,#eee0d2 48%,#dccabb 100%);
}
.hero::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.55; background-image:radial-gradient(rgba(79,74,64,.16) .55px, transparent .55px); background-size:5px 5px; mask-image:linear-gradient(90deg, #000, transparent 75%); }
.hero::after { content:""; position:absolute; right:-8vw; bottom:-23vw; z-index:-2; width:70vw; height:70vw; border:1px solid rgba(255,255,255,.46); border-radius:50%; box-shadow:inset 0 0 140px rgba(255,255,255,.3); }
.hero__light { position:absolute; top:-30%; right:-10%; z-index:-2; width:70%; height:95%; background:radial-gradient(ellipse at center, rgba(255,248,223,.92), rgba(240,211,180,.22) 48%, transparent 70%); filter:blur(18px); transform:rotate(-12deg); }
.leaf-shadow { position:absolute; z-index:-1; width:440px; height:650px; opacity:.13; filter:blur(7px); background:repeating-radial-gradient(ellipse at 25% 50%, transparent 0 12px, #405139 13px 23px, transparent 24px 45px); transform:rotate(28deg) skewY(-12deg); }
.leaf-shadow--one { top:-210px; left:-210px; }
.leaf-shadow--two { right:-240px; bottom:-270px; transform:rotate(-32deg) skewY(12deg); }
.hero__content { position:relative; z-index:6; width:min(540px, calc(var(--hero-w) * 0.44)); padding-top:15px; }
.hero__eyebrow { color:var(--warm-brown); }
.hero h1 { margin:0; color:var(--ink); font-family:var(--font-display); font-size:clamp(4.4rem,7.3vw,8rem); font-weight:500; line-height:.77; letter-spacing:-.065em; }
.hero h1 em { color:var(--warm-brown); }
.hero__lead { margin:30px 0 0; font-size:clamp(.9rem,1.15vw,1.08rem); font-weight:400; line-height:1.75; }
.hero__actions { display:flex; align-items:center; gap:25px; margin-top:34px; }
.hero-products { position:absolute; z-index:3; right:calc(var(--hero-gutter) - var(--hero-w) * 0.04); bottom:-1vh; width:min(calc(var(--hero-w) * 0.68), 1300px); aspect-ratio:16/9; pointer-events:none; }
.hero-products::before { content:""; position:absolute; right:8%; bottom:-1%; left:8%; z-index:0; height:10%; border-radius:50%; background:radial-gradient(ellipse at center,rgba(255,244,226,.58) 0%,rgba(195,139,91,.16) 38%,transparent 73%); filter:blur(8px); }
.hero-products::after { content:""; position:absolute; right:9%; bottom:2.5%; left:9%; z-index:0; height:8%; border-radius:50%; background:radial-gradient(ellipse at center,rgba(68,38,20,.36),rgba(92,56,31,.17) 42%,transparent 72%); filter:blur(12px); transform:scaleY(.56); }
.hero-products__halo { position:absolute; right:7%; bottom:7%; width:90%; height:57%; border-radius:50%; background:radial-gradient(ellipse,rgba(255,250,241,.92),rgba(244,214,189,.3) 55%,transparent 73%); filter:blur(10px); }
.hero-composition { position:relative; z-index:2; width:100%; height:100%; margin:0; transform-origin:54% 94%; }
.hero-composition__image { position:relative; z-index:2; display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 28px 20px rgba(67,39,23,.19)) drop-shadow(0 7px 5px rgba(82,47,25,.13)); }
.hero-composition__reflection { position:absolute; right:7%; bottom:-7.5%; left:7%; z-index:1; display:block; height:14%; overflow:hidden; opacity:.16; filter:blur(1.4px) saturate(.82); transform:scaleY(-1); transform-origin:center; mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 88%); -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 88%); }
.hero-composition__reflection::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(239,218,198,.08),rgba(220,190,165,.7)); }
.hero-composition__reflection img { position:absolute; right:0; bottom:0; left:0; width:100%; height:auto; }
.hero__handwriting { position:absolute; z-index:8; right:calc(var(--hero-gutter) + var(--hero-w) * 0.032); top:24%; margin:0; color:var(--ink); font-family:var(--font-script); font-size:clamp(1.45rem,2.2vw,2.4rem); line-height:.85; transform:rotate(-7deg); }
.hero__scroll { position:absolute; bottom:25px; left:calc(var(--hero-gutter) + max(calc(var(--hero-w) * 0.06), 28px)); display:flex; align-items:center; gap:12px; color:rgba(79,74,64,.58); font-size:.56rem; letter-spacing:.18em; text-transform:uppercase; }
.hero__scroll span { display:inline-block; width:38px; height:1px; background:currentColor; }

/* Fragrance coverflow */
.fragrances { position:relative; min-height:100svh; overflow:hidden; padding:110px 0 70px; color:#f7f2eb; background:linear-gradient(145deg,#4f4a40 0%,#626356 48%,#3f443a 100%); transition:background 1s var(--ease-premium); }
.fragrances::before { content:""; position:absolute; inset:0; opacity:.28; background:radial-gradient(circle at 50% 35%,rgba(var(--fragrance-color),.85),transparent 31%),linear-gradient(120deg,transparent,rgba(255,255,255,.05),transparent); transition:background .75s ease; }
.fragrances::after { content:""; position:absolute; inset:0; opacity:.14; background-image:radial-gradient(rgba(255,255,255,.4) .45px,transparent .6px); background-size:4px 4px; pointer-events:none; }
.fragrances__aurora { position:absolute; top:24%; left:50%; width:620px; height:390px; border-radius:50%; background:rgba(var(--fragrance-color),.33); filter:blur(80px); transform:translateX(-50%); transition:background .8s ease; }
.section-heading { position:relative; z-index:3; width:min(720px,calc(100% - 40px)); margin:0 auto 26px; text-align:center; }
.section-heading .eyebrow { color:rgba(247,242,235,.65); }
.section-heading h2, .use-guide h2, .essence h2 { margin:0; font-family:var(--font-display); font-size:clamp(3rem,5vw,5.3rem); font-weight:500; line-height:.87; letter-spacing:-.045em; }
.section-heading h2 em { color:rgba(var(--fragrance-color),.9); transition:color .7s ease; }
.section-heading > p:last-child { margin:21px auto 0; max-width:460px; color:rgba(247,242,235,.62); font-size:.78rem; line-height:1.7; }
.fragrance-swiper { position:relative; z-index:2; width:100%; padding:24px 0 115px; }
.fragrance-swiper:not(.swiper-initialized) .swiper-wrapper { display:flex; gap:22px; overflow-x:auto; padding:0 24px 110px; scroll-snap-type:x mandatory; }
.fragrance-swiper:not(.swiper-initialized) .fragrance-slide { flex:0 0 310px; scroll-snap-align:center; }
.fragrance-slide { width:310px; height:460px; perspective:1100px; }
.fragrance-card { position:relative; width:100%; height:100%; padding:0; overflow:hidden; color:#fff; border:1px solid rgba(255,255,255,.22); border-radius:26px; background:linear-gradient(150deg,rgba(255,255,255,.2),rgba(var(--accent-rgb),.65) 42%,rgba(28,29,25,.92)); box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 25px 55px rgba(0,0,0,.22); cursor:pointer; transform:translateZ(0); transition:box-shadow .4s ease, border-color .4s ease; }
.fragrance-card::before { content:""; position:absolute; inset:0; z-index:1; background:radial-gradient(circle at 75% 16%,rgba(255,255,255,.5),transparent 24%),linear-gradient(180deg,transparent 44%,rgba(25,25,22,.76)); }
.fragrance-card::after { content:""; position:absolute; top:-80px; right:-70px; z-index:1; width:260px; height:380px; opacity:.22; filter:blur(2px); background:repeating-radial-gradient(ellipse at 25% 50%,transparent 0 9px,#233226 10px 17px,transparent 18px 33px); transform:rotate(35deg); }
.swiper-slide-active .fragrance-card { border-color:rgba(255,255,255,.5); box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 32px 75px rgba(0,0,0,.35),0 0 50px rgba(var(--accent-rgb),.18); }
.fragrance-card__visual { position:absolute; inset:0; display:block; }
.fragrance-card__visual img { position:absolute; z-index:2; width:93%; height:91%; left:3.5%; bottom:3%; object-fit:contain; filter:drop-shadow(0 20px 16px rgba(15,15,12,.28)); transition:transform .6s var(--ease-premium); }
.swiper-slide-active .fragrance-card__visual img { transform:translateY(-13px) scale(1.035); }
.fragrance-card__content { position:absolute; z-index:4; right:0; bottom:0; left:0; display:flex; flex-direction:column; align-items:center; padding:90px 20px 22px; background:linear-gradient(transparent,rgba(31,31,28,.86)); text-shadow:0 2px 15px rgba(0,0,0,.4); }
.fragrance-card__content small { opacity:.66; font-size:.54rem; font-weight:500; letter-spacing:.17em; text-transform:uppercase; }
.fragrance-card__content strong { margin-top:5px; font-family:var(--font-display); font-size:2.1rem; font-weight:500; letter-spacing:-.025em; }
.fragrance-card__content > span { max-height:0; margin-top:0; opacity:0; overflow:hidden; font-size:.62rem; letter-spacing:.05em; transition:max-height .35s ease, opacity .35s ease, margin .35s ease; }
.swiper-slide-active .fragrance-card__content > span { max-height:20px; margin-top:7px; opacity:.72; }
.fragrance-card__reflection { position:absolute; top:calc(100% + 15px); left:5%; display:block; width:90%; height:92px; opacity:.25; overflow:hidden; transform:scaleY(-1); transform-origin:top; filter:blur(1.2px); mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%); -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 88%); pointer-events:none; }
.fragrance-card__reflection::after { content:""; position:absolute; inset:0; background:linear-gradient(rgba(var(--accent-rgb),.22),rgba(79,74,64,.8)); }
.fragrance-card__reflection img { width:100%; height:420%; object-fit:contain; object-position:50% 100%; }
.fragrance-arrow { width:46px; height:46px; color:#fff; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(255,255,255,.09); backdrop-filter:blur(10px); }
.fragrance-arrow::after { font-size:.8rem; }
.swiper-button-prev { left:calc(50% - 250px); }
.swiper-button-next { right:calc(50% - 250px); }
.swiper-pagination { bottom:39px !important; }
.swiper-pagination-bullet { width:20px; height:2px; border-radius:2px; background:#fff; transition:width .3s ease; }
.swiper-pagination-bullet-active { width:38px; }
.fragrances__hint { position:relative; z-index:2; margin:-12px 0 0; opacity:.42; font-size:.55rem; text-align:center; letter-spacing:.18em; text-transform:uppercase; }

/* Use guide */
.use-guide { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr); min-height:100svh; padding:9vw max(6vw,30px); gap:clamp(55px,8vw,125px); align-items:center; background:linear-gradient(125deg,#eee3d7,#f8f2ea 60%,#e7d9cb); }
.use-guide__media { position:relative; justify-self:end; width:min(540px,100%); }
.use-guide__media::before { content:""; position:absolute; inset:-18px; z-index:0; border:1px solid rgba(160,124,106,.22); border-radius:51% 49% 48% 52% / 43% 43% 57% 57%; transform:rotate(-3deg); }
.use-guide__media > img { position:relative; z-index:1; width:100%; max-height:76vh; object-fit:cover; border-radius:48% 48% 22px 22px; box-shadow:0 35px 70px rgba(79,74,64,.16); }
.use-guide__glass { position:absolute; right:-34px; bottom:38px; z-index:2; width:190px; padding:23px; color:var(--paper); border:1px solid rgba(255,255,255,.4); border-radius:22px; background:rgba(79,74,64,.53); box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 18px 42px rgba(79,74,64,.2); backdrop-filter:blur(17px) saturate(120%); }
.use-guide__glass span { font-family:var(--font-display); font-size:2rem; }
.use-guide__glass p { margin:8px 0 0; opacity:.8; font-size:.7rem; line-height:1.5; }
.use-guide__content { max-width:570px; }
.use-guide h2 { color:var(--ink); }
.use-guide h2 em { color:var(--warm-brown); }
.steps { margin:40px 0 0; padding:0; list-style:none; }
.steps li { display:grid; grid-template-columns:42px 1fr; gap:15px; padding:19px 0; border-top:1px solid rgba(79,74,64,.17); }
.steps li:last-child { border-bottom:1px solid rgba(79,74,64,.17); }
.steps li > span { padding-top:3px; color:var(--warm-brown); font-family:var(--font-display); font-size:1.1rem; }
.steps strong { color:var(--earth); font-family:var(--font-display); font-size:1.25rem; font-weight:600; }
.steps p { margin:5px 0 0; color:rgba(79,74,64,.68); font-size:.72rem; line-height:1.6; }

/* Essence */
.essence { position:relative; min-height:82svh; overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--paper); background:linear-gradient(135deg,#596b49,#6d6a5e 62%,#4f4a40); }
.essence::before { content:""; position:absolute; inset:0; opacity:.13; background-image:radial-gradient(rgba(255,255,255,.5) .5px,transparent .6px); background-size:5px 5px; }
.essence__orb { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 0 80px rgba(255,255,255,.06); }
.essence__orb--one { width:52vw; height:52vw; left:-19vw; top:-22vw; }
.essence__orb--two { width:37vw; height:37vw; right:-8vw; bottom:-18vw; }
.essence__inner { position:relative; z-index:2; width:min(720px,calc(100% - 40px)); text-align:center; }
.essence .eyebrow { color:rgba(247,242,235,.62); }
.essence h2 em { color:var(--sand); }
.essence__inner > p:not(.eyebrow) { max-width:530px; margin:28px auto 35px; color:rgba(247,242,235,.7); font-size:.84rem; line-height:1.85; }
.essence__script { position:absolute; right:5vw; bottom:9%; margin:0; color:rgba(247,242,235,.7); font-family:var(--font-script); font-size:clamp(1.6rem,2.8vw,3rem); line-height:.92; transform:rotate(-7deg); }

/* Final CTA */
.final-cta { position:relative; min-height:86svh; overflow:hidden; display:flex; align-items:center; padding:90px max(6vw,30px); background:#ead9c9; }
.final-cta::before { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,rgba(247,239,230,.99) 0%,rgba(244,234,224,.97) 29%,rgba(239,223,209,.72) 43%,rgba(234,217,201,.12) 61%,transparent 72%),radial-gradient(circle at 19% 49%,rgba(255,255,255,.82),transparent 36%); pointer-events:none; }
.final-cta__visual { position:absolute; inset:0; z-index:1; margin:0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 24%,#000 49%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 24%,#000 49%); }
.final-cta__visual::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 80px rgba(91,65,43,.08); pointer-events:none; }
.final-cta__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.final-cta__content { position:relative; z-index:4; width:44%; }
.final-cta h2 { margin:0 0 30px; color:var(--ink); font-family:var(--font-display); font-size:clamp(3.5rem,6vw,6.5rem); font-weight:500; line-height:.82; letter-spacing:-.055em; }

.footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; padding:40px max(6vw,30px); color:rgba(247,242,235,.78); background:#3d3b34; font-size:.65rem; }
.brand--footer { color:#fff; }
.footer > p { margin:0; letter-spacing:.1em; text-transform:uppercase; }
.footer > div { justify-self:end; display:flex; gap:22px; }
.footer a { text-decoration:none; }
.footer small { grid-column:1/-1; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); opacity:.45; }

/* Product details glass dialog */
.fragrance-dialog { position:fixed; width:min(850px,calc(100% - 30px)); max-height:min(650px,calc(100svh - 30px)); padding:0; overflow:hidden; color:var(--earth); border:1px solid rgba(255,255,255,.56); border-radius:32px; background:linear-gradient(135deg,rgba(246,240,232,.92),rgba(216,205,188,.72)); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 40px 100px rgba(35,27,21,.35); backdrop-filter:blur(24px) saturate(125%); -webkit-backdrop-filter:blur(24px) saturate(125%); }
.fragrance-dialog[open] { display:grid; grid-template-columns:.9fr 1.1fr; }
.fragrance-dialog::backdrop { background:rgba(38,31,26,.52); backdrop-filter:blur(9px); }
.fragrance-dialog__close { position:absolute; top:18px; right:18px; z-index:4; width:44px; height:44px; color:var(--earth); border:1px solid rgba(79,74,64,.14); border-radius:50%; background:rgba(255,255,255,.32); font-size:1.8rem; cursor:pointer; }
.fragrance-dialog__media { position:relative; min-height:540px; overflow:hidden; background:linear-gradient(145deg,rgba(var(--dialog-rgb),.25),rgba(var(--dialog-rgb),.62)); }
.fragrance-dialog__halo { position:absolute; inset:19% 5% 4%; border-radius:50%; background:rgba(255,255,255,.35); filter:blur(35px); }
.fragrance-dialog__media img { position:absolute; inset:4% 2% 0; width:96%; height:92%; object-fit:contain; filter:drop-shadow(0 23px 18px rgba(50,35,24,.22)); }
.fragrance-dialog__content { align-self:center; max-height:min(650px, calc(100svh - 30px)); padding:65px 55px; overflow-y:auto; }
.fragrance-dialog__content h2 { margin:0 0 18px; color:var(--ink); font-family:var(--font-display); font-size:4.2rem; font-weight:500; line-height:.85; letter-spacing:-.04em; }
.fragrance-dialog__content > p:not(.eyebrow) { color:rgba(79,74,64,.7); font-size:.78rem; line-height:1.75; }
.fragrance-dialog dl { margin:28px 0; border-top:1px solid rgba(79,74,64,.14); }
.fragrance-dialog dl div { display:grid; grid-template-columns:1fr 1fr; padding:12px 0; border-bottom:1px solid rgba(79,74,64,.14); font-size:.68rem; }
.fragrance-dialog dt { color:rgba(79,74,64,.54); }
.fragrance-dialog dd { margin:0; text-align:right; }

.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(28px); }
.settle { opacity:1; filter:blur(0); transform:none; }
.js .settle { opacity:0; filter:blur(14px); transform:translateY(8px); }

/* Nossa Essencia — pagina institucional */
.essencia-bg { position:fixed; inset:0; z-index:-2; background-color:#6d6a5e; }
.vapor-trace { position:fixed; top:0; left:max(18px, 2vw); z-index:-1; width:min(70px, 6vw); height:100vh; opacity:.5; pointer-events:none; }
.vapor-trace path { fill:none; stroke:var(--paper); stroke-width:2.4; stroke-linecap:round; }
.essencia-section { display:flex; align-items:center; min-height:100svh; padding:110px max(7vw, 30px); color:var(--paper); }
.essencia-section__inner { position:relative; width:min(720px, calc(100% - 20px)); margin:0 auto; text-align:left; }
.essencia-section .eyebrow { color:rgba(247,242,235,.62); }
.essencia-section p { margin:0 0 22px; font-size:.95rem; line-height:1.85; color:rgba(247,242,235,.86); }
.essencia-section p:last-child { margin-bottom:0; }
.essencia-manifesto__open { margin:0 0 30px; font-family:var(--font-display); font-weight:500; font-size:clamp(2.1rem,4vw,3.5rem); line-height:1.15; letter-spacing:-.02em; }
.essencia-manifesto__sign { margin-top:36px; font-family:var(--font-script); font-size:clamp(1.7rem,2.8vw,2.4rem); line-height:1; }
.essencia-section--missao .essencia-section__inner, .essencia-section--visao .essencia-section__inner, .essencia-section--fechamento .essencia-section__inner { text-align:center; }
.essencia-section--missao h2, .essencia-section--visao h2 { margin:0 0 20px; font-family:var(--font-display); font-weight:500; font-size:clamp(2.2rem,3.6vw,3.4rem); line-height:1.18; letter-spacing:-.02em; }
.essencia-section--missao p, .essencia-section--visao p { max-width:520px; margin-left:auto; margin-right:auto; }
.essencia-section__inner--valores { width:min(1100px, calc(100% - 20px)); }
.essencia-section--valores h2 { margin:0 0 44px; font-family:var(--font-display); font-weight:500; font-size:clamp(2rem,3.2vw,2.8rem); }
.valores-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:40px; text-align:left; }
.valor h3 { margin:0 0 10px; color:var(--paper); font-family:var(--font-display); font-weight:500; font-size:1.35rem; }
.valor p { margin:0; font-size:.86rem; line-height:1.7; }
.valor p.valor__pratica { margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.18); font-size:.76rem; opacity:.85; }
.valor__pratica strong { font-weight:600; }
.essencia-close__headline { margin:0 auto 28px; font-family:var(--font-display); font-style:italic; font-weight:500; font-size:clamp(1.7rem,3.2vw,2.9rem); line-height:1.35; max-width:800px; }
.essencia-section--fechamento .text-link { color:var(--paper); border-bottom-color:rgba(255,255,255,.4); }

@media (max-width: 980px) {
  .desktop-menu, .nav-cta { display:none; }
  .glass-nav { height:60px; justify-content:space-between; }
  .menu-toggle { display:block; }
  .hero { display:block; padding-top:145px; }
  .hero__content { width:52vw; }
  .hero h1 { font-size:clamp(4.5rem,9vw,6.8rem); }
  .hero-products { right:-10vw; width:76vw; }
  .hero__handwriting { display:none; }
  .use-guide { grid-template-columns:1fr 1fr; gap:55px; }
  .use-guide__glass { right:-16px; }
}

@media (max-width: 720px) {
  .glass-nav, .glass-nav.is-scrolled { top:12px; width:calc(100% - 24px); height:58px; padding-left:16px; }
  .brand--navbar { width:136px; }
  .brand-name { font-size:1.45rem; }
  .hero { min-height:850px; padding:120px 20px 40px; text-align:center; }
  .hero__content { width:100%; }
  .hero h1 { font-size:clamp(4.15rem,19vw,6.4rem); line-height:.78; }
  .hero__lead { margin-top:22px; }
  .hero__actions { justify-content:center; flex-direction:column; gap:7px; margin-top:24px; }
  .hero-products { right:auto; bottom:18px; left:50%; width:100%; transform:translateX(-50%); }
  .hero-products::after { right:12%; left:12%; bottom:2%; }
  .hero-composition__reflection { bottom:-6%; opacity:.12; }
  .hero__scroll { display:none; }
  .leaf-shadow { opacity:.1; }
  .fragrances { padding-top:85px; }
  .section-heading { margin-bottom:15px; }
  .section-heading h2, .use-guide h2, .essence h2 { font-size:clamp(3rem,15vw,4.6rem); }
  .fragrance-swiper { padding-bottom:105px; }
  .fragrance-slide { width:260px; height:400px; }
  .fragrance-arrow { display:none; }
  .use-guide { grid-template-columns:1fr; padding:90px 22px; }
  .use-guide__media { justify-self:center; width:calc(100% - 12px); }
  .use-guide__media > img { max-height:70vh; }
  .use-guide__glass { right:-8px; bottom:22px; width:165px; padding:18px; }
  .use-guide__content { padding-top:10px; }
  .essence { min-height:75svh; padding:80px 20px 140px; }
  .essence__script { right:auto; bottom:7%; left:50%; width:100%; text-align:center; transform:translateX(-50%) rotate(-4deg); }
  .final-cta { min-height:720px; align-items:flex-start; justify-content:center; padding:80px 20px 0; text-align:center; }
  .final-cta::before { background:linear-gradient(180deg,rgba(247,239,230,1) 0%,rgba(244,234,224,.98) 42%,rgba(239,223,209,.66) 57%,transparent 72%); }
  .final-cta__content { width:100%; }
  .final-cta__visual { inset:auto 0 0; height:auto; -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 28%); mask-image:linear-gradient(180deg,transparent 0%,#000 28%); }
  .final-cta__visual img { position:relative; width:100%; height:auto; object-fit:initial; }
  .footer { grid-template-columns:1fr; text-align:center; }
  .footer > div { justify-self:center; }.footer small { grid-column:1; }
  .fragrance-dialog[open] { display:block; overflow:auto; }
  .fragrance-dialog__media { min-height:300px; }
  .fragrance-dialog__media img { inset:-3% 8% 0; width:84%; height:105%; }
  .fragrance-dialog__content { padding:35px 26px 30px; }
  .fragrance-dialog__content h2 { font-size:3.35rem; }
  .mobile-menu { right:12px; left:12px; width:auto; }
  .vapor-trace { display:none; }
  .essencia-section { padding:90px 22px; }
  .essencia-manifesto__open { font-size:clamp(2rem,7vw,2.6rem); }
  .valores-list { gap:30px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass-nav { background:rgba(246,240,232,.96); }
  .mobile-menu { background:#e9ded2; }
  .fragrance-dialog { background:#eee5dc; }
}
