/* Desktop preserved; mobile compatibility is a lower cascade layer. */
@layer legacy {
@media(min-width:761px) {
:root {
    --thanks-bg:#fff8f3;
    --thanks-ink:#241b19;
    --thanks-muted:#7c6c66;
    --thanks-red:#c91624;
    --thanks-coral:#f4b5a2;
    --thanks-blue:#91b8c9;
    --thanks-green:#a8bf9c;
    --thanks-line:rgba(36,27,25,.16);
}

* { box-sizing:border-box; }
body.thanks-page {
    position:relative;
    margin:0;
    min-height:100dvh;
    color:var(--thanks-ink);
    background:#fff8f3;
    font-family:system-ui,sans-serif;
}
body.thanks-page::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:radial-gradient(circle at 18% 18%, rgba(201,22,36,.07), transparent 24%);
    pointer-events:none;
}
a { color:inherit; text-decoration:none; }

.thanks-shell {
    position:relative;
    z-index:1;
    width:min(1120px, calc(100% - 40px));
    min-height:100dvh;
    margin:0 auto;
    padding:20px 0 72px;
}
.thanks-topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:48px;
}
.thanks-brand {
    color:var(--thanks-red);
    font-size:11px;
    font-weight:950;
    letter-spacing:.16em;
}
.thanks-topbar nav { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.thanks-topbar nav a {
    display:inline-flex;
    min-height:34px;
    align-items:center;
    padding:0 12px;
    border:1px solid rgba(201,22,36,.18);
    border-radius:999px;
    background:rgba(255,255,255,.62);
    color:var(--thanks-muted);
    font-size:12px;
    font-weight:850;
}

.thanks-hero {
    position:relative;
    display:grid;
    gap:0;
    min-height:390px;
    padding:72px 0 34px;
}
.thanks-hero p,
.thanks-line span,
.thanks-group-title span {
    margin:0;
    color:var(--thanks-red);
    font-family:system-ui,sans-serif;
    font-size:16px;
    font-weight:800;
    letter-spacing:0;
}
.thanks-hero h1 {
    position:relative;
    z-index:1;
    max-width:760px;
    margin:14px 0 16px;
    font-family:system-ui,sans-serif;
    font-size:clamp(42px, 7.8vw, 92px);
    line-height:.98;
    letter-spacing:0;
}
.thanks-hero span {
    position:relative;
    z-index:1;
    display:block;
    max-width:640px;
    color:var(--thanks-muted);
    font-size:16px;
    line-height:1.9;
}
.thanks-hero-mark {
    position:relative;
    display:grid;
    justify-items:start;
    align-content:start;
    margin-top:28px;
    padding-top:16px;
}
.thanks-hero-mark strong {
    color:rgba(201,22,36,.08);
    font:900 clamp(68px, 14vw, 160px)/.8 system-ui,sans-serif;
    letter-spacing:0;
}
.thanks-hero-mark i {
    display:block;
    width:min(100%, 860px);
    height:3px;
    margin-top:6px;
    background:var(--thanks-ink);
}

.thanks-scroll {
    position:relative;
    display:grid;
    gap:0;
    padding:8px 0 0;
}
.thanks-line,
.thanks-group,
.thanks-special {
    position:relative;
    padding:34px 0;
    border-bottom:1px solid var(--thanks-line);
}
.thanks-group-title {
    display:flex;
    align-items:center;
    gap:14px;
}
.thanks-group-title img {
    flex:0 0 auto;
    width:44px;
    height:44px;
    object-fit:contain;
    filter:drop-shadow(0 10px 18px rgba(98,43,34,.1));
}
.thanks-line ul,
.thanks-group ul,
.thanks-special ul {
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px 30px;
    margin:22px 0 0;
    padding:0;
    list-style:none;
    text-align:center;
}
.thanks-line ul {
    grid-template-columns:repeat(3, minmax(0,1fr));
}
.thanks-line li,
.thanks-group li,
.thanks-special li {
    min-width:0;
    font-family:system-ui,sans-serif;
    font-size:22px;
    font-weight:700;
    line-height:1.45;
    word-break:break-word;
    justify-self:center;
}
.thanks-group-wide ul { grid-template-columns:repeat(3, minmax(0,1fr)); }
.thanks-special {
    border-bottom:0;
    padding-bottom:24px;
}
.thanks-special ul { grid-template-columns:repeat(3, minmax(0,1fr)); }
.thanks-special li {
    display:block;
}
.thanks-note {
    margin:20px 0 0 34px;
    padding:16px 0 0;
    border-top:1px solid var(--thanks-line);
    color:var(--thanks-muted);
    font-size:16px;
    font-weight:800;
    line-height:1.8;
}
.thanks-note a {
    color:var(--thanks-red);
    font-weight:900;
    text-decoration:underline;
    text-underline-offset:4px;
}

@media (max-width: 820px) {
    body.thanks-page {
        background:#fff8f3;
    }
    .thanks-shell { width:min(100% - 32px, 1120px); padding-top:14px; }
    .thanks-topbar { align-items:flex-start; flex-direction:column; }
    .thanks-topbar nav { justify-content:flex-start; }
    .thanks-hero {
        min-height:0;
        padding:48px 0 34px;
    }
    .thanks-hero p {
        font-size:12px;
        letter-spacing:.12em;
    }
    .thanks-hero h1 {
        font-size:clamp(28px, 7.4vw, 38px);
        white-space:nowrap;
        letter-spacing:-.02em;
    }
    .thanks-hero span {
        font-size:14px;
        line-height:1.75;
    }
    .thanks-hero-mark {
        margin-top:22px;
        padding-top:12px;
    }
    .thanks-hero-mark strong {
        font-size:clamp(56px, 18vw, 92px);
    }
    .thanks-hero-mark i {
        height:2px;
    }
    .thanks-scroll { padding-left:0; }
    .thanks-line ul,
    .thanks-group ul,
    .thanks-group-wide ul,
    .thanks-special ul { grid-template-columns:1fr; gap:14px; }
    .thanks-line li,
    .thanks-group li,
    .thanks-special li { font-size:22px; }
    .thanks-note { margin-left:0; }
}

.thanks-page .mobile-app-nav {
    display:none!important;
}

}
@media(max-width:760px) {
:root {
    
    
    
    
    --thanks-coral:#f4b5a2;
    --thanks-blue:#91b8c9;
    --thanks-green:#a8bf9c;
    
}

* { box-sizing:border-box; }
body.thanks-page {
    position:relative;
    margin:0;
    min-height:100dvh;
    color:var(--dream-ink);
    background:#fff8f3;
    font-family:system-ui,sans-serif;
}
body.thanks-page::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:radial-gradient(circle at 18% 18%, rgba(201,22,36,.07), transparent 24%);
    pointer-events:none;
}
a { color:inherit; text-decoration:none; }

.thanks-shell {
    position:relative;
    z-index:1;
    width:min(1120px, calc(100% - 40px));
    min-height:100dvh;
    margin:0 auto;
    padding:20px 0 72px;
}
.thanks-topbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:48px;
}
.thanks-brand {
    color:var(--dream-accent-ink);
    font-size:11px;
    font-weight:950;
    letter-spacing:.16em;
}
.thanks-topbar nav { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.thanks-topbar nav a {
    display:inline-flex;
    min-height:34px;
    align-items:center;
    padding:0 12px;
    border:1px solid rgba(201,22,36,.18);
    border-radius:999px;
    background:rgba(255,255,255,.62);
    color:var(--dream-muted);
    font-size:12px;
    font-weight:850;
}

.thanks-hero {
    position:relative;
    display:grid;
    gap:0;
    min-height:390px;
    padding:72px 0 34px;
}
.thanks-hero p,
.thanks-line span,
.thanks-group-title span {
    margin:0;
    color:var(--dream-accent-ink);
    font-family:system-ui,sans-serif;
    font-size:16px;
    font-weight:800;
    letter-spacing:0;
}
.thanks-hero h1 {
    position:relative;
    z-index:1;
    max-width:760px;
    margin:14px 0 16px;
    font-family:system-ui,sans-serif;
    font-size:clamp(42px, 7.8vw, 92px);
    line-height:.98;
    letter-spacing:0;
}
.thanks-hero span {
    position:relative;
    z-index:1;
    display:block;
    max-width:640px;
    color:var(--dream-muted);
    font-size:16px;
    line-height:1.9;
}
.thanks-hero-mark {
    position:relative;
    display:grid;
    justify-items:start;
    align-content:start;
    margin-top:28px;
    padding-top:16px;
}
.thanks-hero-mark strong {
    color:rgba(201,22,36,.08);
    font:900 clamp(68px, 14vw, 160px)/.8 system-ui,sans-serif;
    letter-spacing:0;
}
.thanks-hero-mark i {
    display:block;
    width:min(100%, 860px);
    height:3px;
    margin-top:6px;
    background:var(--dream-ink);
}

.thanks-scroll {
    position:relative;
    display:grid;
    gap:0;
    padding:8px 0 0;
}
.thanks-line,
.thanks-group,
.thanks-special {
    position:relative;
    padding:34px 0;
    border-bottom:1px solid var(--dream-border);
}
.thanks-group-title {
    display:flex;
    align-items:center;
    gap:14px;
}
.thanks-group-title img {
    flex:0 0 auto;
    width:44px;
    height:44px;
    object-fit:contain;
    filter:drop-shadow(0 10px 18px rgba(98,43,34,.1));
}
.thanks-line ul,
.thanks-group ul,
.thanks-special ul {
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px 30px;
    margin:22px 0 0;
    padding:0;
    list-style:none;
    text-align:center;
}
.thanks-line ul {
    grid-template-columns:repeat(3, minmax(0,1fr));
}
.thanks-line li,
.thanks-group li,
.thanks-special li {
    min-width:0;
    font-family:system-ui,sans-serif;
    font-size:22px;
    font-weight:700;
    line-height:1.45;
    word-break:break-word;
    justify-self:center;
}
.thanks-group-wide ul { grid-template-columns:repeat(3, minmax(0,1fr)); }
.thanks-special {
    border-bottom:0;
    padding-bottom:24px;
}
.thanks-special ul { grid-template-columns:repeat(3, minmax(0,1fr)); }
.thanks-special li {
    display:block;
}
.thanks-note {
    margin:20px 0 0 34px;
    padding:16px 0 0;
    border-top:1px solid var(--dream-border);
    color:var(--dream-muted);
    font-size:16px;
    font-weight:800;
    line-height:1.8;
}
.thanks-note a {
    color:var(--dream-accent-ink);
    font-weight:900;
    text-decoration:underline;
    text-underline-offset:4px;
}

@media (max-width: 820px) {
    body.thanks-page {
        background:#fff8f3;
    }
    .thanks-shell { width:min(100% - 32px, 1120px); padding-top:14px; }
    .thanks-topbar { align-items:flex-start; flex-direction:column; }
    .thanks-topbar nav { justify-content:flex-start; }
    .thanks-hero {
        min-height:0;
        padding:48px 0 34px;
    }
    .thanks-hero p {
        font-size:12px;
        letter-spacing:.12em;
    }
    .thanks-hero h1 {
        font-size:clamp(28px, 7.4vw, 38px);
        white-space:nowrap;
        letter-spacing:-.02em;
    }
    .thanks-hero span {
        font-size:14px;
        line-height:1.75;
    }
    .thanks-hero-mark {
        margin-top:22px;
        padding-top:12px;
    }
    .thanks-hero-mark strong {
        font-size:clamp(56px, 18vw, 92px);
    }
    .thanks-hero-mark i {
        height:2px;
    }
    .thanks-scroll { padding-left:0; }
    .thanks-line ul,
    .thanks-group ul,
    .thanks-group-wide ul,
    .thanks-special ul { grid-template-columns:1fr; gap:14px; }
    .thanks-line li,
    .thanks-group li,
    .thanks-special li { font-size:22px; }
    .thanks-note { margin-left:0; }
}

.thanks-page .mobile-app-nav {
    display:none;
}

}
}

/* Music credits and expandable license statement. */
body.thanks-page .thanks-music {
    padding:34px 0 24px;
    border-bottom:1px solid var(--dream-border, rgba(36,27,25,.16));
}
body.thanks-page .thanks-music-heading {
    gap:12px;
    margin-bottom:22px;
}
body.thanks-page .thanks-music-heading > span {
    font-size:30px;
    line-height:1;
}
body.thanks-page .thanks-music-heading h2 {
    margin:0;
    color:var(--dream-accent-ink, #c91624);
    font-size:24px;
    font-weight:850;
}
body.thanks-page .thanks-music-list {
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:0;
    overflow:hidden;
    border:1px solid rgba(201,22,36,.12);
    border-radius:18px;
    background:rgba(255,255,255,.7);
}
body.thanks-page .thanks-music-card {
    min-width:0;
    padding:22px;
}
body.thanks-page .thanks-music-card + .thanks-music-card {
    border-left:1px solid rgba(201,22,36,.12);
}
body.thanks-page .thanks-music-card h3 {
    margin:0 0 14px;
    color:var(--dream-ink, #241b19);
    font-size:17px;
    line-height:1.45;
    overflow-wrap:anywhere;
}
body.thanks-page .thanks-music-card p {
    margin:6px 0 0;
    color:var(--dream-muted, #7c6c66);
    font-size:14px;
    line-height:1.65;
    overflow-wrap:anywhere;
}
body.thanks-page .thanks-music-card p strong {
    color:var(--dream-ink, #4b3d40);
}
body.thanks-page .thanks-music-disclosure {
    margin-top:18px;
    border:1px solid rgba(201,22,36,.16);
    border-radius:16px;
    background:rgba(255,255,255,.62);
}
body.thanks-page .thanks-music-disclosure summary {
    position:relative;
    padding:16px 48px 16px 18px;
    color:var(--dream-accent-ink, #c91624);
    font-size:15px;
    font-weight:850;
    cursor:pointer;
    list-style:none;
}
body.thanks-page .thanks-music-disclosure summary::-webkit-details-marker { display:none; }
body.thanks-page .thanks-music-disclosure summary::after {
    content:"＋";
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    font-size:20px;
    font-weight:500;
}
body.thanks-page .thanks-music-disclosure[open] summary::after { content:"−"; }
body.thanks-page .thanks-music-disclosure summary:focus-visible {
    outline:2px solid var(--dream-accent-ink, #c91624);
    outline-offset:3px;
    border-radius:14px;
}
body.thanks-page .thanks-music-disclosure-body {
    padding:0 18px 18px;
    border-top:1px solid rgba(201,22,36,.1);
    color:var(--dream-muted, #6f6064);
    font-size:14px;
    line-height:1.8;
    overflow-wrap:anywhere;
}
body.thanks-page .thanks-music-disclosure-body p { margin:14px 0 0; }
body.thanks-page .thanks-music-disclosure-body h3 {
    margin:18px 0 4px;
    color:var(--dream-ink, #35272b);
    font-size:15px;
}
body.thanks-page .thanks-music-disclosure-body ul {
    display:grid;
    gap:3px;
    margin:0;
    padding-left:20px;
}
body.thanks-page .thanks-music-disclosure-body li { line-height:1.7; }
body.thanks-page .thanks-music-disclosure-body strong { color:var(--dream-ink, #4b3d40); }

@media(max-width:820px) {
    body.thanks-page .thanks-music-list { grid-template-columns:1fr; }
    body.thanks-page .thanks-music-card { padding:18px; }
    body.thanks-page .thanks-music-card + .thanks-music-card {
        border-top:1px solid rgba(201,22,36,.12);
        border-left:0;
    }
    body.thanks-page .thanks-music-heading h2 { font-size:21px; }
}
