/* Yudu — shared brand system. Black/white, Poppins, light glow. */
:root{
  --bg:#000; --ink:#fff; --ink-2:rgba(255,255,255,.72); --ink-3:rgba(255,255,255,.46); --ink-4:rgba(255,255,255,.18);
  --line:rgba(255,255,255,.12); --panel:rgba(255,255,255,.04); --panel-2:rgba(255,255,255,.07);
  --glow:0 0 24px rgba(255,255,255,.55),0 0 80px rgba(255,255,255,.18);
  --ease:cubic-bezier(.2,.7,.1,1);
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Poppins',system-ui,-apple-system,sans-serif;font-weight:300;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,video{display:block;max-width:100%}
::selection{background:#fff;color:#000}

.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);font-weight:400}
.wordmark{letter-spacing:.42em;font-weight:300}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;border:1px solid rgba(255,255,255,.9);font-size:14px;letter-spacing:.06em;transition:all .35s var(--ease);white-space:nowrap}
.btn:hover{background:#fff;color:#000;box-shadow:var(--glow)}
.btn.solid{background:#fff;color:#000}
.btn.solid:hover{box-shadow:var(--glow);transform:translateY(-1px)}
.btn.ghost{border-color:var(--ink-4);color:var(--ink-2)}
.btn.ghost:hover{border-color:#fff;color:#000}
.btn:disabled{opacity:.35;pointer-events:none}

/* The mark (SVG recreation of Ricardo's logo) */
.mark{display:block}
.mark .ring{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round}
.mark .blade,.mark .dot{fill:#fff}

.grain::after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:100;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");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}

@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}.grain::after{display:none}}
