:root{--bg0: #0a1628;--bg1: #12243a;--ink: #f2ebe0;--muted: #b7c0cc;--line: rgba(242, 235, 224, .14);--accent: #d4a24c;--accent-ink: #1a1206;--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 80% -10%,rgba(212,162,76,.22),transparent 55%),radial-gradient(900px 500px at -10% 20%,rgba(70,120,160,.28),transparent 50%),linear-gradient(165deg,var(--bg0),var(--bg1) 55%,#0d1a2c);background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.brand{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;font-size:1.35rem}.nav{display:flex;gap:1rem;align-items:center;color:var(--muted);font-size:.95rem}.nav a:hover{color:var(--ink)}.hero{flex:1;display:grid;align-content:center;gap:1.25rem;padding:clamp(2.5rem,8vw,5rem) 1.5rem 2rem;max-width:1100px;width:100%;margin:0 auto;animation:rise .7s ease both}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05;max-width:14ch}.hero p{margin:0;max-width:38rem;color:var(--muted);font-size:1.125rem;line-height:1.55}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.2rem;border-radius:4px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}.products{max-width:1100px;width:100%;margin:0 auto;padding:1rem 1.5rem 4rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.product{display:block;padding:1.25rem 1.2rem;border:1px solid var(--line);border-radius:6px;background:#0a162873;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s ease,transform .25s ease;animation:rise .8s ease both}.product:nth-child(2){animation-delay:.06s}.product:nth-child(3){animation-delay:.12s}.product:nth-child(4){animation-delay:.18s}.product:nth-child(5){animation-delay:.24s}.product:hover{border-color:#d4a24c8c;transform:translateY(-2px)}.product strong{display:block;font-family:var(--font-display);font-size:1.25rem;margin-bottom:.35rem}.product span{color:var(--muted);font-size:.95rem;line-height:1.45}.page{max-width:860px;margin:0 auto;padding:2rem 1.5rem 4rem;width:100%}.page h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);margin:0 0 .5rem}.lede{color:var(--muted);margin:0 0 1.75rem;line-height:1.5}.card{border:1px solid var(--line);border-radius:6px;padding:1.25rem;margin-bottom:1rem;background:#0a162880}.grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{display:grid;gap:.35rem;font-size:.9rem;color:var(--muted)}input,select,textarea{width:100%;padding:.65rem .75rem;border-radius:4px;border:1px solid var(--line);background:#050c16b3;color:var(--ink)}.track-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.45rem .75rem;border-radius:4px;cursor:pointer}.chip.is-active{border-color:var(--accent);color:var(--accent)}.muted{color:var(--muted)}.err{color:#f0a0a0}.ok{color:#9ed9b0}.list{display:grid;gap:.75rem}.list a.item,.list .item{display:block;border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;background:#0a162880}.list .item strong{display:block;font-family:var(--font-display);margin-bottom:.25rem}.badge{display:inline-block;margin-top:.5rem;font-size:.75rem;padding:.2rem .5rem;border:1px solid var(--line);border-radius:3px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
