:root{
  /* base tones */
  --black:#414147;
  --bg:#414147;
  --bg-soft:#414147;
  --bg-void:#414147;
  --bg-elevated:#414147;
  --bg-elevated-2:#414147;
  --bg-elevated-3:#414147;
  --bg-elevated-4:#414147;
  --bg-elevated-5:#414147;

  /* brand palette */
  --graphite:#414147;
  --paper:#fffcf5;
  --ink:#414147;
  --ink-soft:#4a4640;
  --ink-faint:#8a8377;
  --white:#ffffff;
  --gold:#cbb489;
  --gold-light:#e0d2b8;
  --gold-deep:#a2906e;
  --text-on-gold:#141210;

  /* rgb triplets, for rgba() with variable alpha */
  --white-rgb:255,255,255;
  --black-rgb:0,0,0;
  --bg-rgb:4,4,4;
  --void-rgb:2,2,2;
  --elevated-rgb:10,10,10;
  --gold-rgb:203,180,137;
  --gold-light-rgb:224,210,184;
  --gold-deep-rgb:162,144,110;
  --ink-rgb:65,65,71;

  /* derived tokens */
  --muted: rgba(var(--white-rgb),0.58);
  --muted-d: rgba(var(--white-rgb),0.34);
  --hair: rgba(var(--white-rgb),0.1);
  --hair-l: rgba(var(--ink-rgb),0.16);

  --ease: cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{ background:var(--bg); }
body{
  font-family:'Inter', sans-serif;
  font-weight:300;
  color:var(--white);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  cursor:none;
}
@media (hover:none){ body{ cursor:auto; } }
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
.container{ width:min(1200px, 90%); margin:0 auto; }
h1,h2,h3{ font-family:'Inter', sans-serif; font-weight:300; letter-spacing:-0.01em; line-height:1.08; }
em{ font-family:'Fraunces', serif; font-style:italic; font-weight:400; color:var(--gold-light); }
.eyebrow{ font-size:0.68rem; letter-spacing:0.36em; text-transform:uppercase; font-weight:500; color:var(--gold); }
.sr-only-defs{ position:absolute; width:0; height:0; }

/* custom cursor */
#cursor{
  position:fixed; top:0; left:0; width:10px; height:10px; border-radius:50%;
  background:var(--gold); pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%); transition: width .3s var(--ease), height .3s var(--ease), background .3s var(--ease), opacity .3s;
  mix-blend-mode:difference;
}
#cursor.ring{ width:46px; height:46px; background:transparent; border:1px solid var(--gold); }

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:12px; padding:17px 36px;
  font-size:0.74rem; font-weight:500; letter-spacing:0.16em; text-transform:uppercase;
  cursor:none; transition: all .45s var(--ease); white-space:nowrap; border:1px solid transparent;
}
.btn-gold{ background:var(--gold); color:var(--text-on-gold); }
.btn-gold:hover{ background:var(--gold-light); transform:translateY(-2px); }
.btn-line{ border-color:rgba(var(--white-rgb),0.28); color:var(--white); }
.btn-line:hover{ border-color:var(--gold); color:var(--gold-light); }
.btn-line-dark{ border-color:rgba(var(--elevated-rgb),0.3); color:var(--ink); }
.btn-line-dark:hover{ border-color:var(--gold-deep); color:var(--gold-deep); }
.link-min{ font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:5px; opacity:0.8; }
.link-min:hover{ opacity:1; }
.btn-header{ padding:12px 26px; font-size:0.68rem; }

/* loader */
#loader{
  position:fixed; inset:0; background:var(--black); z-index:10000;
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:14px;
}
#loader .lw{ font-size:0.85rem; letter-spacing:0.5em; text-transform:uppercase; opacity:0; }
#loader .lt{ font-size:0.66rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--muted); opacity:0; }

/* header */
header{
  position:fixed; top:0; left:0; right:0; z-index:200; padding:32px 0;
  transition: all .5s var(--ease); mix-blend-mode:normal;
}
header .container{ display:flex; align-items:center; justify-content:space-between; }
header.scrolled{
  background:rgba(var(--bg-rgb),0.72); backdrop-filter:blur(16px) saturate(140%);
  padding:18px 0; border-bottom:1px solid var(--hair);
}
.brand-logo{ height:36px; width:auto; transition:height .4s var(--ease); }
header.scrolled .brand-logo{ height:30px; }
nav.main-nav{ display:flex; gap:42px; }
nav.main-nav a{ font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; opacity:0.7; transition:opacity .3s; }
nav.main-nav a:hover{ opacity:1; color:var(--gold-light); }
.header-cta{ display:flex; align-items:center; gap:34px; }
.burger{ display:none; flex-direction:column; gap:6px; z-index:210; cursor:none; }
.burger span{ width:24px; height:1px; background:var(--white); }

section{ position:relative; }
.reveal{ opacity:0; transform:translateY(30px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.reveal.in-view{ opacity:1; transform:translateY(0); }

/* HERO CINEMATOGRÁFICO */
.hero-cine{ position:relative; height:300vh; height:300dvh; background:var(--bg-void); }
.hero-cine-sticky{
  position:sticky; top:0; height:100vh; height:100dvh; overflow:hidden;
  display:flex; align-items:center; justify-content:center; background:var(--bg-void);
}
.hero-cine-media{ position:absolute; inset:0; overflow:hidden; background:var(--bg-void); }
.hero-cine-media::before{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, var(--bg-void) 1%, var(--bg-void) 2%, transparent 75%);
}
.hero-cine-float{
  position:absolute; inset:0; transform-origin:42% 47%; will-change:transform;
}
.hero-cine-img{
  position:absolute; inset:0; width:100%; height:100%;
  background-image:url('../assets/IMAGENS/HERO.png');
  background-size:cover;
  background-position:50% 58%;
  background-repeat:no-repeat;
  filter:grayscale(100%);
  animation: heroIdleFloat 7s ease-in-out infinite alternate;
  will-change:transform, filter, opacity;
}
@media (min-width:701px){
  .hero-cine-img{ background-image:url('../assets/IMAGENS/HERO.png'); background-position:50% 50%; }
}
@keyframes heroIdleFloat{
  0%{ transform:translate(-3px,-5px) rotate(-1deg); }
  100%{ transform:translate(3px,5px) rotate(1deg); }
}
.hero-cine-blur{ opacity:0; filter:grayscale(100%) blur(22px) brightness(0.75); transition:none; }
.hero-cine-vignette{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background: radial-gradient(ellipse at 42% 47%, transparent 0%, rgba(var(--void-rgb),0.15) 45%, rgba(var(--void-rgb),0.55) 100%);
  opacity:0.5;
}
.hero-cine-particles{ position:absolute; inset:0; z-index:4; pointer-events:none; }
.hero-cine-particles .particle{ position:absolute; width:2px; height:2px; border-radius:50%; background:var(--gold); }

.hero-cine-textA{
  position:absolute; z-index:6; left:8%; top:50%; transform:translateY(-50%);
  max-width:440px; text-align:left;
}
.hero-cine-textA .eyebrow{ display:block; margin-bottom:20px; }
.hero-cine-textA h1{ font-size:clamp(1.7rem,3.6vw,2.7rem); font-weight:200; color:var(--white); margin-bottom:14px; line-height:1.15; }
.hero-cine-textA p{ font-size:0.95rem; color:var(--muted); font-weight:300; margin-bottom:8px; max-width:340px; }
.hero-cine-textA .hero-scroll{ position:static; transform:none; margin-top:34px; text-align:left; }
.hero-cine-textA .hero-scroll .l{ margin:10px 0 0; }

.hero-cine-textB{
  position:absolute; z-index:6; left:50%; top:50%; transform:translate(-50%,-50%);
  text-align:center; max-width:560px; opacity:0; pointer-events:none;
}
.hero-cine-textB h2{ font-size:clamp(1.6rem,3.4vw,2.4rem); font-weight:200; color:var(--white); margin-bottom:16px; }
.hero-cine-textB p{ font-size:0.95rem; color:var(--muted); font-weight:300; margin-bottom:32px; max-width:420px; margin-left:auto; margin-right:auto; }

.hero-scroll{ position:absolute; bottom:38px; left:50%; transform:translateX(-50%); z-index:6; color:var(--muted); font-size:0.66rem; letter-spacing:0.24em; text-transform:uppercase; text-align:center;}
.hero-scroll .l{ width:1px; height:36px; background:var(--gold); margin:10px auto 0; animation:pulseLine 2.4s ease-in-out infinite; }
@keyframes pulseLine{ 0%,100%{opacity:0.3;} 50%{opacity:0.9;} }

@media (max-width:700px){
  .hero-cine-textA{ left:6%; right:6%; max-width:none; }
  .hero-cine-textA .hero-scroll{ display:none; }
  .stage-photo{ background-position:44% 22%; }
}

/* cursor label mode ("VER" on product imagery) */
#cursor .cursor-text{ display:none; }
#cursor.label{
  width:auto; height:auto; padding:9px 16px; border-radius:20px;
  background:var(--gold); mix-blend-mode:normal; transform:translate(-50%,-50%);
}
#cursor.label .cursor-text{
  display:block; font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text-on-gold); white-space:nowrap;
}

.hero-btns-inline{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin-top:8px; }
.hero-btns-inline .link-min.on-dark{ color:var(--white); }

/* generic placeholder block (large editorial image slots) */
.placeholder-block{
  position:relative; aspect-ratio:4/5;
  background:linear-gradient(150deg, var(--bg-elevated-3), var(--bg-elevated-2));
  border:1px dashed rgba(var(--gold-rgb),0.35);
  display:flex; align-items:center; justify-content:center;
}
.placeholder-label{
  font-size:0.66rem; letter-spacing:0.08em; color:var(--gold-light); opacity:0.75; text-align:center; padding:0 16px;
}

/* APRESENTAÇÃO */
.sec-apresentacao{ background:var(--bg-soft); padding:150px 0; }
.apresentacao-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:80px; align-items:center; }
.apresentacao-copy h2{ color:var(--white); font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:200; margin:16px 0 20px; }
.apresentacao-copy p{ color:var(--muted); line-height:1.85; max-width:460px; margin-bottom:36px; }

/* CATEGORIAS */
.sec-categorias{ background:var(--black); padding:150px 0 0; }
.sec-categorias .head{ max-width:600px; margin-bottom:60px; }
.sec-categorias .head h2{ color:var(--white); font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:200; margin-top:16px; }
.cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2px; }
.cat-card{
  position:relative; aspect-ratio:4/5; overflow:hidden; cursor:none; display:block;
  background:linear-gradient(150deg, var(--bg-elevated-3), var(--bg-elevated-2));
  border:1px dashed rgba(var(--gold-rgb),0.25);
}
.cat-card img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:grayscale(100%); transition:filter 0.5s ease, transform 0.5s ease;
}
.cat-card:hover img{ filter:grayscale(0%); transform:scale(1.05); }
.cat-card .placeholder-label{
  position:absolute; top:20px; right:20px; text-align:right; max-width:140px;
}
.cat-card .cat-content{
  position:absolute; left:32px; bottom:32px; right:32px;
  transition:transform .5s var(--ease);
}
.cat-card:hover .cat-content{ transform:translateY(-6px); }
.cat-card h3{ color:var(--white); font-size:1.4rem; font-weight:300; margin-bottom:8px; }
.cat-card p{ color:var(--muted); font-size:0.85rem; max-width:260px; margin-bottom:14px; }
.cat-card .cat-cta{
  display:inline-block; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gold-light); opacity:0; transform:translateY(6px);
  transition:all .4s var(--ease);
}
.cat-card:hover .cat-cta{ opacity:1; transform:translateY(0); }

/* RELÓGIOS / JOIAS */
.sec-relogios{ background:var(--bg-soft); padding:150px 0; }
.sec-joias{ background:var(--black); padding:150px 0; }
.relogios-grid, .joias-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.relogios-copy h2, .joias-copy h2{ color:var(--white); font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:200; margin:16px 0 20px; }
.relogios-copy p, .joias-copy p{ color:var(--muted); line-height:1.85; max-width:420px; margin-bottom:36px; }

/* EXPERIÊNCIA NA LOJA */
.sec-loja{ background:var(--bg-elevated-5); padding:150px 0; }
.sec-loja .head{ max-width:600px; margin-bottom:60px; }
.sec-loja .head h2{ color:var(--white); font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:200; margin-top:16px; }
.sec-loja .head p{ color:var(--muted); margin-top:18px; line-height:1.8; max-width:480px; }
.loja-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hair); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.loja-row .value-item{ background:var(--bg-elevated-5); }

/* style-grid column modifier (reused by the 4-option identidade section) */
.style-grid.cols-4{ grid-template-columns:repeat(4,1fr); }

/* ARMACAO section */
.sec-armacao{ min-height:180vh; background:var(--bg-soft); padding:140px 0 60px; }
.sec-armacao .head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.sec-armacao .head h2{ font-size:clamp(1.7rem,3.4vw,2.6rem); color:var(--white); margin-top:16px; font-weight:200; }
.sec-armacao .head p{ margin-top:16px; color:var(--muted); font-size:0.98rem; line-height:1.8; max-width:460px; margin-left:auto; margin-right:auto;}
.stage{ position:sticky; top:0; height:100vh; height:100dvh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.stage-photo{
  position:absolute; inset:0;
}
.stage-photo::before{
  content:''; position:absolute; inset:0;
  background-image:url('../assets/IMAGENS/ARMACOES.png' );
  background-size:cover;
  background-position:46% 28%;
  background-repeat:no-repeat;
  filter:grayscale(100%);
}
.stage-photo::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(var(--bg-rgb),0.55) 0%, rgba(var(--bg-rgb),0.05) 22%, rgba(var(--bg-rgb),0.05) 72%, rgba(var(--bg-rgb),0.6) 100%);
  pointer-events:none;
}
.hotspot{
  position:absolute; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--gold); cursor:none; z-index:5;
}
.hotspot::before{ content:''; position:absolute; inset:4px; border-radius:50%; background:var(--gold); animation:hsPulse 2.6s ease-in-out infinite; }
@keyframes hsPulse{ 0%,100%{opacity:0.5; transform:scale(1);} 50%{opacity:1; transform:scale(1.4);} }
.hotspot .tip{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%) translateY(6px);
  background:rgba(var(--elevated-rgb),0.92); border:1px solid var(--hair); padding:8px 16px;
  font-size:0.66rem; letter-spacing:0.16em; text-transform:uppercase; white-space:nowrap;
  opacity:0; pointer-events:none; transition:all .3s var(--ease);
}
.hotspot:hover .tip, .hotspot.tip-open .tip{ opacity:1; transform:translateX(-50%) translateY(0); }

.hotspot-detalhe{ top:9%; left:49%; }
.hotspot-acabamento{ top:22%; left:64%; }
.hotspot-leveza{ top:19%; left:37%; }
.hotspot-precisao{ top:20%; left:76%; }

/* DETALHE */
.sec-detalhe{ min-height:100vh; min-height:100dvh; background:var(--black); display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 0; }
.detalhe-inner{ max-width:600px; }
.detalhe-inner h2{ font-size:clamp(1.6rem,3.4vw,2.5rem); font-weight:200; color:var(--white); }
.detalhe-inner h2 + h2{ margin-top:10px; color:var(--gold-light); }
.detalhe-ring{ width:120px; height:120px; margin:0 auto 40px; border-radius:50%; border:1px solid var(--hair); position:relative; }
.detalhe-ring::before{ content:''; position:absolute; inset:20px; border-radius:50%; border:1px solid var(--gold); opacity:0.5; }

/* ESTILO */
.sec-estilo{ background:var(--paper); color:var(--ink); padding:150px 0; }
.sec-estilo .head{ text-align:center; max-width:600px; margin:0 auto 70px; }
.sec-estilo .head h2{ font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:300; margin-top:16px; }
.style-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--hair-l); border:1px solid var(--hair-l); }
.style-card{
  background:var(--paper); padding:40px 18px; text-align:center; cursor:none;
  transition: all .5s var(--ease); position:relative; overflow:hidden;
}
.style-card:hover, .style-card.active{ background:var(--ink); color:var(--white); }
.style-card .sc-icon{ width:34px; height:34px; margin:0 auto 20px; opacity:0.7; }
.style-card .sc-icon svg{ width:100%; height:100%; }
.style-card h4{ font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:500; line-height:1.4; }
.style-result{ text-align:center; margin-top:56px; opacity:0; max-height:0; overflow:hidden; transition:all .6s var(--ease); }
.style-result.show{ opacity:1; max-height:200px; margin-top:56px; }
.style-result .eyebrow{ color:var(--gold-deep); }
.style-result h3{ font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:1.6rem; margin:12px 0 26px; }

/* LENTE */
.sec-lente{ min-height:100vh; background:linear-gradient(180deg,var(--bg-elevated-5),var(--bg-elevated-4)); padding:150px 0; overflow:hidden; }
.lente-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px; align-items:center; }
.lente-copy .head h2{ color:var(--white); font-size:clamp(1.7rem,3.2vw,2.4rem); font-weight:200; margin:16px 0 20px; }
.lente-copy > p{ color:var(--muted); line-height:1.8; max-width:420px; margin-bottom:10px; }
.lente-feats{ margin-top:36px; display:flex; flex-direction:column; }
.lente-feat{ display:flex; align-items:center; gap:18px; padding:18px 0; border-top:1px solid var(--hair); font-size:0.86rem; letter-spacing:0.03em; color:var(--muted); }
.lente-feat:last-child{ border-bottom:1px solid var(--hair); }
.lente-feat .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.lente-visual{ position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
.lente-orbit{ position:absolute; inset:0; width:100%; animation:spinOrbit 90s linear infinite; }
@keyframes spinOrbit{ to{ transform:rotate(360deg); } }
.lente-logo{
  position:relative; z-index:2; width:38%;
  animation:spinLogo 32s linear infinite;
  filter:drop-shadow(0 0 26px rgba(var(--gold-rgb),0.3));
}
@keyframes spinLogo{ to{ transform:rotate(360deg); } }
.sweep{ position:absolute; top:0; left:-40%; width:40%; height:100%; background:linear-gradient(100deg, transparent, rgba(var(--gold-light-rgb),0.18), transparent); animation:sweepMove 4.5s ease-in-out infinite; }
@keyframes sweepMove{ 0%{ left:-40%; } 100%{ left:110%; } }

/* EMOCAO */
.sec-emocao{ background:var(--paper); color:var(--ink); min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; text-align:center; position:relative; overflow:hidden;}
.emocao-text{ position:relative; z-index:3; }
.emocao-text h2{ font-size:clamp(1.6rem,3.6vw,2.6rem); font-weight:300; margin:8px 0; }
.emocao-text h2.accent{ font-family:'Fraunces',serif; font-style:italic; font-weight:400; color:var(--gold-deep); }
.emocao-frames{ position:absolute; inset:0; z-index:1; }
.ef{ position:absolute; border-radius:2px; filter:blur(0.3px); opacity:0; animation:efFade 16s ease-in-out infinite; border:1px dashed rgba(var(--gold-deep-rgb),0.5); }
.ef-bg{ background:linear-gradient(160deg, rgba(var(--gold-deep-rgb),0.25), rgba(var(--elevated-rgb),0.05)); }
@keyframes efFade{ 0%,100%{opacity:0;} 10%,25%{opacity:0.5;} 35%{opacity:0;} }
.emocao-note{ margin-top:30px; font-size:0.72rem; color:var(--gold-deep); opacity:0.6; letter-spacing:0.04em; }

/* VISOLUK VALUES */
/* value-item (reused by sec-loja) */
.value-item{ padding:40px 24px; }
.value-item h4{ font-size:0.82rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:12px; font-weight:500; }
.value-item p{ font-size:0.85rem; color:var(--muted); line-height:1.7; }

/* MARCAS */
.sec-marcas{ background:var(--paper); color:var(--ink); padding:130px 0; }
.sec-marcas .head{ text-align:center; max-width:560px; margin:0 auto 50px; }
.sec-marcas .head h2{ font-size:clamp(1.7rem,3vw,2.3rem); font-weight:300; margin-top:16px; }
.brands-row{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px 0;
  border-top:1px solid var(--hair-l); padding-top:44px;
}
.brands-row span{
  font-family:'Fraunces', serif; font-style:italic; font-weight:300;
  font-size:1.35rem; color:var(--ink-soft); flex:1 1 auto; text-align:center; min-width:140px;
}
.marcas-note{ margin-top:40px; text-align:center; font-size:0.74rem; color:var(--ink-faint); }

/* PROVA SOCIAL */
.sec-prova{ background:var(--bg-soft); padding:150px 0; }
.sec-prova .head{ text-align:center; max-width:600px; margin:0 auto 60px; }
.sec-prova .head h2{ color:var(--white); font-size:clamp(1.8rem,3.2vw,2.4rem); font-weight:200; margin-top:16px; }
.testi-track{ display:flex; gap:24px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x proximity; }
.testi-track::-webkit-scrollbar{ height:2px; }
.testi-track::-webkit-scrollbar-thumb{ background:var(--gold); }
.testi-card{
  flex:0 0 min(360px,80vw); scroll-snap-align:start; border:1px solid var(--hair);
  padding:34px 30px; background:var(--bg-elevated);
}
.stars{ color:var(--gold); font-size:0.8rem; letter-spacing:3px; margin-bottom:18px; }
.testi-card p{ font-size:0.92rem; color:var(--muted); line-height:1.8; margin-bottom:22px; font-style:italic; }
.testi-card .who{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); }
.prova-note{ text-align:center; margin-top:30px; font-size:0.72rem; color:var(--muted-d); }

/* INSTAGRAM */
.sec-insta{ background:var(--black); padding:150px 0; }
.sec-insta .head{ text-align:center; max-width:600px; margin:0 auto 54px; }
.sec-insta .head h2{ color:var(--white); font-size:clamp(1.8rem,3.2vw,2.4rem); font-weight:200; margin-top:16px; }
.insta-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:2px; }
.insta-tile{ aspect-ratio:1/1; background:linear-gradient(135deg,var(--bg-elevated-3),var(--bg-elevated-2)); position:relative; overflow:hidden; }
.insta-tile::after{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(var(--gold-rgb),0.16), transparent 60%); }
.insta-tile img{ width:100%; height:100%; object-fit:cover; filter:grayscale(100%); transition:filter 0.5s ease, transform 0.5s ease; }
.insta-tile:hover img{ filter:grayscale(0%); transform:scale(1.05); }
.placeholder-tile{
  display:flex; align-items:center; justify-content:center;
  border:1px dashed rgba(var(--gold-rgb),0.4);
}
.placeholder-tile span{
  position:relative; z-index:1; font-size:0.62rem; letter-spacing:0.06em;
  color:var(--gold-light); opacity:0.7; text-align:center; padding:0 8px;
}
.insta-cta{ text-align:center; margin-top:50px; }

/* LOCALIZACAO */
.sec-local{ background:var(--paper); color:var(--ink); padding:150px 0; }
.local-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px; align-items:stretch; }
.local-copy .eyebrow{ color:var(--gold-deep); }
.local-copy h2{ font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:300; margin:16px 0 18px; }
.local-copy > p{ color:var(--ink-soft); line-height:1.85; max-width:420px; margin-bottom:40px; }
.local-info{ display:flex; flex-direction:column; }
.local-item{ display:grid; grid-template-columns:130px 1fr; gap:20px; padding:20px 0; border-top:1px solid var(--hair-l); }
.local-item:last-child{ border-bottom:1px solid var(--hair-l); margin-bottom:40px; }
.local-item h4{ font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); font-weight:500; }
.local-item p{ font-size:0.9rem; line-height:1.7; }
.local-item .nota{ display:block; margin-top:4px; font-size:0.72rem; font-style:italic; color:var(--gold-deep); }
.local-btns{ display:flex; gap:20px; flex-wrap:wrap; }
.map-box{ border:1px solid var(--hair-l); min-height:420px; }
.map-box iframe{ width:100%; height:100%; min-height:420px; border:0; filter:grayscale(0.6) contrast(1.05); }

/* FINAL */
.sec-final{
  height:100vh; height:100dvh; background:var(--black); display:flex; align-items:center; justify-content:center;
  text-align:center; position:relative; overflow:hidden;
}
.final-inner{ position:relative; z-index:3; max-width:600px; }
.final-inner h2{ color:var(--white); font-size:clamp(1.7rem,3.6vw,2.6rem); font-weight:200; margin-bottom:6px; }
.final-highlight{ color:var(--gold-light); }
.final-inner .fbrand{ margin-top:36px; font-size:1.1rem; letter-spacing:0.4em; text-transform:uppercase; }
.final-inner .ftag{ margin-top:8px; font-size:0.72rem; letter-spacing:0.2em; color:var(--gold-light); text-transform:uppercase; }
.final-btns{ margin-top:46px; display:flex; gap:24px; justify-content:center; flex-wrap:wrap; }
.final-rig{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:0.5; z-index:1; }
.final-rig svg{ width:min(520px,70vw); animation:spinFinal 60s linear infinite; }
@keyframes spinFinal{ to{ transform:rotate(360deg); } }

/* WHATSAPP */
.wa-float{
  position:fixed; bottom:32px; right:32px; z-index:150;
  width:48px; height:48px; border-radius:50%;
  background:rgba(var(--elevated-rgb),0.7); border:1px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(6px); transition:all .4s var(--ease); cursor:none;
}
.wa-float svg{ width:20px; height:20px; fill:var(--gold-light); }
.wa-float .wa-label{
  position:absolute; right:58px; white-space:nowrap; font-size:0.66rem; letter-spacing:0.12em;
  text-transform:uppercase; background:rgba(var(--elevated-rgb),0.9); border:1px solid var(--hair); padding:8px 14px;
  opacity:0; transform:translateX(6px); transition:all .3s var(--ease); pointer-events:none;
}
.wa-float:hover{ background:var(--gold); }
.wa-float:hover svg{ fill:var(--bg-elevated); }
.wa-float:hover .wa-label{ opacity:1; transform:translateX(0); }

/* FOOTER */
footer{ background:var(--black); border-top:1px solid var(--hair); padding:60px 0 30px; }
.footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
footer .brand-logo{ height:30px; opacity:0.9; }
footer .fnote{ font-size:0.7rem; color:var(--muted-d); letter-spacing:0.04em; }
.fdev{
  display:flex; align-items:center; gap:8px;
  font-size:0.7rem; color:var(--muted-d); letter-spacing:0.04em;
  transition:opacity .3s;
}
.fdev:hover{ opacity:0.8; }
.fdev img{ height:20px; width:auto; }

@media (max-width: 1024px){
  .container{ width:min(1140px, 92%); }
  nav.main-nav{ gap:22px; }
  .lente-grid, .local-grid, .apresentacao-grid, .relogios-grid, .joias-grid{ gap:50px; }
  .style-grid{ grid-template-columns:repeat(3,1fr); }
  .style-grid.cols-4{ grid-template-columns:repeat(2,1fr); }
  .loja-row{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px){
  nav.main-nav{ display:none; }
  .burger{ display:flex; }
  header.open nav.main-nav{
    display:flex; position:fixed; inset:0; background:var(--bg-elevated-5);
    flex-direction:column; justify-content:center; align-items:center; gap:34px;
  }
  header.open nav.main-nav a{ font-size:1.05rem; opacity:1; }
  .lente-grid, .local-grid, .apresentacao-grid, .relogios-grid, .joias-grid{ grid-template-columns:1fr; }
  .local-item{ grid-template-columns:1fr; gap:6px; }
  .cat-grid{ grid-template-columns:1fr; }
  .insta-grid{ grid-template-columns:repeat(3,1fr); }
  section, .sec-armacao, .sec-estilo, .sec-lente, .sec-marcas, .sec-prova, .sec-insta, .sec-local,
  .sec-apresentacao, .sec-categorias, .sec-relogios, .sec-joias, .sec-loja{ padding-top:90px; padding-bottom:90px; }
  .sec-armacao{ min-height:auto; padding-bottom:100px; }
  .stage{ height:70vh; height:70dvh; position:relative; }
  #cursor{ display:none; }
  body{ cursor:auto; }
  .btn, .style-card, .cat-card, .hotspot, .burger, .wa-float{ cursor:pointer; }
  .header-cta .btn-header{ padding:10px 18px; font-size:0.62rem; }
  .lente-copy > p, .local-copy > p, .apresentacao-copy p, .relogios-copy p, .joias-copy p{ max-width:100%; }
  .footer-row{ flex-direction:column; align-items:flex-start; gap:10px; }
}

@media (max-width: 560px){
  header{ padding:22px 0; }
  header.scrolled{ padding:14px 0; }
  .brand-logo{ height:28px; }
  .btn{ padding:15px 26px; font-size:0.7rem; width:100%; justify-content:center; }
  .hero-btns, .final-btns, .local-btns, .hero-btns-inline{ flex-direction:column; width:100%; gap:16px; }
  .hero-btns .link-min, .final-btns .btn-line, .hero-btns-inline .btn{ width:100%; text-align:center; }
  .hero-cine-textA h1{ font-size:clamp(1.5rem,7vw,2rem); }
  .style-grid, .style-grid.cols-4{ grid-template-columns:repeat(2,1fr); }
  .loja-row{ grid-template-columns:1fr; }
  .insta-grid{ grid-template-columns:repeat(2,1fr); }
  .brands-row span{ flex:1 1 42%; font-size:1.1rem; }
  section, .sec-armacao, .sec-estilo, .sec-lente, .sec-marcas, .sec-prova, .sec-insta, .sec-local,
  .sec-apresentacao, .sec-categorias, .sec-relogios, .sec-joias, .sec-loja{ padding-top:70px; padding-bottom:70px; }
  .section-head, .head{ margin-bottom:40px !important; }
  .wa-float{ width:44px; height:44px; bottom:20px; right:20px; }
  .final-inner .fbrand{ font-size:0.9rem; letter-spacing:0.28em; }
}
