/* NEXO 2026 v2 · identidade própria (30/10/2026). A placa de verdade (arte da gráfica, sem foto de mesa), a onda do NFC,
   o gesto de encostar e a troca de destino ao vivo. Vinho profundo em vez de preto; superfícies tingidas de vinho em vez
   de bege; mídia sempre sangrando no card (nunca foto solta no meio). Tipos: Syne / Montserrat / JetBrains Mono.
   Movimento: só o que a pessoa provoca (toque, cursor, rolagem) + ambiente discreto. Nada rola a página sozinho. */
:root {
  --vinho:#4B0F14; --vinho-2:#7E1F2B; --vinho-3:#36090E; --vinho-4:#1E0509; --rosa:#D5B1B5; --rosa-2:#F0D9DB;
  --off:#F6F3EE; --off-2:#EEE8E0; --tint:#F3E6E5; --tint-2:#E9D5D4; --tinta:#241E1D; --cinza:#6F6460; --cinza-2:#A49A96;
  --sinal:#F3DADC; --sinal-2:#FBEFF0;
  --display:'Montserrat',system-ui,sans-serif; --texto:'Montserrat',system-ui,sans-serif; --mono:'Montserrat',system-ui,sans-serif; --num:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --largura:1180px; --gutter:clamp(18px,4.5vw,56px); --raio:22px; --ease:cubic-bezier(.22,.61,.36,1);
  --grao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.65 var(--texto);color:var(--tinta);background:var(--off);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{color:inherit;background:none;border:0;cursor:pointer;padding:0}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure{margin:0}
ul,ol{list-style:none;padding:0;margin:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--sinal);outline-offset:4px}
.pular{position:fixed;top:12px;left:12px;transform:translateY(-160%);padding:12px 20px;border-radius:8px;background:var(--vinho);color:#fff;z-index:100}
.pular:focus{transform:none}
.container{width:min(100% - 2*var(--gutter),var(--largura));margin-inline:auto}
.secao{padding:clamp(72px,9vw,120px) 0}
.escuro{background:linear-gradient(180deg,var(--vinho-4),var(--vinho-3));color:var(--off);position:relative}
.escuro::before{content:"";position:absolute;inset:0;background:var(--grao);opacity:.5;pointer-events:none;mix-blend-mode:overlay}
.escuro > *{position:relative}
.claro{background:var(--off);color:var(--tinta)}

/* ---- tipografia */
.tag{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--texto);letter-spacing:.01em;padding:8px 12px;border-radius:999px;background:var(--tint);color:var(--vinho)}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vinho)}
.escuro .tag{background:rgba(255,255,255,.08);color:var(--rosa-2);border:1px solid rgba(255,255,255,.1)}
.escuro .tag::before{background:var(--sinal);box-shadow:0 0 0 4px rgba(243,218,220,.18)}
.t1{font:700 clamp(36px,5vw,62px)/1.04 var(--display);letter-spacing:-.035em;text-wrap:balance}
.t1 em{font-style:normal;font-weight:400;color:var(--rosa)}
.t2{font:700 clamp(28px,3.8vw,44px)/1.08 var(--display);letter-spacing:-.03em;text-wrap:balance}
.claro .t2 em{font-style:normal;font-weight:400;color:var(--vinho)}
.escuro .t2 em{font-style:normal;font-weight:400;color:var(--rosa)}
.t3{font:700 20px/1.2 var(--display);letter-spacing:-.02em}
.lide{font-size:clamp(16px,1.3vw,18px);line-height:1.7;max-width:34em}
.claro .lide{color:var(--cinza)}
.escuro .lide{color:#D6C8C6}
.cabeca{display:grid;gap:16px;margin-bottom:clamp(32px,4vw,52px);max-width:820px}
.cabeca--dividida{grid-template-columns:1.15fr 1fr;align-items:end;gap:48px;max-width:none}
.cabeca--dividida .lide{max-width:30em}
.cabeca .tag{justify-self:start}
@media (max-width:860px){.cabeca--dividida{grid-template-columns:1fr;gap:12px}}

/* ---- botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:700;font-size:15px;line-height:1;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s}
.btn svg{width:18px;height:18px}
.btn--claro{background:var(--off);color:var(--vinho)}
.btn--claro:hover{transform:translateY(-2px);box-shadow:0 18px 40px -18px rgba(246,243,238,.5)}
.btn--vinho{background:var(--vinho);color:#fff}
.btn--vinho:hover{background:var(--vinho-2);transform:translateY(-2px);box-shadow:0 18px 36px -18px rgba(75,15,20,.7)}
.btn--linha{border:1.5px solid currentColor;background:transparent}
.btn--linha:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.claro .btn--linha{color:var(--vinho)}
.claro .btn--linha:hover{background:var(--vinho);color:#fff}
.btn--zap{background:#1F9D6B;color:#fff}
.btn--zap:hover{background:#178258;transform:translateY(-2px);box-shadow:0 18px 36px -18px rgba(31,157,107,.7)}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--vinho);transition:gap .2s}
.link:hover{gap:12px}
.link svg{width:16px;height:16px}
.escuro .link{color:var(--rosa)}

/* ---- cabeçalho */
.cabecalho{position:fixed;inset:0 0 auto;z-index:40;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.cabecalho.rolou{background:rgba(24,4,7,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:rgba(255,255,255,.07)}
.cabecalho__linha{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.marca{display:flex;align-items:center;gap:12px;color:var(--off)}
.marca img{height:30px;width:auto}
.marca span{font:600 10px/1 var(--mono);letter-spacing:.1em;color:var(--rosa);border:1px solid rgba(213,177,181,.4);border-radius:999px;padding:5px 8px}
.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600;color:#E6D9D7}
.nav a{position:relative;padding:6px 0}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--rosa);transition:right .3s var(--ease)}
.nav a:not(.btn):hover::after{right:0}
.nav .btn{min-height:42px;padding:0 18px;font-size:13.5px}
.menu-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);color:var(--off);place-items:center}
.menu-toggle .barras{display:grid;gap:5px;width:20px}
.menu-toggle .barras i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s}
.menu-toggle[aria-expanded="true"] .barras i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .barras i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .barras i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:900px){
  .menu-toggle{display:grid}
  .nav{position:fixed;inset:78px 0 auto;background:rgba(24,4,7,.97);backdrop-filter:blur(16px);flex-direction:column;align-items:stretch;gap:0;padding:10px 0 20px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav.aberto{opacity:1;transform:none;pointer-events:auto}
  .nav a{padding:14px var(--gutter);font-size:16px}
  .nav a:not(.btn)::after{display:none}
  .nav .btn{margin:12px var(--gutter) 0}
}

/* ---- hero: encosta e troca o destino */
.hero{min-height:100svh;display:flex;align-items:center;padding:118px 0 70px;overflow:hidden;background:radial-gradient(900px 600px at 78% 30%,rgba(126,31,43,.55),transparent 62%),radial-gradient(700px 500px at 10% 100%,rgba(243,218,220,.09),transparent 60%),linear-gradient(160deg,var(--vinho-4),var(--vinho-3) 55%,#3A0B10)}
.hero__grade{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:center}
.hero__texto{display:grid;gap:22px;max-width:560px}
.hero__texto .lide{color:#D6C8C6}
.hero__acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.hero__nota{font:500 12px/1.5 var(--mono);color:var(--cinza-2);letter-spacing:.03em}
.hero__nota b{color:var(--sinal);font-weight:600}
.linha-titulo{display:block;overflow:hidden}
.linha-titulo span{display:block;transform:translateY(110%);animation:sobe .9s var(--ease) forwards}
.linha-titulo:nth-child(2) span{animation-delay:.12s}.linha-titulo:nth-child(3) span{animation-delay:.24s}
@keyframes sobe{to{transform:none}}

.demo{display:grid;gap:16px}
.demo__cena{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:6px;position:relative}
.placa{position:relative;perspective:1200px;justify-self:end;width:min(100%,300px)}
.placa__ondas{position:absolute;inset:-18%;display:grid;place-items:center;pointer-events:none}
.placa__ondas i{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(243,218,220,.5);opacity:0;transform:scale(.6)}
.placa.pulsa .placa__ondas i{animation:onda 1.6s ease-out forwards}
.placa.pulsa .placa__ondas i:nth-child(2){animation-delay:.25s}.placa.pulsa .placa__ondas i:nth-child(3){animation-delay:.5s}
@keyframes onda{0%{transform:scale(.6);opacity:0}15%{opacity:.9}100%{transform:scale(1.9);opacity:0}}
.placa__corpo{position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out;will-change:transform;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55))}
.placa__corpo img{width:100%;border-radius:8.5%/8%;display:block}
.placa__brilho{position:absolute;inset:0;border-radius:8.5%/8%;background:linear-gradient(calc(115deg + var(--ry,0deg)*2),rgba(255,255,255,0) 35%,rgba(255,255,255,.22) 48%,rgba(255,255,255,0) 60%);pointer-events:none;mix-blend-mode:screen}
.placa__legenda{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rosa)}
.feixe{position:relative;height:120px;display:grid;place-items:center}
.feixe svg{width:60px;height:120px;overflow:visible}
.feixe .trilho{stroke:rgba(213,177,181,.4);stroke-width:1.5;fill:none}
.feixe .luz{stroke:var(--sinal);stroke-width:2.5;fill:none;stroke-dasharray:22 172;stroke-linecap:round;animation:corre 2.2s linear infinite;filter:drop-shadow(0 0 6px rgba(243,218,220,.9))}
.feixe.rapido .luz{animation-duration:.6s}
@keyframes corre{to{stroke-dashoffset:-194}}
.fone{justify-self:start;width:min(100%,230px);aspect-ratio:9/18.6;border-radius:30px;background:#120508;padding:9px;box-shadow:0 30px 60px -24px rgba(0,0,0,.8),inset 0 0 0 1.5px rgba(255,255,255,.1);position:relative;overflow:hidden}
.fone::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:34%;height:16px;border-radius:0 0 12px 12px;background:#120508;z-index:3}
.fone__tela{position:relative;width:100%;height:100%;border-radius:22px;overflow:hidden;background:#000}
.fone__tela img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .45s var(--ease),transform .6s var(--ease);transform:scale(1.04)}
.fone__tela img.ativa{opacity:1;transform:none}
.fone__status{position:absolute;left:8px;right:8px;bottom:8px;padding:8px 10px;border-radius:12px;background:rgba(18,5,8,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;font:600 10.5px/1.3 var(--mono);letter-spacing:.03em;z-index:2}
.fone__status b{display:block;color:var(--sinal);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.destinos{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.destino{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--off);font-size:12.5px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s}
.destino svg{width:15px;height:15px;color:var(--rosa)}
.destino:hover{border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
.destino[aria-pressed="true"]{background:var(--sinal);border-color:var(--sinal);color:var(--vinho-4)}
.destino[aria-pressed="true"] svg{color:var(--vinho-4)}
.demo__dica{text-align:center;font-size:12.5px;color:var(--cinza-2)}
.demo__dica b{color:var(--rosa-2);font-weight:700}
@media (max-width:980px){.hero__grade{grid-template-columns:1fr}.hero{padding:104px 0 60px;min-height:auto}.demo{order:-1}.placa{width:min(100%,250px)}.fone{width:min(100%,190px)}}
@media (max-width:520px){.demo__cena{grid-template-columns:1.15fr 36px .85fr;gap:2px}.feixe svg{width:36px}.placa{width:100%}.fone{width:100%;max-width:170px}.placa__legenda{display:none}.destino{font-size:11.5px;padding:8px 11px}.fone__status{font-size:8px;padding:6px 8px;left:6px;right:6px;bottom:6px}.fone__status b{font-size:7px}}

/* ---- o gesto: 3 passos sobre a onda */
.gesto{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gesto::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:2px;background:linear-gradient(90deg,var(--tint-2),var(--vinho) 50%,var(--tint-2));opacity:.6}
.passo{position:relative;display:grid;gap:12px;padding:0 8px;grid-template-areas:"num" "h" "p"}
.passo .num{grid-area:num}.passo h3{grid-area:h}.passo p{grid-area:p}
.passo .num{width:70px;height:70px;border-radius:50%;background:var(--vinho);color:var(--off);display:grid;place-items:center;font:700 24px/1 var(--display);box-shadow:0 0 0 10px var(--off),0 0 0 11px var(--tint-2);position:relative}
.passo .num svg{width:28px;height:28px;position:absolute;right:-6px;bottom:-6px;background:var(--sinal);color:var(--vinho-4);border-radius:50%;padding:6px;box-shadow:0 0 0 4px var(--off)}
.passo h3{margin-top:8px}
.passo p{color:var(--cinza);font-size:14.5px;line-height:1.6}
@media (max-width:860px){.gesto{grid-template-columns:1fr;gap:28px}.gesto::before{left:43px;right:auto;top:8%;bottom:8%;width:2px;height:auto;background:linear-gradient(var(--tint-2),var(--vinho),var(--tint-2))}.passo{grid-template-columns:70px 1fr;grid-template-areas:"num h" "num p";column-gap:18px;row-gap:6px;align-items:start}.passo h3{margin-top:14px}}

/* ---- produtos: bento com mídia sangrando */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.card{position:relative;border-radius:var(--raio);overflow:hidden;background:#fff;border:1px solid var(--tint-2);display:grid;grid-template-rows:1fr auto;min-height:380px;transition:transform .35s var(--ease),box-shadow .35s;isolation:isolate}
.card:hover{transform:translateY(-6px);box-shadow:0 34px 60px -34px rgba(75,15,20,.45)}
.card--2{grid-column:span 2}.card--3{grid-column:span 3}.card--4{grid-column:span 4}
.card__midia{position:relative;overflow:hidden;min-height:230px;display:grid;place-items:center}
.card__midia > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card__midia > img{transform:scale(1.05)}
.card__corpo{padding:18px 20px 20px;display:grid;gap:8px;align-content:start;background:#fff;position:relative}
.card__corpo small{font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vinho-2)}
.card__corpo h3{font:700 19px/1.2 var(--display);letter-spacing:-.015em}
.card__corpo p{font-size:14px;line-height:1.55;color:var(--cinza)}
.card__corpo .link{margin-top:4px;font-size:14px}
.card--acrilico .card__midia{background:radial-gradient(120% 90% at 20% 0%,#9A2F3C,var(--vinho) 45%,var(--vinho-3));padding:26px 22px 0}
.card--acrilico .card__midia img{position:relative;inset:auto;width:min(58%,240px);height:auto;object-fit:contain;align-self:end;justify-self:end;margin-right:6%;border-radius:8.5%/8% 8% 0 0;filter:drop-shadow(0 30px 30px rgba(0,0,0,.5));transform:translateY(8px) rotate(-3deg);transition:transform .5s var(--ease)}
.card--acrilico:hover .card__midia img{transform:translateY(0) rotate(0)}
.acabamentos{position:absolute;top:16px;left:18px;display:flex;gap:8px;z-index:2}
.acabamentos button{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.5);box-shadow:0 6px 14px rgba(0,0,0,.35);transition:transform .2s}
.acabamentos button[aria-pressed="true"]{border-color:var(--sinal);transform:scale(1.12)}
.acabamentos .a-vinho{background:linear-gradient(180deg,#4B0F14 50%,#F6F3EE 50%)}.acabamentos .a-branca{background:#F6F3EE}.acabamentos .a-preta{background:linear-gradient(180deg,#1C0C12 50%,#2B1720 50%)}
.acabamentos + .nome-acab{position:absolute;top:22px;right:18px;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rosa-2);z-index:2}
.card--chaveiro .card__midia{background:linear-gradient(135deg,var(--tint),var(--tint-2));perspective:900px}
.chaveiro{position:relative;width:min(70%,260px);aspect-ratio:45/28;transform-style:preserve-3d;transition:transform .7s var(--ease);filter:drop-shadow(0 22px 22px rgba(75,15,20,.35))}
.card--chaveiro:hover .chaveiro,.chaveiro.virado{transform:rotateY(180deg)}
.chaveiro img{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;border-radius:13%/21%}
.chaveiro img:last-child{transform:rotateY(180deg)}
.chaveiro__argola{display:none}
.card--chaveiro .dica{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vinho-2)}
.card--tela .card__midia{background:linear-gradient(180deg,var(--tint),var(--tint-2));align-items:end}
.card--tela .card__midia img{position:relative;inset:auto;width:min(58%,200px);height:auto;object-fit:contain;align-self:end;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -10px rgba(75,15,20,.35),0 0 0 6px #120508;margin-top:28px;transform:translateY(10px);transition:transform .5s var(--ease)}
.card:hover.card--tela .card__midia img{transform:translateY(0)}
.card--escuro{background:var(--vinho-4);border-color:rgba(255,255,255,.08);color:var(--off)}
.card--escuro .card__corpo{background:var(--vinho-4)}
.card--escuro .card__corpo h3{color:#fff}.card--escuro .card__corpo p{color:#CDBFBD}.card--escuro .card__corpo small{color:var(--sinal)}.card--escuro .link{color:var(--rosa)}
.card--escuro.card--tela .card__midia{background:radial-gradient(90% 80% at 50% 100%,rgba(126,31,43,.6),transparent 70%),var(--vinho-3)}
.card--escuro.card--tela .card__midia img{box-shadow:0 -10px 40px -10px rgba(0,0,0,.6),0 0 0 6px #000}
.card--painel .card__midia{background:var(--vinho-3);padding:26px 26px 0}
.card--painel .card__midia img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;align-self:end;border-radius:12px 12px 0 0;box-shadow:0 -14px 50px -20px rgba(0,0,0,.8);transform:translateY(6px);transition:transform .5s var(--ease)}
.card--painel:hover .card__midia img{transform:translateY(0)}
.abre{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.abre span{font:600 10.5px/1 var(--mono);letter-spacing:.06em;padding:6px 9px;border-radius:999px;background:var(--tint);color:var(--vinho)}
.card--escuro .abre span{background:rgba(255,255,255,.08);color:var(--rosa-2)}
@media (max-width:980px){.bento{grid-template-columns:1fr 1fr}.card--2,.card--3,.card--4{grid-column:span 1}.card--4{grid-column:span 2}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.card--4{grid-column:span 1}.card{min-height:0}.card__midia{min-height:210px}}

/* ---- telas reais */
.telas{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gutter) 24px;margin:0 calc(-1*var(--gutter));scrollbar-width:none}
.telas::-webkit-scrollbar{display:none}
.telas > figure{flex:0 0 min(78vw,270px);scroll-snap-align:start;display:grid;gap:12px}
.telas .moldura{border-radius:26px;background:#120508;padding:8px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8),inset 0 0 0 1.5px rgba(255,255,255,.08);transition:transform .4s var(--ease)}
.telas .moldura img{border-radius:19px;width:100%}
.telas figure:hover .moldura{transform:translateY(-8px) rotate(-.6deg)}
.telas figcaption b{display:block;font:700 15px/1.2 var(--display)}
.telas figcaption span{display:block;font-size:13px;color:#C9BAB8;margin-top:3px;line-height:1.5}

/* ---- no ar: fotos sangrando com legenda por cima */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.foto{position:relative;aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden;display:block;background:var(--tint)}
.foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.foto:hover img{transform:scale(1.06)}
.foto figcaption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 12px;border-radius:14px;background:rgba(24,4,7,.78);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff}
.foto figcaption b{display:block;font:700 13px/1.2 var(--display)}
.foto figcaption span{font-size:11px;color:var(--rosa-2)}
@media (max-width:860px){.galeria{grid-template-columns:1fr 1fr}}

/* ---- onde cabe: toque e veja */
.onde{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;background:var(--vinho);color:var(--off);border-radius:var(--raio);padding:clamp(24px,4vw,44px);position:relative;overflow:hidden}
.onde::after{content:"";position:absolute;right:-120px;bottom:-160px;width:380px;height:380px;border-radius:50%;border:40px solid rgba(255,255,255,.05)}
.onde__lugares{display:flex;flex-wrap:wrap;gap:8px;position:relative}
.lugar{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:13.5px;font-weight:700;color:var(--rosa-2);transition:background .2s,color .2s,border-color .2s}
.lugar:hover{border-color:rgba(255,255,255,.4)}
.lugar[aria-pressed="true"]{background:var(--off);color:var(--vinho);border-color:var(--off)}
.onde__texto{position:relative;min-height:120px}
.onde__texto small{display:block;font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sinal);margin-bottom:10px}
.onde__texto h3{font:700 clamp(22px,2.4vw,30px)/1.15 var(--display);letter-spacing:-.025em;color:#fff}
.onde__texto p{margin-top:10px;color:var(--rosa-2);font-size:15px;line-height:1.6}
.onde__texto .troca{animation:aparece .4s var(--ease)}
@keyframes aparece{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:860px){.onde{grid-template-columns:1fr}}

/* ---- pedido + contato */
.pedido{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:clamp(40px,5vw,64px)}
.pedido li{background:#fff;border:1px solid var(--tint-2);border-radius:16px;padding:16px;display:grid;gap:8px;font-size:13.5px;color:var(--cinza);line-height:1.5}
.pedido li svg{width:22px;height:22px;color:var(--vinho)}
.pedido li b{color:var(--tinta);display:block;font-size:14px}
@media (max-width:860px){.pedido{grid-template-columns:1fr 1fr}}
.contato__grade{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.form{display:grid;gap:12px;background:#fff;border:1px solid var(--tint-2);border-radius:var(--raio);padding:22px}
.campo{display:grid;gap:6px}
.campo label{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vinho-2)}
.campo input,.campo textarea,.campo select{width:100%;border:1.5px solid var(--tint-2);border-radius:12px;padding:12px 14px;background:var(--off);font-size:15px;transition:border-color .2s,box-shadow .2s}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:0;border-color:var(--vinho);box-shadow:0 0 0 4px rgba(75,15,20,.12)}
.campo textarea{min-height:110px;resize:vertical}
.form__acoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}
.form__nota{font-size:12.5px;color:var(--cinza)}
.honeypot{position:absolute;left:-9999px}
.canais{display:grid;gap:10px}
.canal{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--tint-2);border-radius:14px;padding:14px 16px;transition:transform .25s var(--ease),border-color .25s}
.canal:hover{transform:translateX(4px);border-color:var(--vinho)}
.canal .ic{width:42px;height:42px;border-radius:12px;background:var(--tint);display:grid;place-items:center;flex:none;color:var(--vinho)}
.canal .ic svg{width:20px;height:20px}
.canal .ic.zap{background:#E6F7EC;color:#1F9D6B}
.canal strong{display:block;font-size:14px}
.canal span{font-size:13px;color:var(--cinza)}
@media (max-width:900px){.contato__grade{grid-template-columns:1fr}}

/* ---- rodapé */
.rodape{background:var(--vinho-4);color:#C9BAB8;padding:56px 0 32px;border-top:1px solid rgba(255,255,255,.06)}
.rodape__grade{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;align-items:start}
.rodape img{height:34px;width:auto;margin-bottom:12px}
.rodape p{font-size:13.5px;line-height:1.6;max-width:30em}
.rodape h4{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--rosa);margin-bottom:12px}
.rodape ul{display:grid;gap:8px;font-size:14px}
.rodape ul a:hover{color:#fff}
.rodape__fim{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font:500 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cinza-2)}
@media (max-width:760px){.rodape__grade{grid-template-columns:1fr}}

/* ---- revelar por rolagem */
.js .revela{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .revela.visto{opacity:1;transform:none}
.js .revela[data-atraso="1"]{transition-delay:.1s}.js .revela[data-atraso="2"]{transition-delay:.2s}.js .revela[data-atraso="3"]{transition-delay:.3s}.js .revela[data-atraso="4"]{transition-delay:.4s}.js .revela[data-atraso="5"]{transition-delay:.5s}

/* ---- ampliação */
.ampliacao{border:0;padding:0;width:min(92vw,900px);max-height:92vh;background:var(--off);border-radius:16px;overflow:hidden}
.ampliacao::backdrop{background:rgba(24,4,7,.9)}
.ampliacao__cabeca{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}
.ampliacao__cabeca h2{font-size:14px}.ampliacao__cabeca button{font-size:28px;line-height:1;padding:4px 10px}
.ampliacao img{width:100%;max-height:78vh;object-fit:contain}

@media (prefers-reduced-motion:reduce){
  .linha-titulo span{animation:none;transform:none}
  .feixe .luz,.placa.pulsa .placa__ondas i{animation:none!important}
  .placa__corpo{transition:none}
  .js .revela{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
@media print{.cabecalho{display:none}}
