@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600&display=swap');

:root { color-scheme: dark; --ink:#f2f0eb; --paper:#07080a; --muted:#9c9da3; --line:rgba(255,255,255,.13); --blue:#1c98ed; --blue-soft:#4281c8; --pink:#ff5cac; --cyan:var(--blue); --violet:var(--pink); --acid:#ff5cac; --max:1440px; --pad:clamp(1.25rem,4vw,4.5rem); --ease:cubic-bezier(.22,1,.36,1); font-family:Manrope,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-size:16px; line-height:1.55; }
body.menu-open { overflow:hidden; }
img { max-width:100%; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
::selection { color:#07080a; background:var(--pink); }
.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-link { position:fixed; z-index:1000; top:1rem; left:1rem; padding:.8rem 1rem; color:#07080a; background:var(--acid); transform:translateY(-150%); transition:transform .2s; }
.skip-link:focus { transform:none; }
:focus-visible { outline:2px solid var(--cyan); outline-offset:5px; }
.eyebrow,.section-index { margin:0; color:#b5b5ba; font-family:'DM Mono',monospace; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:500; line-height:.98; letter-spacing:-.055em; text-wrap:balance; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:2rem; padding:0 1.3rem; border:1px solid var(--line); font-size:.84rem; font-weight:600; transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s; }
.button:hover { transform:translateY(-3px); }
.button-primary { color:#08090b; background:var(--ink); border-color:var(--ink); }
.button-primary:hover { background:var(--cyan); border-color:var(--cyan); }
.text-link { display:inline-flex; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--line); font-size:.85rem; transition:border-color .25s,color .25s; }
.text-link:hover { color:var(--cyan); border-color:var(--cyan); }
.diagonal-arrow { display:inline-block; width:.88em; height:.88em; flex:0 0 .88em; background:currentColor; vertical-align:-.06em; -webkit-mask:url('../public/diagonal-arrow.svg') center/contain no-repeat; mask:url('../public/diagonal-arrow.svg') center/contain no-repeat; }
