:root { --bg:#0D1116; --text:#E7EDF3; --body:#C5CCD4; --muted:#707680; --amber:#CDAA55; --line:#1C232C; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--bg); color:var(--text);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--amber); text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:3px; }
.nw { white-space:nowrap; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.col { width:min(640px, 88vw); margin:0 auto; }

/* home */
.home { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:72px 0 48px; }
.logo { display:block; width:100%; height:auto; }
.tagline { margin:32px 0 6px; color:var(--muted); font-size:clamp(15px, 2.1vw, 17px); }
.email { margin:0; font-size:clamp(15px, 2.1vw, 17px); }

/* footer */
footer { padding:22px 0 30px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; text-align:center; }
footer a { color:var(--muted); white-space:nowrap; }
footer a:hover { color:var(--amber); }

/* terms */
.doc { flex:1; padding:40px 0 48px; }
.doc .mini { display:block; width:190px; height:auto; }
.doc h1 { font-size:22px; font-weight:600; margin:40px 0 2px; }
.doc h2 { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); margin:30px 0 6px; }
.doc p, .doc li { color:var(--body); font-size:15px; margin:0; }
.doc ul { margin:0; padding-left:18px; }
.doc li { margin-bottom:4px; }
.doc .muted { color:var(--muted); font-size:13px; }
.center { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:10px; }

/* logo animation: curves draw out from the pivot, then the name types behind the cursor */
.arm { stroke-dasharray: 1 2; animation: draw .95s cubic-bezier(.25,.8,.25,1) both; }
.arm.flat2 { animation-delay: 0.15s; }
.arm.low2 { animation-delay: 0.26s; }
.arm.low1 { animation-delay: 0.37s; }
.arm.mid1 { animation-delay: 0.48s; }
.arm.smile { animation-delay: 0.59s; }
.arm.heroB { animation-delay: 0.70s; }
.arm.heroA { animation-delay: 0.81s; }
@keyframes draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.ch { animation: type .06s linear both; }
.t1 { animation-delay: 1.39s; }
.t2 { animation-delay: 1.48s; }
.t3 { animation-delay: 1.57s; }
.t4 { animation-delay: 1.66s; }
.t5 { animation-delay: 1.84s; }
.t6 { animation-delay: 1.93s; }
.t7 { animation-delay: 2.02s; }
.t8 { animation-delay: 2.11s; }
@keyframes type { from { opacity: 0; } to { opacity: 1; } }
.cursor { animation: appear .01s linear 1.30s both, move 0.81s step-end 1.30s both, blink 1.06s step-end 2.46s infinite; }
@keyframes appear { from { opacity: 0; } to { opacity: 1; } }
@keyframes move { 0.00% { transform: translateX(-1091.53px); } 11.11% { transform: translateX(-989.43px); } 22.22% { transform: translateX(-835.87px); } 33.33% { transform: translateX(-706.46px); } 44.44% { transform: translateX(-557.93px); } 55.56% { transform: translateX(-513.38px); } 66.67% { transform: translateX(-401.58px); } 77.78% { transform: translateX(-249.74px); } 88.89% { transform: translateX(-124.82px); } 100.00% { transform: translateX(0.00px); } }
@keyframes blink { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .arm, .ch, .cursor { animation: none; } }
