/* ═══════════════════════════════════════════════════════════
   KETLIN AMARAL — PMU
   Ateliê claro · marfim, bronze suave e nude
   Poiret One + Jost · sem serifa, sem números
   ═══════════════════════════════════════════════════════════ */

:root{
  --paper:    #FAF7F2;
  --paper-2:  #F3EDE5;
  --paper-3:  #EAE1D6;
  --veil:     rgba(250,247,242,.72);

  --ink:      #2B2521;
  --ink-2:    #574D45;
  --muted:    #8C8078;
  --faint:    #B5A99E;

  --bronze:   #A8845C;
  --bronze-lt:#D2B896;
  --bronze-dk:#7A5C3B;
  --rose:     #C9A497;
  --dark:     #221C18;

  --line:     rgba(43,37,33,.10);
  --line-2:   rgba(43,37,33,.06);
  --line-b:   rgba(168,132,92,.28);

  --ff-d: "Poiret One", "Jost", sans-serif;
  --ff-b: "Jost", "Futura", "Century Gothic", sans-serif;

  --pad: 24px;
  --dock-h: 66px;

  --ease:    cubic-bezier(.22,1,.36,1);
  --ease-io: cubic-bezier(.76,0,.24,1);
  --soft:    cubic-bezier(.4,0,.2,1);
}

/* ───────── base ───────── */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-2);
  font-family:var(--ff-b);
  font-weight:300;
  font-size:16px;
  line-height:1.75;
  letter-spacing:.008em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.is-locked{ overflow:hidden; }
img{ max-width:100%; display:block; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ margin:0; font-weight:400; }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--bronze-lt); color:var(--ink); }
:focus-visible{ outline:1.5px solid var(--bronze); outline-offset:3px; }

/* recorte de imagem: --z zoom · --ox/--oy ponto focal */
.ph{ position:relative; overflow:hidden; display:block; background:var(--paper-3); }
.ph img{
  width:100%; height:100%;
  object-fit:cover; object-position:50% 50%;
  transform:scale(var(--z,1));
  transform-origin:var(--ox,50%) var(--oy,50%);
  transition:transform 1.4s var(--ease), filter .9s var(--soft);
}

/* ═══════════ ABERTURA CINEMATOGRÁFICA ═══════════
   Linha do tempo única de 4.7s. Cada elemento usa a mesma
   duração com percentuais diferentes, então tudo fica em sincronia.
   0.0s  preto
   1.1s  as barras abrem para o formato letterbox
   1.2s  o plano dela entra com aproximação lenta (Ken Burns)
   1.5s  a cartela de título assenta
   2.0s  o marfim toma a tela
   2.4s  monograma, régua e nome
   4.0s  as barras abrem e o marfim se divide                  */

/* transparente de propósito: quem escurece a tela é o palco, e ele some
   antes das cortinas abrirem — senão elas revelariam preto, não o site */
.opening{ position:fixed; inset:0; z-index:1000; background:transparent; }

/* — o degradê: manchas de luz bronze e nude que respiram sobre o escuro — */
.op__stage{
  position:absolute; inset:0; z-index:1; overflow:hidden;
  background:linear-gradient(165deg,#1C1610 0%,#2E241B 42%,#15100C 100%);
  animation:opStage 4.7s linear both;
}
@keyframes opStage{ 0%,46%{ opacity:1 } 57%,100%{ opacity:0 } }
.op__grad{
  position:absolute; inset:-25%;
  filter:blur(46px);
  animation:opShot 4.7s var(--soft) both;
}
@keyframes opShot{
  0%,7%    { opacity:0; transform:scale(1.22); }
  25%,40%  { opacity:1; }
  50%,100% { opacity:0; transform:scale(1.02); }
}
.op__blob{
  position:absolute; border-radius:50%;
  mix-blend-mode:screen;
}
.op__blob--1{
  width:78%; aspect-ratio:1; left:-8%; top:-12%;
  background:radial-gradient(circle,rgba(168,132,92,.85),rgba(168,132,92,0) 68%);
  animation:opBlob1 9s ease-in-out infinite alternate;
}
.op__blob--2{
  width:66%; aspect-ratio:1; right:-10%; top:18%;
  background:radial-gradient(circle,rgba(201,164,151,.8),rgba(201,164,151,0) 66%);
  animation:opBlob2 11s ease-in-out infinite alternate;
}
.op__blob--3{
  width:92%; aspect-ratio:1; left:12%; bottom:-30%;
  background:radial-gradient(circle,rgba(210,184,150,.6),rgba(210,184,150,0) 64%);
  animation:opBlob3 13s ease-in-out infinite alternate;
}
@keyframes opBlob1{ from{ transform:translate3d(0,0,0) scale(1) }   to{ transform:translate3d(14%,10%,0) scale(1.25) } }
@keyframes opBlob2{ from{ transform:translate3d(0,0,0) scale(1.1) } to{ transform:translate3d(-12%,14%,0) scale(.88) } }
@keyframes opBlob3{ from{ transform:translate3d(0,0,0) scale(.95) } to{ transform:translate3d(-16%,-12%,0) scale(1.2) } }
.op__vig{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:radial-gradient(ellipse at 50% 38%,transparent 32%,rgba(11,10,9,.82) 88%);
  animation:opVig 4.7s linear both;
}
@keyframes opVig{ 0%,7%{opacity:0} 25%,45%{opacity:1} 52%,100%{opacity:0} }

.op__card{
  position:absolute; z-index:3; left:0; right:0; bottom:22vh;
  margin:0; padding:0 24px; text-align:center;
  font-size:.56rem; text-transform:uppercase;
  color:rgba(250,247,242,.88);
  animation:opCard 4.7s var(--ease) both;
}
@keyframes opCard{
  0%,20%   { opacity:0; letter-spacing:.62em; text-indent:.62em; }
  31%,41%  { opacity:1; letter-spacing:.38em; text-indent:.38em; }
  49%,100% { opacity:0; letter-spacing:.34em; text-indent:.34em; }
}

/* — o marfim que vira cartela e depois se abre — */
.op__panel{
  position:absolute; top:0; z-index:2; height:100%; width:50.6%;
  background:var(--paper);
}
.op__panel--l{ left:0;  animation:opPanL 4.7s var(--ease-io) both; }
.op__panel--r{ right:0; animation:opPanR 4.7s var(--ease-io) both; }
@keyframes opPanL{
  0%,42%{ opacity:0; transform:translateX(0); }
  52%,86%{ opacity:1; transform:translateX(0); }
  100%  { opacity:1; transform:translateX(-101%); }
}
@keyframes opPanR{
  0%,42%{ opacity:0; transform:translateX(0); }
  52%,86%{ opacity:1; transform:translateX(0); }
  100%  { opacity:1; transform:translateX(101%); }
}

/* — a cartela de título — */
.op__title{
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 26px;
  animation:opTitle 4.7s var(--soft) both;
}
@keyframes opTitle{ 0%,48%{opacity:0} 57%,83%{opacity:1} 94%,100%{opacity:0} }

.op__shimmer{
  position:absolute; inset:-40% -60%;
  background:linear-gradient(105deg,transparent 38%,rgba(210,184,150,.30) 48%,rgba(210,184,150,.5) 50%,rgba(210,184,150,.30) 52%,transparent 62%);
  transform:translateX(-120%);
  animation:shine 1s var(--ease) 3.55s both;
  pointer-events:none; mix-blend-mode:multiply;
}
@keyframes shine{ to{ transform:translateX(120%); } }

/* — barras de cinema — */
.op__bar{
  position:absolute; left:0; right:0; z-index:4;
  height:50vh; height:50svh; background:#0B0A09;
  animation:opBar 4.7s var(--ease-io) both;
}
.op__bar--t{ top:0; transform-origin:top; }
.op__bar--b{ bottom:0; transform-origin:bottom; }
@keyframes opBar{
  0%,7% { transform:scaleY(1); }
  23%   { transform:scaleY(.26); }
  86%   { transform:scaleY(.26); }
  100%  { transform:scaleY(0); }
}

.monogram{ width:112px; height:auto; overflow:visible; }
.monogram path,.monogram circle{
  fill:none; stroke:var(--bronze); stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:var(--len,300); stroke-dashoffset:var(--len,300);
  animation:draw 1.2s var(--ease-io) both;
}
.mono-ring{ --len:500; stroke-width:.7; stroke:var(--line-b); animation-delay:2.35s; animation-duration:1.3s; }
.mono-k:nth-of-type(1){ --len:110; animation-delay:2.55s; }
.mono-k:nth-of-type(2){ --len:75;  animation-delay:2.66s; }
.mono-k:nth-of-type(3){ --len:80;  animation-delay:2.75s; }
.mono-a:nth-of-type(4){ --len:230; animation-delay:2.85s; }
.mono-a:nth-of-type(5){ --len:48;  animation-delay:3.02s; }
@keyframes draw{ to{ stroke-dashoffset:0; } }

.opening__rule{ position:relative; width:170px; height:20px; margin:22px 0 18px; }
.rule-line{
  position:absolute; top:10px; left:50%; width:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--bronze),transparent);
  transform:translateX(-50%);
  animation:ruleOut .8s var(--ease) 2.9s both;
}
@keyframes ruleOut{ to{ width:100%; } }
.rule-ticks{ position:absolute; top:4px; left:0; right:0; display:flex; justify-content:space-between; }
.rule-ticks i{
  width:1px; height:6px; background:var(--line-b);
  transform:scaleY(0); transform-origin:top;
  animation:tick .3s var(--ease) both;
}
.rule-ticks i:nth-child(2n){ height:9px; }
.rule-ticks i:nth-child(6){ height:12px; background:var(--bronze); }
.rule-ticks i:nth-child(1){animation-delay:3.00s}.rule-ticks i:nth-child(2){animation-delay:3.03s}
.rule-ticks i:nth-child(3){animation-delay:3.06s}.rule-ticks i:nth-child(4){animation-delay:3.09s}
.rule-ticks i:nth-child(5){animation-delay:3.12s}.rule-ticks i:nth-child(6){animation-delay:3.15s}
.rule-ticks i:nth-child(7){animation-delay:3.18s}.rule-ticks i:nth-child(8){animation-delay:3.21s}
.rule-ticks i:nth-child(9){animation-delay:3.24s}.rule-ticks i:nth-child(10){animation-delay:3.27s}
.rule-ticks i:nth-child(11){animation-delay:3.30s}
@keyframes tick{ to{ transform:scaleY(1); } }

.opening__name{
  display:flex; flex-wrap:wrap; justify-content:center;
  column-gap:.5em; row-gap:.1em;
  font-family:var(--ff-d); font-weight:400;
  font-size:clamp(1.3rem,6.2vw,2.5rem);
  color:var(--ink); margin:0; max-width:100%;
}
.opening__name .word{ display:inline-flex; font-weight:400; letter-spacing:.3em; text-indent:.3em; }
.opening__name span{
  display:inline-block; opacity:0; transform:translateY(80%);
  animation:letterUp .75s var(--ease) both;
  animation-delay:calc(2.98s + var(--i,0) * .028s);
}
@keyframes letterUp{ to{ opacity:1; transform:none; } }
@keyframes fadeIn{ to{ opacity:1; } }

.opening__skip{
  position:absolute; z-index:5; left:50%;
  bottom:max(30px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  font-size:.52rem; letter-spacing:.36em; text-indent:.36em; text-transform:uppercase;
  color:rgba(250,247,242,.55); padding:12px 24px;
  border:1px solid rgba(250,247,242,.2); border-radius:100px;
  animation:opSkip 4.7s ease both;
  transition:color .4s,border-color .4s;
}
.opening__skip:hover{ color:var(--paper); border-color:rgba(250,247,242,.5); }
@keyframes opSkip{ 0%,17%{opacity:0} 26%,84%{opacity:1} 92%,100%{opacity:0; pointer-events:none} }

/* saída antecipada (quem toca para pular) — animation:none é necessário,
   senão o fill "both" das animações venceria estas regras */
.opening--out .op__stage{ animation:none; opacity:0; transition:opacity .45s var(--soft); }
.opening--out .op__title{ animation:none; opacity:0; transition:opacity .4s var(--soft); }
.opening--out .opening__skip{ animation:none; opacity:0; pointer-events:none; transition:opacity .25s; }
.opening--out .op__bar{
  animation:none; transform:scaleY(0);
  transition:transform .8s var(--ease-io) .2s;
}
.opening--out .op__panel{
  animation:none; opacity:1;
  transition:transform .95s var(--ease-io) .2s;
}
.opening--out .op__panel--l{ transform:translateX(-101%); }
.opening--out .op__panel--r{ transform:translateX(101%); }
.opening--gone{ display:none; }

/* ═══════════ textura, cursor, progresso ═══════════ */
.grain{
  position:fixed; inset:-50%; z-index:900; pointer-events:none;
  opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
  animation:grain 8s steps(6) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)} 16%{transform:translate(-3%,-2%)}
  33%{transform:translate(2%,-4%)} 50%{transform:translate(-2%,3%)}
  66%{transform:translate(3%,2%)} 83%{transform:translate(-3%,1%)}
}
.cursor{ display:none; }
.progress{
  position:fixed; top:0; left:0; height:1.5px; width:0; z-index:950;
  background:linear-gradient(90deg,var(--bronze-lt),var(--bronze));
  transition:width .12s linear;
}

/* ═══════════ botões ═══════════ */
/* ═══ botões — pensados primeiro para o dedo ═══
   Nada aqui depende de :hover. O estado de toque (.is-press, posto pelo
   script no pointerdown) é o que dá o retorno: afunda, escurece e passa
   o brilho. No desktop o :hover vem por cima como um bônus. */
.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:.65em;
  min-height:52px; padding:16px 28px; border-radius:100px;
  font-size:.7rem; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;          /* mata o atraso de 300ms no toque */
  transition:transform .32s var(--ease), box-shadow .32s var(--ease),
             color .3s, border-color .3s, background .3s, filter .3s;
  will-change:transform;
}
.btn .ic{ width:1.15em; height:1.15em; fill:currentColor; flex:none; }
.btn .ic--arr{ fill:none; transition:transform .4s var(--ease); }
.btn:hover .ic--arr,
.btn.is-press .ic--arr{ transform:translateX(5px); }
.btn span{ position:relative; z-index:2; }

.btn--solid{
  background:var(--ink); color:var(--paper);
  box-shadow:0 10px 26px -14px rgba(43,37,33,.6);
}
.btn--solid::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(105deg,transparent 38%,rgba(210,184,150,.55) 50%,transparent 62%);
  transform:translateX(-130%);
}
.btn--solid:hover::before{ transform:translateX(130%); transition:transform .9s var(--ease); }
/* no toque o brilho é uma animação, então dispara mesmo sem cursor */
.btn--solid.is-press::before{ animation:varre .55s var(--ease) forwards; }
@keyframes varre{ from{ transform:translateX(-130%) } to{ transform:translateX(130%) } }
.btn--solid:hover{ box-shadow:0 16px 38px -14px rgba(43,37,33,.7); }

.btn--ghost{ border:1px solid var(--line-b); color:var(--ink); background:transparent; }
.btn--ghost:hover{ background:var(--bronze); border-color:var(--bronze); color:var(--paper); }
.btn--ghost.is-press{ background:var(--bronze); border-color:var(--bronze); color:var(--paper); }

.btn--sm{ min-height:46px; padding:12px 22px; font-size:.63rem; }
.btn--big{ min-height:60px; padding:20px 36px; font-size:.78rem; }
.btn--wide{ width:100%; }

/* o afundar: forte o bastante para se sentir no celular */
.btn.is-press{
  transform:scale(.955);
  box-shadow:0 4px 12px -8px rgba(43,37,33,.7);
}
.btn--solid.is-press{ filter:brightness(1.25); }

.ripple{
  position:absolute; border-radius:50%; z-index:1;
  background:radial-gradient(circle,rgba(210,184,150,.65),transparent 68%);
  transform:translate(-50%,-50%) scale(0);
  animation:rip .65s var(--ease) forwards; pointer-events:none;
}
.btn--ghost .ripple,.chip .ripple,.av__opts .ripple{
  background:radial-gradient(circle,rgba(168,132,92,.42),transparent 68%);
}
@keyframes rip{ to{ transform:translate(-50%,-50%) scale(1); opacity:0; } }

/* o mesmo retorno de toque no resto dos alvos */
.chip, .dock__i, .gal__i, .proc__head, .faq__i summary, .av__opts button, .av__link, .info__row{
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.chip.is-press{ border-color:var(--bronze); color:var(--bronze); transform:scale(.96); }
.gal__i.is-press{ transform:scale(.97); }
.proc__head.is-press{ background:rgba(168,132,92,.07); }
.faq__i summary.is-press{ background:rgba(168,132,92,.07); }
.av__opts button.is-press{ border-color:var(--bronze); color:var(--bronze); transform:scale(.96); }
.info__row.is-press{ background:rgba(168,132,92,.07); }
.dock__i.is-press{ color:var(--bronze); }
.dock__i.is-press svg{ transform:scale(.86); }
.chip, .gal__i, .proc__head, .faq__i summary, .av__opts button, .info__row{
  transition:transform .25s var(--ease), background .25s, border-color .3s, color .3s;
}

/* ═══════════ tipografia comum ═══════════ */
.eyebrow{
  display:flex; align-items:center; gap:11px;
  font-size:.55rem; font-weight:400;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--bronze); margin:0 0 20px;
}
.eyebrow__tick{
  width:26px; height:7px; flex:none;
  background:
    linear-gradient(var(--bronze),var(--bronze)) 0 100%/1px 7px no-repeat,
    linear-gradient(var(--line-b),var(--line-b)) 8px 100%/1px 4px no-repeat,
    linear-gradient(var(--line-b),var(--line-b)) 16px 100%/1px 4px no-repeat,
    linear-gradient(var(--bronze),var(--bronze)) 24px 100%/1px 7px no-repeat,
    linear-gradient(var(--line-b),var(--line-b)) 0 100%/26px 1px no-repeat;
}
.sec__title{
  font-family:var(--ff-d); font-weight:400; color:var(--ink);
  font-size:clamp(2.3rem,10.5vw,3.5rem);
  line-height:1.08; letter-spacing:.005em;
  margin:0 0 18px;
}
.sec__title em{ font-style:normal; color:var(--bronze); }
.sec__lead{ color:var(--muted); font-size:.95rem; max-width:46ch; margin:0; }

.sec{ padding:96px var(--pad); position:relative; }
.sec--alt{ background:var(--paper-2); }
.sec__head{ margin-bottom:44px; }

/* ═══════════ cabeçalho ═══════════ */
.header{ display:none; }

/* ═══════════ HERO ═══════════ */
.hero{
  position:relative; min-height:100svh;
  display:flex; flex-direction:column;
  padding:0 0 calc(34px + var(--dock-h));
  overflow:hidden;
}
.hero__glow{
  position:absolute; z-index:0; pointer-events:none;
  width:130vw; aspect-ratio:1; right:-40vw; top:-18vh;
  background:radial-gradient(circle,rgba(201,164,151,.38),rgba(210,184,150,.16) 44%,transparent 68%);
  filter:blur(30px);
  animation:drift 18s ease-in-out infinite alternate;
}
.hero__glow--2{
  right:auto; left:-45vw; top:auto; bottom:-30vh; width:110vw;
  background:radial-gradient(circle,rgba(210,184,150,.32),transparent 64%);
  animation-duration:22s; animation-direction:alternate-reverse;
}
@keyframes drift{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(-6%,5%,0) scale(1.15); }
}

.hero__media{
  position:relative; z-index:1;
  width:100%; height:48vh; flex:none;
}
/* sem moldura: a foto se dissolve no marfim por todos os lados */
.hero__frame{
  position:relative; width:100%; height:100%; overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 76% 70% at 52% 40%, #000 42%, rgba(0,0,0,.55) 72%, transparent 92%);
          mask-image:radial-gradient(ellipse 76% 70% at 52% 40%, #000 42%, rgba(0,0,0,.55) 72%, transparent 92%);
}
.hero__frame img{
  width:100%; height:100%; object-fit:cover;
  object-position:var(--ox,50%) var(--oy,50%);
  transform:translate3d(0,var(--py,0px),0) scale(var(--z,1));
  opacity:0; animation:heroIn 2s var(--ease) .15s both;
}
@keyframes heroIn{
  from{ opacity:0; transform:translate3d(0,var(--py,0px),0) scale(1.1); }
  to{ opacity:1; }
}
.hero__veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg,
    rgba(250,247,242,.18) 0%,
    rgba(250,247,242,0) 30%,
    rgba(250,247,242,.3) 62%,
    rgba(250,247,242,.72) 84%,
    rgba(250,247,242,.94) 100%);
}

.hero__caliper{
  position:absolute; z-index:2; left:var(--pad); top:18vh;
  display:flex; flex-direction:column; gap:9px;
  opacity:0; animation:fadeIn 1s ease 1.3s both;
}
.hero__caliper span{
  height:1px; background:var(--line-b); width:14px;
  transform-origin:left; animation:calIn .7s var(--ease) both;
}
.hero__caliper span:nth-child(2n){ width:8px; }
.hero__caliper span:nth-child(4){ width:26px; background:var(--bronze); }
.hero__caliper span:nth-child(1){animation-delay:1.3s}.hero__caliper span:nth-child(2){animation-delay:1.36s}
.hero__caliper span:nth-child(3){animation-delay:1.42s}.hero__caliper span:nth-child(4){animation-delay:1.48s}
.hero__caliper span:nth-child(5){animation-delay:1.54s}.hero__caliper span:nth-child(6){animation-delay:1.6s}
.hero__caliper span:nth-child(7){animation-delay:1.66s}
@keyframes calIn{ from{ transform:scaleX(0); } }

.hero__content{
  position:relative; z-index:3;
  padding:0 var(--pad); margin-top:-7vh;
}
.hero__title{
  font-family:var(--ff-d); font-weight:400; color:var(--ink);
  font-size:clamp(2.9rem,14.5vw,5.4rem);
  line-height:1.02; letter-spacing:.01em;
  margin:0 0 20px;
}
.line{ display:block; overflow:hidden; padding-bottom:.06em; }
.line__in{
  display:block; transform:translateY(105%);
  animation:lineUp 1.2s var(--ease) both; animation-delay:var(--d,0s);
}
.bronze{ color:var(--bronze); }
@keyframes lineUp{ to{ transform:none; } }

.hero__lead{
  font-size:1.04rem; line-height:1.68; color:var(--ink-2);
  max-width:31ch; margin:0 0 32px;
}
.hero__lead em{ font-style:normal; color:var(--bronze); }

.hero__cta{ display:flex; flex-direction:column; gap:11px; }
.hero__meta{ display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.chip{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px; border-radius:100px;
  border:1px solid var(--line);
  font-size:.64rem; letter-spacing:.1em; color:var(--muted);
  transition:color .4s,border-color .4s;
}
.chip .ic{ width:14px; height:14px; fill:currentColor; }
.chip:hover{ color:var(--bronze); border-color:var(--line-b); }
.chip--flat{ pointer-events:none; }

.hero__scroll{ display:none; }
.hero__scrollline{ width:1px; height:34px; background:linear-gradient(var(--bronze),transparent); position:relative; overflow:hidden; }
.hero__scrollline::after{
  content:""; position:absolute; inset:0; background:var(--bronze-dk);
  animation:scrollDot 2.1s var(--ease) infinite;
}
@keyframes scrollDot{ 0%{transform:translateY(-100%)} 60%,100%{transform:translateY(100%)} }
.hero__scrolltxt{ font-size:.48rem; letter-spacing:.32em; text-transform:uppercase; color:var(--faint); }

/* ═══════════ faixa deslizante ═══════════ */
.marquee{
  overflow:hidden; white-space:nowrap;
  border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2);
  padding:17px 0; background:var(--paper-2);
}
.marquee__track{ display:flex; width:max-content; animation:marq 42s linear infinite; }
.marquee__track span{
  font-family:var(--ff-d); font-size:1.1rem;
  letter-spacing:.09em; color:var(--ink-2); padding-right:.5em;
}
.marquee__track i{ font-style:normal; color:var(--bronze-lt); margin:0 .6em; font-size:.6em; vertical-align:middle; }
@keyframes marq{ to{ transform:translateX(-50%); } }

/* ═══════════ procedimentos ═══════════ */
.proc{ border-top:1px solid var(--line-2); }
.proc__item{ border-bottom:1px solid var(--line-2); }
.proc__head{
  position:relative; overflow:hidden;
  width:100%; display:grid;
  grid-template-columns:66px 1fr auto;
  align-items:center; gap:18px;
  padding:19px 2px; text-align:left;
  -webkit-tap-highlight-color:transparent;
}
.proc__thumb{
  width:66px; height:66px; border-radius:50%;
  filter:saturate(.6) brightness(1.04);
  transition:filter .7s var(--soft);
}
.proc__ttl{
  font-family:var(--ff-d); font-size:1.24rem; line-height:1.24;
  color:var(--ink); transition:color .45s;
}
.proc__plus{ position:relative; width:16px; height:16px; flex:none; }
.proc__plus::before,.proc__plus::after{
  content:""; position:absolute; top:50%; left:0;
  width:100%; height:1px; background:var(--bronze);
  transition:transform .55s var(--ease);
}
.proc__plus::after{ transform:rotate(90deg); }

.proc__item.is-open .proc__thumb{ filter:none; }
.proc__item.is-open .proc__ttl{ color:var(--bronze-dk); }
.proc__item.is-open .proc__plus::after{ transform:rotate(0deg); }

.proc__body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--ease); }
.proc__item.is-open .proc__body{ grid-template-rows:1fr; }
.proc__inner{ overflow:hidden; }
.proc__inner > *{
  opacity:0; transform:translateY(12px);
  transition:opacity .5s var(--soft), transform .5s var(--ease);
}
.proc__item.is-open .proc__inner > *{ opacity:1; transform:none; transition-delay:.18s; }
.proc__inner p{ color:var(--muted); font-size:.92rem; max-width:52ch; }
.proc__inner p strong{ color:var(--ink); font-weight:400; }
.proc__quote{
  font-family:var(--ff-d); font-size:1.2rem !important; color:var(--bronze) !important;
  border-left:1px solid var(--line-b); padding-left:16px; margin:16px 0 !important;
}
.proc__tags{ display:flex; flex-wrap:wrap; gap:7px; margin:0 0 20px; }
.proc__tags li{
  font-size:.58rem; letter-spacing:.14em; text-transform:uppercase;
  padding:7px 12px; border-radius:100px;
  border:1px solid var(--line); color:var(--muted);
}
.proc__inner .btn{ margin-bottom:26px; }

/* ═══════════ avaliação online ═══════════ */
.av{
  border:1px solid var(--line);
  border-radius:4px; background:var(--paper);
  padding:20px var(--pad) 26px;
  margin-inline:calc(var(--pad) * -1);
}

.av__bar{
  height:2px; background:var(--line); border-radius:2px;
  overflow:hidden; margin-bottom:12px;
}
.av__bar span{
  display:block; height:100%; width:11%;
  background:var(--bronze);
  transition:width .55s var(--ease);
}
.av__pos{
  margin:0 0 22px; font-size:.55rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--bronze);
}
.av__pos i{ font-style:normal; color:var(--faint); }

.av__pane{ display:none; animation:avIn .55s var(--ease) both; }
.av__pane.is-on{ display:block; }
@keyframes avIn{ from{ opacity:0; transform:translateY(16px); } }

.av__qt{
  margin:0 0 8px; font-family:var(--ff-d);
  font-size:1.5rem; line-height:1.22; color:var(--ink);
}
.av__qh{ margin:0 0 20px; font-size:.82rem; line-height:1.6; color:var(--muted); }

/* — opções em lista: alvo largo, fácil de acertar com o polegar — */
.av__opts{ display:flex; flex-direction:column; gap:8px; }
.av__opts button{
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:12px;
  min-height:58px; padding:14px 18px;
  border:1px solid var(--line); border-radius:3px;
  font-size:.92rem; text-align:left; color:var(--ink-2);
  background:var(--paper);
}
.av__opts button::after{
  content:""; margin-left:auto; flex:none;
  width:18px; height:18px; border-radius:50%;
  border:1px solid var(--line-b);
  transition:background .3s, border-color .3s, box-shadow .3s;
}
.av__opts button.is-on{ border-color:var(--bronze); color:var(--ink); background:rgba(210,184,150,.12); }
.av__opts button.is-on::after{
  background:var(--bronze); border-color:var(--bronze);
  box-shadow:inset 0 0 0 3px var(--paper);
}

/* — opções em desenho — */
.av__opts--fig{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(94px,1fr));
  gap:8px;
}
.av__opts--fig button{
  flex-direction:column; justify-content:center; gap:8px;
  min-height:112px; padding:14px 8px; text-align:center;
  font-size:.72rem; letter-spacing:.02em;
}
.av__opts--fig button::after{ display:none; }
.av__opts--fig button span{ line-height:1.3; }
.av__fig{
  width:44px; height:52px; flex:none;
  fill:none; stroke:currentColor; stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round;
  color:var(--muted); transition:color .35s, transform .45s var(--ease);
}
.av__fig--w{ width:72px; height:28px; stroke-width:2.6; }
.av__opts--fig button.is-on .av__fig{ color:var(--bronze-dk); transform:scale(1.06); }

.av__opts--multi button.is-on::after{
  border-radius:3px; background:var(--bronze); border-color:var(--bronze);
  box-shadow:inset 0 0 0 3px var(--paper);
}

.av__pane .btn--wide{ margin-top:22px; }

.av__fields{ display:grid; gap:14px; margin:0 0 4px; }
.av__fields label{
  display:block; font-size:.56rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--bronze);
}
.av__fields input{
  display:block; width:100%; margin-top:8px;
  min-height:54px; padding:14px 16px; border-radius:3px;
  border:1px solid var(--line); background:var(--paper);
  font-family:var(--ff-b); font-size:1rem; font-weight:300; color:var(--ink);
  transition:border-color .3s;
}
.av__fields input:focus{ border-color:var(--bronze); outline:none; }
.av__fields input::placeholder{ color:var(--faint); }

.av__link{
  display:block; margin:18px auto 0;
  min-height:44px; padding:0 14px;
  font-size:.68rem; letter-spacing:.12em; color:var(--muted);
  transition:color .35s;
}
.av__link:hover,.av__link.is-press{ color:var(--bronze); }
.av__back{ margin-top:6px; }

/* — resultado — */
.av__card{
  border:1px solid var(--line); border-radius:3px;
  padding:20px 18px; margin-bottom:12px;
}
.av__card--hi{ border-color:var(--line-b); background:rgba(210,184,150,.1); }
.av__card--warn{ border-color:rgba(201,164,151,.6); background:rgba(201,164,151,.12); }
.av__cardk{
  margin:0 0 14px; font-size:.55rem; letter-spacing:.26em;
  text-transform:uppercase; color:var(--bronze);
}
.av__rec{
  font-family:var(--ff-d); font-size:1.42rem; line-height:1.22;
  color:var(--ink); margin:0 0 10px;
}
.av__card p:last-child{ margin-bottom:0; font-size:.9rem; color:var(--muted); line-height:1.7; }
.av__card .tick li{ margin-bottom:12px; }
.av__card .tick li:last-child{ margin-bottom:0; }
.av__disc{
  margin:18px 0 20px; font-size:.76rem; line-height:1.68;
  color:var(--faint); text-align:center;
}
.av__note{ margin:12px 0 0; font-size:.74rem; color:var(--faint); text-align:center; }
.av__zap{
  margin:14px 0 0; font-size:.8rem; line-height:1.65;
  color:var(--muted); text-align:center;
}
.av__zap b{ font-weight:400; color:var(--bronze-dk); white-space:nowrap; }
.info__v em{ font-style:normal; color:var(--muted); font-size:.88em; }

/* ═══════════ processo (vídeos) ═══════════ */
.reels{ display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.reel{
  position:relative; overflow:hidden; margin:0;
  aspect-ratio:9/16; border-radius:3px;
  background:var(--paper-3);
}
.reel video{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 1.4s var(--ease);
}
.reel:hover video{ transform:scale(1.05); }
.reel__cap{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:26px 10px 10px;
  background:linear-gradient(transparent,rgba(34,28,24,.72));
  color:var(--paper);
  font-size:.56rem; letter-spacing:.14em; text-transform:uppercase;
  text-align:center; line-height:1.45;
}

/* faixa de vídeo ambiente */
.band{
  position:relative; overflow:hidden;
  height:62vh; min-height:340px;
  background:var(--dark);
}
.band video{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:.72;
}
.band__veil{
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg,rgba(34,28,24,.5),rgba(34,28,24,.25) 45%,rgba(34,28,24,.72));
}
.band__txt{
  position:absolute; inset:0; z-index:3;
  display:grid; place-content:center; text-align:center;
  padding:0 var(--pad); color:var(--paper);
}
.band__txt p{
  font-family:var(--ff-d);
  font-size:clamp(1.5rem,6.5vw,2.8rem);
  line-height:1.35; margin:0; letter-spacing:.02em;
}
.band__txt em{ font-style:normal; color:var(--bronze-lt); }

/* ═══════════ galeria ═══════════ */
.gal{ display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-bottom:28px; }
.gal__i{
  position:relative; overflow:hidden; border-radius:3px;
  aspect-ratio:1/1; padding:0;
  -webkit-tap-highlight-color:transparent;
}
.gal__i--tall{ aspect-ratio:1/1.34; }
.gal__i:last-child{ grid-column:span 2; aspect-ratio:16/9; }
.gal__i .ph{ width:100%; height:100%; }
.gal__i img{ filter:saturate(.7); }
.gal__i:hover img{ transform:scale(calc(var(--z,1) * 1.06)); filter:saturate(1); }
.gal__i:active{ transform:scale(.99); }

/* ═══════════ sobre ═══════════ */
.sobre__media{ position:relative; margin-bottom:38px; }
/* também sem moldura — a foto se abre direto no marfim */
.sobre__frame{
  position:relative; overflow:hidden;
  aspect-ratio:4/5;
  -webkit-mask-image:radial-gradient(ellipse 74% 74% at 50% 44%, #000 40%, rgba(0,0,0,.62) 72%, transparent 94%);
          mask-image:radial-gradient(ellipse 74% 74% at 50% 44%, #000 40%, rgba(0,0,0,.62) 72%, transparent 94%);
}
.sobre__frame img{
  width:100%; height:100%; object-fit:cover; object-position:50% 50%;
  transform:translate3d(0,var(--py,0px),0) scale(var(--z,1));
  transform-origin:var(--ox,50%) var(--oy,50%);
}
.sobre__badge{
  position:absolute; left:2%; bottom:7%;
  display:flex; align-items:center; gap:12px;
  padding:14px 19px; border-radius:3px;
  background:var(--paper);
  box-shadow:0 14px 40px -18px rgba(43,37,33,.4);
  font-size:.6rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--bronze-dk); line-height:1.4;
}
.sobre__badge svg{ width:26px; height:26px; color:var(--bronze); flex:none; }

.sobre__text p{ color:var(--muted); font-size:.98rem; }
.sobre__text p strong{ color:var(--ink); font-weight:400; }
.sobre__text p em{ font-style:normal; color:var(--bronze); }

.values{ margin-top:32px; border-top:1px solid var(--line-2); }
.values li{
  display:flex; align-items:baseline; gap:14px;
  padding:16px 0; border-bottom:1px solid var(--line-2);
  font-size:.88rem; color:var(--ink-2);
}
.values li::before{
  content:""; width:16px; height:1px; flex:none;
  background:var(--bronze); transform:translateY(-4px);
}

/* ═══════════ FAQ ═══════════ */
.faq{ border-top:1px solid var(--line-2); }
.faq__i{ border-bottom:1px solid var(--line-2); }
.faq__i summary{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:20px 2px; cursor:pointer; list-style:none;
  font-size:.96rem; color:var(--ink);
  -webkit-tap-highlight-color:transparent; transition:color .4s;
}
.faq__i summary::-webkit-details-marker{ display:none; }
.faq__i summary i{ position:relative; width:14px; height:14px; flex:none; }
.faq__i summary i::before,.faq__i summary i::after{
  content:""; position:absolute; top:50%; left:0; width:100%; height:1px;
  background:var(--bronze); transition:transform .55s var(--ease);
}
.faq__i summary i::after{ transform:rotate(90deg); }
.faq__i[open] summary{ color:var(--bronze-dk); }
.faq__i[open] summary i::after{ transform:rotate(0); }
.faq__b{ padding:0 0 24px; animation:faqIn .55s var(--ease) both; }
@keyframes faqIn{ from{ opacity:0; transform:translateY(-10px); } }
.faq__b p{ color:var(--muted); font-size:.9rem; max-width:56ch; }
.faq__note{ color:var(--bronze) !important; }
.tick li{ position:relative; padding-left:24px; margin-bottom:10px; color:var(--muted); font-size:.9rem; }
.tick li strong{ color:var(--ink); font-weight:400; }
.tick li::before{ content:""; position:absolute; left:0; top:.68em; width:12px; height:1px; background:var(--bronze); }

/* ═══════════ chamada final ═══════════ */
.sec--cta{ padding-bottom:110px; background:var(--paper-2); overflow:hidden; }
.cta{ position:relative; text-align:center; }
.cta .eyebrow{ justify-content:center; }
.cta__glow{
  position:absolute; z-index:0; left:50%; top:-14%;
  width:120vw; aspect-ratio:1; transform:translateX(-50%);
  background:radial-gradient(circle,rgba(201,164,151,.34),transparent 58%);
  filter:blur(28px); animation:drift 16s ease-in-out infinite alternate;
  pointer-events:none;
}
.cta > *:not(.cta__glow){ position:relative; z-index:1; }
.cta__title{
  font-family:var(--ff-d); font-weight:400; color:var(--ink);
  font-size:clamp(2.5rem,12vw,4.2rem);
  line-height:1.1; margin:0 0 22px; letter-spacing:.01em;
}
.cta__title em{ font-style:normal; color:var(--bronze); }
.cta__lead{ color:var(--muted); max-width:40ch; margin:0 auto 34px; font-size:.95rem; }

.info{ margin-top:46px; border-top:1px solid var(--line); text-align:left; }
.info__row{
  position:relative; overflow:hidden;
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  padding:18px 2px; border-bottom:1px solid var(--line);
  transition:padding-left .45s var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.info__k{
  font-size:.55rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--bronze); padding-top:.4em; flex:none;
}
.info__v{ text-align:right; font-size:.92rem; color:var(--ink); line-height:1.5; }
a.info__row:hover{ padding-left:10px; }
a.info__row:hover .info__v{ color:var(--bronze-dk); }

/* ═══════════ rodapé ═══════════ */
.footer{
  text-align:center; padding:62px var(--pad) calc(36px + var(--dock-h));
  background:var(--dark); color:var(--paper);
}
.footer__mono{ font-family:var(--ff-d); font-size:1.9rem; letter-spacing:.2em; color:var(--bronze-lt); margin-bottom:16px; }
.footer__name{ font-family:var(--ff-d); font-size:1.1rem; letter-spacing:.26em; text-transform:uppercase; margin:0 0 7px; }
.footer__sub{ font-size:.54rem; letter-spacing:.34em; text-transform:uppercase; color:rgba(250,247,242,.4); margin:0 0 26px; }
.footer__links{ display:flex; justify-content:center; gap:28px; margin-bottom:30px; }
.footer__links a{
  font-size:.64rem; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(250,247,242,.62); position:relative; padding-bottom:4px;
}
.footer__links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--bronze-lt); transition:width .5s var(--ease);
}
.footer__links a:hover{ color:var(--bronze-lt); }
.footer__links a:hover::after{ width:100%; }
.footer__legal{ font-size:.6rem; color:rgba(250,247,242,.3); margin:0 0 6px; }
.footer__credit{ font-size:.54rem; color:rgba(250,247,242,.22); margin:0; letter-spacing:.06em; }

/* ═══════════ whatsapp flutuante ═══════════ */
.wa{
  position:fixed; z-index:880;
  right:16px; bottom:calc(var(--dock-h) + 16px + env(safe-area-inset-bottom));
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--ink); color:var(--paper);
  box-shadow:0 14px 34px -12px rgba(43,37,33,.65);
  opacity:0; transform:translateY(22px) scale(.82); pointer-events:none;
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.wa.is-on{ opacity:1; transform:none; pointer-events:auto; }
.wa svg{ width:27px; height:27px; fill:currentColor; position:relative; z-index:2; }
.wa__pulse{ position:absolute; inset:0; border-radius:50%; border:1px solid var(--bronze); animation:pulse 2.8s var(--ease) infinite; }
@keyframes pulse{ 0%{ transform:scale(1); opacity:.6 } 70%,100%{ transform:scale(1.7); opacity:0 } }
.wa:active{ transform:scale(.92); }

/* ═══════════ barra inferior ═══════════ */
.dock{
  position:fixed; z-index:890; left:0; right:0; bottom:0;
  height:calc(var(--dock-h) + env(safe-area-inset-bottom));
  padding-bottom:env(safe-area-inset-bottom);
  display:flex; align-items:stretch;
  background:var(--veil);
  backdrop-filter:blur(22px) saturate(1.4);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);
  border-top:1px solid var(--line-2);
}
.dock__ind{
  position:absolute; top:0; left:0; height:1.5px; width:20%;
  background:linear-gradient(90deg,transparent,var(--bronze),transparent);
  transition:transform .6s var(--ease);
}
.dock__i{
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:5px;
  color:var(--faint); transition:color .4s;
  -webkit-tap-highlight-color:transparent;
}
.dock__i svg{ width:20px; height:20px; transition:transform .5s var(--ease); }
.dock__i span{ font-size:.5rem; letter-spacing:.1em; text-transform:uppercase; }
.dock__i.is-on{ color:var(--bronze-dk); }
.dock__i.is-on svg{ transform:translateY(-2px) scale(1.08); }
.dock__i:active svg{ transform:scale(.88); }

/* ═══════════ lightbox ═══════════ */
.lb{
  position:fixed; inset:0; z-index:970;
  background:rgba(34,28,24,.94); backdrop-filter:blur(16px);
  display:grid; place-items:center;
  opacity:0; pointer-events:none; transition:opacity .45s var(--soft);
}
.lb.is-on{ opacity:1; pointer-events:auto; }
.lb__fig{ margin:0; max-width:92vw; max-height:76vh; }
.lb__fig img{
  max-width:92vw; max-height:76vh; object-fit:contain; border-radius:3px;
  animation:lbIn .55s var(--ease) both;
}
@keyframes lbIn{ from{ opacity:0; transform:scale(.95); } }
.lb__x,.lb__nav{
  position:absolute; display:grid; place-items:center;
  border-radius:50%; border:1px solid rgba(250,247,242,.22); color:var(--paper);
  transition:border-color .4s,color .4s,background .4s;
}
.lb__x:hover,.lb__nav:hover{ border-color:var(--bronze-lt); color:var(--bronze-lt); }
.lb__x{ top:calc(14px + env(safe-area-inset-top)); right:14px; width:44px; height:44px; }
.lb__x svg{ width:18px; height:18px; }
.lb__nav{ top:50%; transform:translateY(-50%); width:46px; height:46px; }
.lb__nav svg{ width:19px; height:19px; }
.lb__nav--p{ left:10px; } .lb__nav--n{ right:10px; }
.lb__cnt{
  position:absolute; bottom:calc(24px + env(safe-area-inset-bottom));
  left:0; right:0; text-align:center; margin:0;
  font-size:.58rem; letter-spacing:.28em; color:rgba(250,247,242,.45);
}

/* ═══════════ revelação ao rolar ═══════════ */
.reveal{
  opacity:0; transform:translateY(30px);
  transition:opacity 1.05s var(--soft), transform 1.05s var(--ease);
  transition-delay:calc(var(--rd,0) * 1ms);
}
.reveal.is-in{ opacity:1; transform:none; }

/* ═══════════ tablet / desktop ═══════════ */
@media (min-width:640px){
  :root{ --pad:46px; }
  .gal{ grid-template-columns:repeat(3,1fr); gap:11px; }
  .gal__i:last-child{ grid-column:auto; aspect-ratio:1/1; }
  .hero__cta{ flex-direction:row; }
  .reels{ gap:14px; }
}

@media (min-width:900px){
  :root{ --pad:68px; --dock-h:0px; }
  body{ font-size:17px; }

  .dock{ display:none; }
  .wa{ right:28px; bottom:28px; width:60px; height:60px; }
  .wa svg{ width:30px; height:30px; }

  .header{
    position:fixed; z-index:940; top:0; left:0; right:0;
    display:flex; align-items:center; justify-content:space-between; gap:30px;
    padding:20px var(--pad);
    border-bottom:1px solid transparent;
    transition:background .6s var(--soft), padding .6s var(--ease), border-color .6s;
  }
  .header.is-stuck{
    background:var(--veil);
    backdrop-filter:blur(20px) saturate(1.4);
    padding:13px var(--pad);
    border-bottom-color:var(--line-2);
  }
  .header__brand{ display:flex; align-items:center; gap:13px; }
  .header__mono{
    font-family:var(--ff-d); font-size:1.1rem; letter-spacing:.14em; color:var(--bronze);
    border:1px solid var(--line-b); border-radius:50%;
    width:38px; height:38px; display:grid; place-items:center;
    transition:background .45s,color .45s;
  }
  .header__brand:hover .header__mono{ background:var(--bronze); color:var(--paper); }
  .header__name{ font-family:var(--ff-d); font-size:.92rem; letter-spacing:.28em; text-transform:uppercase; color:var(--ink); }
  .header__nav{ display:flex; gap:34px; }
  .header__nav a{
    position:relative; font-size:.64rem; letter-spacing:.2em;
    text-transform:uppercase; color:var(--muted); padding:6px 0; transition:color .4s;
  }
  .header__nav a::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:1px;
    background:var(--bronze); transition:width .5s var(--ease);
  }
  .header__nav a:hover{ color:var(--ink); }
  .header__nav a:hover::after,.header__nav a.is-on::after{ width:100%; }
  .header__nav a.is-on{ color:var(--bronze); }

  .hero{
    padding:0 var(--pad);
    display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:52px;
  }
  .hero__media{
    grid-column:2; grid-row:1;
    width:100%; height:76vh; max-height:800px;
  }
  .hero__frame{ border-radius:3px; }
  .hero__veil{ background:linear-gradient(200deg,rgba(250,247,242,.05),rgba(250,247,242,.18) 72%,rgba(250,247,242,.6)); }
  .hero__content{ grid-column:1; grid-row:1; padding:0; margin-top:0; }
  .hero__caliper{ left:auto; right:-26px; top:auto; bottom:12vh; z-index:4; }
  .hero__lead{ font-size:1.16rem; max-width:35ch; }
  .hero__scroll{
    display:flex; flex-direction:column; align-items:flex-start; gap:8px;
    position:absolute; z-index:3; left:var(--pad); bottom:36px;
    opacity:0; animation:fadeIn .9s ease 2s both;
  }

  .eyebrow{ font-size:.58rem; letter-spacing:.32em; }
  .sec{ padding:148px var(--pad); }
  .sec__head{ margin-bottom:64px; max-width:660px; }
  .sec__title{ font-size:clamp(2.7rem,4.8vw,4.1rem); }

  .proc__head{ grid-template-columns:92px 1fr auto; gap:30px; padding:26px 2px; }
  .proc__thumb{ width:92px; height:92px; }
  .proc__ttl{ font-size:1.86rem; }
  .proc__ttl br{ display:none; }
  .proc__inner{ padding-left:calc(92px + 30px); }
  .proc__head:hover .proc__thumb{ filter:none; }
  .proc__head:hover .proc__ttl{ color:var(--bronze-dk); }

  .reels{ max-width:760px; }
  .band{ height:74vh; }

  .av{ margin-inline:0; max-width:720px; padding:34px 38px 38px; }
  .av__fields{ grid-template-columns:1fr 1fr; }

  .sobre{ display:grid; grid-template-columns:.85fr 1.15fr; gap:78px; align-items:center; }
  .sobre__media{ margin-bottom:0; position:sticky; top:124px; }

  .info{ max-width:580px; margin-inline:auto; }
  .footer{ padding-bottom:60px; }

  .cursor{
    position:fixed; z-index:990; top:0; left:0;
    pointer-events:none; display:block; opacity:0; transition:opacity .4s;
  }
  .cursor.is-on{ opacity:1; }
  .cursor__ring{
    position:absolute; width:30px; height:30px; margin:-15px 0 0 -15px;
    border:1px solid var(--bronze); border-radius:50%;
    transition:border-color .3s;
  }
  .cursor__dot{
    position:absolute; width:3px; height:3px; margin:-1.5px 0 0 -1.5px;
    background:var(--bronze-dk); border-radius:50%;
  }
  body:has(.lb.is-on) .cursor{ opacity:0; }
}

@media (min-width:1280px){
  :root{ --pad:92px; }
  .sec__title{ font-size:clamp(3rem,4.4vw,4.5rem); }
}

/* ═══════════ movimento reduzido ═══════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .reveal{ opacity:1; transform:none; }
  .line__in{ transform:none; }
  .grain{ display:none; }
}
