*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);
  font:400 1.0625rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased;
  animation:page-in .8s var(--ease-out) both}
@keyframes page-in{from{opacity:0}to{opacity:1}}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--f-display);font-style:italic;font-weight:800;font-stretch:125%;
  line-height:1.04;letter-spacing:-.01em;margin:0;text-wrap:balance}
h2{font-size:clamp(2rem,4.6vw,3.6rem);max-width:18ch}
h3{font-size:1.3rem;font-stretch:112%}
section:not(.hero){padding-block:clamp(88px,12vw,160px)}

.wrap{width:var(--wrap);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-64px;z-index:100;background:var(--accent);color:var(--accent-ink);
  padding:12px 16px;border-radius:10px;text-decoration:none;transition:transform .3s var(--ease-out)}
.skip:focus{transform:translateY(76px)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
main:focus{outline:none}

.kicker{font:500 .8rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.4em;border-radius:12px;
  font:500 1rem/1 var(--f-body);text-decoration:none;border:1px solid transparent;white-space:nowrap;
  transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),transform .3s var(--ease-out)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-ghost{border-color:var(--line-strong);color:var(--text-primary)}
.btn-ghost:hover{border-color:var(--text-secondary)}
.btn-lg{font-size:1.125rem;padding:1.05em 1.8em}
@media (pointer:coarse){.btn{min-height:44px}}

.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px max(16px,calc((100% - 1180px)/2));
  background:linear-gradient(rgba(11,20,38,.86),rgba(11,20,38,0));backdrop-filter:blur(6px)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font:800 italic 1.3rem/1 var(--f-display);font-stretch:118%}
.brand svg{width:34px;height:34px;color:var(--accent)}
.brand b{color:var(--accent);font-weight:800}
.nav-acoes{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{display:inline-flex;align-items:center;color:var(--text-secondary);text-decoration:none;font-size:.95rem;
  transition:color .25s var(--ease-out)}
.nav-links a:hover{color:var(--text-primary)}
@media (pointer:coarse){.nav-links a{min-height:44px}}
@media (max-width:900px){.nav-links{display:none}}
@media (max-width:420px){
  .nav{padding:10px 12px;gap:8px}
  .nav .btn{padding:.6em .85em;font-size:.8rem}
  .nav-acoes{gap:6px}
  .brand{font-size:1rem;gap:6px}
  .brand svg{width:24px;height:24px}
}

.env{position:fixed;inset:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 35% at 30% 30%,rgba(46,155,255,.10),transparent 70%),
             radial-gradient(35% 30% at 75% 70%,rgba(25,195,255,.07),transparent 70%);
  animation:drift 80s var(--ease-io) -12s infinite alternate}
.env::after{content:"";position:absolute;inset:0;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes drift{to{transform:translate3d(6%,-4%,0) rotate(4deg)}}

.rodape{border-top:1px solid var(--line);padding:48px 0 40px;color:var(--text-secondary)}
.rodape .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}
.rodape ul{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--text-primary)}
.rodape .copy{grid-column:1/-1;font:500 .8rem/1 var(--f-mono)}
.rodape-admin{color:var(--text-secondary);font-size:.85rem;text-decoration:none}
.rodape-admin:hover{color:var(--text-primary)}
.rodape-admin:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (max-width:860px){.rodape .wrap{grid-template-columns:1fr}}

body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
html.rm *,html.rm *::before,html.rm *::after{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}
