:root { --ink:#E8E4DA; --sub:#9AA1B8; --line:#2A3252; --bg:#0B0F1E; }
* { box-sizing:border-box; }
html,body { margin:0; }
body { background:var(--bg) url(img/night-sky.jpg) top center/cover fixed; color:var(--ink);
  font-family:'Shippori Mincho B1',serif; letter-spacing:.08em; line-height:1.9; }
a { color:inherit; }
main { max-width:560px; margin:0 auto; padding:48px 16px 80px; }
header.site { display:flex; justify-content:space-between; align-items:center; max-width:560px; margin:0 auto; padding:16px; font-size:14px; }
header.site a { text-decoration:none; }
h1 { font-weight:500; font-size:28px; letter-spacing:.2em; margin:8px 0 16px; text-align:center; }
h2 { font-weight:500; font-size:18px; letter-spacing:.15em; margin:48px 0 12px; padding-top:24px; border-top:1px solid var(--line); }
h3 { font-weight:500; font-size:16px; margin:24px 0 4px; }
p, li { font-size:15px; }
.sub { color:var(--sub); font-size:13px; }
.center { text-align:center; }
.hero img { display:block; margin:0 auto; width:200px; height:auto; }
.label { color:var(--sub); font-size:12px; letter-spacing:.3em; text-align:center; margin:0; }
.grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:16px; }
.grid a { display:flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; text-decoration:none; background:rgba(11,15,30,.45); }
.grid img { width:44px; height:auto; }
.pair { margin:0 0 20px; }
.pair .stars { display:flex; flex-wrap:wrap; gap:8px 16px; margin:4px 0; }
.pair .stars a { display:inline-flex; align-items:center; gap:4px; text-decoration:none; }
.pair .stars img { width:28px; height:auto; }
.cta { display:block; text-align:center; margin:40px auto 0; padding:14px 20px; border:1px solid currentColor; border-radius:999px; text-decoration:none; max-width:320px; }
.note { border:1px solid var(--line); border-radius:12px; padding:16px; background:rgba(11,15,30,.5); }
footer { max-width:560px; margin:0 auto; padding:24px 16px 48px; color:var(--sub); font-size:12px; text-align:center; }
footer a { margin:0 8px; }
ol li, ul li { margin-bottom:6px; }
