/* ==== FONT-FACE ==== */
@font-face {
    font-display:swap;
    font-family:'Oswald';
    font-style:normal;
    font-weight:300 700;
    src:url('../fonts/oswald.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family:'Oswald Fallback';
    src:local('Arial');
    size-adjust:80.5%;
}
@font-face {
    font-display:swap;
    font-family:'Source Serif 4';
    font-style:normal;
    font-weight:300 700;
    src:url('../fonts/sourceserif.woff2') format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family:'Source Serif 4 Fallback';
    src:local('Georgia');
    size-adjust:106.4%;
}

/* ==== BASE / TOKENS ==== */
img{max-width:100%;height:auto}

:root{
    --n1:hsl(220 38% 97%);
    --n2:hsl(0 0% 100%);
    --n3:hsl(218 31% 93%);
    --n4:hsl(220 23% 84%);
    --n5:hsl(222 36% 11%);
    --n6:hsl(222 29% 13%);
    --n7:hsl(220 35% 93%);
    --n8:hsl(218 15% 44%);
    --a1:hsl(217 79% 37%);
    --a2:hsl(218 64% 90%);
    --sw:hsl(220 10% 70%);
    --sw-d:hsl(220 10% 55%);
    --sw-l:hsl(220 10% 82%);
    --r1:20px;
    --r2:10px;
}

/* ==== MUTED ON TINT (AA) ==== */
.sec-tint,.band-wall,.pcard,.buy,.toc,.muster,.sumbox,.pay-box,.co-msg,.cart-fallback,.cart-empty,.conf-neutral,.conf-addr,.thanks-card{--n8:hsl(218 16% 42%)}

/* ==== TYPOGRAPHY ==== */
h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
h3{font-size:1.2rem}

p{margin:0 0 1rem}
p:last-child{margin-bottom:0}

a:hover{text-decoration:underline}

code{font-family:'Source Serif 4','Source Serif 4 Fallback',Georgia,serif;background:var(--n3);padding:2px 6px;border-radius:6px;font-size:.95em}

/* ==== LAYOUT PRIMITIVES ==== */
.narrow{width:min(860px,100%)}

.sec{padding-block:clamp(40px,6vw,76px)}
.sec-pad{padding-block:clamp(52px,8vw,104px)}
.sec-tint{background:var(--n3)}

.eyebrow{font-family:'Oswald','Oswald Fallback',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;color:var(--a1);margin:0 0 10px}
.eyebrow-l{color:hsl(218 70% 72%)}

.sec-t{font-size:clamp(1.9rem,4vw,3rem);margin:0 0 18px;max-width:20ch}
.narrow .sec-t{font-size:clamp(1.7rem,3.2vw,2.3rem)}
.lead{font-size:1.18rem;color:var(--n8);max-width:60ch;margin:0 0 28px}

/* ==== FOOTER ==== */
.ft{background:var(--n5);color:var(--n7);padding-top:56px;padding-bottom:28px;margin-top:0}
.ft-in{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}
.ft-h{font-family:'Oswald','Oswald Fallback',Arial,sans-serif;font-size:1.3rem;letter-spacing:.03em;margin:0 0 14px}
.ft-note{color:hsl(220 20% 74%);font-size:.96rem;margin:0 0 12px;max-width:52ch}
.ft-note a{color:hsl(218 70% 72%)}

.ft-list{list-style:none;margin:0;padding:0}
.ft-lnk{display:inline-block;color:hsl(218 70% 74%);text-decoration:none;padding:8px 0}
.ft-lnk:hover{text-decoration:underline}

.ft-legal{margin-top:36px;border-top:1px solid hsl(222 30% 22%);padding-top:18px;color:hsl(220 16% 62%);font-size:.88rem}

/* ==== AVAILABILITY STATES ==== */
.av-in,.av-part,.av-out{font-size:.92rem;margin:0 0 4px}
.av-in{color:var(--a1)}
.av-part{color:var(--n8)}
.av-out{color:hsl(2 58% 42%)}

/* ==== REVEAL ==== */
html.with-js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
html.with-js .reveal.landed{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
    html.with-js .reveal{opacity:1;transform:none;transition:none}
}

@media(max-width:760px){
    .ft-in{grid-template-columns:1fr;gap:28px}
}
