/* Base element styles + brand utilities (from app/globals.css @layer base/utilities) */
*,*::before,*::after{box-sizing:border-box;border-color:var(--border)}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-0.02em;text-wrap:balance;margin:0}
p{text-wrap:pretty}
a{color:var(--text-accent);text-decoration:none}
a:hover{color:var(--text-strong)}
input::placeholder,textarea::placeholder{color:var(--text-faint)}
::selection{background:var(--selection);color:var(--navy-900)}

.mono-caps{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.12em}
.ogl-gradient-text{display:inline-block;width:max-content;max-width:100%;padding-right:0.06em;padding-bottom:0.14em;margin-bottom:-0.14em;background-image:var(--gradient-headline);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ogl-gradient-block{background-image:var(--gradient-headline-block);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dark .ogl-gradient-text,.dark .ogl-gradient-block{background-image:linear-gradient(90deg,#7FC4E2 0%,#EAF5FA 65%,#EAF5FA 100%)}
.ogl-field-light{background:var(--field-light)}
.ogl-field-dark{background:var(--field-dark)}
.ogl-glass{background:var(--surface-glass);backdrop-filter:blur(var(--blur-glass));-webkit-backdrop-filter:blur(var(--blur-glass));border:1px solid var(--border-default)}
.ogl-shell{width:100%;margin-inline:auto;max-width:1240px}
@media (min-width:1600px){.ogl-shell{max-width:1440px}}
.ogl-eyebrow{font-family:var(--font-display-alt);font-weight:700;font-size:17px;letter-spacing:-0.01em;color:var(--steel-600)}
.ogl-eyebrow-mono{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-accent)}
.ogl-stat{font-family:var(--font-display);font-weight:500;letter-spacing:-0.025em;color:var(--text-strong)}
.bg-grid-dots{background-image:radial-gradient(rgba(66,110,140,0.10) 1px,transparent 1px);background-size:24px 24px}
@keyframes ogl-pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes ogl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ogl-ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.6);opacity:0}}
@keyframes ogl-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@keyframes ogl-scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
