/* Hallmark · macrostructure: custom (field manual, alta energia) · tone: forte, campo · anchor hue: terra roxa 33
 * theme: custom · vibe: "galpão, terra roxa, aço e couro" · paper oklch(95.6% .004 95) · accent oklch(46% .14 33)
 * fonts: Barlow Condensed (display) + Barlow (texto) · axes: dark-light / display-condensed / warm
 * pre-emit critique: P4 H5 E4 S5 R4 V4
 */
:root{
  --cal: oklch(95.6% .004 95);
  --cal-2: oklch(91.2% .006 90);
  --grafite: oklch(22% .004 90);
  --grafite-2: oklch(30% .004 90);
  --fumo: oklch(45% .006 90);
  --fumo-escuro: oklch(80% .006 90);
  --linha-escura: oklch(40% .004 90);
  --terra: oklch(46% .14 33);
  --terra-escura: oklch(38% .12 32);
  --terra-funda: oklch(30% .09 32);
  --terra-clara: oklch(78% .095 45);
  --branco: oklch(99% 0 0);
  --foco: var(--terra);

  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-texto: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;

  --text-sm: .9375rem;
  --text-base: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: 1.6rem;
  --text-2xl: clamp(2.6rem, 8vw, 5.6rem);

  --space-2xs: .25rem; --space-xs: .5rem; --space-sm: .75rem; --space-md: 1rem;
  --space-lg: 1.5rem; --space-xl: 2rem; --space-2xl: 3rem; --space-3xl: 4.5rem; --space-4xl: 7rem;

  --radius-sm: 4px; --radius-md: 10px;
  --ease-out: cubic-bezier(.16,1,.3,1);
  --dur-fast: 160ms; --dur-med: 320ms;
  --largura: 1240px;
  --gutter: clamp(16px, 4.5vw, 40px);
  --topo: 64px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + 8px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cal);color:var(--grafite);font-family:var(--font-texto);font-size:var(--text-base);line-height:1.6}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;margin:0;min-width:0;overflow-wrap:anywhere}
h2{font-size:var(--text-2xl);line-height:.9;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
h3{font-size:var(--text-xl);line-height:1.05;font-weight:700}
p{margin:0}
p+p{margin-top:var(--space-sm)}
:focus-visible{outline:3px solid var(--foco);outline-offset:3px;border-radius:2px}
.escuro{--foco:var(--terra-clara);background:var(--grafite);color:var(--cal)}
.mt-sm{margin-top:var(--space-sm)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}
.p30{object-position:50% 30%}.p40{object-position:50% 40%}.p45{object-position:50% 45%}.p55{object-position:50% 55%}.p60{object-position:50% 60%}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:var(--space-md);top:-60px;z-index:60;background:var(--terra);color:var(--branco);padding:var(--space-sm) var(--space-md);text-decoration:none;font-weight:600}
.pular:focus{top:var(--space-md)}

.faixa{max-width:var(--largura);margin:0 auto;padding-inline:var(--gutter)}
.secao{padding-block:var(--space-3xl)}
@media (min-width:900px){.secao{padding-block:var(--space-4xl)}}
.intro{max-width:36rem;margin-top:var(--space-md);font-size:var(--text-lg);line-height:1.5;color:var(--fumo)}
.escuro .intro{color:var(--fumo-escuro)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:48px;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:.01em;text-decoration:none;white-space:nowrap;border:2px solid transparent;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn svg{width:22px;height:22px;flex:none}
.btn-grande{min-height:58px;padding:var(--space-sm) var(--space-xl);font-size:1.4rem}
.btn-terra{background:var(--terra);color:var(--branco)}
.btn-terra:hover{background:var(--terra-escura)}
.btn-linha{border-color:currentColor;background:transparent}
.btn-linha:hover{background:color-mix(in oklch, currentColor 12%, transparent)}

/* topo */
.topo{position:sticky;top:0;z-index:40;background:var(--grafite);color:var(--cal);border-bottom:1px solid var(--linha-escura)}
.topo .faixa{display:flex;align-items:center;gap:var(--space-md);min-height:var(--topo)}
.marca{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;margin-right:auto}
.marca img{width:34px;height:auto}
.marca span{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:.01em;white-space:nowrap}
.menu-lista{display:none;list-style:none;margin:0;padding:0;gap:var(--space-lg)}
.menu-lista a{text-decoration:none;font-weight:500;font-size:var(--text-sm);white-space:nowrap;padding-block:var(--space-xs)}
.menu-lista a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--terra-clara)}
.topo .btn{min-height:40px;padding:var(--space-xs) var(--space-md);font-size:1.05rem}
.menu-botao{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-sm);background:none;border:1px solid var(--linha-escura);border-radius:var(--radius-sm);color:inherit;font:600 var(--text-sm) var(--font-texto);cursor:pointer}
.menu-painel{border-top:1px solid var(--linha-escura)}
.menu-painel[hidden]{display:none}
.menu-painel ul{list-style:none;margin:0;padding:var(--space-xs) var(--gutter) var(--space-md)}
.menu-painel a{display:block;padding:var(--space-sm) 0;font-family:var(--font-display);font-size:1.6rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--linha-escura)}
@media (min-width:1080px){.menu-lista{display:flex}.menu-botao,.menu-painel{display:none!important}}
@media (max-width:420px){.topo .btn-topo{display:none}}

/* hero em tela cheia */
.hero{position:relative;min-height:calc(100svh - var(--topo));display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-foto{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, oklch(15% .005 60 / .15) 0%, oklch(15% .005 60 / .1) 30%, oklch(18% .005 60 / .88) 68%, var(--grafite) 100%)}
.hero-conteudo{width:100%;max-width:var(--largura);margin:0 auto;padding:var(--space-2xl) var(--gutter)}
.hero-titulo{font-weight:800;text-transform:uppercase;line-height:.84;letter-spacing:-.015em;font-size:18.5vw}
.hero-titulo .linha,.hero-titulo .pedaco{display:block}
.hero-titulo .pedaco{overflow:hidden;padding-bottom:.04em}
.hero-titulo .pedaco > span{display:block}
.hero-rodape{display:grid;gap:var(--space-lg);margin-top:var(--space-lg)}
.hero-sub{font-size:var(--text-lg);line-height:1.45;max-width:32rem;color:var(--fumo-escuro)}
.hero-sub strong{color:var(--cal);font-weight:600}
.acoes{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
@media (min-width:960px){
  .hero-foto{left:auto;width:min(54%, 600px)} /* a foto do topo tem 608 px: não esticar */
  .hero-foto::after{background:linear-gradient(90deg, var(--grafite) 0%, oklch(22% .004 90 / .55) 24%, transparent 58%),linear-gradient(0deg, var(--grafite) 0%, oklch(22% .004 90 / .6) 28%, transparent 55%)}
  .hero{align-items:center}
  .hero-conteudo{padding-block:var(--space-3xl)}
  .hero-titulo{font-size:min(10.4vw, 9.6rem)}
  .hero-titulo .linha{white-space:nowrap}
  .hero-titulo .pedaco{display:inline-block;vertical-align:top}
  .hero-rodape{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:var(--space-xl)}
}
@media (prefers-reduced-motion:no-preference){
  .hero-foto img{animation:aproxima 1.8s var(--ease-out) both}
  .hero-titulo .pedaco > span{animation:sobe .9s var(--ease-out) both}
  .hero-titulo .linha:nth-child(1) .pedaco:nth-child(1) > span{animation-delay:.15s}
  .hero-titulo .linha:nth-child(1) .pedaco:nth-child(2) > span{animation-delay:.27s}
  .hero-titulo .linha:nth-child(2) .pedaco:nth-child(1) > span{animation-delay:.39s}
  .hero-titulo .linha:nth-child(2) .pedaco:nth-child(2) > span{animation-delay:.51s}
  .hero-rodape{animation:aparece .8s .8s var(--ease-out) both}
  @keyframes aproxima{from{transform:scale(1.14)}to{transform:scale(1)}}
  @keyframes sobe{from{transform:translateY(105%)}to{transform:none}}
  @keyframes aparece{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

/* faixa de impacto */
.impacto{background:var(--terra);color:var(--branco);overflow:hidden;border-block:3px solid var(--terra-funda)}
.impacto-trilho{display:flex;width:max-content}
.impacto-trilho span{display:block;padding:var(--space-sm) 0;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.6rem,4.5vw,2.6rem);line-height:1.1;white-space:nowrap;padding-right:.35em}
.impacto-trilho i{font-style:normal;color:var(--terra-clara);padding-inline:.35em}
@media (prefers-reduced-motion:no-preference){.impacto-trilho{animation:corre 26s linear infinite}@keyframes corre{to{transform:translateX(-50%)}}}

/* números */
.numeros{padding-block:var(--space-2xl)}
.numeros-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-lg);margin-block:0}
.numero{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--space-2xs);border-top:3px solid var(--terra);padding-top:var(--space-sm)}
.numero dd{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,13vw,7rem);line-height:.9;color:var(--branco);font-variant-numeric:tabular-nums}
.numero:first-child dd{color:var(--terra-clara)}
.numero dt{font-size:var(--text-sm);color:var(--fumo-escuro);line-height:1.35;max-width:16rem}
@media (min-width:900px){.numeros-grade{grid-template-columns:1.6fr 1fr 1fr 1fr}.numeros{padding-block:var(--space-3xl)}}

/* serviços: cards com foto */
.servicos{background:oklch(18% .004 90)}
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);margin-top:var(--space-2xl)}
.card{position:relative;overflow:hidden;border-radius:var(--radius-md);min-height:360px;display:flex;align-items:flex-end;isolation:isolate;cursor:pointer;color:var(--branco);background:var(--grafite-2)}
.card-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease-out)}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, transparent 30%, oklch(14% .005 60 / .92) 100%)}
.card-base{padding:var(--space-lg);transition:opacity var(--dur-med) var(--ease-out)}
.card h3{font-size:clamp(2.1rem,6vw,2.7rem);font-weight:800;text-transform:uppercase;line-height:.92}
.card-o-que{margin-top:var(--space-xs);color:oklch(90% .005 90);max-width:30rem;line-height:1.45}
.card-dica{display:inline-flex;align-items:center;gap:.4em;margin-top:var(--space-sm);font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--terra-clara)}
.card-dica b{display:inline-grid;place-items:center;width:1.4em;height:1.4em;border-radius:50%;background:var(--terra);color:var(--branco);font-weight:800}
.card-quando{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-lg);background:oklch(26% .1 32 / .94);opacity:0;transform:translateY(12px);transition:opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}
.card-quando h4{font-size:2.2rem;font-weight:800;text-transform:uppercase;line-height:1;color:var(--terra-clara)}
.card-quando p{font-size:var(--text-lg);line-height:1.4;max-width:30rem}
.card-quando .btn{align-self:flex-start;background:var(--branco);color:var(--terra-escura)}
.card:hover .card-foto,.card:focus-within .card-foto,.card.aberto .card-foto{transform:scale(1.06)}
.card:hover .card-quando,.card:focus-within .card-quando,.card.aberto .card-quando{opacity:1;transform:none}
.card:hover .card-base,.card:focus-within .card-base,.card.aberto .card-base{opacity:0}
.card:focus-visible{outline:3px solid var(--terra-clara);outline-offset:3px}
@media (hover:none){.card:not(.aberto):focus-within .card-quando{opacity:0}.card:not(.aberto):focus-within .card-base{opacity:1}}
@media (max-width:639px){.card:not(.card-grande){min-height:300px}.card-grande{min-height:420px}}
@media (min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grande{grid-column:1/-1;min-height:480px}}
@media (min-width:1000px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:310px;gap:var(--space-md)}
  .card{min-height:0}
  .card-grande{grid-column:span 2;grid-row:span 2;min-height:0}
  .card-grande h3{font-size:4.4rem}
  .card-grande .card-o-que{font-size:var(--text-lg)}
}

/* frases em tela cheia */
.frase{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;padding-block:var(--space-3xl)}
.frase-foto{position:absolute;inset:-8% 0;width:100%;height:116%;max-width:none;object-fit:cover;z-index:-2}
.frase::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, oklch(15% .005 60 / .15) 0%, oklch(15% .005 60 / .2) 40%, oklch(15% .005 60 / .86) 100%)}
.frase blockquote{margin:0 auto;width:100%}
.frase p{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(3rem,12vw,8.5rem);line-height:.86;letter-spacing:-.01em;max-width:13ch;text-wrap:balance}
.frase p.longa{font-size:clamp(2.4rem,8vw,6rem);max-width:18ch}
.frase footer{margin-top:var(--space-md);color:var(--fumo-escuro);font-size:var(--text-sm)}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline: view()){
    .frase-foto{animation:paralaxe linear both;animation-timeline:view()}
    @keyframes paralaxe{from{transform:translateY(-6%)}to{transform:translateY(6%)}}
  }
}

/* checklist estilo app */
.checklist{background:var(--terra-funda);color:var(--branco);--foco:var(--branco)}
.checklist .intro{color:oklch(90% .02 40)}
.checklist fieldset{border:0;margin:0;padding:0;min-width:0}
.sinais{list-style:none;margin:var(--space-2xl) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}
.sinal label{display:flex;gap:var(--space-md);align-items:center;min-height:68px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:oklch(100% 0 0 / .07);border:2px solid oklch(100% 0 0 / .14);cursor:pointer;font-size:var(--text-lg);line-height:1.3;font-weight:500;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.sinal label:hover{background:oklch(100% 0 0 / .12)}
.sinal label:active{transform:scale(.985)}
.sinal input{position:absolute;opacity:0;width:1px;height:1px}
.caixa-check{flex:none;width:32px;height:32px;border-radius:50%;border:2.5px solid oklch(100% 0 0 / .7);display:grid;place-items:center;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.caixa-check::after{content:"";width:13px;height:7px;border-left:3px solid var(--terra);border-bottom:3px solid var(--terra);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.sinal input:checked + .caixa-check{background:var(--branco);border-color:var(--branco)}
.sinal input:checked + .caixa-check::after{opacity:1}
.sinal label:has(input:checked){background:var(--terra);border-color:var(--terra-clara)}
.sinal input:focus-visible + .caixa-check{outline:3px solid var(--branco);outline-offset:3px}
@media (min-width:760px){.sinais{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}}

.painel{position:sticky;bottom:var(--space-sm);z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm) var(--space-md);align-items:center;margin-top:var(--space-xl);padding:var(--space-md);border-radius:var(--radius-md);background:var(--grafite);color:var(--cal);box-shadow:0 12px 32px oklch(10% .02 33 / .45);border:2px solid oklch(100% 0 0 / .12);transition:background-color var(--dur-med) var(--ease-out)}
.placar{font-family:var(--font-display);font-weight:800;font-size:3.6rem;line-height:.85;color:var(--terra-clara);font-variant-numeric:tabular-nums;min-width:2.2ch}
.placar small{font-size:1.2rem;color:var(--fumo-escuro);font-weight:700}
.painel-titulo{font-family:var(--font-display);font-size:clamp(1.35rem,4.2vw,2rem);font-weight:800;line-height:1.05;text-transform:uppercase}
.barra{height:6px;margin-top:var(--space-xs);border-radius:3px;background:oklch(100% 0 0 / .14);overflow:hidden}
.barra span{display:block;height:100%;width:0;background:var(--terra-clara);transition:width var(--dur-med) var(--ease-out)}
.aviso{margin-top:var(--space-xs);font-size:.8125rem;color:var(--fumo-escuro)}
.btn-painel{grid-column:1/-1;background:var(--branco);color:var(--terra-escura)}
.btn-painel:hover{background:var(--cal-2)}
.painel[data-nivel="2"]{background:var(--terra-escura)}
.painel[data-nivel="3"]{background:var(--terra)}
.painel[data-nivel="2"] .aviso,.painel[data-nivel="3"] .aviso{color:oklch(92% .02 40)}
.painel[data-nivel="3"] .placar,.painel[data-nivel="3"] .placar small{color:var(--branco)}
.painel[data-nivel="2"] .barra span,.painel[data-nivel="3"] .barra span{background:var(--branco)}
.placar.pulsa{animation:pulsa .35s var(--ease-out)}
@keyframes pulsa{50%{transform:scale(1.25)}}
@media (min-width:760px){.painel{grid-template-columns:auto minmax(0,1fr) auto;padding:var(--space-lg) var(--space-xl)}.btn-painel{grid-column:auto}.placar{font-size:5rem}}

/* agendar */
.agendar .faixa{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}
.campo{display:grid;gap:var(--space-xs);min-width:0}
.campo label,.campo legend{font-weight:600}
.campo .dica{font-size:var(--text-sm);color:var(--fumo)}
.campo input,.campo select,.campo textarea{width:100%;min-height:52px;padding:var(--space-sm) var(--space-md);border:1.5px solid oklch(62% .006 90);border-radius:var(--radius-sm);background:var(--branco);color:var(--grafite);font:400 var(--text-base)/1.4 var(--font-texto)}
.campo textarea{min-height:110px;resize:vertical}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:var(--grafite)}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:3px solid var(--terra);outline-offset:1px;border-color:var(--grafite)}
.campo [aria-invalid="true"]{border-color:var(--terra);background:oklch(97% .015 33)}
.erro{font-size:var(--text-sm);color:var(--terra);font-weight:600}
.erro:empty{display:none}
fieldset.campo{border:0;margin:0;padding:0}
.opcoes{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}
.opcoes label{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:48px;padding:0 var(--space-md);border:1.5px solid oklch(62% .006 90);border-radius:var(--radius-sm);background:var(--branco);cursor:pointer;font-weight:500}
.opcoes input{accent-color:var(--terra);width:18px;height:18px;margin:0}
.opcoes label:has(input:checked){border-color:var(--terra);box-shadow:inset 0 0 0 1px var(--terra)}
.opcoes label:has(input:focus-visible){outline:3px solid var(--terra);outline-offset:2px}
.emergencia{padding:var(--space-lg);background:var(--terra);color:var(--branco);border-radius:var(--radius-md);--foco:var(--branco)}
.emergencia h3{font-size:2rem;text-transform:uppercase;font-weight:800;line-height:.95}
.emergencia p{margin-top:var(--space-xs);color:oklch(94% .02 40)}
.emergencia a{font-weight:700;color:var(--branco);text-underline-offset:4px}
.nota-previa{font-size:var(--text-sm);color:var(--fumo);margin-top:var(--space-md)}
.form .btn-terra{min-height:58px;font-size:1.35rem;padding-inline:var(--space-xl)}
@media (min-width:700px){.form{grid-template-columns:repeat(2,minmax(0,1fr))}.campo-largo{grid-column:1/-1}}
@media (min-width:960px){.agendar .faixa{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:var(--space-4xl)}}

/* trajetória com fotos grandes */
.linha-tempo{list-style:none;margin:var(--space-2xl) 0 0;padding:0}
.marco{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);padding-bottom:var(--space-2xl)}
.marco-texto{border-left:4px solid var(--terra);padding-left:var(--space-md)}
.quando-foi{display:block;font-family:var(--font-display);font-size:clamp(2.2rem,7vw,3.6rem);font-weight:800;line-height:.9;color:var(--terra)}
.marco h3{margin-top:var(--space-xs);font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:800;text-transform:uppercase;line-height:.95}
.marco p{margin-top:var(--space-xs);color:var(--fumo);max-width:34rem}
.marco-foto{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md)}
@media (min-width:860px){
  .marco{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-2xl);align-items:center;padding-bottom:var(--space-3xl)}
  .marco:nth-child(even) .marco-texto{order:2}
  .marco:nth-child(even){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .marco-foto{aspect-ratio:16/10}
  .marco.marco-curto{grid-template-columns:minmax(0,1fr);max-width:40rem}
}
.tatame{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-lg);align-items:center;padding:var(--space-lg);background:var(--grafite);color:var(--cal);border-radius:var(--radius-md);max-width:46rem}
.tatame img{border-radius:var(--radius-sm);aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.tatame h3{font-size:1.7rem;font-weight:800;text-transform:uppercase;line-height:.95}
.tatame p{margin-top:var(--space-xs);color:var(--fumo-escuro);font-size:var(--text-sm)}

/* palestras */
.palestras .faixa{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl)}
.palestras figure{margin:0}
.palestras figure img{border-radius:var(--radius-md);object-fit:cover;width:100%;aspect-ratio:3/4}
.palestras figcaption{margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--fumo-escuro)}
.palestras-fotos{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-sm);align-items:end}
.eventos{list-style:none;margin:var(--space-xl) 0 0;padding:0}
.evento{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);padding-block:var(--space-lg);border-top:1px solid var(--linha-escura)}
.evento .data{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--terra-clara);text-transform:uppercase}
.evento h3{font-size:clamp(1.5rem,4vw,1.9rem);font-weight:700;line-height:1.05}
.evento p{color:var(--fumo-escuro);font-size:var(--text-sm)}
.convite{margin-top:var(--space-xl)}
@media (min-width:700px){.evento{grid-template-columns:170px minmax(0,1fr);column-gap:var(--space-xl)}.evento .data{grid-row:1/span 2}}
@media (min-width:1000px){.palestras .faixa{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-3xl);align-items:start}.palestras-fotos{position:sticky;top:96px}}

/* dicas */
.dicas-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl) var(--space-2xl);margin-top:var(--space-2xl)}
.dica-item{padding-top:var(--space-md);border-top:6px solid var(--terra)}
.dica-item h3{font-size:clamp(1.7rem,4.5vw,2.1rem);font-weight:800;text-transform:uppercase;line-height:.95}
.dica-item p{margin-top:var(--space-sm);color:var(--fumo);max-width:34rem}
@media (min-width:700px){.dicas-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.dicas-grade{grid-template-columns:repeat(3,minmax(0,1fr))}.dica-item:first-child{grid-column:span 2}.dica-item:first-child h3{font-size:3rem}}

/* galeria em mosaico */
.mosaico{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;grid-auto-flow:dense;gap:6px;margin-top:var(--space-2xl)}
.mosaico button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:var(--grafite-2);border-radius:var(--radius-sm);overflow:hidden;cursor:zoom-in}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.mosaico button:hover img{transform:scale(1.05)}
.mosaico .g-grande{grid-column:span 2;grid-row:span 2}
.mosaico .g-alta{grid-row:span 2}
.mosaico .g-larga{grid-column:span 2}
.mosaico.recolhido [data-extra]{display:none}
.mais-fotos{margin-top:var(--space-xl)}
.mais-fotos[hidden]{display:none}
@media (min-width:700px){.mosaico{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px}}
@media (min-width:1080px){.mosaico{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:8px}}

.caixa{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:oklch(12% .004 90 / .97);color:var(--cal);--foco:var(--terra-clara)}
.caixa::backdrop{background:oklch(12% .004 90 / .9)}
.caixa-corpo{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}
.caixa-topo{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--gutter)}
.caixa-contador{font-family:var(--font-display);font-size:1.2rem;font-weight:700}
.caixa figure{margin:0;display:grid;place-items:center;min-height:0;padding:0 var(--gutter);touch-action:pan-y}
.caixa figure img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);user-select:none;-webkit-user-drag:none}
.caixa figcaption{padding:var(--space-sm) var(--gutter) var(--space-lg);text-align:center;color:var(--fumo-escuro);font-size:var(--text-sm);min-height:3.5em}
.caixa-btn{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--linha-escura);border-radius:50%;background:oklch(20% .004 90 / .7);color:var(--cal);cursor:pointer}
.caixa-btn:hover{background:var(--grafite-2)}
.caixa-btn svg{width:22px;height:22px}
.caixa-nav{position:absolute;top:50%;transform:translateY(-50%)}
.caixa-ant{left:var(--space-sm)}.caixa-prox{right:var(--space-sm)}
@media (max-width:699px){.caixa-nav{top:auto;bottom:var(--space-md);transform:none}.caixa figcaption{padding-inline:72px}}

/* área */
.area .faixa{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl);align-items:end}
.cidades{list-style:none;margin:var(--space-lg) 0 0;padding:0}
.cidades li{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(3.4rem,15vw,9rem);line-height:.86;color:var(--grafite)}
.cidades li.regiao{color:var(--terra);font-size:clamp(1.6rem,4.5vw,2.6rem);line-height:1.05;margin-top:var(--space-sm)}
.area h2{font-size:clamp(1.6rem,4vw,2.2rem)}
.area-texto p{color:var(--fumo);max-width:32rem}
.area-texto .btn{margin-top:var(--space-lg)}
@media (min-width:960px){.area .faixa{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}

/* rodapé */
.rodape{background:var(--grafite);color:var(--cal);padding-block:var(--space-3xl) calc(var(--space-3xl) + 72px);--foco:var(--terra-clara)}
.rodape .faixa{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}
.rodape-logo{width:96px}
.rodape h2{font-size:1.6rem;text-transform:none;line-height:1.1}
.rodape p,.rodape li{color:var(--fumo-escuro);font-size:var(--text-sm)}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-xs)}
.rodape a{color:var(--cal);text-underline-offset:4px;display:inline-block;padding-block:2px}
.versiculo{font-family:var(--font-display);font-size:1.2rem!important;font-weight:600;color:var(--cal)!important}
.credito{border-top:1px solid var(--linha-escura);padding-top:var(--space-lg);grid-column:1/-1}
@media (min-width:760px){.rodape .faixa{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}}

/* WhatsApp flutuante */
.zap{position:fixed;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:64px;height:64px;border-radius:999px;background:var(--terra);color:var(--branco);text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.3rem;box-shadow:0 8px 24px oklch(20% .05 33 / .45);transition:background-color var(--dur-fast) var(--ease-out),opacity var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out)}
.zap:hover{background:var(--terra-escura)}
.zap svg{width:32px;height:32px;flex:none}
.zap-texto{display:none}
.zap::before{content:"";position:absolute;inset:0;border-radius:inherit;border:3px solid var(--terra);opacity:0;pointer-events:none}
.zap:focus-visible{outline:3px solid var(--branco);outline-offset:3px;box-shadow:0 0 0 7px var(--grafite)}
.zap.escondido{opacity:0;transform:translateY(20px);pointer-events:none}
@media (min-width:700px){.zap{width:auto;padding:0 var(--space-lg) 0 var(--space-md)}.zap-texto{display:inline}}
@media (prefers-reduced-motion:no-preference){.zap::before{animation:pulso 2.6s var(--ease-out) infinite}@keyframes pulso{0%{opacity:.75;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.45)}}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
