/* Shared typography and controls; desktop measurements follow the reference. */
:root {
    color-scheme: dark;
    --page: #040d1c;
    --text: #fafafa;
    --muted: #c2cbdc;
    --accent: #8cb8ff;
    --line: #a8bdda66;
    --number: #ff344d;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 108px; }
body { margin: 0; background: var(--page); color: var(--text); font: 14px/1.88 Arial, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; overflow-wrap: break-word; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
figure, p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { font-weight: 700; line-height: 1.88; }
h1 { font-size: 25px; }
h2 { font-size: 19px; }
h3 { font-size: 15px; }
.container, .header-inner { width: min(906px, calc(100% - 40px)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 10; background: #030b18; }
.header-inner { display: flex; align-items: center; min-height: 88px; }
/* Keep the transparent logo at its native ratio on both pages. */
.brand { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 43px; text-decoration: none; }
.brand img { width: 180px; height: 30px; }
.button { display: inline-flex; justify-content: center; align-items: center; width: 286px; max-width: 100%; min-height: 35px; padding: 6px 18px; border: 0; border-radius: 5px; color: #fff; font-size: 13px; line-height: 23px; text-decoration: none; text-align: center; }
.button-primary { background: linear-gradient(90deg, #2862c4, #102c67); }
.button-primary:hover { background: linear-gradient(90deg, #102c67, #2862c4); }
.domain { font-size: 20px; font-weight: 700; }
.domain-number { color: var(--number); font-size: 1.15em; font-weight: 900; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
@media (max-width: 600px) {
    html { scroll-padding-top: 120px; }
}
