/* ==========================================================================
   BASE — o mínimo de reset de que o sistema depende. Nada decorativo aqui.
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg-000);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--w-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);margin:0 0 var(--title-space-below);text-wrap:balance}
h1{font-size:var(--fs-hero);line-height:var(--lh-hero);font-weight:var(--w-hero);letter-spacing:var(--track-display)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--w-h2);letter-spacing:var(--track-display)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--w-h3);letter-spacing:var(--track-h3)}
p{margin:0 0 var(--s-6)}
p:last-child{margin-bottom:0}
a{color:var(--violet-400);text-decoration:none}
a:hover{color:var(--cyan-400)}
img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}
/* Preços e estatísticas precisam alinhar em coluna. */
.tnum,.ds-price,.ds-stat__value{font-variant-numeric:tabular-nums}
/* Salto para o conteúdo — visível só quando recebe foco por teclado. */
.ds-skip{position:absolute;left:var(--s-4);top:var(--s-4);z-index:60;padding:12px 18px;border-radius:var(--r-full);background:var(--surface-100);border:1px solid var(--line);color:var(--ink-000);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;transform:translateY(-200%);transition:transform var(--dur-fast) var(--ease-out)}
.ds-skip:focus-visible{transform:none;color:var(--ink-000)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
