:root{--primary:#4f46e5;--secondary:#0f172a;--accent:#f59e0b;--radius:16px}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.btn-primary{background:var(--primary);color:#fff;border-radius:calc(var(--radius) - 4px);padding:.65rem 1.1rem;font-weight:600;transition:filter .15s,transform .15s}
.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}
.card{background:#fff;border-radius:var(--radius);box-shadow:0 1px 3px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.05);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(15,23,42,.12)}
.hero{background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].in{opacity:1;transform:none}
.drawer{transform:translateX(100%);transition:transform .25s ease}
.drawer.open{transform:none}
.snap{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.snap>*{scroll-snap-align:start;flex:0 0 min(85%,22rem)}
.img-ph{background:linear-gradient(135deg,#c7d2fe,#e0e7ff)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
