/* tokens.css */
:root{

  
  --s--2:clamp(.7rem,.68rem + .1vw,.76rem);
  --s--1:clamp(.875rem,.824rem + .227vw,1rem);
  --s-0:clamp(1.0625rem,1.011rem + .227vw,1.1875rem);
  --s-1:clamp(1.18rem,1.09rem + .42vw,1.4rem);
  --s-2:clamp(1.45rem,1.26rem + .82vw,2rem);
  --s-3:clamp(1.85rem,1.5rem + 1.45vw,2.8rem);
  --s-4:clamp(2.3rem,1.7rem + 2.7vw,4.1rem);

  
  --display:clamp(2.3rem,1.5rem + 3.1vw,4.1rem);

  
  --f-display:'Fraunces',Georgia,serif;
  --f-body:'Archivo',system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-script:'Sacramento','Snell Roundhand',cursive;
  --f-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  
  --h-peso:560;
  --h-track:-.012em;
  --h-lh:1.06;

  
  --acento:#8a6d3b;
  --acento-luz:#e6cfae;
  --acento-fundo:#f4ede0;

  
  --fg:#1c1a17;        
  --cinza:#5e5a54;     
  --cinza-2:#8a857d;   
  --linha:#e5e0d6;     
  --bg:#f8f6f2;        
  --bg-vivo:#f0ede6;   
  --branco:#ffffff;

  

  
  --surface:var(--branco);
  --surface2:var(--bg-vivo);
  --text-h:var(--fg);
  --text-b:var(--cinza);
  --text-m:var(--cinza-2);
  --border:var(--linha);
  --shadow:0 1px 2px rgba(20,18,14,.05),0 12px 30px rgba(20,18,14,.06);
  color-scheme:light;

  
  --r-sm:6px;
  --r-md:12px;
  --r-lg:20px;
  --r-xl:28px;
  --r-pill:999px;
  --r-banda:clamp(20px,2.4vw,34px);   

  
  --ease:cubic-bezier(.16,1,.3,1);          
  --ease-in:cubic-bezier(.55,0,1,.45);      
  --ease-in-out:cubic-bezier(.65,0,.35,1);  
  --spring:cubic-bezier(.34,1.56,.64,1);    
  --dur-fast:140ms;
  --dur-mid:260ms;
  --dur-slow:560ms;

  
  --maxw:1180px;
  --gutter:clamp(20px,5vw,64px);
  --header-h:72px;
  --sec-y:clamp(56px,8vh,96px);--e-3xs:clamp(.25rem,.224rem + .114vw,.3125rem);--e-2xs:clamp(.5rem,.449rem + .227vw,.625rem);--e-xs:clamp(.75rem,.699rem + .227vw,.875rem);--e-s:clamp(1.0625rem,1.011rem + .227vw,1.1875rem);--e-m:clamp(1.625rem,1.574rem + .227vw,1.75rem);--e-l:clamp(2.125rem,2.023rem + .455vw,2.375rem);--e-xl:clamp(3.1875rem,3.034rem + .682vw,3.5625rem);--e-2xl:clamp(4.25rem,4.045rem + .909vw,4.75rem);--e-m-l:clamp(1.625rem,1.318rem + 1.364vw,2.375rem);--e-l-2xl:clamp(2.125rem,1.051rem + 4.773vw,4.75rem);             

  
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

[data-theme="dark"]{
  --bg:#12110f;
  --bg-vivo:#0c0b0a;
  --branco:#191816;
  --fg:#ece8e1;
  --cinza:#aaa49b;
  --cinza-2:#7e796f;
  --linha:rgba(255,255,255,.09);
  --surface:#191816;
  --surface2:#201e1b;
  --text-h:var(--fg);
  --text-b:var(--cinza);
  --text-m:var(--cinza-2);
  --border:var(--linha);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 20px 44px rgba(0,0,0,.5);
  --acento-fundo:rgba(255,255,255,.06);
  color-scheme:dark;
}







*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);  
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  font-family:var(--f-body);
  font-size:var(--s-0);
  line-height:1.6;
  color:var(--fg);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;   
}
h1,h2,h3{
  font-family:var(--f-display);
  font-weight:var(--h-peso);
  letter-spacing:var(--h-track);
  line-height:var(--h-lh);
  text-wrap:balance;
  margin:0 0 .5em;
}
h1{font-size:var(--display)}
h2{font-size:var(--s-3)}
h3{font-size:var(--s-1)}
p{margin:0 0 1em;text-wrap:pretty}
img,picture,video,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--acento-luz);color:var(--fg)}
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

:root{ --sobre-fg:#fff; }
[data-theme="dark"]{ --sobre-fg:var(--bg); --previa-bg:#12161f; }

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

.sec{padding-block:var(--sec-y)}

/* motion.css */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .75s var(--ease),transform .75s var(--ease);
}
.reveal.in{opacity:1;transform:none}

.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
.reveal[data-d="5"]{transition-delay:.4s}
.reveal[data-d="6"]{transition-delay:.48s}

.ln{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.ln > span{display:block;transform:translateY(112%);transition:transform .95s var(--ease)}
.reveal.in .ln > span{transform:none}

.ln + .ln > span{transition-delay:.09s}
.ln + .ln + .ln > span{transition-delay:.18s}

h2 em,h1 em{
  font-style:normal;
  position:relative;
  display:inline-block;
  color:var(--cinza-2);
  transition:color 1s var(--ease) .45s;
}
h2 em::after,h1 em::after{
  content:"";
  position:absolute;
  left:.02em;right:.06em;bottom:-.04em;
  height:.05em;
  border-radius:2px;
  background:currentColor;
  opacity:.4;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 1.05s var(--ease) .7s;
}

.reveal.in h2 em,.reveal.in h1 em,
h2.reveal.in em,h1.reveal.in em{color:var(--acento)}
.reveal.in h2 em::after,.reveal.in h1 em::after,
h2.reveal.in em::after,h1.reveal.in em::after{transform:scaleX(1)}

.f-escuro h2 em,.f-escuro h1 em,
.f-escuro-mesh h2 em,.f-escuro-mesh h1 em,
.sobre-escuro h2 em,.sobre-escuro h1 em{color:rgba(255,255,255,.4)}
.f-escuro .reveal.in h2 em,.f-escuro .reveal.in h1 em,
.f-escuro-mesh .reveal.in h2 em,.f-escuro-mesh .reveal.in h1 em,
.sobre-escuro .reveal.in h2 em,.sobre-escuro .reveal.in h1 em{color:var(--acento-luz)}

.kb img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 50%;
  transform-origin:50% 50%;   
  animation:kenburns 32s ease-in-out infinite alternate;
}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}

.kb.forte img{animation:kenburns-forte 30s ease-in-out infinite alternate}
@keyframes kenburns-forte{
  from{transform:scale(1.03)}
  to{transform:scale(1.09) translate(-1%,-1%)}
}

[data-par]{
  transform:translate3d(0,0,0) rotate(var(--rot,0deg));
  will-change:transform;
}

.scrolly{position:relative}
.scrolly .pin{
  position:sticky;top:0;
  height:100vh;
  height:100dvh;
  display:flex;align-items:center;justify-content:center;
  overflow-x:clip;
}

@media (max-width:920px){
  .scrolly{height:auto !important}
  .scrolly .pin{position:static;height:auto;padding:48px 0}
}

.reveal,.ln > span{opacity:1 !important;transform:none !important;filter:none !important}

html.js-ok .reveal{
  opacity:0 !important;
  transform:translateY(26px) !important;
  transition:opacity .75s var(--ease),transform .75s var(--ease);
}
html.js-ok .reveal.in{opacity:1 !important;transform:none !important}
html.js-ok .ln > span{transform:translateY(112%) !important}
html.js-ok .reveal.in .ln > span{transform:none !important}

html:not(.js-ok) [data-so-com-js]{display:none !important}
html:not(.js-ok) [data-sem-js]{display:block !important}

html.anim .ln > span{transform:translateY(112%)}
html.anim .reveal.in .ln > span{transform:none}

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

  
  .reveal,
  .ln > span,
  html.js-ok .reveal,
  html.js-ok .ln > span,
  html.anim .ln > span,
  [data-par]{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
  h1 em::after,h2 em::after{transform:scaleX(1) !important}
  h1 em,h2 em{color:var(--acento) !important}
  .f-escuro h1 em,.f-escuro h2 em,
  .f-escuro-mesh h1 em,.f-escuro-mesh h2 em,
  .sobre-escuro h1 em,.sobre-escuro h2 em{color:var(--acento-luz) !important}

  
  .scrolly{height:auto !important}
  .scrolly .pin{position:static;height:auto;padding:48px 0}

  
  .kb img,.kb.forte img{animation:none !important;transform:none !important}
}

/* componentes.css */
.site-header{
  position:sticky;top:0;z-index:70;
  padding:14px var(--gutter);
  pointer-events:none;
}
.nav-pill{
  max-width:var(--maxw);margin-inline:auto;
  pointer-events:auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  border:1px solid rgba(0,0,0,.09);
  border-radius:var(--r-pill);
  padding:8px 8px 8px 22px;
  
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 8px 30px rgba(30,26,20,.09);
}
.nav-pill .marca{
  font-family:var(--f-display);font-weight:700;
  font-size:var(--s-0);letter-spacing:-.02em;
  text-decoration:none;margin-right:auto;
}
.nav-links{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.nav-links a{
  position:relative;
  text-decoration:none;
  font-size:var(--s--1);font-weight:500;
  color:var(--fg);
}

.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-5px;height:1.5px;
  background:var(--acento);
  transform:scaleX(0);transform-origin:left;
  transition:transform .32s var(--ease);
}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}

.site-header.escuro .nav-pill{
  background:rgba(26,22,18,.72);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 10px 34px rgba(0,0,0,.35);
  color:#fff;
}
.site-header.escuro .nav-links a{color:rgba(255,255,255,.86)}
.site-header.escuro .nav-links a::after{background:var(--acento-luz)}

@media (max-width:980px){
  .nav-links{display:none}
}

.burger{
  display:none;
  width:44px;height:44px;padding:0;
  border:1px solid var(--linha);border-radius:10px;
  background:var(--branco);
  cursor:pointer;position:relative;z-index:95;
}
.burger span{
  display:block;width:18px;height:2px;margin:4px auto;
  background:var(--fg);border-radius:2px;
  transition:transform .3s var(--ease),opacity .2s;
}
body.menu-aberto .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.menu-aberto .burger span:nth-child(2){opacity:0}
body.menu-aberto .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.menu-mov{
  position:fixed;inset:0;z-index:90;
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;
  opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
}
.menu-mov a{
  font-family:var(--f-display);font-size:var(--s-2);
  text-decoration:none;color:var(--fg);
}
body.menu-aberto .menu-mov{opacity:1;pointer-events:auto}

@media (max-width:980px){
  .tem-menu .burger{display:block}
}
@media (min-width:981px){
  .menu-mov{display:none}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--fg);color:var(--sobre-fg);
  padding:12px 22px;
  border-radius:var(--r-pill);
  font-family:var(--f-body);font-size:var(--s--1);font-weight:600;
  letter-spacing:.01em;white-space:nowrap;text-decoration:none;
  border:0;cursor:pointer;
  position:relative;overflow:hidden;isolation:isolate;
  touch-action:manipulation;               
  -webkit-tap-highlight-color:transparent;
  transition:background var(--dur-mid) var(--ease),
             transform var(--dur-mid) var(--spring),
             box-shadow var(--dur-mid) var(--ease);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(30,26,20,.26)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--acento);outline-offset:3px}
.btn .seta{display:inline-block;transition:transform var(--dur-mid) var(--ease)}
.btn:hover .seta{transform:translateX(4px)}

.btn.lg{padding:16px 30px;font-size:var(--s-0)}

.btn.ghost{background:transparent;color:var(--fg);border:1.5px solid rgba(0,0,0,.24)}
.btn.ghost:hover{background:var(--fg);color:var(--sobre-fg);border-color:var(--fg)}

.btn.light{background:var(--branco);color:var(--fg);box-shadow:0 6px 18px rgba(30,26,20,.12)}
.btn.light:hover{box-shadow:0 12px 30px rgba(30,26,20,.2)}

.sobre-foto .btn.ghost,.sobre-escuro .btn.ghost{
  color:#fff;border-color:rgba(255,255,255,.45);
}
.sobre-foto .btn.ghost:hover,.sobre-escuro .btn.ghost:hover{
  
  background:#fff;color:#1a1a1a;border-color:#fff;
}

.btn.brilha::after{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  animation:shimmer 5.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shimmer{0%,72%{left:-60%}88%{left:130%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){
  .btn.brilha::after{animation:none;opacity:0}
}

details{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--r-md);
  padding:20px 24px;margin-bottom:10px;
  transition:box-shadow .25s var(--ease),border-color .25s var(--ease);
}
details:hover{border-color:var(--acento-luz)}
details[open]{box-shadow:0 10px 30px rgba(30,26,20,.08)}
summary{
  cursor:pointer;
  font-weight:600;font-size:var(--s-0);
  list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:2px solid var(--acento);outline-offset:4px}
summary::after{
  content:"";width:11px;height:11px;flex:none;
  border-right:2px solid var(--acento);
  border-bottom:2px solid var(--acento);
  transform:rotate(45deg) translateY(-3px);
  transition:transform var(--dur-mid) var(--ease);
}
details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
details > :last-child{margin-bottom:0}

.info-linha{
  display:flex;align-items:flex-start;gap:14px;
  margin:0 0 14px;
  font-size:var(--s--1);color:var(--cinza);
}
.info-linha .ic{
  width:36px;height:36px;flex:none;
  border-radius:var(--r-sm);
  background:var(--acento-fundo);
  border:1px solid var(--acento-luz);
  color:var(--acento);
  display:grid;place-items:center;
}
.info-linha .ic svg{
  width:17px;height:17px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.info-linha strong{display:block;color:var(--fg);font-weight:600}

.horarios{
  width:100%;border-collapse:collapse;
  font-size:var(--s--1);
}
.horarios td{
  padding:11px 14px;
  border-bottom:1px solid var(--linha);
  color:var(--cinza);
}
.horarios td:last-child{
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}
.horarios tr:last-child td{border-bottom:0}
.horarios tr.hoje td{
  background:var(--acento-fundo);
  color:var(--fg);font-weight:600;
}
.horarios tr.hoje td:first-child{
  border-radius:var(--r-sm) 0 0 var(--r-sm);
  box-shadow:inset 3px 0 0 var(--acento);
}
.horarios tr.hoje td:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}

.local-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(20px,3vw,40px);align-items:stretch;
}
.local-grid > div:last-child{display:flex;flex-direction:column}
.mapa-box{
  border:1px solid var(--linha);
  border-radius:var(--r-lg);
  overflow:hidden;background:var(--branco);
  box-shadow:0 12px 32px rgba(30,26,20,.09);
  line-height:0;                 
  flex:1;display:flex;
}
.mapa{
  display:block;width:100%;height:100%;
  min-height:clamp(300px,34vw,380px);
  border:0;
}
.mapa-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media (max-width:760px){
  .local-grid{grid-template-columns:1fr}
}

.mapa-fake{
  line-height:1.6;
  min-height:clamp(300px,34vw,380px);
  display:grid;place-items:center;text-align:center;
  padding:28px;
  background-color:var(--bg-vivo);
  background-image:
    linear-gradient(var(--linha) 1px,transparent 1px),
    linear-gradient(90deg,var(--linha) 1px,transparent 1px);
  background-size:34px 34px;
}
.mapa-fake .mapa-pin{
  width:18px;height:18px;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:var(--acento);
  box-shadow:0 6px 18px rgba(30,26,20,.28);
  margin-bottom:18px;
}
.mapa-fake .mapa-nota{
  max-width:34ch;margin:0;
  font-size:var(--s--2);color:var(--cinza-2);
  border:1px dashed var(--linha);border-radius:var(--r-sm);
  padding:10px 14px;background:var(--branco);
}

.zap{
  position:fixed;
  right:max(18px,env(safe-area-inset-right,18px));
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  z-index:75;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 8px 26px rgba(0,0,0,.26);
  transition:transform var(--dur-mid) var(--spring),box-shadow var(--dur-mid) var(--ease);
}
.zap:hover{transform:scale(1.09);box-shadow:0 12px 34px rgba(37,211,102,.5)}
.zap:focus-visible{outline:3px solid var(--acento);outline-offset:3px}
.zap svg{width:30px;height:30px;fill:currentColor}

.zap.fone{background:var(--acento)}
.zap.fone svg{
  width:26px;height:26px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}

@media (max-width:520px){
  .zap{width:50px;height:50px;right:max(14px,env(safe-area-inset-right,14px));
       bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .zap svg{width:26px;height:26px}
}

.previa{
  position:relative;z-index:80;
  
  background:var(--previa-bg,var(--fg));color:rgba(255,255,255,.72);
  font-size:var(--s--2);
  padding:9px var(--gutter);
  text-align:center;
}
.previa strong{color:#fff;letter-spacing:.08em;font-weight:700}

.pendencias{
  max-width:820px;
  margin:clamp(40px,5vw,60px) auto 0;
  background:var(--acento-fundo);
  border:1px dashed var(--acento-luz);
  border-radius:var(--r-md);
  padding:22px 26px;
}
.pendencias h3{font-size:var(--s-0);margin-bottom:.6em}
.pendencias ul{margin:0;padding-left:1.2em;color:var(--cinza);font-size:var(--s--1)}
.pendencias li{margin-bottom:.4em}

.rodape{
  padding:clamp(48px,7vh,72px) 0 28px;
  background:var(--bg-vivo);
  border-top:1px solid var(--linha);
}
.rod-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr;
  gap:clamp(24px,4vw,48px);
}
.rod-marca{
  font-family:var(--f-display);font-size:var(--s-1);
  color:var(--fg);margin-bottom:.4em;
}
.rodape h4{
  font-family:var(--f-body);
  font-size:var(--s--2);font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--acento);margin:0 0 12px;
}
.rodape p,.rodape li{color:var(--cinza);font-size:var(--s--1);line-height:1.8}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--acento)}
.rod-fim{
  margin:36px 0 0;padding-top:18px;
  border-top:1px solid var(--linha);
  text-align:center;
  font-size:var(--s--2);color:var(--cinza-2);
}
@media (max-width:760px){
  .rod-grid{grid-template-columns:1fr 1fr}
  .rod-grid > div:first-child{grid-column:1 / -1}
}
@media (max-width:480px){
  .rod-grid{grid-template-columns:1fr}
}

.carrossel{position:relative}
.pista{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:calc(50% - 8px);
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding-bottom:4px;
}
.pista::-webkit-scrollbar{display:none}
.pista:focus-visible{outline:2px solid var(--acento);outline-offset:8px;border-radius:var(--r-md)}
.pista .item{scroll-snap-align:start}

.dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.dots button{
  position:relative;
  width:22px;height:3px;padding:0;border:0;border-radius:2px;
  background:var(--linha);cursor:pointer;
  transition:background var(--dur-mid) var(--ease),width var(--dur-mid) var(--ease);
}
.dots button[aria-selected="true"]{background:var(--acento);width:34px}
.dots button:focus-visible{outline:2px solid var(--acento);outline-offset:4px}
.dots button::before{content:"";position:absolute;inset:-11px -4px}

@media (max-width:760px){
  .pista{grid-auto-columns:100%}
}

.form-card{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--r-lg);
  padding:30px 30px 26px;
  box-shadow:0 1px 2px rgba(30,26,20,.05),0 22px 50px rgba(30,26,20,.09);
}
.campo{margin-bottom:14px}
.flbl{
  display:block;
  font-size:var(--s--2);font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--cinza-2);
  margin:0 0 6px;
}

.flbl span{text-transform:none;letter-spacing:0;font-weight:500;color:var(--cinza-2)}

.finput,.fselect,.ftextarea{
  width:100%;
  background:var(--bg);
  border:1px solid var(--linha);
  border-radius:10px;
  padding:13px 14px;
  font-family:var(--f-body);font-size:var(--s-0);
  color:var(--fg);
  -webkit-appearance:none;appearance:none;
  transition:border-color var(--dur-mid) var(--ease),box-shadow var(--dur-mid) var(--ease);
}
.ftextarea{resize:vertical;min-height:96px}

.finput:focus,.fselect:focus,.ftextarea:focus{
  outline:none;
  border-color:var(--acento);
  box-shadow:0 0 0 3px var(--acento-fundo);
}

.fselect{
  padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a857d' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}

.fselect option{background:var(--branco);color:var(--fg)}

.ferror{
  display:none;
  margin-top:5px;
  font-size:var(--s--2);color:#c0392b;
}
.campo.erro .finput,.campo.erro .fselect,.campo.erro .ftextarea{border-color:#c0392b}
.campo.erro .ferror{display:block}

.skip-link{
  position:absolute;left:14px;top:-64px;z-index:2000;
  background:var(--fg);color:var(--sobre-fg);
  padding:11px 18px;border-radius:10px;
  font-weight:600;font-size:var(--s--1);text-decoration:none;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:14px}

:where(a,button,select,textarea,input,summary,[tabindex]):focus-visible{
  outline:2px solid var(--acento);
  outline-offset:2px;
}

section[id],[id].alvo{scroll-margin-top:calc(var(--header-h) + 16px)}

@media (max-width:920px){
  .nav-pill,.menu-mov,.form-card,.burger,.vidro{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .nav-pill{background:rgba(255,255,255,.96) !important}
  .site-header.escuro .nav-pill{background:rgba(26,22,18,.95) !important}
  .menu-mov{background:rgba(255,255,255,.99) !important}
  
  .fundo-vivo span,.feixes .fx,.feixes .luz{animation:none !important}
}

/* fundos.css */
:root{
  
  --e1:var(--acento-luz);
  --e2:var(--acento-fundo);
  --e3:var(--linha);
}

.sec-fundo{position:relative;overflow:hidden;isolation:isolate}
.sec-fundo > *{position:relative;z-index:1}

.f-pontos::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(var(--e1) 1px,transparent 1.5px);
  background-size:26px 26px;
  -webkit-mask:radial-gradient(75% 70% at 50% 26%,#000,transparent 78%);
  mask:radial-gradient(75% 70% at 50% 26%,#000,transparent 78%);
}

.f-linhas::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--e1) 1px,transparent 1px),
    linear-gradient(90deg,var(--e1) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask:radial-gradient(80% 70% at 50% 0%,#000,transparent 78%);
  mask:radial-gradient(80% 70% at 50% 0%,#000,transparent 78%);
}

.f-blueprint::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(680px 400px at 50% -8%,var(--e2),transparent 62%),
    linear-gradient(var(--e1) 1.4px,transparent 1.4px),
    linear-gradient(90deg,var(--e1) 1.4px,transparent 1.4px),
    linear-gradient(var(--e3) 1px,transparent 1px),
    linear-gradient(90deg,var(--e3) 1px,transparent 1px);
  background-size:cover,132px 132px,132px 132px,26.4px 26.4px,26.4px 26.4px;
  animation:bp-desliza 72s linear infinite;
}
@keyframes bp-desliza{
  from{background-position:center,0 0,0 0,0 0,0 0}
  to{background-position:center,-132px -132px,-132px -132px,-132px -132px,-132px -132px}
}

.f-grao{background:linear-gradient(160deg,var(--e2),var(--e3))}
.f-grao::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--grain);background-size:200px;
  opacity:.09;mix-blend-mode:multiply;
}
.f-grao::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:600px;height:600px;left:50%;top:-40%;translate:-50% 0;
  border-radius:50%;
  background:radial-gradient(circle,var(--e1),transparent 68%);
  filter:blur(40px);
}

.f-mesh{
  background:
    radial-gradient(40% 50% at 12% 18%,var(--e1),transparent 60%),
    radial-gradient(45% 55% at 88% 22%,var(--e2),transparent 62%),
    radial-gradient(50% 60% at 70% 92%,var(--e3),transparent 60%),
    radial-gradient(45% 55% at 20% 90%,var(--e4,var(--e1)),transparent 60%),
    var(--bg);
}

.f-cantos::before,.f-cantos::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:440px;height:440px;border-radius:50%;
  filter:blur(42px);
}
.f-cantos::before{left:-9%;top:-34%;background:radial-gradient(circle,var(--e1),transparent 68%)}
.f-cantos::after{right:-9%;bottom:-34%;background:radial-gradient(circle,var(--e2),transparent 68%)}

.f-diagonal{
  background:linear-gradient(115deg,var(--e2) 0%,var(--e2) 46%,var(--e3) 46%,var(--e3) 100%);
}
.f-diagonal::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(50% 60% at 78% 30%,var(--e1),transparent 60%);
}

.f-aneis::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:1200px;height:1200px;left:50%;top:120%;translate:-50% -50%;
  border-radius:50%;
  background:repeating-radial-gradient(circle,var(--e1) 0 1px,transparent 1px 46px);
}

.f-respira::before,.f-respira::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  border-radius:50%;filter:blur(60px);
}
.f-respira::before{
  width:720px;height:720px;left:-16%;top:-40%;
  background:radial-gradient(circle,var(--e1),transparent 66%);
  animation:respira 11s ease-in-out infinite;
}
.f-respira::after{
  width:560px;height:560px;right:-14%;bottom:-36%;
  background:radial-gradient(circle,var(--e2),transparent 66%);
  animation:respira 14s ease-in-out infinite reverse;
}
@keyframes respira{
  0%,100%{transform:scale(1) translate(0,0);opacity:.78}
  50%{transform:scale(1.16) translate(32px,22px);opacity:1}
}

.f-aurora{background:var(--bg)}
.f-aurora > i{
  position:absolute;z-index:0;pointer-events:none;
  border-radius:50%;
  filter:blur(70px);mix-blend-mode:multiply;
  will-change:transform;
}
.f-aurora > i:nth-of-type(1){width:520px;height:520px;background:var(--e1);top:-20%;left:-6%;opacity:.65;animation:blob-a 15s ease-in-out infinite}
.f-aurora > i:nth-of-type(2){width:460px;height:460px;background:var(--e2);top:8%;right:-8%;opacity:.68;animation:blob-b 18s ease-in-out infinite}
.f-aurora > i:nth-of-type(3){width:440px;height:440px;background:var(--e3);bottom:-30%;left:24%;opacity:.6;animation:blob-c 16s ease-in-out infinite}

@keyframes blob-a{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(100px,60px) scale(1.15)}66%{transform:translate(50px,120px) scale(.94)}}
@keyframes blob-b{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-120px,80px) scale(1.18)}}
@keyframes blob-c{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(80px,-70px) scale(1.12)}75%{transform:translate(-60px,-30px) scale(.9)}}
@keyframes blob-d{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-90px,-80px) scale(1.2)}}

.f-aurora-deriva::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(42% 45% at 16% 20%,var(--e1),transparent 70%),
    radial-gradient(48% 50% at 88% 26%,var(--e2),transparent 70%),
    radial-gradient(40% 42% at 62% 98%,var(--e1),transparent 70%);
  background-size:200% 200%;
  animation:aurora-deriva 38s ease-in-out infinite alternate;
}
@keyframes aurora-deriva{
  0%{background-position:0% 0%,100% 0%,50% 100%}
  100%{background-position:38% 24%,64% 36%,42% 74%}
}

.f-spot::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 55% at 50% -6%,var(--e1),transparent 62%);
}
.f-spot::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(70% 60% at 50% 108%,var(--e2),transparent 60%);
}
.f-spot.respira::before{
  background:radial-gradient(circle at 82% 26%,var(--e1),transparent 58%);
  background-repeat:no-repeat;background-position:82% 26%;background-size:160% 160%;
  animation:spot-respira 16s ease-in-out infinite alternate;
}
@keyframes spot-respira{
  0%{opacity:.5;background-size:150% 150%}
  100%{opacity:.95;background-size:190% 190%}
}

.f-conica::before{
  content:"";position:absolute;inset:-45%;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg at 50% 50%,
    transparent 0deg,var(--e2) 55deg,transparent 125deg,
    transparent 235deg,var(--e1) 305deg,transparent 360deg);
  opacity:.55;
  animation:gira-fundo 80s linear infinite;
}
.f-conica.borrada::before{
  inset:auto;left:50%;top:50%;translate:-50% -50%;
  width:900px;height:900px;border-radius:50%;
  filter:blur(60px);opacity:.5;
  background:conic-gradient(from 0deg,var(--e1),var(--e2),var(--e3),var(--e2),var(--e1));
  animation:gira-fundo-centro 24s linear infinite;
}
@keyframes gira-fundo{to{transform:rotate(360deg)}}
@keyframes gira-fundo-centro{to{transform:translate(-50%,-50%) rotate(360deg)}}

.f-sheen{background:linear-gradient(160deg,var(--e2),var(--e3))}
.f-sheen::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  top:-50%;bottom:-50%;left:-60%;width:60%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  animation:sheen 8s ease-in-out infinite;
}
@keyframes sheen{0%{left:-60%}60%,100%{left:120%}}

.f-ondas{background:linear-gradient(180deg,var(--e2),var(--e3))}
.f-ondas > svg{
  position:absolute;left:0;right:0;bottom:0;z-index:0;pointer-events:none;
  width:200%;height:220px;opacity:.5;
}
.f-ondas > svg path{fill:none;stroke:var(--e1);stroke-width:2}
.f-ondas > svg:nth-of-type(1){animation:onda 18s linear infinite}
.f-ondas > svg:nth-of-type(2){bottom:30px;opacity:.3;animation:onda 26s linear infinite reverse}
@keyframes onda{to{transform:translateX(-50%)}}

.f-feixes-diag::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(115deg,
    transparent 30%,var(--e1) 43%,transparent 50%,
    transparent 62%,var(--e1) 74%,transparent 82%);
  background-size:280% 100%;
  opacity:.7;
  animation:feixe-diag 22s ease-in-out infinite alternate;
}
@keyframes feixe-diag{0%{background-position:0% 0}100%{background-position:100% 0}}

.f-escuro{
  color:#fff;
  background:
    radial-gradient(70% 85% at 50% 8%,var(--e1),transparent 58%),
    linear-gradient(158deg,var(--e2),var(--e3) 56%,var(--e4,var(--e3)));
}
.f-escuro::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--grain);background-size:220px;
  opacity:.09;mix-blend-mode:overlay;
}
.f-escuro p,.f-escuro li{color:rgba(255,255,255,.78)}
.f-escuro h1,.f-escuro h2,.f-escuro h3{color:#fff}

.f-escuro-mesh{
  color:#fff;
  background:
    radial-gradient(40% 60% at 15% 20%,var(--e1),transparent 60%),
    radial-gradient(50% 60% at 85% 15%,var(--e2),transparent 60%),
    radial-gradient(60% 70% at 70% 95%,var(--e3),transparent 60%),
    var(--e4,#141210);
}
.f-escuro-mesh p,.f-escuro-mesh li{color:rgba(255,255,255,.72)}
.f-escuro-mesh h1,.f-escuro-mesh h2,.f-escuro-mesh h3{color:#fff}

.fundo-vivo{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.fundo-vivo span{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}
.fundo-vivo .b1{width:56vw;height:56vw;background:var(--e1);opacity:.34;top:-18%;left:-14%;animation:blob-a 28s ease-in-out infinite}
.fundo-vivo .b2{width:48vw;height:48vw;background:var(--e2);opacity:.3;top:22%;right:-16%;animation:blob-b 33s ease-in-out infinite}
.fundo-vivo .b3{width:44vw;height:44vw;background:var(--e3);opacity:.26;bottom:-20%;left:18%;animation:blob-c 30s ease-in-out infinite}
.fundo-vivo .b4{width:38vw;height:38vw;background:var(--e1);opacity:.22;bottom:6%;right:14%;animation:blob-d 37s ease-in-out infinite}
.fundo-vivo::after{
  content:"";position:absolute;inset:0;
  background-image:var(--grain);background-size:200px;opacity:.2;
}
@media (max-width:760px){
  .fundo-vivo span{filter:blur(58px)}
  .fundo-vivo .b3,.fundo-vivo .b4{display:none}
}

.feixes{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.feixes .fx{position:absolute;border-radius:50%}
.feixes .a{width:900px;height:900px;top:-18%;left:-16%;
  background:radial-gradient(circle,rgba(59,177,216,.28),rgba(59,177,216,.07) 42%,transparent 68%);
  animation:fx-1 24s ease-in-out infinite}
.feixes .b{width:560px;height:560px;top:20%;right:-12%;
  background:radial-gradient(circle,rgba(90,95,216,.24),rgba(90,95,216,.05) 45%,transparent 70%);
  animation:fx-2 18s ease-in-out infinite}
.feixes .c{width:980px;height:980px;top:44%;left:-22%;
  background:radial-gradient(circle,rgba(53,87,176,.30),rgba(53,87,176,.07) 42%,transparent 68%);
  animation:fx-3 32s ease-in-out infinite}
.feixes .d{width:460px;height:460px;top:64%;right:2%;
  background:radial-gradient(circle,rgba(56,199,232,.20),rgba(56,199,232,.04) 45%,transparent 70%);
  animation:fx-2 26s ease-in-out infinite reverse}
.feixes .e{width:720px;height:720px;bottom:-22%;left:28%;
  background:radial-gradient(circle,rgba(74,63,184,.24),rgba(74,63,184,.05) 44%,transparent 70%);
  animation:fx-1 38s ease-in-out infinite reverse}
@keyframes fx-1{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(110px,70px,0) scale(1.18)}66%{transform:translate3d(40px,130px,0) scale(.92)}}
@keyframes fx-2{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-120px,90px,0) scale(1.22)}}
@keyframes fx-3{0%,100%{transform:translate3d(0,0,0) scale(1)}40%{transform:translate3d(90px,-80px,0) scale(1.1)}75%{transform:translate3d(-50px,-30px,0) scale(.95)}}

.feixes .luz{
  position:absolute;left:-35%;width:170%;height:260px;
  background:linear-gradient(90deg,transparent 12%,rgba(59,177,216,.05) 45%,rgba(90,95,216,.04) 60%,transparent 88%);
  transform:rotate(-16deg);
}
.feixes .l1{top:26%;animation:varre 46s ease-in-out infinite}
.feixes .l2{top:64%;transform:rotate(14deg);animation:varre 58s ease-in-out infinite reverse}
@keyframes varre{0%,100%{translate:-6% 0}50%{translate:6% 0}}

.feixes::after{
  content:"";position:absolute;inset:0;
  background-image:var(--grain);background-size:140px;opacity:.5;
}

@media (max-width:920px){
  .feixes .fx,.feixes .luz{animation:none !important}
}

@media (max-width:760px){
  .f-blueprint::before,
  .f-respira::before,.f-respira::after,
  .f-aurora > i,
  .f-aurora-deriva::before,
  .f-spot.respira::before,
  .f-conica::before,
  .f-sheen::before,
  .f-ondas > svg,
  .f-feixes-diag::before{animation:none !important}
}

@media (prefers-reduced-motion:reduce){
  .f-blueprint::before,
  .f-respira::before,.f-respira::after,
  .f-aurora > i,
  .f-aurora-deriva::before,
  .f-spot.respira::before,
  .f-conica::before,.f-conica.borrada::before,
  .f-sheen::before,
  .f-ondas > svg,
  .f-feixes-diag::before,
  .fundo-vivo span,
  .feixes .fx,.feixes .luz{animation:none !important}
}

/* ornamentos.css */
.orn{
  position:absolute;z-index:1;pointer-events:none;
  background:currentColor;
  transform:rotate(var(--rot,0deg));
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  will-change:transform;
}

@keyframes gira{to{transform:rotate(360deg)}}

.orn-aneis{
  border-radius:50%;
  -webkit-mask-image:none;mask-image:none;
  background:repeating-radial-gradient(circle at center,
    transparent 0 clamp(16px,2.6vw,30px),
    currentColor clamp(16px,2.6vw,30px) calc(clamp(16px,2.6vw,30px) + 1px));
}

.hud{
  position:absolute;inset:8px;z-index:6;pointer-events:none;
  --rc:rgba(255,255,255,.5);
  background:
    linear-gradient(var(--rc),var(--rc)) 0 0/13px 2px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 0 0/2px 13px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 100% 0/13px 2px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 100% 0/2px 13px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 0 100%/13px 2px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 0 100%/2px 13px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 100% 100%/13px 2px no-repeat,
    linear-gradient(var(--rc),var(--rc)) 100% 100%/2px 13px no-repeat;
}

.hud.escuro{--rc:rgba(0,0,0,.32)}

.grain{position:relative}
.grain::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--grain);
  background-size:var(--grain-size,220px);
  opacity:var(--grain-op,.06);
  mix-blend-mode:multiply;
}

.grain-escuro::after{mix-blend-mode:overlay;opacity:var(--grain-op,.08)}

.anel-luz::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  border-radius:inherit;
  padding:1.5px;
  background:linear-gradient(150deg,transparent,var(--acento) 48%,transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}

@media (prefers-reduced-motion:reduce){
  .orn{animation:none !important}
  .anel-luz.beam::before{animation:none !important;background:var(--acento-fundo)}
}

@media (max-width:760px){
  .orn.so-desk{display:none}
  .orn{will-change:auto}
}
