.mono { font-family: var(--font-mono); letter-spacing: .06em; text-transform: uppercase; font-size: .66rem; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; padding: .7rem 1rem; color: var(--ink); background: var(--lime); font: 600 .65rem var(--font-mono); text-transform: uppercase; transform: translateY(-180%); transition: transform var(--motion-fast) var(--ease-out); }
.skip-link:focus { transform: none; }
.display, h1, h2, h3 { font-family: var(--font-display); text-transform: uppercase; font-weight: 500; letter-spacing: -.03em; }
h1, h2, h3, p { margin: 0; }
h1 em, h2 em, h3 em { color: var(--lime); font-style: normal; }
.eyebrow { color: var(--paper-muted); font: 500 .67rem/1.2 var(--font-mono); letter-spacing: .13em; text-transform: uppercase; }
/* Ancorado no header, não na altura da viewport: com 12vh o selo descia em
   telas altas e batia no eyebrow do painel (visto em 834x1194). */
.section-stamp { position: absolute; top: calc(var(--header-h) + var(--space-5)); left: var(--pad-x); z-index: 2; color: var(--paper-muted); }
.section-stamp span { color: var(--lime); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 3.5rem; padding: 0 1.35rem; border: 1px solid transparent; font: 600 .67rem/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; transition: color .35s ease, background .35s ease, border-color .35s ease, transform .35s var(--ease-expo); }
.button svg, .text-link svg { width: 16px; height: 16px; stroke-width: 1.5; }
.button-lime { color: var(--ink); background: var(--lime); }
.button-lime:hover { background: #e3ff9e; transform: translateY(-3px); }
.button-outline { border-color: rgba(241,243,235,.38); }
.button-outline:hover { color: var(--ink); border-color: var(--lime); background: var(--lime); }
.button-small { min-height: 2.65rem; padding-inline: 1rem; }
.button-large { min-height: 4rem; padding-inline: 1.65rem; }
.text-link { display: inline-flex; align-items: center; gap: .7rem; color: var(--paper); font: 500 .67rem/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid var(--line); padding-bottom: .6rem; transition: color .3s ease, border-color .3s ease; }
.text-link:hover { color: var(--lime); border-color: var(--lime); }
.technical-grid { background-image: linear-gradient(rgba(199,243,107,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(199,243,107,.08) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, transparent, black 20%, black 80%, transparent); }
.site-noise { position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.cursor-dot, .cursor-ring { position: fixed; z-index: 100; pointer-events: none; opacity: 0; transform: translate(-50%, -50%); }
.cursor-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--lime); }
.cursor-ring { width: 34px; height: 34px; border: 1px solid rgba(199,243,107,.7); border-radius: 50%; transition: width .25s ease, height .25s ease, background .25s ease; }
body.cursor-ready .cursor-dot, body.cursor-ready .cursor-ring { opacity: 1; }
body.cursor-hover .cursor-ring { width: 54px; height: 54px; background: rgba(199,243,107,.1); }
.magnetic { transform: translateZ(0); }

.cursor-ring { width: 28px; height: 28px; }.cursor-ring, body.cursor-hover .cursor-ring { transition-duration: var(--motion-fast); } body.cursor-hover .cursor-ring { width: 42px; height: 42px; }

.site-logo { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.site-logo img { display: block; width: auto; height: clamp(38px, 3.3vw, 48px); max-width: 220px; object-fit: contain; }
