/* Autograph: one stylesheet, no framework, no external requests.
   Set in the spirit of a printed score: black on paper, wide margins,
   one serif for the headings and the system face for everything else. */

:root {
    --ink: #16161a;
    --paper: #fbfaf8;
    --faint: #6b6b73;
    --rule: #dedcd7;
    --accent: #1f5fd0;
    --measure: 34rem;
}

@media (prefers-color-scheme: dark) {
    :root {
        --ink: #ececef;
        --paper: #141416;
        --faint: #9a9aa2;
        --rule: #2e2e33;
        --accent: #7aa7f0;
    }
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font: 400 1.0625rem/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI",
          Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.wrap {
    max-width: var(--measure);
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* The wordmark. Serif, letterspaced open, because the app is about
   engraving and the page should look like it knows that. */
header.masthead {
    padding: 5rem 0 0;
    text-align: center;
}

.wordmark {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
                 "Times New Roman", serif;
    font-size: clamp(2.75rem, 9vw, 4rem);
    font-weight: 400;
    letter-spacing: 0.02em;
    margin: 0 0 0.75rem;
    line-height: 1.05;
}

.standfirst {
    font-size: clamp(1.125rem, 3.4vw, 1.375rem);
    line-height: 1.4;
    margin: 0 auto 0.5rem;
    max-width: 26rem;
}

.subhead {
    color: var(--faint);
    margin: 0 0 2.5rem;
    font-size: 1rem;
}

/* Video first. It is the only thing on the page that proves the claim. */
.demo {
    margin: 0 0 2.75rem;
}

.frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.10), 0 12px 32px rgba(0,0,0,0.12);
}

.frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* The one thing to press. */
.cta {
    text-align: center;
    margin: 0 0 1rem;
}

.button {
    display: inline-block;
    background: var(--accent);
    color: #fff;
    text-decoration: none;
    font-size: 1.0625rem;
    font-weight: 600;
    padding: 0.85rem 1.75rem;
    border-radius: 8px;
    transition: opacity 0.15s ease;
}

.button:hover { opacity: 0.88; }

.cta .note {
    display: block;
    color: var(--faint);
    font-size: 0.9375rem;
    margin-top: 0.85rem;
}

main { padding: 1rem 0 0; }

section { margin: 3.5rem 0; }

h2 {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
                 "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 400;
    margin: 0 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--rule);
}

h3 {
    font-size: 1.0625rem;
    font-weight: 600;
    margin: 1.75rem 0 0.35rem;
}

p { margin: 0 0 1rem; }

a { color: var(--accent); }

ul { padding-left: 1.15rem; margin: 0 0 1rem; }
li { margin-bottom: 0.5rem; }

strong { font-weight: 600; }

figure { margin: 2rem 0; }

figure img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--rule);
    border-radius: 6px;
}

figcaption {
    color: var(--faint);
    font-size: 0.9375rem;
    margin-top: 0.6rem;
    text-align: center;
}

.plain { color: var(--faint); font-size: 0.9375rem; }

dl.specs { margin: 0; }
dl.specs dt { font-weight: 600; margin-top: 1rem; }
dl.specs dd { margin: 0.15rem 0 0; color: var(--faint); }

footer {
    border-top: 1px solid var(--rule);
    margin-top: 4rem;
    padding: 2rem 0 4rem;
    color: var(--faint);
    font-size: 0.9375rem;
    text-align: center;
}

footer nav a { margin: 0 0.6rem; }
footer .copyright { margin-top: 1.25rem; }

/* Inner pages */
.page-title {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
                 "Times New Roman", serif;
    font-size: 2.25rem;
    font-weight: 400;
    margin: 4rem 0 0.5rem;
}

.back { display: inline-block; margin: 2.5rem 0 0; font-size: 0.9375rem; }

.updated { color: var(--faint); font-size: 0.9375rem; margin-bottom: 2.5rem; }
