/* NEXO NFC — identidade, componentes e adaptações responsivas. */
:root {
  --vinho:#4B0F14; --vinho-2:#651F29; --vinho-3:#300A0E; --vinho-tint:#EFE2DF;
  --off:#F6F3EE; --off-2:#EEE8E0; --off-3:#DDD4CB; --preto:#241E1D; --cinza-2:#71645F; --rosa:#D5B1B5;
  --fonte:'Montserrat',Arial,Helvetica,system-ui,sans-serif;
  --largura:1200px; --gutter:clamp(20px,4.5vw,64px); --raio-botao:8px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; -webkit-text-size-adjust:100%; }
body { margin:0; font:16px/1.6 var(--fonte); color:var(--preto); background:var(--off); }
img,svg,video { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
button,a { touch-action:manipulation; }
a { color:inherit; }
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(--vinho); outline-offset:5px; }
.tema-vinho :focus-visible,.rodape :focus-visible { outline-color:var(--rosa); }
.formulario :focus-visible { outline-color:var(--vinho); }
.pular { position:fixed; top:12px; left:12px; transform:translateY(-160%); padding:12px 20px; border-radius:8px; background:var(--vinho); color:white; z-index:100; }
.pular:focus { transform:none; }
.container { width:min(100% - 2 * var(--gutter),var(--largura)); margin-inline:auto; }
.secao { padding:100px 0; }
.etiqueta,.micro { display:block; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.etiqueta { color:var(--vinho); margin-bottom:22px; }
.micro { color:var(--cinza-2); }
.titulo-1 { font-size:clamp(44px,4.6vw,66px); line-height:1.035; letter-spacing:-.055em; font-weight:500; }
.titulo-1 em { color:var(--vinho); font-style:normal; }
.titulo-2 { font-size:clamp(32px,3.5vw,46px); line-height:1.1; letter-spacing:-.04em; font-weight:500; }
.titulo-3 { font-size:23px; line-height:1.2; letter-spacing:-.025em; }
.lide { font-size:17px; line-height:1.7; color:var(--cinza-2); max-width:33em; }
.cabeca-secao { margin-bottom:40px; max-width:780px; }
.cabeca-secao > .lide { margin-top:22px; }
.cabeca-secao--dividida { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:72px; max-width:none; }
.cabeca-secao--dividida > .lide { max-width:370px; justify-self:end; margin:0; }
.botao { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:50px; padding:13px 22px; border:1px solid var(--vinho); border-radius:var(--raio-botao); background:var(--vinho); color:var(--off); font-size:14px; font-weight:600; text-decoration:none; cursor:pointer; transition:background .2s,transform .2s; }
.botao:hover { background:var(--vinho-2); transform:translateY(-2px); }
.botao:active { transform:none; }
.botao:disabled { opacity:.65; cursor:wait; transform:none; }
.botao--contorno { background:transparent; color:var(--vinho); border-color:#CBB7B5; }
.botao--contorno:hover { background:var(--vinho-tint); }
.botao--claro { color:var(--vinho); background:var(--off); border-color:var(--off); }
.botao--pequeno { min-height:44px; padding:10px 17px; font-size:13px; }
.seta { width:18px; height:18px; flex:none; }
.link-texto { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:44px; color:var(--vinho); text-decoration:none; font-size:14px; font-weight:600; background:none; border:0; padding:0; cursor:pointer; }
.link-texto:hover { text-decoration:underline; text-underline-offset:5px; }
/* Navegação */
.cabecalho { position:sticky; top:0; z-index:50; background:rgba(246,243,238,.97); border-bottom:1px solid var(--off-3); }
.cabecalho.rolou { box-shadow:0 4px 20px #241E1D08; }
.cabecalho__linha { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.marca { display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--vinho); flex:none; }
.marca svg { width:117px; height:30px; }
.marca__detalhe { border-left:1px solid #C9BEB4; padding-left:12px; font-size:10px; letter-spacing:.12em; }
.nav { display:flex; align-items:center; gap:24px; }
.nav > a:not(.botao) { font-size:13px; text-decoration:none; padding-block:14px; position:relative; color:#514643; }
.nav > a:not(.botao)::after { content:''; position:absolute; height:1px; bottom:8px; left:0; right:0; background:var(--vinho); transform:scaleX(0); transition:transform .2s; }
.nav > a:hover::after,.nav > a.ativo::after { transform:scaleX(1); }
.menu-toggle { display:none; flex:none; height:44px; width:44px; border:1px solid var(--off-3); background:none; border-radius:6px; align-items:center; justify-content:center; cursor:pointer; }
.barras { width:20px; display:grid; gap:5px; }
.barras span { width:20px; height:1.5px; background:var(--vinho); transition:transform .2s; }
.menu-toggle[aria-expanded="true"] .barras span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .barras span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .barras span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
/* Abertura: fotografia original e seleção manual de modelo */
.abertura { padding:54px 0 62px; }
.abertura__grade { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.abertura__texto .etiqueta { display:flex; align-items:center; gap:9px; margin-bottom:28px; }
.ponto-sinal { height:6px; width:6px; border-radius:50%; background:var(--vinho); box-shadow:0 0 0 4px #4B0F140C; }
.abertura__texto .lide { margin-top:25px; max-width:400px; }
.abertura__acoes { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:28px; }
.abertura__nota { display:flex; align-items:center; gap:13px; margin-top:38px; padding-top:24px; border-top:1px solid var(--off-3); font-size:12px; color:#514643; }
.abertura__nota > svg { width:27px; height:27px; color:var(--vinho); flex:none; }
.abertura__nota small { display:block; font-size:10px; color:var(--cinza-2); margin-top:4px; }
.abertura__produto { min-width:0; }
.produto-editorial { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:10px; color:var(--vinho); letter-spacing:.14em; text-transform:uppercase; padding:0 1px 14px; }
.produto-editorial span:last-child { display:flex; align-items:center; gap:6px; }
.produto-editorial svg { width:20px; height:20px; }
.foto-placa { aspect-ratio:1; border-radius:14px; overflow:hidden; background:var(--off-2); }
.foto-placa img { width:100%; height:100%; object-fit:contain; }
.produto-seletor { display:flex; justify-content:space-between; align-items:center; padding:18px 0 0; gap:20px; }
.produto-seletor .micro { font-size:9px; margin-bottom:3px; }
.produto-seletor p { color:var(--vinho); font-size:15px; }
.amostras { display:flex; gap:5px; }
.amostra { width:42px; height:42px; padding:6px; border:1px solid transparent; background:transparent; border-radius:50%; cursor:pointer; }
.amostra::after { content:''; display:block; width:28px; height:28px; border-radius:50%; box-shadow:inset 0 0 0 1px #241E1D22; }
.amostra--padrao::after { background:linear-gradient(145deg,var(--vinho) 50%,#E8DCCF 50%); }
.amostra--branco::after { background:#F2E8E6; }
.amostra--escuro::after { background:#200C10; }
.amostra[aria-pressed="true"] { border-color:var(--vinho); }
.amostra:hover { background:var(--off-2); }
.faixa { background:var(--vinho); color:var(--off); }
.faixa__linha { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.faixa__linha > span { display:flex; align-items:center; gap:10px; font-size:12px; }
.faixa__linha > span:first-child { font-size:15px; letter-spacing:-.01em; }
.faixa svg { width:19px; height:19px; color:var(--rosa); }
/* Catálogo: a imagem inteira, sempre em proporção quadrada */
.produtos__grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.produto { min-width:0; }
.produto__imagem { display:block; position:relative; aspect-ratio:1; border-radius:10px; overflow:hidden; background:var(--off-2); }
.produto__imagem img { width:100%; height:100%; object-fit:contain; }
.produto__zoom { position:absolute; bottom:14px; right:14px; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--off); color:var(--vinho); transition:transform .2s; }
.produto__imagem:hover .produto__zoom { transform:rotate(45deg); }
.produto__corpo { padding:22px 0 0; }
.produto__linha { display:flex; justify-content:space-between; align-items:center; }
.produto__linha .micro { font-size:10px; }
.produto__numero { font-size:10px; color:var(--cinza-2); }
.produto h3 { font-size:25px; font-weight:500; letter-spacing:-.025em; margin:8px 0; }
.produto p { color:var(--cinza-2); font-size:14px; min-height:68px; max-width:34ch; }
.produto .link-texto { width:100%; margin-top:18px; padding-top:13px; border-top:1px solid var(--off-3); }
.catalogo-nota { display:flex; gap:36px; justify-content:space-between; align-items:start; margin-top:35px; padding-top:20px; border-top:1px solid var(--off-3); font-size:11px; color:var(--cinza-2); }
.catalogo-nota p { max-width:600px; }
.catalogo-nota > span { text-align:right; }
/* Soluções e funcionamento */
.secao--solucoes { background:var(--off-2); }
.solucoes__grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.solucao { display:flex; flex-direction:column; border-top:1px solid #BAA7A0; padding:24px 0 0; }
.solucao + .solucao { border-left:1px solid #D3C7BE; padding-left:24px; }
.solucao__indice { font-size:10px; letter-spacing:.12em; color:var(--vinho); margin-bottom:24px; }
.cartao__corpo { display:flex; flex-direction:column; align-items:start; gap:18px; flex:1; }
.cartao__corpo > p { font-size:14px; color:#645752; }
.cartao__corpo .titulo-3 { font-weight:500; }
.cartao__corpo .botao { margin-top:auto; width:100%; padding-inline:12px; font-size:12px; }
.lista-marcas { display:grid; gap:9px; margin-bottom:12px; }
.lista-marcas li { display:flex; align-items:start; gap:9px; font-size:13px; }
.lista-marcas li::before { content:'✓'; color:var(--vinho); }
.cartao__corpo .cartao__nota { font-size:11px; line-height:1.6; }
.tema-vinho { background:var(--vinho); color:var(--off); }
.tema-vinho .etiqueta { color:var(--rosa); }
.tema-vinho .lide { color:#DDCBC8; }
.passos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.passo { border-top:1px solid #865057; padding-top:24px; }
.passo__num { display:block; font-size:12px; color:var(--rosa); margin-bottom:20px; font-variant-numeric:tabular-nums; }
.passo h3 { font-size:19px; line-height:1.3; font-weight:500; margin-bottom:12px; }
.passo p { font-size:13px; color:#DDCBC8; }
.video { margin-top:68px; padding:48px 55px; display:grid; grid-template-columns:1.3fr .7fr; gap:60px; align-items:center; background:#FFFFFF06; border:1px solid #865057; border-radius:14px; }
.video__texto { max-width:440px; }
.video__titulo { margin-bottom:20px; }
.video__lista { margin:25px 0; display:grid; gap:10px; }
.video__lista li { display:flex; gap:12px; align-items:center; font-size:14px; }
.video__lista svg { width:20px; height:20px; color:var(--rosa); }
.video__nota { font-size:12px; color:#D5B1B5; }
.video__fone { width:min(100%,220px); margin-inline:auto; }
.video__player { width:100%; height:100%; object-fit:contain; background:var(--vinho-3); }
.video__play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:68px; height:68px; border-radius:50%; border:0; background:var(--off); color:var(--vinho); cursor:pointer; box-shadow:0 0 0 9px #F6F3EE22; }
.video__play svg { width:32px; height:32px; }
/* Possibilidades de uso e vantagens */
.aplicacoes__grade { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:20px; }
.aplicacao { display:flex; flex-direction:column; align-items:start; padding:30px; border:1px solid var(--off-3); border-radius:12px; }
.aplicacao--principal { background:#ECE5DE; border-color:#ECE5DE; }
.aplicacao__icone { margin-bottom:32px; color:var(--vinho); }
.aplicacao__icone svg { width:28px; height:28px; }
.aplicacao h3 { font-size:25px; font-weight:500; letter-spacing:-.025em; line-height:1.2; margin:10px 0 18px; }
.aplicacao p { font-size:14px; color:var(--cinza-2); }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
.tags span { border:1px solid #CBBDB3; padding:4px 8px; border-radius:4px; font-size:10px; color:#58463F; }
.aplicacao__rodape { display:flex; justify-content:space-between; align-items:center; width:100%; gap:10px; border-top:1px solid var(--off-3); padding-top:22px; margin-top:auto; font-size:11px; color:var(--vinho); }
.aplicacao:not(.aplicacao--principal) p { margin-bottom:35px; }
.vantagens { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:40px; }
.vantagens strong { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; }
.vantagens svg { width:19px; height:19px; color:var(--vinho); flex:none; }
.vantagens p { font-size:13px; color:var(--cinza-2); margin:10px 0 0 29px; }

/* ---------- celular ---------- */
.fone {
  --fone-bg: #121212;
  position: relative; width: 100%; aspect-ratio: 9 / 19; border-radius: 12% / 5.7%;
  background: var(--fone-bg); padding: 3.2%;
  box-shadow: 0 30px 60px -24px rgba(18, 18, 18, .6), inset 0 0 0 1px rgba(255, 255, 255, .06);
}
.fone__tela { position: relative; width: 100%; height: 100%; border-radius: 10% / 4.8%; overflow: hidden; background: #FBF9F5; color: #1E1B19; font-size: clamp(9px, 1.15vw, 14px); line-height: 1.45; }
.fone__entalhe { position: absolute; left: 50%; top: 2.2%; width: 26%; height: 2.4%; transform: translateX(-50%); border-radius: 999px; background: var(--fone-bg); z-index: 3; }

/* Mini-site do estabelecimento fictício: Estúdio Ondina (identidade própria, não é NEXO) */
.mini {
  --m-marca: #2F4A44; --m-marca-2: #3E605A; --m-areia: #F4EFE7; --m-areia-2: #E8E0D3; --m-tinta: #1E1B19; --m-cinza: #6E6863;
  position: absolute; inset: 0; display: grid; grid-template-rows: 1fr auto; background: var(--m-areia); font-family: var(--fonte);
}
.mini__conteudo { position: relative; overflow: hidden; }
.mini__vista { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; padding: 0 0 8%; opacity: 0; transform: translateX(6%); pointer-events: none; transition: opacity .4s var(--ease), transform .45s var(--ease); }
.mini__vista::-webkit-scrollbar { display: none; }
.mini__vista.ativa { opacity: 1; transform: none; pointer-events: auto; }
.mini__vista.saindo { transform: translateX(-6%); }
.mini__capa { height: 34%; min-height: 120px; position: relative; display: grid; align-content: end; padding: 8% 7% 16%; background: radial-gradient(80% 90% at 80% 10%, rgba(255, 255, 255, .18), transparent 60%), linear-gradient(165deg, var(--m-marca-2), var(--m-marca)); color: var(--m-areia); }
.mini__capa::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 13%; background: var(--m-areia); clip-path: ellipse(70% 100% at 30% 100%); }
.mini__capa .mini__nome { font-weight: 300; letter-spacing: .28em; text-transform: uppercase; font-size: 1.1em; }
.mini__capa .mini__tag { font-weight: 600; font-size: .78em; letter-spacing: .1em; text-transform: uppercase; opacity: .85; margin-top: .4em; }
.mini__topo-interno { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 6% 6% 3%; background: linear-gradient(var(--m-areia) 70%, transparent); color: var(--m-marca); font-weight: 700; font-size: 1.05em; }
.mini__voltar { display: inline-grid; place-items: center; width: 2.3em; height: 2.3em; border-radius: 50%; border: 1px solid var(--m-areia-2); background: #fff; color: var(--m-marca); cursor: pointer; padding: 0; }
.mini__voltar svg { width: 1.1em; height: 1.1em; }
.mini__bloco { padding: 5% 7%; }
.mini__bloco + .mini__bloco { padding-top: 0; }
.mini__bloco h4 { font-size: .74em; letter-spacing: .16em; text-transform: uppercase; color: var(--m-cinza); font-weight: 600; margin-bottom: .8em; }
.mini__bloco p { font-size: .98em; color: var(--m-tinta); }
.mini__bloco p + p { margin-top: .6em; }
.mini__atalhos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6%; padding: 3% 7% 5%; }
.mini__atalho { display: grid; justify-items: center; gap: .5em; padding: 0; border: 0; background: transparent; cursor: pointer; font-size: .72em; font-weight: 600; color: var(--m-tinta); letter-spacing: .02em; }
.mini__atalho i { display: grid; place-items: center; width: 100%; aspect-ratio: 1; border-radius: 28%; background: #fff; color: var(--m-marca); box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 6px 14px -10px rgba(0, 0, 0, .2); transition: transform .3s var(--ease); }
.mini__atalho:hover i { transform: translateY(-2px); }
.mini__atalho i svg { width: 46%; height: 46%; }
.mini__lista { display: grid; gap: .6em; }
.mini__item { display: grid; grid-template-columns: 1fr auto; gap: .4em 1em; align-items: center; padding: .9em 1em; border-radius: .9em; background: #fff; border: 1px solid var(--m-areia-2); }
.mini__item strong { font-size: .98em; font-weight: 600; display: block; }
.mini__item small { font-size: .82em; color: var(--m-cinza); display: block; }
.mini__item .mini__pill { font-size: .78em; font-weight: 600; color: var(--m-marca); background: var(--m-areia); padding: .3em .7em; border-radius: 999px; white-space: nowrap; }
.mini__cta { display: flex; align-items: center; justify-content: center; gap: .6em; width: 100%; min-height: 3.2em; border-radius: .9em; border: 0; cursor: pointer; background: var(--m-marca); color: var(--m-areia); font-weight: 600; font-size: .95em; text-decoration: none; transition: background-color .3s, transform .3s var(--ease); }
.mini__cta:hover { background: var(--m-marca-2); transform: translateY(-1px); }
.mini__cta--claro { background: #fff; color: var(--m-marca); border: 1px solid var(--m-areia-2); }
.mini__cta--claro:hover { background: var(--m-areia); }
.mini__cta svg { width: 1.1em; height: 1.1em; }
.mini__cta + .mini__cta { margin-top: .6em; }
.mini__galeria { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6em; }
.mini__foto { aspect-ratio: 1; border-radius: .9em; overflow: hidden; position: relative; display: grid; align-content: end; padding: .8em; color: #fff; font-size: .78em; font-weight: 600; text-shadow: 0 1px 4px rgba(0, 0, 0, .35); }
.mini__foto:nth-child(3n+1) { grid-column: span 2; aspect-ratio: 2 / 1; }
.mini__foto::before { content: ""; position: absolute; inset: 0; background: var(--g); }
.mini__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%, rgba(0, 0, 0, .35)); }
.mini__foto span { position: relative; }
.mini__foto--1 { --g: radial-gradient(90% 70% at 20% 30%, #B8C8BF, transparent 60%), linear-gradient(160deg, #6F8C83, #2F4A44); }
.mini__foto--2 { --g: radial-gradient(80% 80% at 80% 20%, #F0E4CF, transparent 60%), linear-gradient(200deg, #D6C6A8, #9F8A66); }
.mini__foto--3 { --g: radial-gradient(60% 60% at 30% 80%, #DFD7CB, transparent 60%), linear-gradient(140deg, #B9B0A2, #7B7268); }
.mini__foto--4 { --g: radial-gradient(70% 60% at 70% 70%, #A9BFB5, transparent 60%), linear-gradient(180deg, #557069, #2F4A44); }
.mini__foto--5 { --g: radial-gradient(80% 60% at 20% 20%, #F3EBDD, transparent 60%), linear-gradient(160deg, #C8B99B, #8A7A5E); }
.mini__horarios { display: grid; gap: .5em; }
.mini__horarios div { display: flex; justify-content: space-between; gap: 1em; padding: .7em 0; border-bottom: 1px solid var(--m-areia-2); font-size: .95em; }
.mini__horarios div:last-child { border-bottom: 0; }
.mini__horarios span:last-child { font-weight: 600; color: var(--m-marca); }
.mini__horarios .fechado span:last-child { color: var(--m-cinza); font-weight: 500; }
.mini__mapa { position: relative; aspect-ratio: 16 / 10; border-radius: .9em; overflow: hidden; margin-bottom: .8em; background: linear-gradient(90deg, transparent 0 48%, #E3DBCD 48% 52%, transparent 52%), linear-gradient(0deg, transparent 0 62%, #E3DBCD 62% 66%, transparent 66%), linear-gradient(25deg, transparent 0 30%, #E9E2D6 30% 33%, transparent 33%), #F1ECE3; }
.mini__pino { position: absolute; left: 50%; top: 58%; width: 1.6em; height: 1.6em; transform: translate(-50%, -100%); color: var(--m-marca); }
.mini__pino::after { content: ""; position: absolute; left: 50%; top: 100%; width: 1.4em; height: .5em; transform: translate(-50%, -30%); border-radius: 50%; background: rgba(0, 0, 0, .18); filter: blur(2px); }
.mini__endereco { font-size: .95em; }
.mini__endereco small { display: block; color: var(--m-cinza); font-size: .84em; margin-top: .2em; }
.mini__sociais { display: grid; grid-template-columns: 1fr 1fr; gap: .6em; }
.mini__social { display: flex; align-items: center; gap: .6em; padding: .8em .9em; border-radius: .9em; background: #fff; border: 1px solid var(--m-areia-2); font-size: .9em; font-weight: 600; color: var(--m-tinta); text-decoration: none; }
.mini__social svg { width: 1.2em; height: 1.2em; color: var(--m-marca); }
.mini__rodape { display: flex; align-items: center; justify-content: center; gap: .5em; padding: 3% 6% 6%; font-size: .62em; letter-spacing: .18em; text-transform: uppercase; color: var(--m-cinza); border-top: 1px solid var(--m-areia-2); background: var(--m-areia); }
.mini__rodape svg { width: 4.6em; height: 1.1em; color: var(--m-cinza); }
.mini__nota { font-size: .72em; color: var(--m-cinza); font-style: italic; margin-top: .8em; }


/* Demonstração original, com áreas inativas fora da navegação por teclado. */
.mini__vista { visibility:hidden; }
.mini__vista.ativa { visibility:visible; }
.secao--experiencia { background:#EEE8E0; }
.experiencia__grade { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.experiencia__fone { position:relative; width:min(100%,320px); margin-inline:auto; }
.experiencia__fone .fone__tela { font-size:13px; }
.selo-demo { display:block; width:max-content; margin:0 auto 18px; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--vinho); }
.experiencia__texto { margin:0; }
.experiencia__texto .lide { margin-top:20px; }
.experiencia__lista { display:grid; gap:20px; margin-top:30px; }
.experiencia__lista li { display:flex; gap:15px; align-items:start; }
.experiencia__lista i { display:grid; place-items:center; height:38px; width:38px; border:1px solid #D3C3BD; border-radius:8px; flex:none; color:var(--vinho); }
.experiencia__lista svg { width:20px; height:20px; }
.experiencia__lista strong { display:block; font-size:14px; font-weight:600; }
.experiencia__lista span { font-size:13px; color:var(--cinza-2); }
.experiencia__dica { margin-top:28px; padding:15px 18px; border-left:2px solid #B49A92; font-size:12px; color:#645752; }
.experiencia__guia { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:22px; }
.experiencia__guia button { min-height:40px; padding:6px 12px; background:transparent; color:#665650; font-size:12px; border:1px solid #CDBEB4; border-radius:6px; cursor:pointer; }
.experiencia__guia button[aria-pressed="true"],.experiencia__guia button:hover { color:var(--off); background:var(--vinho); border-color:var(--vinho); }
.mini__atalho,.mini__voltar,.mini__cta,.mini__social { min-height:40px; }
.mini__voltar { min-width:40px; }
/* Processo, perguntas, contato */
.trabalho__grade { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.trabalho__item { border-top:1px solid var(--off-3); padding-top:24px; }
.trabalho__item i { margin-bottom:22px; color:var(--vinho); }
.trabalho__item svg { width:26px; height:26px; }
.trabalho__item h3 { font-size:18px; font-weight:500; line-height:1.3; margin-bottom:12px; }
.trabalho__item p { font-size:13px; color:var(--cinza-2); }
.secao--faq { padding-top:0; }
.faq__grade { border-top:1px solid var(--off-3); padding-top:65px; display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.faq__lista details { border-bottom:1px solid var(--off-3); }
.faq__lista summary { cursor:pointer; padding:20px 32px 20px 0; list-style:none; position:relative; font-size:15px; }
.faq__lista summary::-webkit-details-marker { display:none; }
.faq__lista summary::after { content:'+'; position:absolute; right:3px; top:16px; font-size:23px; font-weight:400; color:var(--vinho); }
.faq__lista details[open] summary::after { content:'−'; }
.faq__lista details p { padding:0 24px 22px 0; color:var(--cinza-2); font-size:14px; }
.contato__grade { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.contato__texto { padding-top:12px; }
.contato__texto .lide { margin:25px 0; }
.contato__passos { display:grid; gap:20px; counter-reset:etapa; margin-top:30px; }
.contato__passos li { display:flex; gap:14px; align-items:start; font-size:14px; color:#DDCBC8; counter-increment:etapa; }
.contato__passos li::before { content:'0' counter(etapa); color:var(--rosa); font-size:11px; padding-top:3px; }
/* canais diretos: WhatsApp e e-mail */
.contato__canais { display:grid; gap:10px; margin-top:32px; }
.contato__canais a { display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:var(--raio-botao); border:1px solid rgba(246,243,238,.22); background:rgba(246,243,238,.06); color:var(--off); text-decoration:none; transition:background-color .2s,border-color .2s,transform .2s; }
.contato__canais a:hover { background:rgba(246,243,238,.12); border-color:rgba(246,243,238,.45); transform:translateY(-1px); }
.contato__canais svg { width:20px; height:20px; flex:none; color:var(--rosa); }
.contato__canais span { display:grid; gap:2px; font-size:15px; }
.contato__canais strong { font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--rosa); }
.rodape__contato { display:grid; gap:6px; margin-top:18px; }
.rodape__contato a { font-size:13px; color:rgba(246,243,238,.82); text-decoration:none; }
.rodape__contato a:hover { color:var(--off); text-decoration:underline; text-underline-offset:4px; }
@media (prefers-reduced-motion: reduce) { .contato__canais a:hover { transform:none; } }
.contato__marca { display:flex; align-items:center; gap:15px; color:var(--rosa); margin-top:45px; }
.contato__marca svg { width:38px; height:38px; }
.contato__marca span { font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.formulario { display:grid; gap:20px; padding:34px; color:var(--preto); background:var(--off); border-radius:12px; min-width:0; }
.formulario__cabeca h3 { font-size:22px; font-weight:500; letter-spacing:-.025em; }
.formulario__cabeca p { color:var(--cinza-2); font-size:13px; margin-top:5px; }
.contato-status { padding:14px; font-size:12px; background:var(--off-2); color:#675651; border-left:2px solid #A58A81; }
.contato-status strong { display:block; color:#51413C; margin-bottom:4px; }
.formulario .duas { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.campo { display:grid; gap:7px; min-width:0; }
.formulario label { color:#665650; font-size:12px; }
.formulario input,.formulario select,.formulario textarea { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #C4B8AE; border-radius:6px; background:#FFFDFA; color:var(--preto); font-size:16px; }
.formulario textarea { min-height:110px; resize:vertical; }
.formulario input::placeholder,.formulario textarea::placeholder { color:#7A6B64; opacity:1; font-size:12px; }
.formulario input:focus,.formulario select:focus,.formulario textarea:focus { border-color:var(--vinho); outline:2px solid var(--vinho); outline-offset:2px; }
.formulario__acoes { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; }
.formulario__acoes .link-texto { font-size:12px; }
.formulario__aviso { display:none; padding:14px; border-radius:6px; background:var(--vinho-tint); color:var(--vinho); font-size:13px; }
.formulario__aviso.visivel { display:block; }
.formulario__aviso.ok { background:#E4EDE3; color:#244523; }
.formulario__aviso.erro { background:#F1E1DC; color:#69241B; }
.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
/* Rodapé e ampliação */
.rodape { background:var(--vinho-3); color:var(--off); padding:60px 0 25px; }
.rodape__grade { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:45px; }
.rodape .marca { color:var(--off); }
.rodape__assinatura { font-size:17px; margin-top:15px; }
.rodape__sec { color:var(--rosa); font-size:9px; letter-spacing:.15em; text-transform:uppercase; margin-top:7px; }
.rodape__nav { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:8px 20px; }
.rodape__nav a { font-size:12px; text-decoration:none; min-height:28px; color:#DDCBC8; }
.rodape__nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.rodape__frases { display:grid; gap:9px; align-content:start; font-size:11px; letter-spacing:.06em; color:var(--rosa); text-align:right; }
.rodape__base { display:flex; justify-content:space-between; gap:40px; font-size:10px; color:var(--rosa); border-top:1px solid #71434A; margin-top:42px; padding-top:20px; }
.rodape__base > span:last-child { max-width:550px; text-align:right; }
.ampliacao { width:min(92vw,760px); max-height:94vh; padding:18px; background:var(--off); border:0; border-radius:12px; color:var(--preto); }
.ampliacao::backdrop { background:#18090CDD; }
.ampliacao__cabeca { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.ampliacao__cabeca h2 { font-size:18px; font-weight:500; }
.ampliacao__fechar { width:44px; height:44px; background:none; border:1px solid var(--off-3); border-radius:50%; font-size:27px; cursor:pointer; }
.ampliacao img { width:100%; height:auto; max-height:72vh; object-fit:contain; }
.ampliacao p { margin-top:12px; font-size:11px; color:var(--cinza-2); }
body.imagem-aberta { overflow:hidden; }
/* Conteúdo sempre visível: animações finitas, sem carrossel automático. */
@media (prefers-reduced-motion:no-preference) { .abertura__texto,.abertura__produto { animation:entrada .6s var(--ease); } @keyframes entrada { from { opacity:.35; transform:translateY(10px); } to { opacity:1; transform:none; } } }
@media (max-width:1150px) {
 .nav { gap:17px; } .nav > a:not(.botao) { font-size:12px; }
 .marca__detalhe { display:none; } .abertura__grade { gap:40px; }
 .contato__grade { gap:40px; } .experiencia__grade { gap:50px; }
 .aplicacao { padding:24px; }
}
@media (max-width:1000px) {
 .cabecalho__linha { min-height:76px; }
 .menu-toggle { display:inline-flex; }
 .nav { display:none; position:absolute; top:100%; left:0; right:0; padding:20px var(--gutter); background:var(--off); border-bottom:1px solid var(--off-3); box-shadow:0 14px 20px #241E1D0C; flex-direction:column; align-items:stretch; gap:4px; max-height:calc(100vh - 76px); overflow-y:auto; }
 .nav.aberto { display:flex; }
 .nav > a:not(.botao) { font-size:15px; padding:12px 0; }
 .nav .botao { margin-top:12px; }
 .nav > a::after { display:none; }
 .aplicacoes__grade { grid-template-columns:1fr 1fr; }
 .aplicacao--principal { grid-column:1 / -1; }
 .aplicacao--principal h3 br { display:none; }
 .aplicacao--principal .aplicacao__icone { margin-bottom:18px; }
 .aplicacao--principal p { max-width:65ch; }
}
@media (max-width:900px) {
 .secao { padding:72px 0; } .secao--faq { padding-top:0; }
 .abertura { padding:38px 0 45px; }
 .abertura__grade { gap:35px; align-items:center; }
 .titulo-1 { font-size:clamp(38px,5.5vw,50px); }
 .abertura__acoes { gap:8px 20px; } .abertura__nota { margin-top:22px; }
 .cabeca-secao--dividida { gap:35px; }
 .faixa__linha { gap:16px; } .faixa__linha > span { font-size:10px; } .faixa__linha > span:first-child { font-size:12px; }
 .produtos__grade { gap:18px; }
 .produto h3 { font-size:22px; } .produto p { min-height:90px; font-size:13px; }
 .solucoes__grade { gap:16px; } .solucao + .solucao { padding-left:16px; }
 .titulo-3 { font-size:21px; }
 .passos,.trabalho__grade { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .video { padding:35px; gap:35px; }
 .experiencia__grade { grid-template-columns:1fr 1fr; gap:35px; }
 .experiencia__fone { max-width:300px; }
 .experiencia__fone .fone__tela { font-size:12px; }
 .faq__grade { gap:35px; }
 .contato__grade { grid-template-columns:1fr; gap:40px; }
 .contato__texto { max-width:650px; }
 .formulario { max-width:720px; width:100%; }
 .rodape__grade { gap:30px; grid-template-columns:1fr 1fr; }
 .rodape__frases { display:none; }
}
@media (max-width:650px) {
 html { scroll-padding-top:86px; }
 .cabecalho__linha { min-height:70px; } .marca svg { width:108px; } .marca__detalhe { display:block; }
 .nav { max-height:calc(100vh - 70px); }
 .abertura__grade { grid-template-columns:1fr; gap:36px; }
 .abertura__texto .etiqueta { font-size:10px; margin-bottom:22px; }
 .titulo-1 { font-size:clamp(41px,9.8vw,61px); }
 .abertura__texto .lide { font-size:16px; margin-top:22px; max-width:34em; }
 .abertura__acoes { gap:16px; margin-top:24px; }
 .abertura__acoes .botao { padding-inline:17px; font-size:13px; }
 .abertura__acoes .link-texto { font-size:13px; }
 .abertura__nota { padding-top:20px; margin-top:26px; }
 .abertura__produto { max-width:520px; width:100%; margin:auto; }
 .produto-editorial { font-size:9px; }
 .faixa__linha { padding-block:22px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
 .faixa__linha > span:first-child { font-size:13px; } .faixa__linha > span { font-size:11px; gap:7px; }
 .secao { padding:58px 0; } .secao--faq { padding-top:0; }
 .cabeca-secao { margin-bottom:30px; } .cabeca-secao--dividida { grid-template-columns:1fr; gap:18px; }
 .cabeca-secao--dividida > .lide { justify-self:start; max-width:100%; font-size:15px; }
 .titulo-2 { font-size:34px; } .etiqueta { font-size:10px; margin-bottom:18px; }
 .produtos__grade { grid-template-columns:1fr; gap:38px; }
 .produto__corpo { padding-top:18px; } .produto h3 { font-size:27px; }
 .produto p { min-height:0; font-size:14px; max-width:none; }
 .produto .link-texto { margin-top:16px; padding-top:12px; }
 .catalogo-nota { flex-direction:column; gap:14px; margin-top:30px; }
 .catalogo-nota > span { text-align:left; }
 .solucoes__grade { grid-template-columns:1fr; gap:30px; }
 .solucao + .solucao { border-left:0; padding-left:0; }
 .solucao__indice { margin-bottom:20px; }
 .cartao__corpo .botao { width:auto; font-size:13px; padding-inline:20px; }
 .titulo-3 { font-size:25px; }
 .passos { gap:25px 20px; } .passo h3 { font-size:17px; }
 .video { padding:27px 22px; margin-top:40px; grid-template-columns:1fr; gap:32px; }
 .video__titulo { font-size:31px; } .video .lide { font-size:15px; }
 .video__fone { width:210px; }
 .aplicacoes__grade { grid-template-columns:1fr; gap:16px; }
 .aplicacao { padding:27px; } .aplicacao__icone { margin-bottom:16px; }
 .aplicacao__rodape { padding-top:18px; }
 .vantagens { grid-template-columns:1fr; gap:24px; margin-top:30px; }
 .experiencia__grade { grid-template-columns:1fr; gap:35px; }
 .experiencia__texto { order:-1; }
 .experiencia__fone { width:min(100%,320px); max-width:320px; }
 .experiencia__fone .fone__tela { font-size:13px; }
 .trabalho__grade { gap:25px 20px; } .trabalho__item h3 { font-size:17px; }
 .faq__grade { padding-top:45px; grid-template-columns:1fr; gap:25px; }
 .faq__lista summary { font-size:14px; }
 .formulario { padding:24px 20px; }
 .formulario .duas { grid-template-columns:1fr; gap:20px; }
 .formulario__acoes { align-items:stretch; flex-direction:column; }
 .formulario__acoes .link-texto { align-self:center; }
 .contato__marca { margin-top:25px; }
 .rodape { padding-top:45px; }
 .rodape__grade { grid-template-columns:1fr; gap:28px; }
 .rodape__nav { gap:8px 15px; } .rodape__nav a { min-height:36px; }
 .rodape__base { flex-direction:column; gap:14px; margin-top:25px; }
 .rodape__base > span:last-child { text-align:left; }
}
@media (max-width:370px) {
 .passos,.trabalho__grade { grid-template-columns:1fr; }
 .faixa__linha { grid-template-columns:1fr; }
 .abertura__acoes { align-items:stretch; flex-direction:column; }
 .abertura__acoes .link-texto { justify-content:center; }
 .titulo-1 { font-size:39px; }
 .titulo-2 { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media (max-width:1000px) {
 html:not(.js) .cabecalho { position:static; }
 html:not(.js) .cabecalho__linha { flex-wrap:wrap; padding-block:18px; }
 html:not(.js) .nav { position:static; display:flex; width:100%; max-height:none; box-shadow:none; padding:0; border:0; }
 html:not(.js) .menu-toggle { display:none; }
}
