:root {
    color-scheme: light;
    --royal-sapphire: #142850;
    --bright-azure: #27496d;
    --sky-shine: #00a8e8;
    --lavender-glow: #b388eb;
    --soft-linen: #fff7f0;
    --ink: #0c1324;
    --mist: rgba(255, 247, 240, 0.08);
    --glass: rgba(255, 247, 240, 0.16);
    --glass-strong: rgba(255, 247, 240, 0.28);
    --shadow-soft: 0 10px 30px rgba(20, 40, 80, 0.12);
    --shadow-float: 0 24px 50px rgba(20, 40, 80, 0.18);
    --shadow-inner: inset 2px 2px 6px rgba(255, 255, 255, 0.25), inset -3px -3px 10px rgba(20, 40, 80, 0.12);
    --radius-sm: clamp(10px, 2.4vw, 14px);
    --radius-md: clamp(14px, 3vw, 22px);
    --radius-lg: clamp(22px, 4vw, 36px);
    --space-xxs: clamp(0.25rem, 0.6vw, 0.45rem);
    --space-xs: clamp(0.45rem, 1.2vw, 0.75rem);
    --space-sm: clamp(0.75rem, 1.8vw, 1rem);
    --space-md: clamp(1rem, 2.8vw, 1.65rem);
    --space-lg: clamp(1.65rem, 5vw, 2.75rem);
    --space-xl: clamp(2.75rem, 8vw, 4.5rem);
    --space-xxl: clamp(4rem, 12vw, 7rem);
    --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
    --font-body: "Source Sans 3", system-ui, sans-serif;
    --text-xxs: clamp(0.7rem, 1.85vw + 0.52rem, 0.76rem);
    --text-xs: clamp(0.78rem, 2vw + 0.54rem, 0.85rem);
    --text-sm: clamp(0.88rem, 2.2vw + 0.55rem, 1rem);
    --text-base: clamp(1rem, 2.35vw + 0.62rem, 1.125rem);
    --text-lg: clamp(1.12rem, 3vw + 0.72rem, 1.38rem);
    --text-xl: clamp(1.35rem, 4vw + 0.88rem, 1.75rem);
    --text-xxl: clamp(1.7rem, 6.5vw + 1rem, 3rem);
    --text-display: clamp(2.05rem, 10vw + 1rem, 3.95rem);
    --max-content: min(1180px, 100%);
    --header-h: clamp(62px, 14vw, 76px);
    --transition-fast: 160ms cubic-bezier(0.22, 1, 0.36, 1);
    --transition-medium: 320ms cubic-bezier(0.22, 1, 0.36, 1);
    --grain: radial-gradient(transparent 0 100%), radial-gradient(at 70% -10%, rgba(0, 168, 232, 0.18), transparent 55%), radial-gradient(at 14% 20%, rgba(179, 136, 235, 0.2), transparent 45%);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        scroll-behavior: auto !important;
    }
}

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.62;
    color: var(--ink);
    background-color: var(--soft-linen);
    background-image: var(--grain);
    overflow-x: hidden;
    padding-top: var(--header-h);
    min-height: 100vh;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

picture {
    display: block;
}

a {
    color: var(--bright-azure);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: color var(--transition-fast), opacity var(--transition-fast);
}

a:hover {
    color: var(--sky-shine);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid var(--lavender-glow);
    outline-offset: 3px;
}

.surface {
    position: relative;
    isolation: isolate;
}



.u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.shell {
    width: min(var(--max-content), calc(100% - var(--space-md) * 2));
    margin-inline: auto;
}

.shell--wide {
    width: min(min(1380px, 100%), calc(100% - clamp(14px, 4vw, 28px)));
    margin-inline: auto;
}

.site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1000;
    height: var(--header-h);
    background: rgba(20, 40, 80, 0.55);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(179, 136, 235, 0.25);
    box-shadow: var(--shadow-soft);
    transition: backdrop-filter var(--transition-medium), background var(--transition-medium), box-shadow var(--transition-medium), height var(--transition-medium);
}

.site-header--compact {
    height: clamp(54px, 12vw, 66px);
    background: rgba(20, 40, 80, 0.78);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    height: 100%;
    padding-inline: clamp(12px, 3vw, 22px);
}

.brand {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4em;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--text-sm);
    letter-spacing: -0.02em;
}

.brand__mark {
    display: inline-grid;
    place-items: center;
    width: clamp(34px, 9vw, 42px);
    height: clamp(34px, 9vw, 42px);
    border-radius: 13px;
    background: linear-gradient(135deg, var(--bright-azure), var(--royal-sapphire));
    color: var(--soft-linen);
    font-size: 0.92em;
    box-shadow: var(--shadow-inner), var(--shadow-soft);
}

.brand__text {
    color: var(--soft-linen);
}

.brand__tag {
    font-size: var(--text-xxs);
    font-weight: 500;
    color: rgba(255, 247, 240, 0.68);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.primary-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(6px, 2vw, 14px);
    justify-content: flex-end;
}

.primary-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 7px clamp(12px, 2.4vw, 16px);
    border-radius: 999px;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--soft-linen);
    text-decoration: none;
    border: 1px solid transparent;
    background: rgba(255, 247, 240, 0.06);
    transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.primary-nav__link:hover {
    color: var(--soft-linen);
    background: rgba(0, 168, 232, 0.22);
    border-color: rgba(0, 168, 232, 0.35);
    transform: translateY(-1px);
}

.primary-nav__link[aria-current="page"] {
    background: rgba(179, 136, 235, 0.22);
    border-color: rgba(179, 136, 235, 0.45);
}

.nav-toggle {
    position: relative;
    z-index: 1002;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: clamp(46px, 12vw, 52px);
    height: clamp(46px, 12vw, 52px);
    border-radius: 16px;
    border: 1px solid rgba(255, 247, 240, 0.28);
    background: radial-gradient(circle at 40% -20%, rgba(0, 168, 232, 0.22), transparent 55%), rgba(255, 247, 240, 0.12);
    color: var(--soft-linen);
    cursor: pointer;
    isolation: isolate;
    box-shadow: var(--shadow-inner), 0 4px 16px rgba(12, 19, 36, 0.25);
    transition: transform var(--transition-fast), border-color var(--transition-fast),
        box-shadow var(--transition-fast), background var(--transition-fast);
}

.nav-toggle:hover {
    border-color: var(--lavender-glow);
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(0, 168, 232, 0.18);
}

.nav-toggle:focus-visible {
    outline: none;
}

.nav-toggle:active {
    transform: translateY(0) scale(0.98);
}

.nav-toggle__halo {
    position: absolute;
    inset: -4px;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1);
    background: conic-gradient(from 200deg at 52% 40%,
            rgba(179, 136, 235, 0.35),
            rgba(0, 168, 232, 0.45),
            rgba(179, 136, 235, 0.28),
            rgba(179, 136, 235, 0.35));
    mask: radial-gradient(circle farthest-side at center, #000 64%, transparent 100%);
}

.primary-nav.primary-nav--open .nav-toggle__halo {
    opacity: 1;
}

.nav-toggle__bars {
    width: clamp(21px, 5.5vw, 24px);
    height: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: gap var(--transition-medium);
}

.nav-toggle__bar {
    height: 2px;
    width: 100%;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 1px 0 rgba(20, 40, 80, 0.18);
    transform-origin: center;
    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
        width 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.primary-nav.primary-nav--open .nav-toggle__bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.primary-nav.primary-nav--open .nav-toggle__bar:nth-child(2) {
    opacity: 0;
    width: 32%;
}

.primary-nav.primary-nav--open .nav-toggle__bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

.nav-overlay {
    display: none;
}

.nav-drawer {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
}

@media (max-width: 959.98px) {
    .site-header__inner {
        position: relative;
        z-index: 1003;
        gap: clamp(10px, 3vw, 18px);
    }

    .nav-overlay {
        display: block;
        position: fixed;
        inset: var(--header-h) 0 0 0;
        z-index: 998;
        background: linear-gradient(145deg, rgba(12, 19, 36, 0.58), rgba(20, 40, 80, 0.45));
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), visibility step-end 420ms;
    }

    .nav-overlay.is-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 380ms cubic-bezier(0.22, 1, 0.36, 1), visibility step-start 80ms;
    }

    .primary-nav.position-wrap {
        position: relative;
        z-index: 1002;
        margin-inline-start: auto;
    }

    body.nav-open-overflow {
        overscroll-behavior: contain;
    }

    .nav-drawer {
        position: fixed;
        top: calc(var(--header-h) + 12px);
        right: clamp(12px, 4vw, 24px);
        bottom: clamp(14px, 5vw, 28px);
        left: auto;
        width: min(22rem, calc(100vw - clamp(20px, 6vw, 36px)));
        max-width: calc(100vw - 26px);
        padding: clamp(18px, 5vw, 28px) clamp(14px, 4vw, 22px);
        border-radius: var(--radius-lg);
        pointer-events: auto;
        background: radial-gradient(circle at 118% -6%, rgba(0, 168, 232, 0.22), transparent 46%),
            linear-gradient(160deg, rgba(20, 40, 80, 0.97), rgba(39, 73, 109, 0.92));
        border: 1px solid rgba(179, 136, 235, 0.28);
        box-shadow: 0 -8px 50px rgba(12, 19, 36, 0.45), var(--shadow-float);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        overflow: auto;
        transform: translate3d(116%, 0, 0) scale(0.98);
        transform-origin: center right;
        transition: opacity 460ms cubic-bezier(0.22, 1, 0.36, 1), transform 540ms cubic-bezier(0.14, 0.93, 0.24, 1),
            visibility step-end 480ms;
    }

    .primary-nav.primary-nav--open .nav-drawer {
        height: 100vh;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0) scale(1);
        transition: opacity 460ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.14, 0.93, 0.22, 1),
            visibility step-start 72ms;
    }

    body.nav-open-overflow {
        overflow: hidden;
        touch-action: none;
    }

    .primary-nav ul {
        flex-direction: column;
        align-items: stretch;
        gap: clamp(8px, 2.5vw, 12px);
    }

    .primary-nav ul::before {
        content: "Navigate";
        font-family: var(--font-display);
        font-weight: 800;
        font-size: clamp(0.92rem, 3.4vw + 0.74rem, 1.06rem);
        letter-spacing: 0.06em;
        text-transform: uppercase;
        margin-bottom: clamp(8px, 2.5vw, 12px);
        color: rgba(255, 247, 240, 0.78);
    }

    .primary-nav ul::after {
        content: "";
        display: block;
        margin-top: clamp(12px, 3.5vw, 18px);
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(255, 247, 240, 0.24), transparent);
        border-radius: 999px;
    }

    .primary-nav__link {
        justify-content: flex-start;
        width: 100%;
        border-radius: 14px;
        padding: clamp(12px, 4vw, 14px) clamp(14px, 4vw, 18px);
        font-size: clamp(0.88rem, 2.75vw + 0.74rem, 1rem);
    }
}


@media (min-width: 960px) {
    .nav-overlay {
        display: none !important;
    }

    .nav-toggle {
        display: none;
    }

    .primary-nav.position-wrap {
        position: static;
    }

    .nav-drawer {
        position: static;
        inset: auto;
        top: auto;
        right: auto;
        bottom: auto;
        width: auto;
        max-width: none;
        padding: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        backdrop-filter: none;
        overflow: visible;
        opacity: 1 !important;
        pointer-events: auto !important;
        visibility: visible !important;
        transform: none !important;
        transition: none;
    }

    .primary-nav ul::before,
    .primary-nav ul::after {
        content: none;
        margin: 0;
        padding: 0;
        height: auto;
        background: transparent;
        display: none;
    }

    .primary-nav ul {
        flex-direction: row;
        justify-content: flex-end;
        flex-wrap: nowrap;
    }

    .primary-nav.primary-nav--open .nav-drawer {
        transform: none;
    }

    body {
        overflow-x: hidden;
        padding-top: var(--header-h);
    }
}

.hero-aurora {
    position: relative;
    padding-block: clamp(52px, 14vw, 110px);
    background: radial-gradient(1200px circle at 8% -10%, rgba(0, 168, 232, 0.45), transparent 55%), radial-gradient(900px circle at 90% 0%, rgba(179, 136, 235, 0.34), transparent 48%), linear-gradient(120deg, var(--royal-sapphire), var(--bright-azure) 62%, var(--royal-sapphire));
    color: var(--soft-linen);
}

.hero-aurora__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
}

@media (min-width: 900px) {
    .hero-aurora__grid {
        grid-template-columns: minmax(0, 1.06fr) minmax(280px, 0.94fr);
        align-items: end;
        gap: clamp(24px, 5vw, 56px);
    }
}

.hero-aurora__kicker {
    display: inline-flex;
    gap: var(--space-xs);
    align-items: center;
    padding: var(--space-xs) var(--space-sm);
    border-radius: 999px;
    background: rgba(255, 247, 240, 0.12);
    border: 1px solid rgba(255, 247, 240, 0.18);
    font-size: var(--text-xxs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
}

.hero-aurora__title {
    margin: var(--space-sm) 0 var(--space-md);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-display);
    letter-spacing: -0.038em;
    line-height: 1.06;
}

.hero-aurora__lede {
    margin: 0;
    font-size: var(--text-lg);
    max-width: 46ch;
    color: rgba(255, 247, 240, 0.86);
}

.hero-aurora__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}

.btn {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.92em clamp(17px, 4vw, 26px);
    border-radius: 999px;
    border: none;
    font-family: var(--font-display);
    font-size: var(--text-sm);
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), opacity var(--transition-fast), border-color var(--transition-fast);
}

.btn:active {
    transform: translateY(1px);
}

.btn--lime {
    background: linear-gradient(120deg, var(--sky-shine), #40cfff);
    color: var(--royal-sapphire);
    box-shadow: 0 12px 32px rgba(0, 168, 232, 0.32);
}

.btn--lime:hover {
    box-shadow: 0 16px 40px rgba(0, 168, 232, 0.44);
}

.btn--ghost-light {
    background: rgba(255, 247, 240, 0.06);
    color: var(--soft-linen);
    border: 1px solid rgba(255, 247, 240, 0.22);
}

.btn--ghost-light:hover {
    background: rgba(255, 247, 240, 0.13);
}

.btn--lavender {
    background: linear-gradient(130deg, var(--lavender-glow), #c9abf5);
    color: var(--royal-sapphire);
    box-shadow: 0 12px 34px rgba(179, 136, 235, 0.32);
}

.btn--outline-azure {
    background: transparent;
    color: var(--bright-azure);
    border: 2px solid rgba(39, 73, 109, 0.35);
}

.btn--outline-azure:hover {
    border-color: var(--sky-shine);
    color: var(--royal-sapphire);
}

.btn--muted {
    background: rgba(20, 40, 80, 0.07);
    color: var(--royal-sapphire);
    border: 1px solid rgba(39, 73, 109, 0.16);
}

.btn--muted:hover {
    border-color: var(--bright-azure);
}

.hero-panel {
    position: relative;
    padding: clamp(18px, 4vw, 28px);
    border-radius: var(--radius-lg);
    background: linear-gradient(148deg, rgba(255, 247, 240, 0.18), rgba(255, 247, 240, 0.08));
    border: 1px solid rgba(255, 247, 240, 0.26);
    box-shadow: inset 6px 6px 16px rgba(255, 255, 255, 0.12), inset -8px -8px 20px rgba(8, 10, 20, 0.25), var(--shadow-float);
    backdrop-filter: blur(10px);
    transform: rotate(-0.65deg);
}

.hero-panel:hover {
    transform: rotate(-0.45deg) translateY(-4px);
    transition: transform var(--transition-medium);
}

@media (min-width: 900px) {
    .hero-panel {
        margin-bottom: clamp(12px, 3vw, 26px);
    }
}

.hero-panel__stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
}

.hero-panel dt {
    font-size: var(--text-xxs);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 247, 240, 0.68);
}

.hero-panel dd {
    margin: 2px 0 0;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-lg);
}

.notice-banner {
    padding-block: clamp(42px, 10vw, 72px);
    background: radial-gradient(600px ellipse at 0% 90%, rgba(179, 136, 235, 0.16), transparent 60%), radial-gradient(700px ellipse at 100% -10%, rgba(0, 168, 232, 0.12), transparent 55%), var(--soft-linen);
}

.notice-banner__card {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-md);
    padding: clamp(18px, 4vw, 28px);
    border-radius: var(--radius-lg);
    background: linear-gradient(138deg, #ffffff, rgba(179, 136, 235, 0.16));
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-soft);
}

@media (min-width: 820px) {
    .notice-banner__card {
        grid-template-columns: minmax(0, 140px) minmax(0, 1fr);
        align-items: start;
    }
}

.figure-badge {
    display: grid;
    place-items: center;
    align-self: start;
    width: clamp(90px, 22vw, 120px);
    height: clamp(90px, 22vw, 120px);
    border-radius: 30% 70% 60% 40% / 40% 50% 55% 60%;
    background: radial-gradient(circle at 30% 30%, rgba(0, 168, 232, 0.35), transparent 55%), linear-gradient(150deg, var(--bright-azure), var(--lavender-glow));
    color: var(--soft-linen);
    font-size: clamp(44px, 12vw, 56px);
    box-shadow: var(--shadow-float);
}

.figure-badge i {
    line-height: 1;
}

.split-reveal {
    padding-block: var(--space-xxl);
}

.split-reveal__wrap {
    display: grid;
    gap: clamp(28px, 7vw, 58px);
}

@media (min-width: 960px) {
    .split-reveal__wrap {
        grid-template-columns: 0.94fr minmax(0, 1.12fr);
        align-items: stretch;
        gap: clamp(22px, 5vw, 48px);
    }
}

.shard-card {
    position: relative;
    padding: clamp(20px, 5vw, 34px);
    border-radius: 32px 10px 24px 12px / 28px 12px 32px 10px;
    background: radial-gradient(circle at 100% -10%, rgba(0, 168, 232, 0.18), transparent 45%), #ffffff;
    border: 1px solid rgba(39, 73, 109, 0.1);
    box-shadow: var(--shadow-soft);
    transform: skewY(-1.2deg);
}

.shard-card:nth-child(2) {
    transform: skewY(1.05deg);
    border-radius: 12px 30px 10px 30px / 12px 24px 10px 30px;
}

.shard-card__heading {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    letter-spacing: -0.025em;
    color: var(--royal-sapphire);
}

.shard-card__text {
    margin: 0 0 var(--space-sm);
}

.shard-card:last-child .shard-card__text:last-child {
    margin-bottom: 0;
}

.flow-grid {
    padding-block: var(--space-xl);
}

.flow-grid__head {
    margin-bottom: var(--space-lg);
    max-width: 58ch;
}

.flow-grid__eyebrow {
    margin: 0 0 var(--space-xs);
    font-size: var(--text-xxs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--bright-azure);
}

.flow-grid__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-xxl);
    letter-spacing: -0.035em;
    color: var(--royal-sapphire);
}

.flow-grid__lede {
    margin: 0;
    font-size: var(--text-base);
}

.mosaic-board {
    display: grid;
    gap: clamp(16px, 4vw, 22px);
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
    .mosaic-board {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    }
}

@media (min-width: 1040px) {
    .mosaic-board {
        grid-template-rows: repeat(6, auto);
        gap: clamp(18px, 3vw, 26px);
    }

    .mosaic-board>article:nth-child(1) {
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
    }

    .mosaic-board>article:nth-child(2) {
        grid-column: 1;
        grid-row: 3 / span 2;
        margin-left: clamp(14px, 4vw, 34px);
    }

    .mosaic-board>article:nth-child(3) {
        grid-column: 2;
        grid-row: 3 / span 3;
        margin-top: clamp(16px, 4vw, 36px);
    }

    .mosaic-board>article:nth-child(4) {
        grid-column: 1;
        grid-row: 5 / span 2;
    }

    .mosaic-board>article:nth-child(5) {
        grid-column: 2;
        grid-row: 6;
    }
}

.floating-card {
    position: relative;
    padding: clamp(18px, 4.4vw, 28px);
    border-radius: var(--radius-md);
    background: linear-gradient(146deg, #ffffff 0%, rgba(255, 247, 240, 0.85) 100%);
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.92);
    transition: transform var(--transition-medium), box-shadow var(--transition-medium);
}

.floating-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-float), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.floating-card__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0, 168, 232, 0.12);
    color: var(--bright-azure);
    font-size: var(--text-xxs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.floating-card__title {
    margin: var(--space-sm) 0 var(--space-xs);
    font-family: var(--font-display);
    font-size: clamp(1.06rem, 2.35vw + 0.92rem, 1.42rem);
    color: var(--royal-sapphire);
}

.floating-card__body {
    color: #000;
    margin: 0 0 var(--space-sm);
}

.floating-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.pill-mini {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(20, 40, 80, 0.06);
    font-size: var(--text-xxs);
    font-weight: 600;
    color: var(--bright-azure);
}

.rail-accent {
    position: absolute;
    width: clamp(140px, 28vw, 220px);
    height: clamp(140px, 28vw, 220px);
    border-radius: 999px;
    background: radial-gradient(circle at 30% 30%, rgba(179, 136, 235, 0.45), transparent 55%), radial-gradient(circle at 82% 64%, rgba(0, 168, 232, 0.45), transparent 55%);
    filter: blur(0);
    opacity: 0.35;
    z-index: 0;
    pointer-events: none;
}

.timeline-rail {
    position: relative;
    padding-block: var(--space-xxl);
    background: linear-gradient(180deg, #ffffff 0%, rgba(0, 168, 232, 0.08) 38%, rgba(179, 136, 235, 0.12) 100%);
}

.timeline-rail::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: clamp(82px, 18vw, 130px);
    height: calc(100% - clamp(120px, 25vw, 190px));
    border-radius: clamp(999px, 999px, 999px);
    background: radial-gradient(circle at 50% -10%, rgba(39, 73, 109, 0.16), transparent 45%);
}

.timeline-rail__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--space-lg);
}

@media (min-width: 900px) {
    .timeline-rail__inner {
        grid-template-columns: minmax(0, 0.92fr) minmax(260px, 1.08fr);
        align-items: start;
        gap: clamp(24px, 5vw, 44px);
    }
}

.timeline-rail__sticky {
    position: sticky;
    top: clamp(88px, 18vw, 110px);
    padding: var(--space-md);
    border-radius: var(--radius-lg);
    background: rgba(255, 247, 240, 0.65);
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(14px);
}

.timeline-rail__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-xxl);
    letter-spacing: -0.035em;
    color: var(--royal-sapphire);
}

.timeline-rail ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 5vw, 26px);
    counter-reset: pulse;
}

.timeline-rail ol li {
    position: relative;
    padding-inline-start: clamp(46px, 12vw, 58px);
    counter-increment: pulse;
}

.timeline-rail ol li::before {
    content: counter(pulse);
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: clamp(38px, 10vw, 44px);
    height: clamp(38px, 10vw, 44px);
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-sm);
    color: var(--royal-sapphire);
    background: radial-gradient(circle at 36% 32%, rgba(255, 247, 240, 0.75), transparent 55%), linear-gradient(150deg, var(--sky-shine), var(--lavender-glow));
    box-shadow: var(--shadow-inner), var(--shadow-soft);
}

.timeline-rail h4 {
    margin: 2px 0 var(--space-xs);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    letter-spacing: -0.022em;
    color: var(--royal-sapphire);
}

.timeline-rail p {
    margin: 0;
}

.ingredient-deck {
    padding-block: var(--space-xxl);
    background: var(--royal-sapphire);
    color: rgba(255, 247, 240, 0.86);
}

.ingredient-deck__grid {
    display: grid;
    gap: clamp(22px, 6vw, 36px);
}

@media (min-width: 900px) {
    .ingredient-deck__grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .ingredient-deck__intro {
        grid-column: span 5;
        align-self: center;
        padding-inline-end: var(--space-sm);
    }

    .ingredient-deck__tiles {
        grid-column: span 7;
    }
}

.ingredient-deck__title {
    margin: var(--space-xs) 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: clamp(1.72rem, 5.5vw + 1rem, 3rem);
    letter-spacing: -0.036em;
    color: var(--soft-linen);
}

.ingredient-deck__lede {
    margin: 0 0 var(--space-lg);
}

.tile-matrix {
    display: grid;
    gap: clamp(14px, 3.5vw, 18px);
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tile-matrix article {
    padding: clamp(16px, 4vw, 22px);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 247, 240, 0.16);
    background: radial-gradient(circle at 12% -20%, rgba(0, 168, 232, 0.24), transparent 55%), radial-gradient(circle at 114% 90%, rgba(179, 136, 235, 0.24), transparent 55%), rgba(255, 247, 240, 0.03);
    box-shadow: var(--shadow-inner);
    backdrop-filter: blur(10px);
    transition: transform var(--transition-medium), border-color var(--transition-fast), background var(--transition-fast);
}

.tile-matrix article:hover {
    transform: translateY(-4px) scale(1.01);
    border-color: rgba(0, 168, 232, 0.45);
}

.tile-matrix article:nth-child(1) {
    grid-column: span 7;
}

.tile-matrix article:nth-child(2) {
    grid-column: span 5;
}

.tile-matrix article:nth-child(3) {
    grid-column: span 5;
}

.tile-matrix article:nth-child(4) {
    grid-column: span 7;
}

.tile-matrix article:nth-child(5) {
    grid-column: span 12;
}

@media (max-width: 899.98px) {
    .tile-matrix article {
        grid-column: span 12 !important;
    }
}

.tile-matrix h5 {
    margin: 8px 0 var(--space-xs);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    color: var(--soft-linen);
}

.tile-matrix p {
    margin: 0;
}

.contact-lab {
    padding-block: var(--space-xxl);
}

.contact-lab__wrap {
    display: grid;
    gap: clamp(22px, 6vw, 36px);
}

@media (min-width: 960px) {
    .contact-lab__wrap {
        grid-template-columns: minmax(0, 0.94fr) minmax(290px, 1.06fr);
        align-items: stretch;
        gap: clamp(22px, 5vw, 44px);
    }
}

.lab-form {
    position: relative;
    padding: clamp(18px, 5vw, 32px);
    border-radius: 22px 14px 30px 12px / 18px 30px 12px 18px;
    background: radial-gradient(circle at 12% -10%, rgba(179, 136, 235, 0.18), transparent 55%), radial-gradient(circle at 110% 90%, rgba(0, 168, 232, 0.16), transparent 55%), #ffffff;
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-soft);
}

.field {
    margin-bottom: var(--space-md);
}

.field label {
    display: block;
    font-size: var(--text-sm);
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--royal-sapphire);
}

.field__error {
    display: block;
    min-height: 1.1em;
    margin-top: 6px;
    font-size: var(--text-xxs);
    color: #b42318;
    font-weight: 600;
}

.input {
    width: 100%;
    padding: clamp(11px, 2.8vw, 13px) clamp(13px, 3vw, 15px);
    border-radius: 14px;
    border: 1px solid rgba(39, 73, 109, 0.18);
    background: rgba(255, 247, 240, 0.35);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--ink);
    box-shadow: var(--shadow-inner);
    transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.input:focus {
    border-color: rgba(179, 136, 235, 0.75);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(179, 136, 235, 0.25);
}

.field--invalid .input {
    border-color: rgba(180, 35, 24, 0.55);
    background: rgba(180, 35, 24, 0.04);
}

.checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: var(--space-xs);
}

.field--invalid .checkbox {
    padding: clamp(11px, 3vw, 13px);
    border-radius: 14px;
    border: 1px solid rgba(180, 35, 24, 0.45);
    background: rgba(180, 35, 24, 0.05);
}

.checkbox input[type="checkbox"] {
    margin-top: 4px;
    width: clamp(17px, 4.5vw, 19px);
    height: clamp(17px, 4.5vw, 19px);
    accent-color: var(--bright-azure);
}

.checkbox label {
    display: inline;
    font-weight: 500;
    font-size: var(--text-sm);
}

.side-panel {
    position: relative;
    padding: clamp(18px, 5vw, 30px);
    border-radius: var(--radius-lg);
    background: linear-gradient(154deg, var(--bright-azure), var(--royal-sapphire));
    color: rgba(255, 247, 240, 0.9);
    box-shadow: var(--shadow-float);
    overflow: hidden;
}

.side-panel::after {
    content: "";
    position: absolute;
    inset: -35% auto auto -35%;
    width: clamp(260px, 55vw, 420px);
    height: clamp(260px, 55vw, 420px);
    border-radius: 999px;
    background: radial-gradient(circle at 42% 40%, rgba(0, 168, 232, 0.45), transparent 55%);
    opacity: 0.38;
}

.side-panel>* {
    position: relative;
    z-index: 1;
}

.side-panel h3 {
    margin: var(--space-xs) 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-xxl);
    letter-spacing: -0.035em;
    color: var(--soft-linen);
}

.metric-bar {
    display: grid;
    gap: clamp(12px, 3vw, 16px);
    margin-top: var(--space-md);
}

.metric-bar dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 12px;
    margin: 0;
    align-items: baseline;
}

.metric-bar dt {
    font-size: var(--text-xxs);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255, 247, 240, 0.7);
}

.metric-bar dd {
    margin: 0;
    font-weight: 600;
    font-size: var(--text-sm);
}

.metric-bar dd a {
    color: var(--soft-linen);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.metric-bar dd a:hover {
    color: #e6faff;
}

.site-footer {
    padding-block: var(--space-xl);
    padding-bottom: clamp(110px, 22vw, 140px);
    background: radial-gradient(700px ellipse at -10% 120%, rgba(0, 168, 232, 0.16), transparent 55%), radial-gradient(700px ellipse at 120% -20%, rgba(179, 136, 235, 0.16), transparent 55%), linear-gradient(180deg, rgba(20, 40, 80, 0.02), rgba(20, 40, 80, 0.08));
    border-top: 1px solid rgba(39, 73, 109, 0.12);
}

.site-footer__grid {
    display: grid;
    gap: var(--space-lg);
}

@media (min-width: 820px) {
    .site-footer__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.82fr);
        align-items: start;
    }
}

.site-footer nav ul {
    list-style: none;
    padding: 0;
    margin: var(--space-sm) 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.site-footer nav a {
    color: var(--bright-azure);
    font-weight: 600;
}

.copyright-strip {
    margin-top: var(--space-lg);
    padding-top: var(--space-md);
    border-top: 1px solid rgba(39, 73, 109, 0.12);
    font-size: var(--text-xs);
    color: rgba(12, 19, 36, 0.72);
}

.cookie-layer {
    position: fixed;
    display: none;
    inset: auto clamp(14px, 4vw, 22px) clamp(14px, 6vw, 26px);
    z-index: 1108;
}

.cookie-panel {
    max-width: 520px;
    margin-left: auto;
    padding: clamp(16px, 4.2vw, 22px);
    border-radius: var(--radius-md);
    background: rgba(255, 247, 240, 0.78);
    border: 1px solid rgba(39, 73, 109, 0.18);
    box-shadow: var(--shadow-float);
    backdrop-filter: blur(22px);
    transform: translateY(16px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--transition-medium), transform var(--transition-medium), visibility var(--transition-medium);
}

.cookie-panel.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.cookie-panel__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-sm);
}

.cookie-panel button {
    border-radius: 999px;
    border: none;
    padding: 0.75rem 14px;
    font-family: var(--font-display);
    font-size: var(--text-xs);
    font-weight: 700;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.cookie-panel button:active {
    transform: translateY(1px);
}

.cookie-panel button[data-cc-accept-all] {
    background: linear-gradient(120deg, var(--sky-shine), var(--bright-azure));
    color: var(--soft-linen);
}

.cookie-panel button[data-cc-reject] {
    background: rgba(255, 247, 240, 0.32);
    color: var(--royal-sapphire);
    border: 1px solid rgba(39, 73, 109, 0.16);
}

.cookie-panel button[data-cc-settings] {
    background: transparent;
    color: var(--royal-sapphire);
    border: 1px dashed rgba(39, 73, 109, 0.28);
}

.cookie-modal {
    position: fixed;
    inset: 0;
    background: rgba(12, 19, 36, 0.55);
    display: grid;
    place-items: end center;
    z-index: 1124;
    padding: clamp(12px, 4vw, 32px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--transition-medium), visibility var(--transition-medium);
}

.cookie-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.cookie-modal__sheet {
    width: min(720px, 100%);
    max-height: min(86vh, 860px);
    overflow: auto;
    border-radius: var(--radius-lg);
    background: #ffffff;
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-float);
    padding: clamp(16px, 4vw, 26px);
    transform: translateY(18px);
    transition: transform var(--transition-medium);
}

.cookie-modal.is-open .cookie-modal__sheet {
    transform: translateY(0);
}

.toggle-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-sm);
    align-items: center;
    padding: clamp(14px, 3.5vw, 18px);
    border-radius: var(--radius-md);
    border: 1px solid rgba(39, 73, 109, 0.12);
    background: rgba(255, 247, 240, 0.4);
}

.toggle-row small {
    display: block;
    margin-top: 4px;
    color: rgba(12, 19, 36, 0.66);
}

.switch {
    position: relative;
    width: clamp(54px, 15vw, 60px);
    height: clamp(31px, 8vw, 34px);
    border-radius: 999px;
    border: none;
    background: rgba(39, 73, 109, 0.18);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.switch[aria-checked="true"] {
    background: rgba(0, 168, 232, 0.35);
}

.switch::after {
    content: "";
    position: absolute;
    top: calc(50% - 12px);
    left: calc(13% + 3px);
    width: clamp(21px, 6vw, 24px);
    height: clamp(21px, 6vw, 24px);
    border-radius: 999px;
    background: #ffffff;
    box-shadow: var(--shadow-soft);
    transition: transform var(--transition-fast), background var(--transition-fast);
}

.switch[aria-checked="true"]::after {
    transform: translateX(24px);
    background: rgba(179, 136, 235, 0.85);
}

@media (max-width: 420px) {
    .switch[aria-checked="true"]::after {
        transform: translateX(21px);
    }
}

.sheet-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-md);
}

.policy-hero {
    padding-block: clamp(58px, 14vw, 96px);
    background: radial-gradient(900px circle at -10% 20%, rgba(0, 168, 232, 0.22), transparent 55%), linear-gradient(120deg, var(--royal-sapphire), var(--bright-azure));
    color: var(--soft-linen);
}

.policy-hero h1 {
    margin: var(--space-sm) 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: clamp(2rem, 9vw + 1.1rem, 3.55rem);
    letter-spacing: -0.036em;
    line-height: 1.05;
}

.policy-hero p {
    margin: 0 0 var(--space-sm);
    max-width: 58ch;
    color: rgba(255, 247, 240, 0.82);
}

.policy-body {
    padding-block: var(--space-xl);
}

.policy-body article {
    max-width: 72ch;
    margin-inline: auto;
}

.policy-body section {
    margin-bottom: clamp(28px, 7vw, 44px);
}

.policy-body h2 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    letter-spacing: -0.026em;
    color: var(--royal-sapphire);
    margin: var(--space-lg) 0 var(--space-sm);
}

.policy-body ul {
    padding-left: var(--space-md);
}

.shell--legal {
    width: min(1100px, calc(100% - clamp(22px, 5vw, 40px)));
    margin-inline: auto;
}

.legal-masthead {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    padding: clamp(22px, 5.5vw, 48px);
    background: linear-gradient(118deg, var(--royal-sapphire) 0%, var(--bright-azure) 52%, #19365a 100%);
    color: var(--soft-linen);
    box-shadow: var(--shadow-float);
}

.legal-masthead::before {
    content: "";
    position: absolute;
    inset: -42% -35% auto auto;
    width: min(420px, 88vw);
    height: min(420px, 88vw);
    border-radius: 50%;
    background: radial-gradient(circle at 42% 42%, rgba(179, 136, 235, 0.45), transparent 60%);
    opacity: 0.75;
    pointer-events: none;
}

.legal-masthead::after {
    content: "";
    position: absolute;
    inset: auto auto -30% -35%;
    width: min(380px, 90vw);
    height: min(320px, 70vw);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, rgba(0, 168, 232, 0.25), transparent 58%);
    pointer-events: none;
}

.legal-masthead__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--space-lg);
}

@media (min-width: 920px) {
    .legal-masthead__grid {
        grid-template-columns: minmax(0, 1.12fr) minmax(240px, 0.88fr);
        align-items: end;
    }
}

.legal-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(6px, 2vw, 10px);
}

.legal-pill {
    padding: 7px 13px;
    border-radius: 999px;
    font-size: var(--text-xxs);
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 247, 240, 0.22);
    background: rgba(255, 247, 240, 0.1);
}

.legal-dossier {
    margin-block: var(--space-xxl);
}

.legal-dossier--split {
    display: grid;
    gap: clamp(24px, 5vw, 40px);
}

@media (min-width: 980px) {
    .legal-dossier--split {
        grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
        align-items: start;
    }
}

.legal-toc {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: rgba(255, 247, 240, 0.9);
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(14px);
    position: sticky;
    top: clamp(88px, 16vw, 120px);
}

.legal-toc h2 {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-sm);
    letter-spacing: -0.02em;
    color: var(--royal-sapphire);
}

.legal-toc ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.legal-toc a {
    font-size: var(--text-xs);
    font-weight: 700;
    text-decoration: none;
    color: var(--bright-azure);
}

.legal-toc a:hover {
    color: var(--sky-shine);
}

.legal-prose section {
    margin-bottom: clamp(22px, 5vw, 36px);
    padding: clamp(18px, 4.4vw, 30px);
    border-radius: var(--radius-md);
    background: linear-gradient(168deg, #ffffff 0%, rgba(255, 247, 240, 0.92) 100%);
    border: 1px solid rgba(39, 73, 109, 0.1);
    box-shadow: var(--shadow-soft);
}

.legal-prose h2:first-child {
    margin-top: 0;
}

.legal-callout {
    padding: clamp(14px, 3.8vw, 20px);
    margin: var(--space-md) 0;
    border-radius: var(--radius-sm);
    border-left: 5px solid var(--lavender-glow);
    background: radial-gradient(circle at 0% 0%, rgba(0, 168, 232, 0.12), transparent 55%);
}

.legal-def-grid {
    display: grid;
    gap: clamp(14px, 3.5vw, 18px);
}

@media (min-width: 700px) {
    .legal-def-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.legal-spoke-card {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: radial-gradient(circle at 100% 0%, rgba(179, 136, 235, 0.2), transparent 48%), #ffffff;
    border: 1px solid rgba(39, 73, 109, 0.1);
    box-shadow: var(--shadow-soft);
    transition: transform var(--transition-medium), box-shadow var(--transition-medium), border-color var(--transition-fast);
}

.legal-spoke-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-float);
    border-color: rgba(0, 168, 232, 0.35);
}

.legal-terms-flow {
    column-gap: clamp(22px, 4vw, 36px);
    column-count: 1;
}

@media (min-width: 860px) {
    .legal-terms-flow {
        column-count: 2;
    }
}

.legal-terms-flow section {
    break-inside: avoid;
}

.legal-receipt-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.legal-receipt {
    position: relative;
    padding: clamp(20px, 5vw, 34px);
    border-radius: 22px;
    background: repeating-linear-gradient(-18deg,
            rgba(179, 136, 235, 0.03) 0 2px,
            rgba(39, 73, 109, 0.02) 2px 4px),
        linear-gradient(145deg, #ffffff 0%, rgba(255, 247, 240, 0.85) 100%);
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-inner), var(--shadow-soft);
}

.legal-receipt__step {
    position: absolute;
    top: clamp(14px, 4vw, 20px);
    right: clamp(14px, 4vw, 22px);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xl);
    letter-spacing: -0.04em;
    color: rgba(0, 168, 232, 0.45);
}

.thanks-page {
    background: radial-gradient(900px circle at -10% 10%, rgba(0, 168, 232, 0.16), transparent 55%), var(--soft-linen);
}

.thanks-ribbon {
    position: relative;
    padding-block: clamp(56px, 14vw, 120px);
    overflow: hidden;
    color: var(--soft-linen);
}

.thanks-ribbon::before {
    content: "";
    position: absolute;
    inset: -10% -6% auto -10%;
    height: clamp(240px, 58vw, 420px);
    background: radial-gradient(ellipse at 32% -10%, rgba(179, 136, 235, 0.45), transparent 58%),
        linear-gradient(120deg, var(--royal-sapphire), var(--bright-azure) 55%, #17365a);
    clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%);
    transform: rotate(-0.75deg);
    transform-origin: top left;
}

.thanks-ribbon__inner {
    position: relative;
    z-index: 1;
    max-width: 58ch;
}

.thanks-ribbon__inner h1 {
    color: #000;
    font-family: var(--font-display);
    font-size: clamp(2rem, 8.5vw + 1rem, 3.5rem);
    letter-spacing: -0.036em;
    line-height: 1.06;
}

.thanks-orbit-ring {
    position: absolute;
    right: clamp(6%, 8vw, 14%);
    top: clamp(18%, 8vw, 28%);
    width: clamp(90px, 22vw, 160px);
    height: clamp(90px, 22vw, 160px);
    border-radius: 50%;
    border: 3px dashed rgba(255, 247, 240, 0.28);
    box-shadow: 0 0 0 6px rgba(255, 247, 240, 0.08);
    opacity: 0.55;
    pointer-events: none;
    animation: thanks-orbit 18s linear infinite;
}

@keyframes thanks-orbit {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .thanks-orbit-ring {
        animation: none;
    }
}

.thanks-bento {
    display: grid;
    gap: var(--space-md);
    margin-block: var(--space-xl) var(--space-xxl);
}

@media (min-width: 780px) {
    .thanks-bento {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .thanks-bento__wide {
        grid-column: span 2;
    }
}

.thanks-tile {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: rgba(255, 247, 240, 0.96);
    border: 1px solid rgba(39, 73, 109, 0.1);
    box-shadow: var(--shadow-soft);
}

.thanks-tile--glow {
    background: linear-gradient(140deg, rgba(0, 168, 232, 0.16), rgba(255, 247, 240, 0.98));
}

.recipe-chipbar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.chip-filter {
    border-radius: 999px;
    border: 1px solid rgba(39, 73, 109, 0.16);
    background: rgba(255, 247, 240, 0.75);
    padding: 0.55rem 12px;
    font-family: var(--font-display);
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--bright-azure);
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.chip-filter.is-active {
    border-color: rgba(0, 168, 232, 0.45);
    background: rgba(0, 168, 232, 0.12);
    box-shadow: 0 0 0 3px rgba(0, 168, 232, 0.12);
    color: var(--royal-sapphire);
}

.recipe-sheet {
    display: grid;
    gap: var(--space-md);
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 720px) {
    .recipe-sheet {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1120px) {
    .recipe-sheet {
        grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.92fr);
        gap: clamp(18px, 4vw, 28px);
    }

    .recipe-sheet>article:last-child:nth-child(even),
    .recipe-sheet>article.only-wide {
        grid-column: span 2;
        max-width: min(740px, 100%);
        margin-inline-start: clamp(26px, 7vw, 84px);
    }
}

.figure-frame {
    position: relative;
    border-radius: 22px 12px 30px 10px / 18px 30px 10px 28px;
    overflow: hidden;
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-soft);
    background: linear-gradient(146deg, rgba(0, 168, 232, 0.16), rgba(179, 136, 235, 0.16)), #ffffff;
    padding: clamp(18px, 5vw, 28px);
    min-height: clamp(180px, 38vw, 240px);
    display: flex;
    align-items: center;
}

.figure-frame img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.figure-frame figure {
    margin: 0;
    width: 100%;
}

.figure-frame figcaption {
    margin-top: var(--space-sm);
    font-size: var(--text-xs);
    color: rgba(12, 19, 36, 0.68);
}

.reveal {
    opacity: 1;
}

.reveal:not(.reduce-rm) {
    transform: translateY(clamp(10px, 3vw, 18px));
    transition: opacity 720ms cubic-bezier(0.22, 1, 0.36, 1), transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-inview {
    opacity: 1 !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {

    .reveal:not(.reduce-rm),
    .reveal.is-inview {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.toast-mini {
    position: fixed;
    inset-inline: clamp(12px, 4vw, 22px);
    bottom: clamp(110px, 22vw, 150px);
    z-index: 1130;
    padding: clamp(11px, 3vw, 13px) clamp(14px, 3.5vw, 16px);
    border-radius: 999px;
    background: rgba(20, 40, 80, 0.92);
    color: rgba(255, 247, 240, 0.92);
    font-size: var(--text-xs);
    font-weight: 600;
    box-shadow: var(--shadow-soft);
}

.luxury-thanks-page {
    min-height: 100vh;
    background: linear-gradient(165deg, #0a0e1a 0%, #1a1f35 45%, #27496d 100%);
    position: relative;
    overflow-x: hidden;
}

.luxury-thanks-page .site-footer {
    background: linear-gradient(180deg, rgba(10, 14, 26, 0.5), rgba(20, 40, 80, 0.35));
    border-top: 1px solid rgba(179, 136, 235, 0.22);
}

.luxury-thanks-page .site-footer .floating-card__title {
    color: rgba(255, 247, 240, 0.94);
}

.luxury-thanks-page .site-footer p {
    color: rgba(255, 247, 240, 0.78);
}

.luxury-thanks-page .site-footer .brand__text {
    color: var(--soft-linen);
}

.luxury-thanks-page .site-footer .copyright-strip {
    color: rgba(255, 247, 240, 0.62);
    border-top-color: rgba(179, 136, 235, 0.2);
}

.luxury-thanks-page .site-footer nav a:hover {
    color: #dff6ff;
}

.luxury-thanks-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(40px, 8vw, 80px) clamp(20px, 5vw, 40px);
    position: relative;
}

.luxury-thanks-content {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 10;
}

.luxury-badge {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 999px;
    background: rgba(179, 136, 235, 0.15);
    border: 1px solid rgba(179, 136, 235, 0.3);
    color: #b388eb;
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: clamp(20px, 4vw, 32px);
    animation: luxury-fade-in 0.8s ease-out;
}

.luxury-thanks-title {
    font-family: var(--font-display);
    font-size: clamp(3rem, 10vw + 1rem, 5.5rem);
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1;
    color: #fff;
    margin: 0 0 clamp(16px, 3vw, 24px);
    animation: luxury-slide-up 1s ease-out 0.2s both;
}

.luxury-thanks-subtitle {
    font-size: clamp(1rem, 2.5vw, 1.35rem);
    color: rgba(255, 255, 255, 0.65);
    font-weight: 300;
    letter-spacing: 0.02em;
    margin: 0;
    animation: luxury-slide-up 1s ease-out 0.4s both;
}

.luxury-personal-intro {
    font-size: clamp(0.94rem, 2.1vw, 1.12rem);
    color: rgba(255, 255, 255, 0.76);
    font-weight: 400;
    line-height: 1.65;
    max-width: 58ch;
    margin: 0 auto clamp(14px, 2.5vw, 20px);
    text-align: center;
    animation: luxury-slide-up 1s ease-out 0.35s both;
}

.luxury-micro-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(10px, 2.5vw, 18px);
    margin-top: clamp(28px, 5vw, 40px);
}

.luxury-micro-nav a {
    font-size: var(--text-xs);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.52);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 2px;
}

.luxury-micro-nav a:hover {
    color: rgba(255, 255, 255, 0.88);
    border-color: rgba(179, 136, 235, 0.55);
}

.luxury-micro-nav a:focus-visible {
    outline: 2px solid rgba(0, 168, 232, 0.55);
    outline-offset: 4px;
}

.luxury-divider {
    width: clamp(60px, 12vw, 100px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(179, 136, 235, 0.5), transparent);
    margin: clamp(40px, 8vw, 60px) auto;
    animation: luxury-expand 1.2s ease-out 0.6s both;
}

.luxury-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: clamp(16px, 3vw, 24px);
    margin: clamp(40px, 8vw, 60px) 0;
}

.luxury-detail-card {
    padding: clamp(24px, 5vw, 32px) clamp(16px, 3vw, 20px);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    animation: luxury-fade-in 1s ease-out calc(0.8s + var(--delay, 0s)) both;
}

.luxury-detail-card:nth-child(1) {
    --delay: 0s;
}

.luxury-detail-card:nth-child(2) {
    --delay: 0.15s;
}

.luxury-detail-card:nth-child(3) {
    --delay: 0.3s;
}

.luxury-detail-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(179, 136, 235, 0.3);
    box-shadow: 0 20px 60px rgba(179, 136, 235, 0.15);
}

.luxury-detail-icon {
    display: inline-block;
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin-bottom: 12px;
    opacity: 0.9;
}

.luxury-detail-card h3 {
    font-family: var(--font-display);
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    font-weight: 600;
    color: #fff;
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}

.luxury-detail-card p {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.55);
    margin: 0;
    line-height: 1.5;
}

.luxury-cta-group {
    display: flex;
    gap: clamp(12px, 2.5vw, 16px);
    justify-content: center;
    flex-wrap: wrap;
    margin-top: clamp(40px, 8vw, 60px);
    animation: luxury-fade-in 1s ease-out 1.4s both;
}

.luxury-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(14px, 3vw, 18px) clamp(28px, 6vw, 40px);
    border-radius: 12px;
    font-family: var(--font-display);
    font-size: var(--text-sm);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: 0.01em;
}

.luxury-btn--primary {
    background: linear-gradient(135deg, #b388eb 0%, #8e6bc4 100%);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 24px rgba(179, 136, 235, 0.25);
}

.luxury-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(179, 136, 235, 0.35);
    background: linear-gradient(135deg, #c49bff 0%, #9f7dd4 100%);
}

.luxury-btn--ghost {
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.luxury-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.35);
    color: #fff;
}

.luxury-ambient-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    pointer-events: none;
    animation: luxury-float 8s ease-in-out infinite;
}

.luxury-ambient-orb--1 {
    width: clamp(300px, 40vw, 600px);
    height: clamp(300px, 40vw, 600px);
    background: radial-gradient(circle, rgba(179, 136, 235, 0.4), transparent 70%);
    top: -15%;
    right: -10%;
}

.luxury-ambient-orb--2 {
    width: clamp(250px, 35vw, 500px);
    height: clamp(250px, 35vw, 500px);
    background: radial-gradient(circle, rgba(0, 168, 232, 0.3), transparent 70%);
    bottom: -10%;
    left: -8%;
    animation-delay: -4s;
}

.luxury-shimmer-overlay {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(90deg,
            transparent 0,
            rgba(255, 255, 255, 0.03) 50%,
            transparent 100%);
    background-size: 200% 100%;
    animation: luxury-shimmer 15s linear infinite;
    pointer-events: none;
    opacity: 0.5;
}

@keyframes luxury-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes luxury-slide-up {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes luxury-expand {
    from {
        width: 0;
        opacity: 0;
    }

    to {
        width: clamp(60px, 12vw, 100px);
        opacity: 1;
    }
}

@keyframes luxury-float {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    33% {
        transform: translate(30px, -30px) scale(1.1);
    }

    66% {
        transform: translate(-20px, 20px) scale(0.9);
    }
}

@keyframes luxury-shimmer {
    to {
        background-position: 200% 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .luxury-badge,
    .luxury-thanks-title,
    .luxury-personal-intro,
    .luxury-thanks-subtitle,
    .luxury-divider,
    .luxury-detail-card,
    .luxury-cta-group {
        animation: none;
    }

    .luxury-ambient-orb,
    .luxury-shimmer-overlay {
        animation: none;
    }

    .luxury-detail-card:hover,
    .luxury-btn:hover {
        transform: none;
    }
}

.toast-mini.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.hero-compact {
    padding-block: clamp(44px, 12vw, 84px);
    background: radial-gradient(900px circle at 112% -10%, rgba(179, 136, 235, 0.22), transparent 55%), linear-gradient(138deg, #ffffff 0%, rgba(0, 168, 232, 0.12) 60%, rgba(179, 136, 235, 0.12));
}

.hero-compact h1 {
    margin: var(--space-sm) 0 var(--space-sm);
    font-family: var(--font-display);
    font-size: clamp(2.05rem, 8vw + 1rem, 3.55rem);
    letter-spacing: -0.036em;
    color: var(--royal-sapphire);
}

.hero-compact p {
    margin: 0 0 var(--space-sm);
    max-width: 58ch;
}

@media (max-width: 379.98px) {
    .btn {
        padding: 0.88em clamp(13px, 4vw, 18px);
        font-size: var(--text-xs);
    }

    .primary-nav ul {
        flex-direction: column;
        align-items: stretch;
        width: min(440px, 100%);
        margin-inline: auto;
    }

    .primary-nav__link {
        justify-content: center;
        width: 100%;
    }

    .hero-panel {
        transform: none;
    }

    .shard-card {
        transform: none;
    }

    .tile-matrix {
        grid-template-columns: 1fr;
    }

    .brand {
        gap: 0.25rem;
        font-size: var(--text-xxs);
    }

    .brand__tag {
        display: none;
    }

    body {
        padding-top: clamp(58px, 16vw, 66px);
    }

    .site-header {
        height: clamp(56px, 16vw, 64px);
    }

    .site-header--compact {
        height: clamp(52px, 14vw, 58px);
    }

    .cookie-panel__buttons button {
        width: calc(50% - 6px);
        flex-grow: 1;
    }
}

/* -----------------------------------------------------------------------------
   Favorites — modern spectrum hero + mosaic cards (scoped)
   -------------------------------------------------------------------------- */

.favorites-modern {
    padding-bottom: var(--space-xl);
}

/* Favorites ledger edition — replaces spectrum hero + stat dash + glass stack */
.favorites-modern.favorites-page-ledger {
    --ledger-pins-visual: 0;
    background: radial-gradient(1200px circle at -8% -10%, rgba(179, 136, 235, 0.11), transparent 52%),
        radial-gradient(980px circle at 108% 30%, rgba(0, 168, 232, 0.1), transparent 48%), var(--soft-linen);
}

.favorites-ledger-hero {
    position: relative;
    margin-inline: clamp(12px, 3vw, 22px);
    margin-top: clamp(12px, 3vw, 22px);
    margin-bottom: clamp(36px, 8vw, 72px);
    padding: clamp(28px, 6vw, 52px);
    padding-top: clamp(36px, 8vw, 64px);
    border-radius: clamp(26px, 5vw, 42px);
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: linear-gradient(165deg, #ffffff 0%, rgba(255, 247, 240, 0.93) 45%, rgba(255, 255, 255, 0.86) 100%);
    box-shadow: var(--shadow-float), inset 0 1px rgba(255, 255, 255, 0.65);
    overflow: hidden;
}

.favorites-ledger-hero__ribbon {
    position: absolute;
    inset: -12% -8% auto 42%;
    height: clamp(220px, 44vw, 380px);
    background: radial-gradient(circle at 30% -10%, rgba(0, 168, 232, 0.22), transparent 58%),
        radial-gradient(circle at 92% 30%, rgba(179, 136, 235, 0.28), transparent 52%);
    transform: skewX(-8deg);
    opacity: 0.55;
    pointer-events: none;
}

.favorites-ledger-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(28px, 5vw, 48px);
    align-items: start;
}

@media (min-width: 960px) {
    .favorites-ledger-hero__grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.92fr);
    }
}

.favorites-ledger-hero__kicker {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xxs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(39, 73, 109, 0.55);
}

.favorites-ledger-hero__kicker i {
    font-size: 1.05rem;
    color: rgba(0, 168, 232, 0.85);
}

.favorites-ledger-hero__kicker-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: radial-gradient(circle at 42% 32%, rgba(255, 255, 255, 0.7), transparent 46%), rgba(179, 136, 235, 0.85);
}

.favorites-ledger-hero__title {
    margin: 0 0 var(--space-md);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.94rem, 6.8vw + 0.78rem, 3.12rem);
    line-height: 1.06;
    letter-spacing: -0.04em;
    color: var(--royal-sapphire);
    max-width: 22ch;
}

.favorites-ledger-hero__lede,
.favorites-ledger-hero__copy {
    margin: 0 0 var(--space-md);
    max-width: 64ch;
    font-size: var(--text-sm);
    line-height: 1.75;
    color: rgba(12, 19, 36, 0.76);
}

.favorites-ledger-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin: clamp(14px, 3vw, 22px) 0 0;
    padding: 0;
    list-style: none;
}

.favorites-ledger-hero__pills li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.82rem;
    border-radius: 999px;
    font-size: var(--text-xxs);
    font-weight: 700;
    color: var(--bright-azure);
    background: rgba(0, 168, 232, 0.1);
    border: 1px solid rgba(0, 168, 232, 0.2);
}

.favorites-ledger-hero__dock {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 3.8vw, 26px);
}

.favorites-ledger-metric {
    position: relative;
    padding: clamp(22px, 4.2vw, 30px);
    border-radius: clamp(22px, 4vw, 30px);
    border: 1px solid rgba(39, 73, 109, 0.12);
    background: radial-gradient(circle at 110% -8%, rgba(179, 136, 235, 0.16), transparent 46%),
        linear-gradient(150deg, #142850 0%, #1f3d61 72%, #19375a);
    color: rgba(255, 247, 240, 0.92);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.favorites-ledger-metric__grain {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 247, 240, 0.04) 1px, transparent 1px);
    background-size: 14px 14px;
    opacity: 0.45;
    pointer-events: none;
}

.favorites-ledger-metric__caption {
    position: relative;
    margin: 0 0 var(--space-sm);
    font-size: var(--text-xxs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 247, 240, 0.55);
}

.favorites-ledger-metric__gauge {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem;
    margin: 0 0 var(--space-sm);
}

.favorites-ledger-metric__value {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(3.1rem, 12vw + 0.82rem, 4.95rem);
    line-height: 1;
    letter-spacing: -0.06em;
}

.favorites-ledger-metric__suffix {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 247, 240, 0.58);
}

.favorites-ledger-metric__bar {
    position: relative;
    margin: var(--space-sm) 0 var(--space-md);
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 247, 240, 0.12);
    overflow: hidden;
}

.favorites-ledger-metric__bar-fill {
    display: block;
    width: min(94%, calc(var(--ledger-pins-visual, 0) * 7% + 22%));
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(92deg, var(--lavender-glow), var(--sky-shine));
    transition: width 0.62s cubic-bezier(0.22, 1, 0.36, 1);
}

.favorites-ledger-metric__cta {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.favorites-ledger-metric__btn {
    white-space: nowrap;
}

.favorites-ledger-visual {
    margin: 0;
    border-radius: clamp(22px, 4vw, 28px);
    overflow: hidden;
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: radial-gradient(circle at 72% -10%, rgba(0, 168, 232, 0.12), transparent 46%), rgba(255, 255, 255, 0.55);
    box-shadow: var(--shadow-soft);
}

.favorites-ledger-visual img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.favorites-ledger-visual figcaption {
    padding: clamp(14px, 3vw, 18px);
    font-size: var(--text-xxs);
    line-height: 1.55;
    color: rgba(12, 19, 36, 0.66);
}

.kbd-pill-soft {
    padding: 0.1em 0.38em;
    border-radius: 6px;
    font-family: ui-monospace, "Cascadia Code", monospace;
    font-size: 0.86em;
    font-weight: 600;
    color: rgba(39, 73, 109, 0.88);
    background: rgba(20, 40, 80, 0.07);
    border: 1px solid rgba(39, 73, 109, 0.13);
}

.favorites-mini-toc {
    margin-bottom: clamp(36px, 8vw, 72px);
    padding: clamp(18px, 3.8vw, 24px);
    border-radius: var(--radius-md);
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: rgba(255, 255, 255, 0.7);
}

.favorites-mini-toc__label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xxs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(39, 73, 109, 0.55);
}

.favorites-mini-toc__label i {
    color: rgba(0, 168, 232, 0.85);
}

.favorites-mini-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.favorites-mini-toc__list li a {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.92rem;
    border-radius: 999px;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--royal-sapphire);
    text-decoration: none;
    background: rgba(0, 168, 232, 0.08);
    border: 1px solid rgba(0, 168, 232, 0.15);
}

.favorites-mini-toc__list li a:hover {
    border-color: var(--sky-shine);
    background: rgba(0, 168, 232, 0.14);
}

.favorites-mini-toc__list li a:focus-visible {
    outline: 3px solid rgba(0, 168, 232, 0.45);
    outline-offset: 2px;
}

.favorites-bento {
    margin-bottom: clamp(40px, 9vw, 88px);
}

.favorites-bento__head {
    margin-bottom: clamp(22px, 4vw, 36px);
    max-width: 78ch;
}

.favorites-bento__eyebrow {
    margin: 0 0 var(--space-xs);
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    font-size: var(--text-xxs);
    color: rgba(39, 73, 109, 0.55);
}

.favorites-bento__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.7rem, 4.8vw + 0.74rem, 2.62rem);
    letter-spacing: -0.036em;
    line-height: 1.09;
    color: var(--royal-sapphire);
}

.favorites-bento__intro {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.74;
    color: rgba(12, 19, 36, 0.76);
}

.favorites-bento__grid {
    display: grid;
    gap: clamp(14px, 3vw, 20px);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
}

@media (min-width: 940px) {
    .favorites-bento__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        grid-auto-rows: minmax(132px, auto);
    }

    .favorites-bento__cell--accent {
        grid-column: span 3;
        grid-row: span 1;
    }

    .favorites-bento__cell--tall {
        grid-column: span 2;
        grid-row: span 2;
    }

    .favorites-bento__cell:nth-child(2) {
        grid-column: span 2;
    }

    .favorites-bento__cell:nth-child(4) {
        grid-column: span 2;
    }

    .favorites-bento__cell--wide {
        grid-column: 1 / -1;
    }
}

.favorites-bento__cell {
    padding: clamp(18px, 3.6vw, 24px);
    border-radius: 18px;
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: radial-gradient(circle at 92% -6%, rgba(0, 168, 232, 0.08), transparent 44%), rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-inner), var(--shadow-soft);
}

.favorites-bento__cell--accent {
    border-color: rgba(179, 136, 235, 0.22);
    background: radial-gradient(circle at 12% -4%, rgba(179, 136, 235, 0.16), transparent 46%),
        linear-gradient(154deg, rgba(255, 247, 240, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
}

.favorites-bento__cell-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-sm);
    color: var(--royal-sapphire);
}

.favorites-bento__cell-title i {
    font-size: 1.15rem;
    color: rgba(0, 168, 232, 0.85);
}

.favorites-bento__cell-text {
    margin: 0;
    font-size: var(--text-xs);
    line-height: 1.62;
    color: rgba(12, 19, 36, 0.74);
}

.favorites-vault-shell {
    margin-bottom: clamp(40px, 9vw, 88px);
}

.favorites-vault-shell__outline {
    padding: clamp(22px, 4vw, 34px);
    border-radius: clamp(26px, 5vw, 38px);
    border: 1px solid rgba(39, 73, 109, 0.12);
    background: radial-gradient(circle at 106% -10%, rgba(0, 168, 232, 0.1), transparent 48%),
        linear-gradient(175deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 247, 240, 0.94) 100%);
    box-shadow: var(--shadow-float);
}

.favorites-matrix-band__header--vault {
    margin-bottom: clamp(22px, 4vw, 32px);
}

.favorites-vault-shell__intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.favorites-vault-shell__secondary {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.68;
    color: rgba(12, 19, 36, 0.72);
}

.favorite-empty-modern--vault {
    border-style: solid;
}

.favorite-mosaic-feed--vault {
    margin-top: 0;
}

.favorites-flow {
    margin-bottom: clamp(42px, 9vw, 92px);
    padding: clamp(28px, 6vw, 48px);
    border-radius: clamp(28px, 5vw, 40px);
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: radial-gradient(900px circle at -6% -12%, rgba(179, 136, 235, 0.12), transparent 52%),
        rgba(255, 255, 255, 0.88);
}

.favorites-flow__intro {
    margin-bottom: clamp(22px, 4vw, 36px);
    max-width: 72ch;
}

.favorites-flow__eyebrow {
    margin: 0 0 var(--space-xs);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xxs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(39, 73, 109, 0.55);
}

.favorites-flow__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.72rem, 4.9vw + 0.74rem, 2.55rem);
    letter-spacing: -0.036em;
    line-height: 1.07;
    color: var(--royal-sapphire);
}

.favorites-flow__lede {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.74;
    color: rgba(12, 19, 36, 0.76);
}

.favorites-flow__track {
    margin: 0;
    padding: 0;
    padding-inline-start: clamp(12px, 3vw, 18px);
    list-style: none;
    border-inline-start: 3px solid rgba(0, 168, 232, 0.25);
}

.favorites-flow__node {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(14px, 3.2vw, 22px);
    padding-bottom: clamp(20px, 4vw, 28px);
}

.favorites-flow__node:last-child {
    padding-bottom: 0;
}

.favorites-flow__index {
    width: clamp(56px, 14vw, 72px);
    height: clamp(56px, 14vw, 72px);
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.08rem, 3vw + 0.74rem, 1.52rem);
    letter-spacing: -0.06em;
    color: rgba(20, 40, 80, 0.9);
    background: linear-gradient(142deg, rgba(0, 168, 232, 0.15), rgba(179, 136, 235, 0.15));
    border: 1px solid rgba(39, 73, 109, 0.12);
    box-shadow: var(--shadow-inner);
}

.favorites-flow__panel h3 {
    margin: 0 0 var(--space-xs);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-lg);
    color: var(--royal-sapphire);
}

.favorites-flow__panel p {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.72;
    color: rgba(12, 19, 36, 0.74);
}

.favorites-browser-deck {
    margin-bottom: clamp(40px, 9vw, 88px);
}

.favorites-browser-deck__head {
    margin-bottom: clamp(22px, 4vw, 34px);
    max-width: 74ch;
}

.favorites-browser-deck__eyebrow {
    margin: 0 0 var(--space-xs);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xxs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(39, 73, 109, 0.55);
}

.favorites-browser-deck__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.66rem, 4.6vw + 0.74rem, 2.48rem);
    letter-spacing: -0.034em;
    line-height: 1.07;
    color: var(--royal-sapphire);
}

.favorites-browser-deck__lede {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.73;
    color: rgba(12, 19, 36, 0.74);
}

.favorites-browser-deck__cards {
    display: grid;
    gap: clamp(16px, 3.8vw, 22px);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
}

.favorites-browser-deck__card {
    padding: clamp(20px, 4vw, 26px);
    border-radius: 20px;
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: radial-gradient(circle at 84% -4%, rgba(0, 168, 232, 0.1), transparent 44%), rgba(255, 255, 255, 0.95);
}

.favorites-browser-deck__card--wide {
    grid-column: 1 / -1;
    background: radial-gradient(circle at 10% -8%, rgba(179, 136, 235, 0.12), transparent 46%), rgba(255, 247, 240, 0.96);
}

.favorites-browser-deck__card h3 {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-base);
    color: var(--royal-sapphire);
}

.favorites-browser-deck__glyph {
    margin-right: 0.34rem;
    vertical-align: -0.12em;
    color: rgba(0, 168, 232, 0.85);
}

.favorites-browser-deck__card p {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.7;
    color: rgba(12, 19, 36, 0.74);
}

.favorites-faq {
    margin-bottom: clamp(40px, 9vw, 88px);
}

.favorites-faq__head {
    margin-bottom: var(--space-md);
    max-width: 74ch;
}

.favorites-faq__eyebrow {
    margin: 0 0 var(--space-xs);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xxs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(39, 73, 109, 0.55);
}

.favorites-faq__title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.58rem, 4.2vw + 0.74rem, 2.28rem);
    letter-spacing: -0.032em;
    line-height: 1.08;
    color: var(--royal-sapphire);
}

.favorites-faq__stack {
    border-radius: 22px;
    border: 1px solid rgba(39, 73, 109, 0.1);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
}

.favorites-faq__item {
    border-bottom: 1px solid rgba(39, 73, 109, 0.08);
}

.favorites-faq__item:last-child {
    border-bottom: none;
}

.favorites-faq__item summary {
    cursor: pointer;
    padding: clamp(14px, 3.2vw, 18px) clamp(18px, 4vw, 22px);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--text-sm);
    color: var(--royal-sapphire);
    list-style: none;
    position: relative;
}

.favorites-faq__item summary::-webkit-details-marker {
    display: none;
}

.favorites-faq__item summary:focus-visible {
    outline: none;
}

.favorites-faq__item summary:focus-visible::after {
    content: "";
    position: absolute;
    inset: 6px 8px;
    border-radius: 12px;
    border: 2px solid rgba(0, 168, 232, 0.45);
    pointer-events: none;
}

.favorites-faq__item[open] summary {
    border-bottom: 1px dashed rgba(39, 73, 109, 0.12);
    background: rgba(0, 168, 232, 0.05);
}

.favorites-faq__item p {
    margin: 0;
    padding: 0 clamp(18px, 4vw, 26px) clamp(16px, 3.8vw, 22px);
    font-size: var(--text-xs);
    line-height: 1.68;
    color: rgba(12, 19, 36, 0.74);
}

.favorites-foot__grid--wide {
    max-width: min(1180px, 100%);
    margin-inline: auto;
}

.favorites-foot__card--ledger {
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 247, 240, 0.94) 100%);
}

.favorites-foot__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.muted-foot-link {
    border-color: rgba(39, 73, 109, 0.16);
    opacity: 0.92;
}

.favorites-foot__card--stacked {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.favorites-matrix-band {
    margin-bottom: clamp(48px, 10vw, 88px);
}

.favorites-matrix-band__header {
    display: grid;
    gap: var(--space-sm);
    margin-bottom: clamp(22px, 4vw, 32px);
}

@media (min-width: 820px) {
    .favorites-matrix-band__header {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.92fr);
        gap: clamp(22px, 4vw, 36px);
        align-items: end;
    }
}

.favorites-matrix-band__tag {
    margin: 0 0 6px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-xxs);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: rgba(39, 73, 109, 0.55);
}

.favorites-matrix-band__title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: -0.036em;
    font-size: clamp(1.6rem, 4.5vw + 0.8rem, 2.38rem);
    line-height: 1.08;
    color: var(--royal-sapphire);
}

.favorites-matrix-band__subtitle {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.7;
    color: rgba(12, 19, 36, 0.76);
}

.favorite-empty-modern {
    padding: clamp(28px, 6vw, 44px);
    border-radius: clamp(26px, 5vw, 36px);
    text-align: center;
    margin-bottom: var(--space-lg);
    border: 1px dashed rgba(39, 73, 109, 0.18);
    background: radial-gradient(circle at 52% -20%, rgba(0, 168, 232, 0.12), transparent 58%),
        linear-gradient(168deg, #ffffff 0%, rgba(255, 247, 240, 0.94) 100%);
    box-shadow: var(--shadow-inner);
}

.favorite-empty-modern__mark {
    display: inline-grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin-bottom: var(--space-sm);
    border-radius: 22px;
    background: radial-gradient(circle at 42% -10%, rgba(179, 136, 235, 0.35), rgba(0, 168, 232, 0.18)), rgba(255, 247, 240, 0.85);
    color: var(--royal-sapphire);
    font-size: clamp(26px, 7vw, 34px);
    box-shadow: var(--shadow-soft);
}

.favorite-empty-modern__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.34rem, 3.5vw + 0.7rem, 1.92rem);
    color: var(--royal-sapphire);
}

.favorite-empty-modern__text {
    margin: 0 auto var(--space-md);
    max-width: 52ch;
    font-size: var(--text-sm);
    line-height: 1.7;
}

.favorite-mosaic-feed {
    display: grid;
    gap: clamp(18px, 3.8vw, 26px);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
}

.favorite-mosaic-card {
    --fav-delay: 0ms;
    position: relative;
    padding: clamp(22px, 4.4vw, 30px);
    padding-top: clamp(28px, 5vw, 34px);
    border-radius: 22px;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: radial-gradient(circle at 108% -8%, rgba(179, 136, 235, 0.18), transparent 54%),
        radial-gradient(circle at -14% 88%, rgba(0, 168, 232, 0.12), transparent 48%),
        linear-gradient(150deg, #ffffff 0%, rgba(255, 247, 240, 0.86) 100%);
    box-shadow: var(--shadow-soft);
    animation: favorites-card-rise 0.78s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: var(--fav-delay);
}

@keyframes favorites-card-rise {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.favorite-mosaic-card__gleam {
    position: absolute;
    inset-inline-end: -32%;
    inset-block-start: -48%;
    width: clamp(220px, 58vw, 320px);
    height: clamp(220px, 58vw, 320px);
    transform: rotate(18deg);
    background: radial-gradient(circle at 42% 38%, rgba(0, 168, 232, 0.18), transparent 62%);
    pointer-events: none;
}

.favorite-mosaic-card__index {
    position: absolute;
    top: 14px;
    right: clamp(14px, 3.5vw, 20px);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.1rem, 6vw, 3rem);
    letter-spacing: -0.06em;
    color: rgba(39, 73, 109, 0.08);
    line-height: 1;
}

.favorite-mosaic-card__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0.26rem 0.65rem 0.26rem;
    margin-bottom: var(--space-sm);
    border-radius: 999px;
    font-size: var(--text-xxs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(20, 40, 80, 0.75);
    background: rgba(0, 168, 232, 0.12);
    border: 1px solid rgba(0, 168, 232, 0.22);
}

.favorite-mosaic-card__chip i {
    font-size: 14px;
    color: rgba(179, 136, 235, 0.95);
}

.favorite-mosaic-card__title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.08rem, 2.8vw + 0.74rem, 1.42rem);
    letter-spacing: -0.026em;
    line-height: 1.22;
    color: var(--royal-sapphire);
    max-width: 24ch;
}

.favorite-mosaic-card__excerpt {
    margin: 0 0 clamp(18px, 3.8vw, 24px);
    font-size: var(--text-sm);
    line-height: 1.66;
    color: rgba(12, 19, 36, 0.74);
}

.favorite-mosaic-card__foot {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    align-items: center;
    justify-content: space-between;
}

.fav-open-link {
    flex: 1 1 140px;
    justify-content: center;
    padding-inline: 1rem !important;
    font-size: var(--text-xs);
}

.favorite-mosaic-card__foot .ghost-danger-btn {
    flex: 1 1 120px;
}

.ghost-danger-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 44px;
    padding-inline: var(--space-sm);
    border-radius: var(--radius-sm);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--text-xs);
    cursor: pointer;
    border: 1px solid rgba(180, 64, 64, 0.28);
    background: rgba(255, 240, 240, 0.55);
    color: #7a2929;
    transition: border-color var(--transition-fast), background var(--transition-fast),
        transform var(--transition-fast), box-shadow var(--transition-fast);
}

.ghost-danger-btn:hover {
    border-color: rgba(180, 64, 64, 0.45);
    background: rgba(255, 220, 220, 0.65);
}

.ghost-danger-btn:active {
    transform: scale(0.98);
}

.ghost-danger-btn:focus-visible {
    outline: 3px solid rgba(0, 168, 232, 0.45);
    outline-offset: 2px;
}

.favorites-foot__grid {
    display: grid;
    gap: var(--space-md);
}

@media (min-width: 780px) {
    .favorites-foot__grid {
        grid-template-columns: minmax(0, 1.12fr) minmax(260px, 0.94fr);
    }
}

.favorites-foot__card {
    padding: clamp(22px, 4vw, 30px);
    border-radius: var(--radius-md);
    border: 1px solid rgba(39, 73, 109, 0.1);
    background: rgba(255, 255, 255, 0.55);
}

.favorites-foot__card--accent {
    background: linear-gradient(128deg, rgba(0, 168, 232, 0.1), rgba(179, 136, 235, 0.12)),
        rgba(255, 247, 240, 0.65);
}

.favorites-foot__mini-title {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-display);
    font-weight: 800;
    font-size: var(--text-lg);
    color: var(--royal-sapphire);
}

.favorites-foot__text {
    margin: 0 0 var(--space-md);
    font-size: var(--text-sm);
    line-height: 1.62;
}

.favorites-foot__ticks {
    margin: 0;
    padding-left: 1.2rem;
    font-size: var(--text-sm);
    line-height: 1.7;
    color: rgba(12, 19, 36, 0.78);
}

.favorites-foot__ticks li {
    margin-bottom: var(--space-sm);
}

.favorites-foot__link {
    width: fit-content;
}

@media (prefers-reduced-motion: reduce) {
    .favorite-mosaic-card {
        animation: none !important;
    }

    .favorites-ledger-metric__bar-fill {
        transition: none;
    }
}

@media (max-width: 320px) {
    :root {
        --header-h: 54px;
    }

    body {
        font-size: clamp(0.9375rem, 0.55vw + 0.82rem, 1rem);
    }

    .shell,
    .shell--wide {
        width: calc(100% - 20px);
    }

    .site-header__inner {
        padding-inline: 10px;
    }

    .brand {
        min-width: 0;
    }

    .brand__text {
        max-width: min(48vw, 140px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .nav-toggle {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

    .nav-drawer {
        top: calc(var(--header-h) + 8px);
        right: 10px;
        bottom: 12px;
        width: calc(100vw - 20px);
        max-width: none;
        padding: 16px 14px 20px;
        border-radius: var(--radius-md);
    }

    .primary-nav__link {
        min-height: 48px;
        align-items: center;
    }

    .legal-toc {
        position: relative;
        top: auto;
    }

    .thanks-orbit-ring {
        display: none;
    }

    .cookie-layer {
        inset: auto 10px 10px;
    }

    .cookie-panel__buttons {
        flex-direction: column;
    }

    .cookie-panel__buttons .btn {
        width: 100%;
    }

    .input,
    textarea.input {
        font-size: 16px;
    }

    .btn {
        min-height: 46px;
    }

    .policy-hero h1,
    .hero-compact h1 {
        font-size: clamp(1.65rem, 7.5vw + 0.85rem, 2.4rem);
    }

    .favorites-ledger-hero {
        margin-inline: 10px;
        padding: 22px 16px 26px;
    }

    .favorites-ledger-hero__title {
        font-size: clamp(1.7rem, 6.9vw + 0.74rem, 2.62rem);
    }

    .favorites-ledger-metric__cta {
        width: 100%;
    }

    .favorites-ledger-metric__btn {
        flex: 1 1 calc(50% - 6px);
        justify-content: center;
    }

    .favorites-mini-toc__list {
        flex-direction: column;
    }

    .favorites-mini-toc__list li a {
        width: 100%;
        justify-content: center;
    }

    .favorites-bento__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .favorites-vault-shell__outline {
        padding: 18px 14px;
    }

    .favorites-flow__node {
        grid-template-columns: minmax(0, 1fr);
        justify-items: start;
    }

    .favorites-flow__index {
        width: 68px;
        height: 56px;
        font-size: clamp(0.95rem, 3.8vw + 0.52rem, 1.08rem);
    }

    .favorites-matrix-band__subtitle {
        font-size: var(--text-xs);
    }

    .favorite-mosaic-card__foot {
        flex-direction: column;
        align-items: stretch;
    }

    .favorite-mosaic-card__foot .fav-open-link,
    .favorite-mosaic-card__foot .ghost-danger-btn {
        width: 100%;
        flex-basis: auto;
    }
}

.luxury-thanks-header {
    padding: clamp(16px, 3vw, 24px) 0;
    background: rgba(10, 14, 26, 0.95);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(10px);
}

.luxury-logo-link {
    color: #fff;
    text-decoration: none;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    transition: color 0.3s ease;
}

.luxury-logo-link:hover {
    color: #b388eb;
}

.luxury-legal-info {
    margin-top: clamp(48px, 10vw, 80px);
    padding-top: clamp(32px, 6vw, 48px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
}

.luxury-legal-info p {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.6);
    margin: clamp(8px, 2vw, 12px) 0;
    line-height: 1.6;
}

.luxury-legal-info a {
    color: #b388eb;
    text-decoration: none;
    transition: color 0.3s ease;
}

.luxury-legal-info a:hover {
    color: #c49bff;
    text-decoration: underline;
}

.luxury-compliance-text {
    font-size: var(--text-xs);
    margin-top: clamp(16px, 3vw, 24px);
}

.luxury-compliance-text a {
    margin: 0 clamp(8px, 2vw, 12px);
}

.luxury-micro-nav {
    display: flex;
    gap: clamp(16px, 3vw, 24px);
    justify-content: center;
    flex-wrap: wrap;
    margin-top: clamp(32px, 6vw, 48px);
    padding-top: clamp(24px, 5vw, 32px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.luxury-micro-nav a {
    font-size: var(--text-xs);
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 500;
}

.luxury-micro-nav a:hover {
    color: #b388eb;
}

.luxury-thanks-footer {
    background: rgba(10, 14, 26, 0.98);
    padding: clamp(32px, 6vw, 48px) clamp(20px, 5vw, 40px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin-top: clamp(60px, 12vw, 100px);
}

.luxury-footer-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.luxury-footer-content p {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.6);
    margin: clamp(8px, 2vw, 12px) 0;
    line-height: 1.6;
}

.luxury-footer-content a {
    color: #b388eb;
    text-decoration: none;
    transition: color 0.3s ease;
}

.luxury-footer-content a:hover {
    color: #c49bff;
}

.luxury-personal-intro {
    font-size: clamp(0.95rem, 2vw, 1.1rem);
    color: rgba(255, 255, 255, 0.75);
    max-width: 65ch;
    margin: clamp(20px, 4vw, 32px) auto;
    line-height: 1.7;
}
