/* 7Car Estética · site
   A página inteira é uma lataria escura (canvas #lataria, fixo atrás de tudo) com a luminária
   hexagonal do galpão refletida. Cor e fonte saem do kit em Projects/7Car/marca-estetica.
   Raio: painel 14px, campo 10px, botão e chip em pílula. Tema único escuro. */

@font-face { font-family: "Archivo"; src: url("/fontes/archivo.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/fontes/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Sacramento"; src: url("/fontes/sacramento.woff2") format("woff2"); font-weight: 400; font-display: swap; }

:root {
  --fundo: #06050B;          /* lataria escura */
  --fundo-2: #0D0C13;
  --superficie: rgba(13, 12, 19, .86);
  --texto: #EDEAE7;
  --texto-2: #ABA59F;
  --texto-3: #87827D;
  --led: #CBC2BD;            /* a luz da luminária na pintura: o único acento */
  --led-forte: #F1EDE9;
  --fio: rgba(203, 194, 189, .14);
  --fio-forte: rgba(203, 194, 189, .32);
  --erro: #E8A598;
  --fita: #97B26C;           /* fita crepe verde do meio a meio (objeto, não cor de interface) */

  --titulo: "Archivo", system-ui, sans-serif;
  --corpo: "Inter", system-ui, sans-serif;
  --cursiva: "Sacramento", cursive;

  --raio: 14px;
  --raio-campo: 10px;
  --lado: clamp(20px, 5vw, 72px);
  --topo-h: 68px;
  --curva: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--topo-h) + 12px); }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font: 400 1rem/1.6 var(--corpo);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-family: var(--titulo); font-weight: 700; text-transform: uppercase; letter-spacing: -.005em; text-wrap: balance; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--led-forte); outline-offset: 3px; border-radius: 6px; }

/* A lataria. Sem WebGL, fica um degradê parado com a mesma luz. */
#lataria { position: fixed; inset: 0; width: 100%; height: 100lvh; z-index: 0; display: block; pointer-events: none; }
.sem-gl #lataria { display: none; }
.sem-gl body {
  background:
    radial-gradient(60% 50% at 75% 18%, rgba(203, 194, 189, .16), transparent 70%),
    linear-gradient(180deg, #121119, var(--fundo) 60%);
  background-attachment: fixed;
}
main, .rodape { position: relative; z-index: 1; }

/* Botões */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  min-height: 48px; padding: 0 1.5em; border-radius: 999px;
  font: 600 .95rem/1 var(--corpo); letter-spacing: .01em; text-decoration: none; white-space: nowrap;
  border: 1px solid transparent; cursor: pointer;
  transition: transform .25s var(--curva), background-color .25s, border-color .25s, box-shadow .25s, color .25s;
}
.btn:active { transform: scale(.98); }
.btn-led { background: var(--led-forte); color: #0B0A10; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .12); }
.btn-led:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 10px 30px -12px rgba(241, 237, 233, .45); }
.btn-led:disabled { background: #2A2830; color: #77727A; box-shadow: none; transform: none; cursor: not-allowed; }
.btn-fio { background: rgba(6, 5, 11, .35); color: var(--led-forte); border-color: var(--fio-forte); }
.btn-fio:hover { border-color: var(--led); background: rgba(203, 194, 189, .08); }
.btn-p { min-height: 40px; padding: 0 1.15em; font-size: .88rem; }
.btn-cheio { width: 100%; }
.link { color: var(--led-forte); text-decoration: underline; text-decoration-color: var(--fio-forte); text-underline-offset: .3em; transition: text-decoration-color .2s; }
.link:hover { text-decoration-color: var(--led-forte); }

/* Topo retrátil */
.topo {
  position: fixed; inset: 0 0 auto; z-index: 10; height: var(--topo-h);
  display: flex; align-items: center; gap: 24px; padding: 0 var(--lado);
  background: linear-gradient(180deg, rgba(6, 5, 11, .78), rgba(6, 5, 11, 0));
  transition: transform .45s var(--curva), background-color .3s;
}
.topo.some { transform: translateY(-110%); }
.topo.solido { background: rgba(6, 5, 11, .82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: inset 0 -1px 0 var(--fio); }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.marca img { width: 42px; height: 42px; }
.marca span { font: 600 .68rem/1.15 var(--titulo); font-stretch: 112%; text-transform: uppercase; letter-spacing: .16em; color: var(--texto-2); max-width: 9ch; }
.menu { display: flex; gap: 28px; }
.menu a { font-size: .9rem; color: var(--texto-2); text-decoration: none; transition: color .2s; }
.menu a:hover { color: var(--texto); }
@media (max-width: 860px) { .menu { display: none; } .marca span { display: none; } }

/* Abertura */
.abertura {
  min-height: 100svh; display: flex; align-items: flex-end;
  padding: calc(var(--topo-h) + 24px) var(--lado) clamp(48px, 10vh, 112px);
}
.abertura-txt { max-width: 1040px; }
.sobre { display: flex; align-items: center; gap: 16px; font: 600 .74rem/1.45 var(--titulo); font-stretch: 115%; text-transform: uppercase; letter-spacing: .2em; color: var(--led); margin-bottom: 22px; }
.abertura h1 { font-size: clamp(2.3rem, 5.3vw, 5.4rem); line-height: .94; font-stretch: 125%; font-weight: 760; }
.abertura h1 .linha { display: block; overflow: hidden; padding-bottom: .04em; }
.abertura h1 .linha > span { display: block; white-space: nowrap; }
.sub { margin-top: 24px; max-width: 34ch; font-size: clamp(1rem, 1.3vw, 1.15rem); color: var(--texto-2); }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
@media (max-width: 700px) {
  .abertura { padding-bottom: 40px; }
  .abertura h1 { font-size: clamp(2.1rem, 10.4vw, 3rem); font-stretch: 112%; }
  .abertura h1 .linha > span { white-space: normal; }
  .sobre { letter-spacing: .14em; font-size: .68rem; }
  .acoes .btn { flex: 1 1 auto; }
}

/* Palco fixo das cenas que correm com o scroll */
.palco { position: relative; min-height: 100svh; }
.motion .meio { height: 260svh; }
.motion .setores { height: 640svh; }
.motion .meio > .palco, .motion .setores > .palco { position: sticky; top: 0; height: 100svh; overflow: hidden; }

/* Meio a meio */
.meio-txt { position: relative; z-index: 4; pointer-events: none; max-width: 640px; padding: calc(var(--topo-h) + 32px) var(--lado) 0; }
.meio-txt h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); line-height: .98; font-stretch: 120%; text-shadow: 0 2px 24px rgba(6, 5, 11, .8); }
.meio-txt p { margin-top: 18px; color: var(--texto-2); max-width: 40ch; }
.meio-txt .dica-fita { margin-top: 12px; color: var(--texto-3); font-size: .9rem; }
.meio .palco::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 70%; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 5, 11, .78), rgba(6, 5, 11, 0));
}
.fita {
  position: absolute; z-index: 3; top: 0; bottom: 0; left: 0; width: 64px; margin-left: -32px;
  cursor: ew-resize; touch-action: none; outline: none;
  transform: translate3d(50vw, 0, 0); will-change: transform;
}
.fita-papel {
  position: absolute; inset: -4% 18px; border-radius: 1px;
  background:
    repeating-linear-gradient(176deg, rgba(255, 255, 255, .07) 0 2px, transparent 2px 5px),
    linear-gradient(90deg, rgba(0, 0, 0, .18), transparent 18%, transparent 82%, rgba(0, 0, 0, .14)),
    var(--fita);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .25), 0 12px 30px rgba(0, 0, 0, .45);
  -webkit-mask: linear-gradient(90deg, transparent 0, #000 1px, #000 calc(100% - 1px), transparent);
  transform: rotate(.6deg);
}
.fita:focus-visible .fita-papel { box-shadow: 0 0 0 2px var(--led-forte), 0 12px 30px rgba(0, 0, 0, .45); }
.lado {
  position: absolute; z-index: 2; bottom: clamp(28px, 6vh, 56px);
  font: 600 .74rem/1 var(--titulo); font-stretch: 115%; text-transform: uppercase; letter-spacing: .2em; color: var(--led-forte);
  padding: 9px 14px; border-radius: 999px; background: rgba(6, 5, 11, .62); box-shadow: inset 0 0 0 1px var(--fio);
  transition: opacity .3s;
}
.lado-antes { left: var(--lado); }
.lado-depois { right: var(--lado); }
/* Sem movimento: a fita fica parada no meio, desenhada na própria página. */
html:not(.motion) .meio .palco { min-height: 100svh; }

/* Setores */
.setores-guia { position: relative; z-index: 3; padding: calc(var(--topo-h) + 28px) var(--lado) 0; }
.setores-guia h2 { font: 600 .74rem/1 var(--titulo); font-stretch: 115%; letter-spacing: .2em; color: var(--led); }
.indice { display: flex; gap: 22px; margin-top: 16px; overflow-x: auto; scrollbar-width: none; }
.indice::-webkit-scrollbar { display: none; }
.indice a {
  position: relative; flex: 0 0 auto; padding: 6px 0 9px; font-size: .92rem; white-space: nowrap;
  color: var(--texto-3); text-decoration: none; transition: color .3s;
}
.indice a::before {
  content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; border-radius: 2px;
  background: var(--led-forte); box-shadow: 0 0 10px rgba(241, 237, 233, .7);
  transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--curva);
}
.indice a:hover, .indice a[aria-current="true"] { color: var(--texto); }
.indice a[aria-current="true"]::before { transform: scaleX(1); }
.setores .palco::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(6, 5, 11, .9) 0, rgba(6, 5, 11, .72) 34%, rgba(6, 5, 11, 0) 58%);
  -webkit-mask: linear-gradient(180deg, transparent, #000 30%);
  mask: linear-gradient(180deg, transparent, #000 30%);
}
.setores-lista { position: relative; z-index: 2; }
.motion .setores-lista { position: absolute; inset: 0; }
.setor { padding: 40px var(--lado) 56px; }
.setor > :not(.legenda-demo) { max-width: 560px; }
.setor > h3 { max-width: none; }
.motion .setor {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding-bottom: clamp(40px, 9vh, 96px);
  visibility: hidden;
}
.motion .setor.ativo { visibility: visible; }
.assinatura { font: 400 clamp(2.2rem, 3.4vw, 3rem)/1 var(--cursiva); color: var(--led-forte); margin-bottom: 6px; }
.setor-cab { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.setor-cab .assinatura { margin: 0; }
.hexnum { position: relative; flex: none; display: grid; place-items: center; width: 40px; height: 46px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: var(--led-forte); font: 700 .82rem/1 var(--titulo); font-stretch: 112%; color: var(--led-forte); }
.hexnum::before { content: ""; position: absolute; inset: 2px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: var(--fundo); z-index: -1; }
.inclui { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-top: 18px; }
.inclui p { font: 600 .7rem/1 var(--titulo); font-stretch: 112%; text-transform: uppercase; letter-spacing: .14em; color: var(--texto-3); margin-right: 4px; }
.inclui ul { display: contents; list-style: none; }
.inclui li { font-size: .84rem; line-height: 1; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--fio); background: rgba(11, 10, 18, .55); color: var(--texto); }
.setor h3 { font-size: clamp(2.3rem, min(5.6vw, 9.5vh), 5.2rem); line-height: .92; font-stretch: 125%; font-weight: 780; }
.o-que { margin-top: 22px; font-size: 1.08rem; color: var(--texto); max-width: 44ch; }
.resolve { margin-top: 12px; color: var(--texto-2); max-width: 44ch; }
.duracao { margin-top: 14px; font: 600 .74rem/1 var(--titulo); font-stretch: 115%; text-transform: uppercase; letter-spacing: .18em; color: var(--led); }
.setor .btn { margin-top: 28px; }
.legenda-demo {
  position: absolute; right: var(--lado); bottom: clamp(40px, 9vh, 96px); max-width: 30ch;
  font-size: .88rem; color: var(--texto-2); text-align: right;
}
html:not(.motion) .legenda-demo { position: static; margin-top: 18px; text-align: left; }
.extras { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; max-width: 560px; }
.extras li { display: flex; flex-direction: column; gap: 4px; padding-top: 14px; border-top: 1px solid var(--fio); }
.extras strong { font-weight: 600; }
.extras span { color: var(--texto-2); font-size: .93rem; }
html:not(.motion) .setor { min-height: 92svh; display: flex; flex-direction: column; justify-content: flex-end; position: relative; }

@media (max-width: 860px) {
  .setores-guia { padding-top: calc(var(--topo-h) + 8px); }
  .indice { gap: 12px; margin-right: calc(var(--lado) * -1); padding-right: var(--lado); }
  .indice a { font-size: .82rem; padding-bottom: 8px; }
  .setores .palco::before { background: linear-gradient(0deg, rgba(6, 5, 11, .94) 0, rgba(6, 5, 11, .8) 42%, rgba(6, 5, 11, 0) 64%), linear-gradient(180deg, rgba(6, 5, 11, .92), rgba(6, 5, 11, .6) 18%, rgba(6, 5, 11, 0) 30%); -webkit-mask: linear-gradient(180deg, transparent, #000 7%); mask: linear-gradient(180deg, transparent, #000 7%); }
  .setor h3 { font-size: clamp(1.9rem, 9.2vw, 3rem); font-stretch: 105%; }
  .assinatura { font-size: 2.1rem; }
  .o-que { margin-top: 14px; font-size: 1rem; }
  .resolve { font-size: .93rem; }
  .setor .btn { margin-top: 20px; width: 100%; }
  .motion .setor { padding-bottom: 28px; }
  .legenda-demo { position: static; margin-top: 14px; text-align: left; font-size: .82rem; color: var(--texto-3); }
  .extras { grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
  .extras li { padding-top: 10px; }
  .extras span { font-size: .88rem; }
  .inclui { flex-wrap: nowrap; overflow-x: auto; margin: 12px calc(-1 * var(--lado)) 0; padding: 0 var(--lado); scrollbar-width: none; }
  .inclui::-webkit-scrollbar { display: none; }
  .inclui li { white-space: nowrap; font-size: .78rem; padding: 7px 11px; }
  .setor-cab { gap: 12px; }
  .hexnum { width: 34px; height: 39px; font-size: .74rem; }
}

/* Seções de leitura: a lataria fica mais escura atrás delas */
.resultados, .como, .agendar, .onde { padding: clamp(80px, 14vh, 150px) var(--lado) 0; }
.resultados h2, .como h2, .agendar h2, .onde h2 { font-size: clamp(1.9rem, 3.8vw, 3.2rem); line-height: 1; font-stretch: 120%; }

/* Resultados: as fotos entram na própria colmeia da luminária */
.resultados { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; align-items: center; max-width: 1240px; margin: 0 auto; }
.resultados-txt p { margin-top: 18px; color: var(--texto-2); max-width: 40ch; }
.resultados-txt .link { display: inline-block; margin-top: 20px; }
.colmeia {
  --w: clamp(132px, 11vw, 168px); --h: calc(var(--w) * 1.1547); --g: 8px; --cols: 3.5; --rows: 3;
  position: relative; justify-self: center;
  width: calc(var(--cols) * var(--w) + (var(--cols) - 1) * var(--g));
  height: calc((var(--rows) - 1) * (var(--h) * .75 + var(--g) * .866) + var(--h));
  filter: drop-shadow(0 0 18px rgba(241, 237, 233, .2));
}
.favo {
  position: absolute; margin: 0; width: var(--w); height: var(--h);
  left: calc(var(--c) * (var(--w) + var(--g))); top: calc(var(--r) * (var(--h) * .75 + var(--g) * .866));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--led-forte);
}
.favo-foto picture, .favo-foto img { position: absolute; inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); object-fit: cover; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.favo-foto img { inset: 0; width: 100%; height: 100%; transition: transform .8s var(--curva); }
.favo-foto:hover img { transform: scale(1.04); }
/* Favo de informação: o tubo de LED aceso só no contorno, como a luminária */
.favo-info, .favo-emblema { display: grid; place-items: center; text-decoration: none; color: var(--texto); }
.favo-info::before, .favo-emblema::before { content: ""; position: absolute; inset: 2px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: #0B0A12; }
.favo-emblema::before { background: radial-gradient(circle at 50% 40%, #1A1A26, #07060C 70%); }
.favo-info p, .favo-emblema img { position: relative; }
.favo-info p { display: flex; flex-direction: column; gap: 5px; text-align: center; padding: 0 12%; }
.favo-info strong { font: 700 .74rem/1.15 var(--titulo); font-stretch: 100%; text-transform: uppercase; letter-spacing: .05em; color: var(--led-forte); }
.favo-info span { font-size: .72rem; line-height: 1.3; color: var(--texto-2); }
a.favo-info:hover::before, a.favo-info:focus-visible::before { background: #15141E; }
.favo-emblema img { width: 74%; height: auto; }
@media (max-width: 860px) {
  .resultados { grid-template-columns: 1fr; gap: 36px; }
  .colmeia { --cols: 2.5; --rows: 5; --g: 6px; --w: min(calc((100vw - 2 * var(--lado) - 1.5 * var(--g)) / 2.5), 170px); }
  .favo { left: calc(var(--cm) * (var(--w) + var(--g))); top: calc(var(--rm) * (var(--h) * .75 + var(--g) * .866)); }
}

/* O emblema da casa: aro cromado, o mesmo do perfil */
.emblema { flex: none; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 10px 30px rgba(0, 0, 0, .5); }
.sobre .emblema { width: 64px; height: 64px; }
@media (max-width: 860px) { .sobre .emblema { width: 52px; height: 52px; } }

@media (max-width: 1100px) and (min-width: 861px) { .resultados { grid-template-columns: 1fr; } }

/* Como funciona: um trilho que a luz percorre */
.como { max-width: 1240px; margin: 0 auto; }
.trilho { position: relative; margin-top: 48px; }
.trilho-linha {
  position: absolute; left: 0; right: 0; top: 7px; height: 2px; border-radius: 2px;
  background: var(--led-forte); box-shadow: 0 0 10px rgba(241, 237, 233, .7);
  transform-origin: left center; transform: scaleX(var(--p, 1));
}
.passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; counter-reset: passo; }
.passos li { position: relative; padding-top: 40px; counter-increment: passo; }
.passos li::before {
  content: counter(passo); position: absolute; top: 0; left: 0; width: 16px; height: 16px; border-radius: 50%;
  background: var(--fundo); box-shadow: inset 0 0 0 2px var(--led-forte);
  font-size: 0; /* o número fica para leitor de tela via ol */
}
.passos h3 { font-size: 1.05rem; font-stretch: 110%; line-height: 1.2; }
.passos p { margin-top: 8px; color: var(--texto-2); font-size: .95rem; max-width: 28ch; }
@media (max-width: 860px) {
  .trilho-linha { left: 7px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; transform-origin: center top; transform: scaleY(var(--p, 1)); }
  .passos { grid-template-columns: 1fr; gap: 26px; }
  .passos li { padding: 0 0 0 40px; }
}

/* Moldura dupla: casca fina e miolo com luz de 1px */
.casca { padding: 6px; border-radius: calc(var(--raio) + 6px); background: rgba(255, 255, 255, .035); box-shadow: inset 0 0 0 1px var(--fio); }
.miolo { border-radius: var(--raio); background: var(--superficie); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }

/* Agendamento */
.agendar { max-width: 1240px; margin: 0 auto; }
.agenda { margin-top: 36px; }
.agenda-in { display: grid; grid-template-columns: minmax(0, 1fr) 320px; }
.agenda-form { padding: clamp(24px, 3vw, 40px); display: grid; gap: 30px; }
.bloco { border: 0; margin: 0; padding: 0; min-width: 0; }
.bloco[disabled] { opacity: .45; }
.bloco legend { padding: 0; margin-bottom: 14px; font: 600 .74rem/1 var(--titulo); font-stretch: 115%; text-transform: uppercase; letter-spacing: .18em; color: var(--led); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip, .chip-esq {
  display: inline-flex; align-items: baseline; gap: 10px; min-height: 46px; padding: 12px 18px; border-radius: 999px;
  border: 1px solid var(--fio-forte); background: rgba(255, 255, 255, .02); color: var(--texto);
  font: 500 .95rem/1.2 var(--corpo); cursor: pointer; text-align: left;
  transition: border-color .2s, background-color .2s, box-shadow .25s, transform .2s var(--curva);
}
.chip small { color: var(--texto-3); font-size: .82rem; }
.chip:hover { border-color: var(--led); }
.chip:active { transform: scale(.98); }
.chip[aria-pressed="true"] { border-color: var(--led-forte); background: rgba(241, 237, 233, .1); box-shadow: 0 0 0 1px var(--led-forte), 0 0 18px -4px rgba(241, 237, 233, .55); }
.chip[aria-pressed="true"] small { color: var(--led); }
.chip-esq { width: 150px; border-color: var(--fio); cursor: default; background: rgba(255, 255, 255, .04); }
.dias { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.dia {
  flex: 0 0 auto; width: 64px; padding: 10px 0; border-radius: var(--raio-campo); scroll-snap-align: start;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  border: 1px solid var(--fio); background: rgba(255, 255, 255, .02); color: var(--texto); cursor: pointer;
  font: 400 .8rem/1.2 var(--corpo); transition: border-color .2s, background-color .2s, box-shadow .25s;
}
.dia small { color: var(--texto-3); text-transform: uppercase; font-size: .68rem; letter-spacing: .08em; }
.dia strong { font: 700 1.3rem/1.1 var(--titulo); }
.dia span { color: var(--texto-2); font-size: .74rem; }
.dia:hover { border-color: var(--led); }
.dia[aria-checked="true"] { border-color: var(--led-forte); background: rgba(241, 237, 233, .1); box-shadow: 0 0 0 1px var(--led-forte); }
.horas { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px; }
.hora, .hora-esq {
  min-height: 44px; border-radius: var(--raio-campo); border: 1px solid var(--fio); background: rgba(255, 255, 255, .02);
  color: var(--texto); font: 500 .95rem/1 var(--corpo); cursor: pointer; transition: border-color .2s, background-color .2s;
}
.hora:hover { border-color: var(--led); }
.hora[aria-checked="true"] { border-color: var(--led-forte); background: rgba(241, 237, 233, .12); box-shadow: 0 0 0 1px var(--led-forte); }
.hora-esq { display: block; background: rgba(255, 255, 255, .05); cursor: default; }
.dica { margin-top: 10px; color: var(--texto-2); font-size: .9rem; }
.dica:empty { display: none; }
.campos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.campo { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.campos .campo { margin-top: 0; }
.campo > span { font-size: .88rem; color: var(--texto-2); }
.campo em { font-style: normal; color: var(--texto-3); }
.campo input, .campo textarea {
  width: 100%; min-height: 48px; padding: 12px 14px; border-radius: var(--raio-campo);
  border: 1px solid var(--fio-forte); background: rgba(6, 5, 11, .55); color: var(--texto);
  font: 400 1rem/1.4 var(--corpo); transition: border-color .2s, box-shadow .2s;
}
.campo textarea { resize: vertical; min-height: 72px; }
.campo input::placeholder, .campo textarea::placeholder { color: #75706F; }
.campo input:focus, .campo textarea:focus { outline: none; border-color: var(--led-forte); box-shadow: 0 0 0 3px rgba(241, 237, 233, .14); }
.campo input[aria-invalid="true"] { border-color: var(--erro); }
.erro { color: var(--erro); font-size: .84rem; }
.erro:empty { display: none; }
.tipo { display: flex; gap: 8px; margin-top: 18px; }
.tipo label, .opcao { cursor: pointer; }
.tipo input, .opcao input { position: absolute; opacity: 0; pointer-events: none; }
.tipo span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--fio-forte); font-size: .92rem; transition: border-color .2s, background-color .2s; }
.tipo input:checked + span { border-color: var(--led-forte); background: rgba(241, 237, 233, .1); }
.tipo input:focus-visible + span, .opcao input:focus-visible + span { outline: 2px solid var(--led-forte); outline-offset: 3px; }
.opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.opcao span {
  display: block; height: 100%; padding: 14px 16px 14px 46px; border-radius: var(--raio-campo); border: 1px solid var(--fio);
  color: var(--texto-2); font-size: .92rem; position: relative; transition: border-color .2s, background-color .2s;
}
.opcao span::before {
  content: ""; position: absolute; left: 16px; top: 16px; width: 18px; height: 18px; border-radius: 5px;
  box-shadow: inset 0 0 0 1.5px var(--fio-forte); transition: background-color .2s, box-shadow .2s;
}
.opcao strong { color: var(--texto); font-weight: 600; }
.opcao input:checked + span { border-color: var(--led-forte); background: rgba(241, 237, 233, .07); }
.opcao input:checked + span::before { background: var(--led-forte); box-shadow: inset 0 0 0 4px #1A1920; }
.isca { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.resumo { padding: clamp(24px, 3vw, 36px); border-left: 1px solid var(--fio); display: flex; flex-direction: column; gap: 20px; }
.resumo h3 { font-size: 1.05rem; font-stretch: 112%; }
.resumo dl { margin: 0; display: grid; gap: 14px; }
.resumo dt { font-size: .8rem; color: var(--texto-3); }
.resumo dd { margin: 2px 0 0; font-weight: 500; }
.aviso { color: var(--erro); font-size: .9rem; }
.aviso:empty { display: none; }
@media (min-width: 861px) { .resumo > * { position: relative; } .resumo { position: sticky; top: calc(var(--topo-h) + 16px); align-self: start; } }
@media (max-width: 860px) {
  .agenda-in { grid-template-columns: 1fr; }
  .resumo { border-left: 0; border-top: 1px solid var(--fio); position: sticky; bottom: 0; background: rgba(13, 12, 19, .96); border-radius: 0 0 var(--raio) var(--raio); }
  .resumo dl { grid-template-columns: 1fr 1fr; gap: 10px 16px; }
  .resumo h3 { display: none; }
  .campos, .opcoes { grid-template-columns: 1fr; }
}
.feito, .fora { padding: clamp(36px, 6vw, 72px) clamp(24px, 4vw, 56px); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.feito h3, .fora h3 { font-size: clamp(1.5rem, 3vw, 2.2rem); font-stretch: 118%; }
.feito .assinatura { margin-bottom: -6px; }
.feito p, .fora p { color: var(--texto-2); max-width: 46ch; }
#feito-txt { color: var(--texto); font-weight: 500; }
.feito .btn, .fora .btn { margin-top: 10px; }

/* Onde estamos */
.onde { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; max-width: 1240px; margin: 0 auto; padding-bottom: clamp(80px, 12vh, 140px); }
.onde address { margin-top: 20px; font-style: normal; color: var(--texto); line-height: 1.7; }
.contatos { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.contatos a { color: var(--led-forte); text-decoration: underline; text-decoration-color: var(--fio-forte); text-underline-offset: .3em; }
.contatos a:hover { text-decoration-color: var(--led-forte); }
.mapa .miolo { overflow: hidden; }
.mapa iframe { display: block; width: 100%; aspect-ratio: 16 / 10; border: 0; filter: invert(.9) hue-rotate(180deg) saturate(.5) brightness(.95); }
@media (max-width: 860px) { .onde { grid-template-columns: 1fr; gap: 32px; } .mapa iframe { aspect-ratio: 4 / 3; } }

/* Rodapé */
.rodape { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 28px var(--lado) calc(28px + env(safe-area-inset-bottom)); border-top: 1px solid var(--fio); background: rgba(6, 5, 11, .9); }
.rodape p { color: var(--texto-3); font-size: .88rem; margin-right: auto; }
.equipe { color: var(--texto-3); font-size: .85rem; }
.rodape .emblema { width: 56px; height: 56px; }
.rodape p span { color: var(--texto-3); }
.rodape p a { color: var(--texto-2); }

/* Estados de partida do movimento (só com .motion; sem ele, tudo já aparece) */
.motion .abertura h1 .linha > span { transform: translateY(110%); }
.motion .abertura .sobre, .motion .abertura .sub, .motion .abertura .acoes { opacity: 0; transform: translateY(16px); }
.motion .topo { opacity: 0; }
.motion .surge { opacity: 0; transform: translateY(28px); }
.motion .favo { opacity: 0; }
.motion .passos li { opacity: 0; }
.motion .trilho-linha { --p: 0; }
.motion .meio-txt, .motion .lado, .motion .fita { opacity: 0; }
