:root {
    --c-paper:#FFFDF8;
    --c-panel:#F5EFE3;
    --c-body:#1B2A41;
    --c-dim:#5E6B7E;
    --c-brand:#B8860B;
    --c-brand-text:#1B2A41;
    --f-display:"Archivo Black","Arial Black",Impact,sans-serif;
    --f-body:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    --gutter:clamp(16px,5vw,32px);
    --wrap:1180px;
}

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

html {
    font-size:100%;
    background-color:var(--c-paper);
    color:var(--c-body);
    -webkit-text-size-adjust:100%;
    scroll-behavior:smooth;
}

body {
    margin:0;
    width:100%;
    background-color:var(--c-paper);
    color:var(--c-body);
    font-family:var(--f-body);
    font-size:1.0625rem;
    line-height:1.62;
    overflow-wrap:break-word;
    -webkit-font-smoothing:antialiased;
}

img {
    display:block;
    max-width:100%;
    height:auto;
}

a {
    color:var(--c-body);
    text-decoration:underline;
    text-decoration-color:var(--c-brand);
    text-decoration-thickness:2px;
    text-underline-offset:4px;
    transition:text-decoration-color .2s ease,background-color .2s ease,color .2s ease;
}

a:hover {
    text-decoration-color:var(--c-body);
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
    outline:2px solid var(--c-brand);
    outline-offset:3px;
}

h1,h2,h3 {
    font-family:var(--f-display);
    font-weight:400;
    color:var(--c-body);
    margin:0;
}

p {
    margin:0 0 1.15em;
    color:var(--c-body);
}

ul,ol,dl,dd,figure {
    margin:0;
    padding:0;
}

body>a:first-child {
    position:absolute;
    left:-9999px;
    top:8px;
    z-index:20;
    padding:12px 18px;
    background-color:var(--c-brand);
    color:var(--c-brand-text);
    font-weight:700;
    text-decoration:none;
}

body>a:first-child:focus {
    left:16px;
}

body>header {
    background-color:var(--c-body);
    color:var(--c-panel);
    padding:0;
    margin:0;
}

body>header>div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    max-width:calc(var(--wrap) + 2*var(--gutter));
    margin:0 auto;
    padding:12px var(--gutter);
    min-height:68px;
}

body>header a.brand {
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    color:var(--c-panel);
    font-family:var(--f-display);
    font-size:1.15rem;
    line-height:1;
    letter-spacing:.26em;
    text-transform:uppercase;
    text-decoration:none;
}

body>header a.brand img {
    width:30px;
    height:30px;
    flex:none;
}

body>header .tag,body>header a.back {
    display:inline-block;
    border:1px solid var(--c-dim);
    border-radius:0;
    padding:7px 10px;
    color:var(--c-panel);
    background-color:transparent;
    font-size:.6875rem;
    font-weight:600;
    letter-spacing:.1em;
    line-height:1.25;
    text-align:center;
    text-transform:uppercase;
    text-decoration:none;
}

body>header a.back {
    display:inline-flex;
    align-items:center;
    min-height:46px;
    padding:0 14px;
}

body>header a.back:hover {
    background-color:var(--c-panel);
    color:var(--c-body);
    border-color:var(--c-panel);
}

@media(min-width:480px) {
    body>header a.brand {
        font-size:1.35rem;
    }
    body>header .tag,body>header a.back {
        font-size:.75rem;
        padding:8px 14px;
    }
}

@media(min-width:768px) {
    body>header>div {
        min-height:80px;
    }
    body>header a.brand {
        font-size:1.6rem;
    }
    body>header a.brand img {
        width:36px;
        height:36px;
    }
}

main.manual {
    display:block;
    max-width:calc(var(--wrap) + 2*var(--gutter));
    margin:0 auto;
    padding:0 var(--gutter) 56px;
    background-color:var(--c-paper);
    color:var(--c-body);
}

main.manual>header {
    padding:32px 0 6px;
}

main.manual>header>div>p.kicker {
    margin:0 0 14px;
    color:var(--c-brand);
    font-size:1.17rem;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.2;
    text-transform:uppercase;
}

main.manual>header p.kicker time {
    display:inline-block;
    margin-left:.9em;
    color:var(--c-dim);
    font-size:.8125rem;
    font-weight:600;
    letter-spacing:.08em;
}

main.manual>header h1 {
    margin:0 0 16px;
    font-size:clamp(1.7rem,4.6vw + .6rem,2.15rem);
    line-height:1.13;
    text-wrap:balance;
}

main.manual>header p.dek {
    margin:0;
    font-size:clamp(1.05rem,1rem + .35vw,1.18rem);
    font-weight:500;
    line-height:1.5;
}

main.manual>header aside {
    margin-top:26px;
    padding:16px 18px 18px;
    background-color:var(--c-panel);
    border-top:3px solid var(--c-brand);
    color:var(--c-body);
}

.label {
    margin:0 0 4px;
    color:var(--c-body);
    font-family:var(--f-display);
    font-size:.8125rem;
    letter-spacing:.12em;
    line-height:1.3;
    text-transform:uppercase;
}

main.manual>header aside dt {
    margin:12px 0 2px;
    color:var(--c-dim);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}

main.manual>header aside dd {
    margin:0;
    font-size:.9375rem;
    line-height:1.45;
}

main.manual>nav {
    display:block;
    margin:22px 0 4px;
    padding:16px 0;
    border-top:3px dotted var(--c-brand);
    border-bottom:3px dotted var(--c-brand);
    background-color:var(--c-paper);
}

main.manual>nav ol {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:10px 0 0;
    padding:0;
    list-style:none;
    counter-reset:toc;
}

main.manual>nav li {
    margin:0;
    padding:0;
    counter-increment:toc;
}

main.manual>nav a {
    display:flex;
    align-items:flex-start;
    gap:8px;
    min-height:46px;
    height:100%;
    padding:9px 10px;
    background-color:var(--c-panel);
    color:var(--c-body);
    font-size:.875rem;
    font-weight:500;
    line-height:1.3;
    text-decoration:none;
}

main.manual>nav a::before {
    content:counter(toc);
    flex:none;
    font-family:var(--f-display);
    font-size:.9375rem;
    line-height:1.2;
}

main.manual>nav a:hover {
    background-color:var(--c-brand);
    color:var(--c-brand-text);
}

main.manual>article {
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background-color:var(--c-paper);
    color:var(--c-body);
    counter-reset:sec;
}

[hidden] {
    display:none!important;
}

main.manual>article>p {
    max-width:62ch;
}

main.manual>article>figure {
    margin:26px 0 12px;
}

figure.fig-wide img {
    width:100%;
    aspect-ratio:3/2;
    object-fit:cover;
}

figcaption {
    margin-top:10px;
    color:var(--c-dim);
    font-size:.8125rem;
    line-height:1.4;
}

figcaption b {
    margin-right:.6em;
    color:var(--c-body);
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

main.manual>article>section {
    margin:44px 0 0;
    padding:36px 0 0;
    border-top:3px dotted var(--c-brand);
    background-color:var(--c-paper);
    color:var(--c-body);
}

main.manual>article>section>h2 {
    counter-increment:sec;
    margin:0 0 20px;
    font-size:clamp(1.5rem,1.2rem + 1.3vw,1.9rem);
    line-height:1.16;
    text-wrap:balance;
}

main.manual>article>section>h2::before {
    content:counter(sec) ".";
    margin-right:.4em;
    color:var(--c-brand);
}

main.manual>article>section>div {
    display:flow-root;
}

main.manual>article>section>div>p {
    max-width:62ch;
}

main.manual>article>section>div.tradeoffs {
    display:grid;
}

main.manual>article>section>aside {
    margin:6px 0 24px;
    padding-top:14px;
    border-top:2px dotted var(--c-brand);
}

main.manual>article>section>aside p {
    margin:0;
    font-family:var(--f-display);
    font-size:1.05rem;
    line-height:1.35;
}

figure.fig-l,figure.fig-r {
    margin:22px 0 26px;
}

figure.fig-l img,figure.fig-r img {
    width:100%;
}

.terms {
    display:grid;
    gap:14px;
    margin:12px 0 8px;
}

.terms>div {
    padding:18px 18px 20px;
    background-color:var(--c-panel);
    border-top:3px solid var(--c-brand);
}

.terms dt {
    margin:0 0 6px;
    color:var(--c-body);
    font-family:var(--f-display);
    font-size:1rem;
    font-weight:400;
    line-height:1.25;
}

.terms dd {
    margin:0;
    font-size:.9375rem;
    line-height:1.5;
}

.tradeoffs {
    display:grid;
    gap:30px;
    margin:30px 0 8px;
}

.tradeoffs h3 {
    margin:0 0 14px;
    font-size:1.12rem;
    line-height:1.25;
}

.tradeoffs ul {
    margin:0;
    padding:0;
    list-style:none;
}

.tradeoffs li {
    position:relative;
    list-style:none;
    margin:0;
    padding:0 0 12px 24px;
    font-size:.9688rem;
    line-height:1.5;
}

.tradeoffs li::before {
    content:"";
    position:absolute;
    left:0;
    top:.55em;
    width:9px;
    height:9px;
    background-color:var(--c-brand);
}

.tradeoffs>div+div li::before {
    background-color:transparent;
    border:2px solid var(--c-brand);
}

.band {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    margin:48px 0;
    padding:30px 0;
    background-color:var(--c-panel);
    box-shadow:0 0 0 100vmax var(--c-panel);
    clip-path:inset(0 -100vmax);
}

.band p {
    max-width:36ch;
    margin:0;
    font-family:var(--f-display);
    font-size:clamp(1.1rem,1rem + .6vw,1.3rem);
    line-height:1.3;
}

.band a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:14px 28px;
    border:2px solid var(--c-brand);
    border-radius:2px;
    background-color:var(--c-brand);
    color:var(--c-brand-text);
    font-size:1.2rem;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

.band a:hover {
    background-color:var(--c-body);
    border-color:var(--c-body);
    color:var(--c-panel);
}

main.manual>article>p.note {
    margin:0;
    color:var(--c-dim);
    font-size:.8125rem;
    font-style:italic;
}

@media(min-width:480px) {
    .terms {
        gap:16px;
    }
}

@media(min-width:768px) {
    main.manual {
        padding-bottom:72px;
    }
    main.manual>header {
        padding:44px 0 8px;
    }
    main.manual>nav ol {
        grid-template-columns:repeat(4,1fr);
    }
    figure.fig-wide img {
        aspect-ratio:21/9;
        object-position:50% 62%;
    }
    figure.fig-r {
        float:right;
        width:45%;
        margin:6px 0 16px 28px;
    }
    figure.fig-l {
        float:left;
        width:45%;
        margin:6px 28px 16px 0;
    }
    .terms {
        grid-template-columns:repeat(3,1fr);
    }
    .tradeoffs {
        grid-template-columns:1fr 1fr;
        column-gap:24px;
    }
    .tradeoffs>div+div {
        padding-left:24px;
        border-left:3px dotted var(--c-brand);
    }
    .band {
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:36px;
    }
}

@media(min-width:1024px) {
    main.manual {
        display:grid;
        grid-template-columns:minmax(150px,180px) minmax(0,880px);
        column-gap:clamp(24px,3vw,40px);
        justify-content:center;
        padding-bottom:96px;
    }
    main.manual>header {
        grid-column:2;
        grid-row:1;
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(170px,220px);
        column-gap:clamp(24px,3vw,40px);
        align-items:start;
        padding-top:40px;
    }
    main.manual>header aside {
        margin-top:6px;
    }
    main.manual>nav {
        grid-column:1;
        grid-row:2;
        position:sticky;
        top:24px;
        align-self:start;
        margin:44px 0 0;
        padding:0;
        border:0;
    }
    main.manual>nav ol {
        display:block;
        margin-top:12px;
    }
    main.manual>nav li {
        margin-bottom:4px;
    }
    main.manual>nav a {
        height:auto;
        padding:10px 0 10px 12px;
        background-color:transparent;
        border-left:2px dotted var(--c-brand);
    }
    main.manual>nav a:hover {
        background-color:var(--c-panel);
        color:var(--c-body);
        border-left-style:solid;
    }
    main.manual>article {
        grid-column:2;
        grid-row:2;
    }
    main.manual>article>section {
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(170px,220px);
        column-gap:clamp(24px,3vw,40px);
        align-items:start;
    }
    main.manual>article>section>h2 {
        grid-column:1;
    }
    main.manual>article>section>div {
        grid-column:1;
    }
    main.manual>article>section>aside {
        grid-column:2;
        grid-row:2;
        margin:6px 0 0;
    }
    main.manual>article>section>.terms,main.manual>article>section>.tradeoffs {
        grid-column:1/-1;
    }
    main.manual>article>section>.terms {
        margin-top:20px;
    }
    .tradeoffs {
        column-gap:40px;
    }
    .tradeoffs>div+div {
        padding-left:40px;
    }
}

footer.site-end {
    display:grid;
    grid-template-columns:minmax(0,var(--wrap));
    justify-content:center;
    gap:0;
    margin:0;
    padding:36px var(--gutter) 52px;
    border-top:1px solid var(--c-dim);
    background-color:var(--c-paper);
    color:var(--c-body);
}

footer.site-end .address-facts dl {
    display:grid;
    gap:4px 28px;
    font-size:.9375rem;
    line-height:1.5;
}

footer.site-end .address-facts dl>div {
    display:block;
}

footer.site-end .address-facts dt {
    display:inline;
    font-weight:700;
}

footer.site-end .address-facts dt::after {
    content:": ";
}

footer.site-end .address-facts dd {
    display:inline;
    margin:0;
}

footer.site-end nav.doc-map {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:0 24px;
    margin-top:22px;
    padding-top:12px;
    border-top:2px dotted var(--c-brand);
}

footer.site-end nav.doc-map a {
    display:inline-flex;
    align-items:center;
    min-height:46px;
    font-size:.9375rem;
}

footer.site-end .editor-info {
    max-width:76ch;
    margin:12px 0 0;
    color:var(--c-dim);
    font-size:.8125rem;
    line-height:1.6;
}

@media(min-width:768px) {
    footer.site-end .address-facts dl {
        grid-template-columns:repeat(2,auto);
        justify-content:start;
    }
}

@media(min-width:1024px) {
    footer.site-end {
        padding-top:48px;
    }
    footer.site-end .address-facts dl {
        display:flex;
        flex-wrap:wrap;
    }
}

main.memo {
    display:block;
    max-width:calc(760px + 2*var(--gutter));
    margin:0 auto;
    padding:36px var(--gutter) 64px;
    background-color:var(--c-paper);
    color:var(--c-body);
}

main.memo>article {
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background-color:var(--c-paper);
    color:var(--c-body);
}

main.memo h1 {
    margin:0 0 14px;
    font-size:clamp(1.7rem,4.6vw + .6rem,2.4rem);
    line-height:1.13;
    text-wrap:balance;
}

main.memo .issue-dates {
    margin:0 0 30px;
    padding-bottom:20px;
    border-bottom:3px dotted var(--c-brand);
    color:var(--c-dim);
    font-size:.875rem;
    font-weight:600;
    letter-spacing:.04em;
}

main.memo h2 {
    margin:34px 0 10px;
    font-size:clamp(1.15rem,1rem + .7vw,1.4rem);
    line-height:1.25;
}

main.memo p {
    max-width:68ch;
}

main.memo .lead {
    margin:0 0 26px;
    font-size:1.15rem;
    font-weight:500;
    line-height:1.5;
}

main.memo>article>p.about {
    padding:20px 0;
    border-top:3px dotted var(--c-brand);
    border-bottom:3px dotted var(--c-brand);
    font-size:1.0625rem;
    line-height:1.7;
}

@media(min-width:768px) {
    main.memo {
        padding-top:56px;
        padding-bottom:88px;
    }
}

body.mode-form-screen {
    background-color:var(--c-panel);
    color:var(--c-body);
}

body.mode-form-screen>header {
    background-color:var(--c-paper);
    color:var(--c-body);
    border-bottom:3px dotted var(--c-brand);
}

body.mode-form-screen>header>div {
    min-height:72px;
}

body.mode-form-screen>header a.brand {
    color:var(--c-body);
    font-size:1.05rem;
}

body.mode-form-screen>header a.back {
    border-color:var(--c-body);
    color:var(--c-body);
}

body.mode-form-screen>header a.back:hover {
    background-color:var(--c-body);
    color:var(--c-paper);
    border-color:var(--c-body);
}

@media(min-width:768px) {
    body.mode-form-screen>header a.brand {
        font-size:1.3rem;
    }
}

main.screen {
    display:grid;
    gap:28px;
    max-width:calc(1120px + 2*var(--gutter));
    margin:0 auto;
    padding:34px var(--gutter) 64px;
    background-color:var(--c-panel);
    color:var(--c-body);
}

main.screen>section.intro {
    background-color:transparent;
}

main.screen p.kicker {
    display:inline-block;
    margin:0 0 16px;
    padding:6px 12px;
    background-color:var(--c-brand);
    color:var(--c-brand-text);
    border-radius:999px;
    font-size:.8125rem;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.2;
    text-transform:uppercase;
}

main.screen h1 {
    margin:0 0 18px;
    font-size:clamp(1.8rem,5.4vw + .5rem,3rem);
    line-height:1.08;
    text-wrap:balance;
}

main.screen .lead {
    margin:0;
    font-size:clamp(1.05rem,1rem + .4vw,1.2rem);
    font-weight:500;
    line-height:1.55;
    max-width:52ch;
}

main.screen form.card {
    margin:0;
    padding:24px 20px 26px;
    background-color:var(--c-paper);
    color:var(--c-body);
    border:2px solid var(--c-body);
    border-radius:16px;
    box-shadow:6px 6px 0 var(--c-brand);
}

main.screen .card h2 {
    margin:0 0 6px;
    font-size:1.45rem;
    line-height:1.2;
}

main.screen .card>p.sub {
    margin:0 0 20px;
    color:var(--c-dim);
    font-size:.9375rem;
    line-height:1.5;
}

main.screen .field {
    margin:0 0 16px;
}

main.screen .field label {
    display:block;
    margin:0 0 6px;
    color:var(--c-body);
    font-size:.9375rem;
    font-weight:700;
    line-height:1.3;
}

main.screen .field input {
    display:block;
    width:100%;
    min-height:50px;
    margin:0;
    padding:12px 14px;
    background-color:var(--c-paper);
    color:var(--c-body);
    border:2px solid var(--c-dim);
    border-radius:10px;
    box-shadow:none;
    font-family:var(--f-body);
    font-size:1rem;
    line-height:1.3;
    transition:border-color .2s ease,background-color .2s ease;
}

main.screen .field input:hover {
    border-color:var(--c-body);
}

main.screen .field input:focus {
    background-color:var(--c-paper);
    border-color:var(--c-body);
    box-shadow:none;
}

main.screen .field input[aria-invalid="true"] {
    border-color:var(--c-body);
    background-color:var(--c-panel);
}

main.screen .err {
    margin:6px 0 0;
    color:var(--c-body);
    font-size:.875rem;
    font-weight:600;
    line-height:1.4;
}

main.screen .err::before {
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    margin-right:8px;
    background-color:var(--c-brand);
}

main.screen .consent {
    display:grid;
    grid-template-columns:28px 1fr;
    gap:12px;
    align-items:start;
    margin:4px 0 20px;
}

main.screen .consent input {
    -webkit-appearance:checkbox;
    appearance:auto;
    width:26px;
    height:26px;
    min-height:0;
    margin:2px 0 0;
    padding:0;
    accent-color:var(--c-body);
    background-image:none;
    box-shadow:none;
}

main.screen .consent label {
    margin:0;
    color:var(--c-body);
    font-size:.9375rem;
    font-weight:400;
    line-height:1.5;
}

main.screen .consent .err {
    grid-column:2;
    margin:0;
}

main.screen button[type="submit"] {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:58px;
    margin:0;
    padding:14px 22px;
    background-color:var(--c-brand);
    color:var(--c-brand-text);
    border:2px solid var(--c-body);
    border-radius:10px;
    box-shadow:none;
    font-family:var(--f-body);
    font-size:1.2rem;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease;
}

main.screen button[type="submit"]:hover {
    background-color:var(--c-body);
    color:var(--c-panel);
    border-color:var(--c-body);
}

main.screen .card>p.fine {
    margin:16px 0 0;
    color:var(--c-dim);
    font-size:.8125rem;
    line-height:1.55;
}

main.screen .done {
    margin:0;
    padding:26px 22px;
    background-color:var(--c-paper);
    color:var(--c-body);
    border:2px solid var(--c-body);
    border-radius:16px;
    box-shadow:6px 6px 0 var(--c-brand);
}

main.screen .done h2 {
    margin:0 0 10px;
    font-size:1.45rem;
}

main.screen .done p {
    margin:0;
}

main.screen section.detail {
    background-color:transparent;
}

main.screen section.detail>div {
    padding:22px 0;
    border-top:3px dotted var(--c-brand);
}

main.screen section.detail h2 {
    margin:0 0 8px;
    font-size:1.25rem;
    line-height:1.25;
}

main.screen section.detail p {
    max-width:60ch;
    margin:0;
}

@media(min-width:480px) {
    main.screen form.card {
        padding:30px 28px 32px;
    }
}

@media(min-width:768px) {
    main.screen {
        padding-top:52px;
        padding-bottom:96px;
    }
    main.screen section.detail {
        display:grid;
        grid-template-columns:1fr 1fr;
        column-gap:36px;
    }
    main.screen section.detail>div {
        padding:24px 0;
    }
}

@media(min-width:1024px) {
    main.screen {
        grid-template-columns:minmax(0,1fr) minmax(360px,420px);
        grid-template-areas:"intro card" "detail card";
        column-gap:clamp(40px,5vw,72px);
        row-gap:36px;
        align-items:start;
    }
    main.screen>section.intro {
        grid-area:intro;
    }
    main.screen>form.card,main.screen>div.done {
        grid-area:card;
        position:sticky;
        top:24px;
    }
    main.screen>section.detail {
        grid-area:detail;
    }
}
