
/* ZeroYear site styles (self-hosted helpers) */
:root{ --header-h:64px; }
html{ scroll-behavior:smooth; }
body{ background:#000; color:#e5e5e5; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; text-rendering:optimizeLegibility; }
a{ color:inherit; text-decoration:none }
a.underline:hover{ text-decoration:underline }
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* Components */
.hero-min{ min-height: calc(100svh - var(--header-h)); }
@supports not (height:1svh){ .hero-min{ min-height: calc(100vh - var(--header-h)); } }
.card{ border:1px solid rgba(255,255,255,.06); border-radius:20px; background:rgba(255,255,255,.02); backdrop-filter:blur(6px); }
.pill{ border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:.35rem .85rem; font-size:.72rem; color:#a3a3a3; letter-spacing:.04em; }
.focus-tap:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
[data-animate]{ opacity:0; transform:translateY(8px); transition:opacity .18s ease, transform .18s ease; }
.inview{ opacity:1 !important; transform:translateY(0) !important; }
@media (prefers-reduced-motion: reduce){ [data-animate]{ transition:none; transform:none } }
.hero-art{ width:100%; height:auto; max-height:72vh; opacity:.85 }
.header-blur{ backdrop-filter: blur(8px); background: rgba(0,0,0,.5); }
/* Screenreader skip */
.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 }
.sr-only:focus{ position:static; width:auto; height:auto; margin:0; clip:auto; padding:.25rem .5rem; background:#000; color:#fff; border-radius:6px }
/* Minimal utility helpers for spacing (subset) */
.mt-2{ margin-top:.5rem } .mt-3{ margin-top:.75rem } .mt-4{ margin-top:1rem } .mt-5{ margin-top:1.25rem } .mt-6{ margin-top:1.5rem } .mt-7{ margin-top:1.75rem } .mt-8{ margin-top:2rem } .mt-9{ margin-top:2.25rem }
.mb-0{ margin-bottom:0 } .py-3{ padding-block:.75rem } .p-4{ padding:1rem } .p-5{ padding:1.25rem } .p-6{ padding:1.5rem } .p-8{ padding:2rem }
.rounded-full{ border-radius:999px } .rounded-xl{ border-radius:1rem } .border{ border:1px solid rgba(255,255,255,.1) }
.text-white{ color:#fff } .text-neutral-200{ color:#e5e5e5 } .text-neutral-300{ color:#d4d4d4 } .text-neutral-400{ color:#a3a3a3 }
.bg-white{ background:#fff } .bg-black{ background:#000 } .text-black{ color:#000 }
.opacity-85{ opacity:.85 }
/* Layout container approx */
.container{ max-width:1280px; margin-inline:auto; padding-left:1rem; padding-right:1rem }
@media(min-width:768px){ .container{ padding-left:1.5rem; padding-right:1.5rem } }
@media(min-width:1024px){ .container{ padding-left:2rem; padding-right:2rem } }
/* Buttons */
.btn{ padding:.75rem 1.25rem; border-radius:999px; font-size:.9rem; font-weight:500; }
.btn-outline{ border:1px solid rgba(255,255,255,.15) }
.btn-outline:hover{ border-color:rgba(255,255,255,.25) }
/* Header */
header.site{ position:sticky; top:0; z-index:30; border-bottom:1px solid rgba(255,255,255,.05) }
/* Footer */
footer.site{ border-top:1px solid rgba(255,255,255,.05) }
/* Simple grid helpers used on cards */
.grid{ display:grid; gap:1.25rem }
@media(min-width:768px){ .grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); } .grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
/* Trusted logos size */
.logo-sm{ height:1.75rem; opacity:.85 }
