@font-face {
    font-family: "Rubik";
    src: url("/assets-cool/rubik-latin-700-normal.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Rubik";
    src: url("/assets-cool/rubik-latin-800-normal.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/assets-cool/inter-latin-400-normal.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/assets-cool/inter-latin-500-normal.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/assets-cool/inter-latin-700-normal.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --paint-base: #141144;
    --paint-brand-hot: #fdbe01;
    --paint-spot-deep: #dca600;
    --paint-sheet: #17112a;
    --paint-surface-2: #221a3c;
    --paint-reading: #FFFFFF;
    --paint-muted: #c0c0c0;
    --paint-line: #352f4d;
    --paint-border-strong: #4c4470;
    --paint-blend-a: #FFFFFF;
    --paint-ramp-end: #6daf1d;
    --paint-notice: #c1272d;

    --family-heading: "Rubik", Helvetica, Arial, sans-serif;
    --family-body: "Inter", Helvetica, Arial, sans-serif;

    --size-h1: clamp(29px, 3.6vw, 44px);
    --size-head: clamp(24px, 2.7vw, 34px);
    --size-lg-2: clamp(20px, 2vw, 26px);
    --size-md-2: 20px;
    --size-sm-2: 16px;
    --size-h6: 14px;
    --size-copy: 16px;
    --size-petite: 14px;
    --size-xs: 12px;

    --line-snug: 1.2;
    --line-regular: 1.55;
    --line-roomy: 1.7;

    --ls-tight: -0.01em;
    --ls-normal: 0;
    --ls-spread: 0.02em;

    --fw-plain: 400;
    --fw-demi: 500;
    --fw-bold: 700;

    --gutter-hair: 4px;
    --gutter-tiny: 8px;
    --gutter-snug: 12px;
    --gutter-base: 16px;
    --gutter-wide: 24px;
    --gutter-roomy: 40px;
    --gutter-vast: 64px;
    --gutter-huge: 96px;

    --soften-hair: 0;
    --soften-tiny: 0;
    --soften-snug: 0;
    --soften-base: 0;
    --soften-wide: 0;
    --soften-roomy: 0;
    --soften-vast: 0;
    --soften-huge: 0;
    --soften-stadium: 0;
    --soften-round-full: 50%;
    --knob-edge: 3px;

    --depth-hair: none;
    --depth-tiny: none;
    --depth-snug: 0 1px 0 rgba(0, 0, 0, 0.08);
    --depth-base: 0 2px 0 rgba(0, 0, 0, 0.12);
    --depth-wide: 0 4px 0 rgba(0, 0, 0, 0.16);
    --depth-roomy: 0 6px 0 rgba(0, 0, 0, 0.2);
    --depth-vast: 0 8px 0 rgba(0, 0, 0, 0.24);
    --depth-huge: 0 10px 0 rgba(0, 0, 0, 0.28);

    --border-thin: 1px;
    --border-even: 2px;
    --border-bold: 4px;

    --speed-snap: 219ms;
    --speed-regular: 420ms;
    --speed-long: 720ms;
    --motion-curve-land: cubic-bezier(0.33, 0.91, 0.37, 0.93);
    --motion-curve-launch: cubic-bezier(0.54, 0.03, 0.34, 0.89);
    --motion-curve-swing: cubic-bezier(0.54, 0.03, 0.34, 0.89);
    --motion-curve-overshoot: cubic-bezier(0.31, 1.05, 0.68, 1.1);

    --wrap-full: 1140px;
    --wrap-inner: 1140px;
    --wrap-pad-lg: 56px;
    --wrap-edge-mid: 32px;
    --wrap-inset-mobile: 16px;
    --edge-narrow: 680px;

    --header-tall: 52px;
    --header-h-sm: 46px;
    --sec-y: 44px;
    --shelf-y: 18px;
}

@media (max-width: 800px) {
    :root {
        --size-md-2: 18px;
        --size-sm-2: 15px;
        --size-h6: 13px;
        --size-copy: 15px;
        --size-petite: 13px;
        --size-xs: 11px;
        --wrap-pad-lg: 16px;
        --sec-y: 34px;
    }
}

@media (min-width: 801px) and (max-width: 1100px) {
    :root {
        --wrap-pad-lg: 32px;
    }
}

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

html {
    scroll-behavior: smooth;
}

html,
body {
    overflow-x: clip;
}

body {
    margin: 0;
    background: var(--paint-sheet);
    color: var(--paint-reading);
    font-family: var(--family-body);
    font-size: var(--size-copy);
    font-weight: var(--fw-plain);
    line-height: var(--line-regular);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: anywhere;
    margin: 0;
}

h1,
h2 {
    font-family: var(--family-heading);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-tight);
    line-height: var(--line-snug);
}

h1 {
    font-size: var(--size-h1);
}

h2 {
    font-size: var(--size-head);
}

h3 {
    font-family: var(--family-body);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-normal);
    font-size: var(--size-lg-2);
    line-height: var(--line-snug);
}

h4,
h5,
h6 {
    font-family: var(--family-body);
    font-weight: var(--fw-demi);
    letter-spacing: var(--ls-normal);
    line-height: var(--line-snug);
}

h4 {
    font-size: var(--size-md-2);
}

h5 {
    font-size: var(--size-sm-2);
}

h6 {
    font-size: var(--size-h6);
}

p {
    margin: 0 0 var(--gutter-base);
}

ul,
ol {
    margin: 0;
    padding: 0;
}

button,
input,
textarea {
    font: inherit;
    color: inherit;
}

.skiplane {
    position: absolute;
    left: var(--gutter-base);
    z-index: 120;
    background: var(--paint-brand-hot);
    color: var(--paint-base);
    padding: var(--gutter-snug) var(--gutter-base);
    font-weight: var(--fw-bold);
    text-decoration: none;
}

.skiplane:not(:focus) {
    top: -200px !important;
}

.skiplane:focus {
    top: var(--gutter-base);
}

.srhide {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.mainstage {
    flex: 1 0 auto;
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

[data-fx] {
    opacity: 0;
    transform: translateY(30px) scaleY(0.985);
    transform-origin: top center;
    transition: opacity var(--speed-regular) var(--motion-curve-land), transform var(--speed-regular) var(--motion-curve-land);
}

[data-fx].is-live {
    opacity: 1;
    transform: none;
}

/* ── header · HEAD-BANNER ───────────────────────────────────────────── */

.hearth {
    background: var(--paint-base);
    color: var(--paint-reading);
    position: relative;
    z-index: 60;
}

.hearth-shelf {
    max-width: calc(var(--wrap-full) + 2 * var(--gutter-base));
    margin-inline: auto;
    padding-inline: var(--gutter-base);
    padding-block: var(--shelf-y);
    display: flex;
    align-items: center;
    gap: var(--gutter-base);
    background: var(--paint-base);
}

.hearth-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.hearth-badge img {
    height: 88px;
    width: auto;
    display: block;
    flex-shrink: 0;
}

.hearth-mark {
    object-fit: contain;
}

.hearth-age {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 var(--gutter-tiny);
    background: var(--paint-notice);
    color: var(--paint-blend-a);
    font-size: var(--size-xs);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-spread);
    border-radius: var(--soften-tiny);
    flex-shrink: 0;
}

.hearth-flag {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--gutter-hair);
    background: var(--paint-base);
    color: var(--paint-muted);
    font-size: var(--size-xs);
    letter-spacing: var(--ls-spread);
    flex-shrink: 0;
}

.hearth-menu-opener {
    display: none;
    align-items: center;
    gap: var(--gutter-tiny);
    min-height: 44px;
    padding: 0 var(--gutter-snug);
    background: var(--paint-base);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-border-strong);
    border-radius: var(--knob-edge);
    cursor: pointer;
    flex-shrink: 0;
    order: 4;
}

.hearth-lines {
    position: relative;
    display: block;
    width: 18px;
    height: 2px;
    background: var(--paint-reading);
}

.hearth-lines::before,
.hearth-lines::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background: var(--paint-reading);
}

.hearth-lines::before {
    top: -6px;
}

.hearth-lines::after {
    top: 6px;
}

.hearth-word {
    font-size: var(--size-petite);
    font-weight: var(--fw-demi);
    letter-spacing: var(--ls-spread);
}

.hearth-keys {
    display: flex;
    align-items: center;
    gap: var(--gutter-tiny);
    flex-shrink: 0;
    order: 5;
}

.hearth-key {
    white-space: nowrap;
    flex-shrink: 0;
}

.hearth-quiet {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--gutter-base);
    background: var(--paint-base);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-reading);
    border-radius: var(--knob-edge);
    font-size: var(--size-petite);
    font-weight: var(--fw-demi);
    letter-spacing: var(--ls-spread);
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background var(--speed-snap) var(--motion-curve-land), color var(--speed-snap) var(--motion-curve-land);
}

.hearth-quiet:hover {
    background: var(--paint-reading);
    color: var(--paint-base);
}

.hearth-strap {
    background: var(--paint-base);
    border-top: var(--border-thin) solid var(--paint-line);
}

.hearth-bar {
    display: flex;
    align-items: center;
    height: 52px;
    max-width: calc(var(--wrap-full) + 2 * var(--gutter-base));
    margin-inline: auto;
    padding-inline: var(--gutter-base);
    background: var(--paint-base);
}

.hearth-list {
    display: flex;
    align-items: center;
    gap: var(--gutter-snug);
    list-style: none;
}

.hearth-node {
    display: flex;
    align-items: center;
}

.hearth-node + .hearth-node::before {
    content: "\00B7";
    color: var(--paint-border-strong);
    margin-right: var(--gutter-snug);
}

.hearth-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--gutter-snug);
    background: var(--paint-base);
    color: var(--paint-reading);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--speed-snap) var(--motion-curve-land), color var(--speed-snap) var(--motion-curve-land);
}

.hearth-link:hover {
    background: var(--paint-surface-2);
    color: var(--paint-brand-hot);
}

.hearth-link.is-here {
    background: var(--paint-brand-hot);
    color: var(--paint-base);
    border-radius: var(--soften-stadium);
}

.hearth-drawer {
    display: none;
    background: var(--paint-base);
    border-top: var(--border-thin) solid var(--paint-line);
    padding-inline: var(--gutter-base);
    padding-block: var(--gutter-tiny);
}

.hearth-drawer.is-open {
    display: block;
}

.hearth-drawer .hearth-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.hearth-drawer .hearth-node + .hearth-node::before {
    content: none;
}

.hearth-drawer .hearth-node {
    border-bottom: var(--border-thin) solid var(--paint-line);
}

.hearth-drawer .hearth-link {
    width: 100%;
    padding-block: var(--gutter-snug);
}

@media (max-width: 1100px) {
    .hearth-shelf,
    .hearth-bar {
        max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
        padding-inline: var(--wrap-pad-lg);
    }

    .hearth-drawer {
        padding-inline: var(--wrap-pad-lg);
    }
}

@media (max-width: 1024px) {
    .hearth-badge img {
        height: 68px;
    }

    .hearth-list {
        gap: var(--gutter-tiny);
    }

    .hearth-link {
        padding: 0 var(--gutter-tiny);
    }

    .hearth-node + .hearth-node::before {
        margin-right: var(--gutter-tiny);
    }
}

@media (max-width: 899px) {
    .hearth-menu-opener {
        display: inline-flex;
    }

    .hearth-strap {
        display: none;
    }
}

@media (max-width: 800px) {
    .hearth-shelf {
        flex-wrap: wrap;
        row-gap: var(--gutter-snug);
    }

    .hearth-badge img {
        height: 60px;
    }

    .hearth-keys {
        flex-basis: 100%;
        order: 6;
    }

    .hearth-keys .hearth-key,
    .hearth-keys .hearth-quiet {
        flex: 1 1 auto;
        font-size: var(--size-xs);
        padding-inline: var(--gutter-snug);
    }
}

@media (max-width: 420px) {
    .hearth-word {
        display: none;
    }

    .hearth-keys .hearth-quiet {
        display: none;
    }
}

/* ── breadcrumbs · BREAD-02 ─────────────────────────────────────────── */

.arbor {
    background: var(--paint-sheet);
    color: var(--paint-muted);
    padding-block: var(--gutter-base);
}

.arbor-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.arbor-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gutter-tiny);
    list-style: none;
}

.arbor-node {
    display: inline-flex;
}

.arbor-link {
    display: inline-flex;
    align-items: center;
    padding: var(--gutter-hair) var(--gutter-snug);
    background: var(--paint-surface-2);
    color: var(--paint-muted);
    border-radius: var(--soften-stadium);
    font-size: var(--size-xs);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
    text-decoration: none;
    transition: background var(--speed-snap) var(--motion-curve-land), color var(--speed-snap) var(--motion-curve-land);
}

.arbor-link:hover {
    background: var(--paint-brand-hot);
    color: var(--paint-base);
}

.arbor-here {
    display: inline-flex;
    align-items: center;
    padding: var(--gutter-hair) var(--gutter-snug);
    background: var(--paint-base);
    color: var(--paint-reading);
    border-radius: var(--soften-stadium);
    font-size: var(--size-xs);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
}

/* ── hero · HERO-09 ─────────────────────────────────────────────────── */

.canopy {
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.canopy-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    padding-block: var(--sec-y);
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: var(--gutter-roomy);
    align-items: start;
}

.canopy-matter {
    padding-block: var(--gutter-base);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.canopy-eyebrow {
    display: inline-block;
    margin-bottom: var(--gutter-snug);
    padding: var(--gutter-hair) var(--gutter-snug);
    background: var(--paint-base);
    color: var(--paint-brand-hot);
    font-size: var(--size-xs);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
}

.canopy-subtitle {
    margin-block: var(--gutter-base);
    max-width: var(--edge-narrow);
    color: var(--paint-muted);
    font-size: var(--size-sm-2);
    line-height: var(--line-roomy);
}

.canopy-cta {
    margin-top: var(--gutter-tiny);
}

.canopy-terms {
    display: block;
    margin-top: var(--gutter-snug);
    max-width: var(--edge-narrow);
    color: var(--paint-muted);
    font-size: var(--size-xs);
    line-height: var(--line-regular);
}

.canopy-solo {
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
}

.canopy-list {
    display: flex;
    flex-direction: column;
    gap: var(--gutter-base);
    list-style: none;
}

.canopy-unit {
    display: flex;
    align-items: flex-start;
    gap: var(--gutter-snug);
    padding: var(--gutter-base);
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-line);
    border-radius: var(--soften-base);
    transition: border-color var(--speed-snap) var(--motion-curve-land);
}

.canopy-unit:hover {
    border-color: var(--paint-brand-hot);
}

.canopy-num {
    font-family: var(--family-heading);
    font-weight: var(--fw-bold);
    font-size: var(--size-lg-2);
    color: var(--paint-brand-hot);
    line-height: var(--line-snug);
    flex-shrink: 0;
}

.canopy-heading {
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    font-weight: var(--fw-bold);
    font-size: var(--size-copy);
    line-height: var(--line-snug);
}

@media (max-width: 1024px) {
    .canopy-body {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gutter-wide);
    }
}

/* ── page-header · PHEAD-05 ─────────────────────────────────────────── */

.balcony {
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.balcony-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    padding-block: var(--sec-y);
}

.balcony-crumbs {
    margin-bottom: var(--gutter-snug);
    color: var(--paint-muted);
    font-size: var(--size-xs);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
}

.balcony-crumbs a {
    color: var(--paint-muted);
    background: var(--paint-sheet);
    text-decoration: none;
}

.balcony-crumbs a:hover {
    color: var(--paint-brand-hot);
}

.balcony-caption {
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.balcony-note {
    margin-top: var(--gutter-snug);
    color: var(--paint-muted);
}

.balcony-aside {
    margin-top: var(--gutter-tiny);
    color: var(--paint-muted);
    font-size: var(--size-petite);
}

/* ── prose · PROSE-05 ───────────────────────────────────────────────── */

.promenade {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.promenade-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.promenade-part {
    margin-bottom: var(--gutter-wide);
}

.promenade-part:last-child {
    margin-bottom: 0;
}

.promenade-heading {
    margin-block-start: var(--gutter-wide);
    margin-block-end: var(--gutter-snug);
    font-family: var(--family-body);
    font-weight: var(--fw-bold);
    font-size: var(--size-lg-2);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
    color: var(--paint-reading);
    background: var(--paint-sheet);
}

.promenade-heading::before {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    margin-bottom: var(--gutter-snug);
    background: var(--paint-brand-hot);
}

.promenade-part p {
    line-height: var(--line-regular);
    color: var(--paint-muted);
    background: var(--paint-sheet);
}

.promenade-part p:last-child {
    margin-bottom: 0;
}

.promenade-part p a {
    position: relative;
    color: var(--paint-brand-hot);
    background: var(--paint-sheet);
    text-decoration: none;
}

.promenade-part p a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: var(--paint-brand-hot);
    transform: scaleX(0);
    transition: transform var(--speed-snap) var(--motion-curve-land);
}

.promenade-part p a:hover::after {
    transform: scaleX(1);
}

.promenade-part strong {
    color: var(--paint-reading);
    font-weight: var(--fw-bold);
}

.promenade-roll {
    margin: 0 0 var(--gutter-base);
    padding-left: var(--gutter-wide);
    color: var(--paint-muted);
    background: var(--paint-sheet);
}

.promenade-roll li {
    margin-bottom: var(--gutter-tiny);
}

/* ── items-grid · GRID-02 ───────────────────────────────────────────── */

.foyer {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.foyer-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.foyer-hdr {
    margin-block-end: var(--gutter-wide);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.foyer-list {
    display: block;
}

.foyer-unit {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: var(--gutter-base);
    align-items: start;
    padding-block: var(--gutter-wide);
    border-bottom: var(--border-thin) solid var(--paint-line);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.foyer-unit:last-child {
    border-bottom: none;
}

.foyer-num {
    font-family: var(--family-heading);
    font-weight: var(--fw-bold);
    font-size: var(--size-head);
    letter-spacing: var(--ls-tight);
    color: var(--paint-brand-hot);
    background: var(--paint-sheet);
    line-height: var(--line-snug);
    transform: scale(1);
    transition: transform var(--speed-regular) var(--motion-curve-land);
}

.foyer-unit:hover .foyer-num {
    transform: scale(1.1);
}

.foyer-caption {
    display: flex;
    align-items: center;
    gap: var(--gutter-snug);
    margin-bottom: var(--gutter-tiny);
    font-family: var(--family-heading);
    font-weight: var(--fw-bold);
    color: var(--paint-reading);
    background: var(--paint-sheet);
}

.foyer-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: var(--paint-base);
    color: var(--paint-brand-hot);
    border: var(--border-thin) solid var(--paint-border-strong);
}

.foyer-glyph svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.foyer-note {
    color: var(--paint-muted);
    background: var(--paint-sheet);
    line-height: var(--line-roomy);
}

@media (max-width: 800px) {
    .foyer-unit {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: var(--gutter-snug);
    }
}

/* ── faq · FAQ-04 ───────────────────────────────────────────────────── */

.atrium {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.atrium-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.atrium-hdr {
    margin-block-end: var(--gutter-wide);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.atrium-list {
    display: block;
}

.atrium-unit {
    display: block;
    padding-block: var(--gutter-base);
    border-bottom: var(--border-thin) solid var(--paint-line);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.atrium-num {
    align-self: start;
    padding-top: var(--gutter-hair);
    font-family: var(--family-heading);
    font-weight: var(--fw-bold);
    font-size: var(--size-lg-2);
    color: var(--paint-brand-hot);
    background: var(--paint-sheet);
}

.atrium-ask {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gutter-snug);
    min-height: 44px;
    cursor: pointer;
    list-style: none;
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.atrium-ask::-webkit-details-marker {
    display: none;
}

.atrium-quest {
    font-family: var(--family-body);
    font-weight: var(--fw-bold);
    font-size: var(--size-sm-2);
    color: var(--paint-reading);
    background: var(--paint-sheet);
}

.atrium-chev {
    flex-shrink: 0;
    color: var(--paint-brand-hot);
    background: var(--paint-sheet);
    transition: transform var(--speed-snap) var(--motion-curve-land);
}

.atrium-chev svg {
    display: block;
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
}

.atrium-unit[open] .atrium-chev {
    transform: rotate(180deg);
}

.atrium-matter {
    overflow: hidden;
    padding-top: var(--gutter-snug);
    padding-left: calc(60px + var(--gutter-snug));
    color: var(--paint-muted);
    background: var(--paint-sheet);
}

.atrium-unit[open] .atrium-matter {
    animation: atriumUnfold var(--speed-regular) var(--motion-curve-land);
}

.atrium-matter p:last-child {
    margin-bottom: 0;
}

@keyframes atriumUnfold {
    from {
        max-height: 0;
        opacity: 0;
    }

    to {
        max-height: 70vh;
        opacity: 1;
    }
}

@media (max-width: 800px) {
    .atrium-ask {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        gap: var(--gutter-tiny);
    }

    .atrium-matter {
        padding-left: calc(38px + var(--gutter-tiny));
    }
}

/* ── reviews · REV-03 ───────────────────────────────────────────────── */

.crown {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.crown-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.crown-hdr {
    margin-block-end: var(--gutter-wide);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.crown-rail {
    display: flex;
    gap: var(--gutter-base);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: var(--gutter-snug);
    list-style: none;
}

.crown-tile {
    flex: 0 0 360px;
    max-width: 360px;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    gap: var(--gutter-snug);
    padding: var(--gutter-wide);
    scroll-snap-align: start;
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-line);
    border-radius: var(--soften-base);
    transition: border-color var(--speed-snap) var(--motion-curve-land);
}

.crown-tile:hover {
    border-color: var(--paint-brand-hot);
}

.crown-band {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gutter-tiny);
    background: var(--paint-surface-2);
    color: var(--paint-reading);
}

.crown-who {
    font-weight: var(--fw-bold);
    font-size: var(--size-petite);
    color: var(--paint-reading);
    background: var(--paint-surface-2);
}

.crown-date {
    font-size: var(--size-xs);
    color: var(--paint-muted);
    background: var(--paint-surface-2);
}

.crown-score {
    font-size: var(--size-xs);
    letter-spacing: var(--ls-spread);
    color: var(--paint-brand-hot);
    background: var(--paint-surface-2);
}

.crown-gauge {
    position: relative;
    width: 60%;
    height: 4px;
    background: var(--paint-border-strong);
}

.crown-fill {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: var(--paint-brand-hot);
}

.crown-quote {
    margin: 0;
    color: var(--paint-muted);
    background: var(--paint-surface-2);
    font-size: var(--size-petite);
    line-height: var(--line-roomy);
}

.crown-dots {
    display: flex;
    justify-content: center;
    gap: var(--gutter-tiny);
    margin-top: var(--gutter-base);
    list-style: none;
}

.crown-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--soften-round-full);
    background: var(--paint-border-strong);
    transition: background var(--speed-snap) var(--motion-curve-land);
}

.crown-dot.is-here {
    background: var(--paint-brand-hot);
}

@media (max-width: 500px) {
    .crown-tile {
        flex: 0 0 84vw;
        max-width: 84vw;
    }
}

/* ── data-table · TABLE-01 ──────────────────────────────────────────── */

.lattice {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.lattice-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.lattice-hdr {
    margin-block-end: var(--gutter-wide);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.lattice-scroll {
    overflow-x: auto;
    border-radius: var(--soften-base);
}

.lattice-grid {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    background: var(--paint-surface-2);
    color: var(--paint-reading);
}

.lattice-grid th {
    padding: var(--gutter-base);
    text-align: left;
    background: var(--paint-base);
    color: var(--paint-brand-hot);
    font-family: var(--family-body);
    font-weight: var(--fw-demi);
    font-size: var(--size-h6);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
}

.lattice-grid td {
    padding: var(--gutter-base);
    text-align: left;
    font-size: var(--size-copy);
    color: var(--paint-muted);
    background: var(--paint-surface-2);
}

.lattice-grid td:first-child {
    color: var(--paint-reading);
    font-weight: var(--fw-demi);
    background: var(--paint-surface-2);
}

.lattice-grid tbody tr:nth-child(even) td {
    background: var(--paint-base);
}

.lattice-grid tbody tr:hover td {
    background: var(--paint-base);
    color: var(--paint-reading);
    transition: background var(--speed-snap) var(--motion-curve-land);
}

/* ── cta-block · CTA-10 ─────────────────────────────────────────────── */

.slab {
    background: var(--paint-base);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.slab-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    text-align: center;
}

.slab-quote {
    position: relative;
    margin: 0 auto;
    max-width: var(--edge-narrow);
    padding-top: var(--gutter-roomy);
    font-family: var(--family-heading);
    font-style: italic;
    font-weight: var(--fw-bold);
    font-size: var(--size-h1);
    line-height: var(--line-snug);
    color: var(--paint-reading);
    background: var(--paint-base);
}

.slab-quote::before {
    content: "\201C";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 64px;
    line-height: 1;
    color: var(--paint-brand-hot);
}

.slab-sub {
    margin: var(--gutter-base) auto var(--gutter-wide);
    max-width: var(--edge-narrow);
    color: var(--paint-muted);
    background: var(--paint-base);
    line-height: var(--line-roomy);
}

.slab-link {
    letter-spacing: var(--ls-spread);
}

.slab-terms {
    display: block;
    margin-top: var(--gutter-snug);
    color: var(--paint-muted);
    background: var(--paint-base);
    font-size: var(--size-xs);
}

/* ── legal-section · LEGAL-03 ───────────────────────────────────────── */

.threshold {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.threshold-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: var(--gutter-roomy);
    align-items: start;
}

.threshold-toc {
    position: sticky;
    top: var(--gutter-roomy);
    align-self: start;
    padding: var(--gutter-base);
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-line);
}

.threshold-toc h4 {
    margin-bottom: var(--gutter-snug);
    color: var(--paint-reading);
    background: var(--paint-surface-2);
}

.threshold-list {
    margin: 0;
    padding-left: var(--gutter-base);
    font-size: var(--size-petite);
    color: var(--paint-muted);
    background: var(--paint-surface-2);
}

.threshold-list li {
    margin-bottom: var(--gutter-tiny);
}

.threshold-list a {
    color: var(--paint-muted);
    background: var(--paint-surface-2);
    text-decoration: none;
}

.threshold-list a:hover {
    color: var(--paint-brand-hot);
}

.threshold-matter {
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.threshold-part {
    margin-bottom: var(--gutter-wide);
    scroll-margin-top: var(--gutter-roomy);
}

.threshold-heading {
    margin-block-start: var(--gutter-wide);
    margin-block-end: var(--gutter-snug);
    font-size: var(--size-lg-2);
    color: var(--paint-reading);
    background: var(--paint-sheet);
}

.threshold-part p {
    color: var(--paint-muted);
    background: var(--paint-sheet);
}

.threshold-aid {
    margin: 0 0 var(--gutter-base);
    padding-left: var(--gutter-wide);
    color: var(--paint-muted);
    background: var(--paint-sheet);
}

.threshold-aid li {
    margin-bottom: var(--gutter-tiny);
}

.threshold-stamp {
    margin-bottom: var(--gutter-base);
    color: var(--paint-muted);
    background: var(--paint-sheet);
    font-size: var(--size-petite);
}

.threshold-disclaim {
    margin-top: var(--gutter-wide);
    padding: var(--gutter-base);
    background: var(--paint-surface-2);
    color: var(--paint-muted);
    border-left: var(--border-bold) solid var(--paint-brand-hot);
    font-size: var(--size-petite);
}

@media (max-width: 1024px) {
    .threshold-body {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gutter-wide);
    }

    .threshold-toc {
        position: static;
    }
}

/* ── contact-form · FORM-06 ─────────────────────────────────────────── */

.brazier {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.brazier-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
}

.brazier-hdr {
    margin-block-end: var(--gutter-wide);
    background: var(--paint-sheet);
    color: var(--paint-reading);
}

.brazier-form {
    display: flex;
    flex-direction: column;
    gap: var(--gutter-base);
    max-width: 720px;
}

.brazier-cell {
    position: relative;
    flex: 0 0 auto;
}

.brazier-input,
.brazier-area {
    width: 100%;
    padding: var(--gutter-wide) var(--gutter-base) var(--gutter-tiny);
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-even) solid var(--paint-border-strong);
    border-radius: var(--soften-tiny);
}

.brazier-area {
    min-height: 140px;
    resize: vertical;
}

.brazier-input:focus,
.brazier-area:focus {
    outline: var(--border-even) solid var(--paint-brand-hot);
    outline-offset: 1px;
}

.brazier-tag {
    position: absolute;
    top: 50%;
    left: var(--gutter-base);
    transform: translateY(-50%);
    color: var(--paint-muted);
    background: transparent;
    font-size: var(--size-petite);
    pointer-events: none;
    transition: top var(--speed-snap) var(--motion-curve-land), font-size var(--speed-snap) var(--motion-curve-land);
}

.brazier-area + .brazier-tag {
    top: var(--gutter-wide);
}

.brazier-input:focus + .brazier-tag,
.brazier-input:not(:placeholder-shown) + .brazier-tag,
.brazier-area:focus + .brazier-tag,
.brazier-area:not(:placeholder-shown) + .brazier-tag {
    top: var(--gutter-tiny);
    transform: translateY(0);
    font-size: var(--size-xs);
    color: var(--paint-brand-hot);
}

.brazier-btn {
    align-self: flex-start;
    min-height: 44px;
    padding-inline: var(--gutter-wide);
    background: var(--paint-brand-hot);
    color: var(--paint-base);
    border: var(--border-thin) solid var(--paint-brand-hot);
    border-radius: var(--knob-edge);
    font-weight: var(--fw-bold);
    letter-spacing: var(--ls-spread);
    cursor: pointer;
    transition: background var(--speed-snap) var(--motion-curve-land);
}

.brazier-btn:hover {
    background: var(--paint-spot-deep);
    color: var(--paint-base);
}

.brazier-done {
    display: none;
    padding: var(--gutter-base);
    background: var(--paint-base);
    color: var(--paint-reading);
    border-left: var(--border-bold) solid var(--paint-ramp-end);
}

.brazier-done.is-live {
    display: block;
    opacity: 1;
    transform: none;
}

/* ── author-byline · BYLINE-05 ──────────────────────────────────────── */

.credenza {
    display: block;
    background: var(--paint-base);
    color: var(--paint-reading);
    padding-block: var(--gutter-wide);
}

.credenza-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gutter-base);
}

.credenza-info {
    display: flex;
    align-items: center;
    gap: var(--gutter-snug);
}

.credenza-pic {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    align-self: center;
    border-radius: var(--soften-round-full);
    object-fit: cover;
}

.credenza-copy {
    background: var(--paint-base);
    color: var(--paint-reading);
}

.credenza-who {
    margin: 0;
    font-weight: var(--fw-bold);
    background: var(--paint-base);
    color: var(--paint-reading);
}

.credenza-who a {
    color: var(--paint-reading);
    background: var(--paint-base);
    text-decoration: none;
}

.credenza-who a:hover {
    color: var(--paint-brand-hot);
}

.credenza-job {
    margin: 0;
    font-size: var(--size-petite);
    color: var(--paint-muted);
    background: var(--paint-base);
}

.credenza-date {
    margin: var(--gutter-hair) 0 0;
    font-size: var(--size-xs);
    color: var(--paint-muted);
    background: var(--paint-base);
}

.credenza-more {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--gutter-base);
    flex-shrink: 0;
    background: var(--paint-base);
    color: var(--paint-brand-hot);
    border: var(--border-thin) solid var(--paint-brand-hot);
    border-radius: var(--knob-edge);
    font-size: var(--size-petite);
    text-decoration: none;
    transition: background var(--speed-snap) var(--motion-curve-land), color var(--speed-snap) var(--motion-curve-land);
}

.credenza-more:hover {
    background: var(--paint-brand-hot);
    color: var(--paint-base);
}

@media (max-width: 800px) {
    .credenza-body {
        flex-direction: column;
        align-items: flex-start;
    }

    .credenza-more {
        width: 100%;
        justify-content: center;
    }
}

/* ── author-card · AUTH-08 ──────────────────────────────────────────── */

.strip {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--sec-y);
}

.strip-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    display: inline-flex;
    align-items: center;
    gap: var(--gutter-snug);
}

.strip-pic {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    align-self: center;
    border-radius: var(--soften-round-full);
    object-fit: cover;
}

.strip-who {
    margin: 0;
    font-weight: var(--fw-bold);
    color: var(--paint-reading);
    background: var(--paint-sheet);
}

.strip-job {
    margin: 0;
    font-size: var(--size-xs);
    color: var(--paint-muted);
    background: var(--paint-sheet);
}

/* ── error-block · ERR-06 ───────────────────────────────────────────── */

.niche {
    background: var(--paint-sheet);
    color: var(--paint-reading);
    padding-block: var(--gutter-roomy);
    flex: 1 0 auto;
    display: flex;
    align-items: center;
}

.niche-body {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    width: 100%;
}

.niche-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gutter-base);
    max-width: var(--edge-narrow);
    margin-inline: auto;
    padding: var(--gutter-roomy);
    text-align: center;
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-even) solid var(--paint-brand-hot);
    box-shadow: var(--depth-base);
}

.niche-caption {
    max-width: var(--edge-narrow);
    background: var(--paint-surface-2);
    color: var(--paint-reading);
}

.niche-note {
    margin: 0;
    color: var(--paint-muted);
    background: var(--paint-surface-2);
}

.niche-back {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-inline: var(--gutter-wide);
    background: var(--paint-brand-hot);
    color: var(--paint-base);
    border-radius: var(--knob-edge);
    font-weight: var(--fw-bold);
    text-decoration: none;
    transition: background var(--speed-snap) var(--motion-curve-land);
}

.niche-back:hover {
    background: var(--paint-spot-deep);
    color: var(--paint-base);
}

.mainstage:has(> .niche) {
    display: flex;
    flex-direction: column;
}

/* ── footer · FOOT-05 ───────────────────────────────────────────────── */

.trefoil {
    background: var(--paint-base);
    color: var(--paint-reading);
    flex-shrink: 0;
}

.trefoil-rg {
    background: var(--paint-notice);
    color: var(--paint-blend-a);
    padding-block: var(--gutter-snug);
    padding-inline: var(--wrap-inset-mobile);
    text-align: center;
    font-size: var(--size-petite);
    line-height: var(--line-regular);
}

.trefoil-rglink {
    color: var(--paint-blend-a);
    background: var(--paint-notice);
    font-weight: var(--fw-bold);
    text-decoration: underline;
}

.trefoil-grid {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    padding-block: var(--gutter-vast);
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: var(--gutter-roomy);
}

.trefoil-column {
    background: var(--paint-base);
    color: var(--paint-reading);
}

.trefoil-badge {
    display: inline-flex;
}

.trefoil-badge img {
    height: 80px;
    width: auto;
    display: block;
}

.trefoil-mark {
    object-fit: contain;
}

.trefoil-note {
    margin-top: var(--gutter-snug);
    color: var(--paint-muted);
    background: var(--paint-base);
    font-size: var(--size-petite);
}

.trefoil-heading {
    margin-bottom: var(--gutter-base);
    font-family: var(--family-heading);
    font-weight: var(--fw-bold);
    font-size: var(--size-petite);
    letter-spacing: var(--ls-spread);
    text-transform: uppercase;
    color: var(--paint-reading);
    background: var(--paint-base);
}

.trefoil-list {
    list-style: none;
}

.trefoil-list li {
    margin-bottom: var(--gutter-tiny);
}

.trefoil-link {
    position: relative;
    display: inline-block;
    font-family: var(--family-body);
    font-weight: var(--fw-plain);
    font-size: var(--size-petite);
    color: var(--paint-muted);
    background: var(--paint-base);
    text-decoration: none;
}

.trefoil-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;
    background: var(--paint-brand-hot);
    transform: scaleX(0);
    transition: transform var(--speed-snap) var(--motion-curve-land);
}

.trefoil-link:hover {
    color: var(--paint-brand-hot);
    background: var(--paint-base);
}

.trefoil-link:hover::after {
    transform: scaleX(1);
}

.trefoil-strip {
    border-top: var(--border-thin) solid var(--paint-line);
    background: var(--paint-base);
}

.trefoil-copy {
    max-width: calc(var(--wrap-full) + 2 * var(--wrap-pad-lg));
    margin-inline: auto;
    padding-inline: var(--wrap-pad-lg);
    padding-block: var(--gutter-base);
    text-align: center;
    color: var(--paint-muted);
    background: var(--paint-base);
    font-size: var(--size-xs);
}

@media (max-width: 1100px) {
    .trefoil-grid {
        grid-template-columns: 1fr 1fr;
        padding-block: var(--gutter-roomy);
    }
}

@media (max-width: 800px) {
    .trefoil-grid {
        grid-template-columns: 1fr;
        gap: var(--gutter-wide);
    }
}

/* ── cookie-banner · COOK-10 ────────────────────────────────────────── */

.mullion {
    display: none;
}

.mullion.is-open {
    display: contents;
}

.mullion-veil {
    position: fixed;
    inset: 0;
    z-index: 94;
    background: rgba(0, 0, 0, 0.45);
    pointer-events: none;
}

.mullion-tile {
    position: fixed;
    inset: 0;
    margin: auto;
    z-index: 95;
    width: min(480px, calc(100vw - 2 * var(--gutter-wide)));
    height: fit-content;
    padding: var(--gutter-roomy);
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-border-strong);
    box-shadow: var(--depth-wide);
    animation: mullionRise var(--speed-long) var(--motion-curve-land);
}

@keyframes mullionRise {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.mullion-heading {
    margin-bottom: var(--gutter-snug);
    font-family: var(--family-heading);
    font-size: var(--size-sm-2);
    color: var(--paint-reading);
    background: var(--paint-surface-2);
}

.mullion-words {
    margin-bottom: var(--gutter-base);
    color: var(--paint-muted);
    background: var(--paint-surface-2);
    font-size: var(--size-petite);
    line-height: var(--line-regular);
}

.mullion-actions {
    display: flex;
    flex-direction: row;
    gap: var(--gutter-tiny);
}

.mullion-confirm,
.mullion-decline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 44px;
    padding-inline: var(--gutter-base);
    border-radius: var(--knob-edge);
    font-size: var(--size-petite);
    font-weight: var(--fw-demi);
    cursor: pointer;
    white-space: nowrap;
}

.mullion-confirm {
    background: var(--paint-brand-hot);
    color: var(--paint-base);
    border: var(--border-thin) solid var(--paint-brand-hot);
}

.mullion-confirm:hover {
    background: var(--paint-spot-deep);
    color: var(--paint-base);
}

.mullion-decline {
    background: var(--paint-surface-2);
    color: var(--paint-reading);
    border: var(--border-thin) solid var(--paint-border-strong);
}

.mullion-decline:hover {
    background: var(--paint-base);
    color: var(--paint-reading);
}

@media (max-width: 720px) {
    .mullion-tile {
        padding: var(--gutter-wide);
    }

    .mullion-heading {
        display: none;
    }

    .mullion-words {
        font-size: 13px;
        line-height: 1.35;
    }

    .mullion-actions {
        flex-direction: column;
    }

    .mullion-confirm,
    .mullion-decline {
        width: 100%;
        min-height: 40px;
        font-size: var(--size-xs);
        white-space: normal;
    }
}

/* ── reduced motion ─────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    [data-fx] {
        opacity: 1;
        transform: none;
    }
}
/* Offer CTA */
.fwse-act{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 28px;border:2px solid #17112A;border-radius:999px;
  background:#059669;color:#17112A;text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;
  box-shadow:0 4px 12px rgba(0,0,0,.22);transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}
.fwse-act:hover{background:#047857;color:#FFFFFF;box-shadow:0 2px 8px rgba(0,0,0,.28);animation:none}
.fwse-act:hover::after{animation:none}
.fwse-act:active{background:#065F46;color:#FFFFFF}
.fwse-act:focus-visible{outline:3px solid #17112A;outline-offset:3px}
.fwse-act{animation:stamp_fwse 2.84s ease-in-out infinite}
@keyframes stamp_fwse{0%{transform:translate(0,0)}8.451%{transform:translate(2px,2px)}19.014%,100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.fwse-act,.fwse-act::after{animation:none!important;transition:none!important}}

.foyer-page-figure {
	margin-block: var(--paint-spot-deep);
}

.foyer-page-figure img {
	display: block;
	max-width: 100%;
	max-height: 56vh;
	width: auto;
	height: auto;
	margin-inline: auto;
}

.lattice-page-figure {
	margin-block: var(--paint-spot-deep);
}

.lattice-page-figure img {
	display: block;
	max-width: 100%;
	max-height: 56vh;
	width: auto;
	height: auto;
	margin-inline: auto;
}
