/* == tokens == */
:root {
    --anchor: #1b1d1f;
    --flare: #f78c43;
    --press: #f56e13;
    --sheet: #101011;
    --panel: #1a1b1d;
    --copy: #ffffff;
    --text-muted: #c0c0c0;
    --hairline: rgba(255, 255, 255, 0.10);
    --stroke-heavy: rgba(255, 255, 255, 0.24);
    --grad-1: #fcd4bf;
    --blend-b: #f8a76d;
    --warn-band: #9e2a2b;
    --g-2xs: 2px;
    --g-xs: 6px;
    --g-sm: 10px;
    --g-md: 14px;
    --g-lg: 20px;
    --g-xl: 28px;
    --g-2xl: 48px;
    --g-3xl: 72px;
    --stadium: 9999px;
    --dot: 50%;
    --r-2xs: 1px;
    --r-xs: 2px;
    --r-sm: 8px;
    --r-md: 14px;
    --r-lg: 22px;
    --r-xl: 28px;
    --r-2xl: 34px;
    --r-3xl: 44px;
    --display: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    --base: 'Inter', 'Segoe UI', Arial, sans-serif;
    --h1: clamp(26px, 4.4vw, 36px);
    --display-2: clamp(22px, 3vw, 26px);
    --sub: 20px;
    --sub-2: 17px;
    --minor: 14px;
    --micro-head: 12px;
    --reading: 14px;
    --sm: 12px;
    --mini: 11px;
    --close: 1.15;
    --normal: 1.45;
    --airy: 1.6;
    --w-normal: 400;
    --mid: 500;
    --strong: 700;
    --packed: -0.01em;
    --even: 0;
    --spread: 0.06em;
    --d-2xs: 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    --d-xs: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    --d-sm: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    --d-md: 0 8px 24px rgba(0, 0, 0, 0.20), 0 0 0 1px rgba(255, 255, 255, 0.10) inset;
    --d-lg: 0 16px 48px rgba(0, 0, 0, 0.30), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    --d-xl: 0 22px 60px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    --d-2xl: 0 28px 74px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.13) inset;
    --d-3xl: 0 34px 90px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 255, 255, 0.14) inset;
    --snap: 124ms;
    --t-base: 240ms;
    --gentle: 408ms;
    --settle: cubic-bezier(0.32, 0.95, 0.42, 0.93);
    --enter: cubic-bezier(0.42, 0.93, 0.32, 0.95);
    --smooth: cubic-bezier(0.57, 0.05, 0.39, 0.97);
    --bounce: cubic-bezier(0.26, 1.25, 0.75, 1.05);
    --page: 1240px;
    --text: 1240px;
    --padding-desktop: 64px;
    --inset-tablet: 32px;
    --pad-sm: 20px;
    --fine: 1px;
    --b-mid: 2px;
    --bold: 3px;
    --height-desktop: 148px;
    --h-sm: 66px;
    --ovl-sec-y: 44px;
    --ovl-tight: 600px;
    --ovl-h-pad: 148px;
    --ovl-edge: var(--padding-desktop);
    --ovl-frame: calc(var(--page) + 2 * var(--padding-desktop));
}

/* == fonts == */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/letterset/roboto-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/letterset/roboto-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600 700;
    font-display: swap;
    src: url('/letterset/roboto-700.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/letterset/inter-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/letterset/inter-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600 700;
    font-display: swap;
    src: url('/letterset/inter-700.woff2') format('woff2');
}

/* == reset == */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html, body { overflow-x: clip; }
body {
    margin: 0;
    background: var(--sheet);
    color: var(--copy);
    font-family: var(--base);
    font-size: var(--reading);
    font-weight: var(--w-normal);
    line-height: var(--normal);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding-top: var(--ovl-h-pad);
}
img { max-width: 100%; display: block; }
h1, h2, h3, h4, h5, h6 { overflow-wrap: anywhere; margin: 0; }
h1, h2 {
    font-family: var(--display);
    font-weight: var(--strong);
    letter-spacing: var(--packed);
    line-height: var(--close);
    color: var(--copy);
}
h1 { font-size: var(--h1); }
h2 { font-size: var(--display-2); }
h3, h4 {
    font-family: var(--base);
    font-weight: var(--strong);
    letter-spacing: var(--even);
    line-height: var(--close);
    color: var(--copy);
}
h3 { font-size: var(--sub); }
h4 { font-size: var(--sub-2); }
h5, h6 {
    font-family: var(--base);
    font-weight: var(--mid);
    letter-spacing: var(--spread);
    text-transform: uppercase;
    line-height: var(--normal);
    color: var(--copy);
}
h5 { font-size: var(--minor); }
h6 { font-size: var(--micro-head); }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
a { color: var(--flare); text-decoration: none; }
a:hover { color: var(--press); }
button { font: inherit; }
table { border-collapse: collapse; }

/* == utilities == */
.skip-hop {
    position: absolute;
    left: 12px;
    z-index: 300;
    background: var(--flare);
    color: #101011;
    padding: var(--g-sm) var(--g-md);
    border-radius: var(--r-sm);
    font-weight: var(--strong);
}
.skip-hop:not(:focus) { top: -200px !important; }
.skip-hop:focus { top: 12px; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.shaft { flex: 1 0 auto; width: 100%; }
[data-emerge] {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity var(--gentle) var(--settle), transform var(--gentle) var(--settle);
}
[data-emerge].is-shown { opacity: 1; transform: translateY(0); }

/* == header == */
.promenade {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--anchor);
    color: var(--copy);
    border-bottom: var(--fine) solid var(--hairline);
    transition: backdrop-filter var(--t-base) var(--smooth), background var(--t-base) var(--smooth);
}
.promenade.is-drifted {
    background: rgba(27, 29, 31, 0.92);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}
.promenade-shell {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.promenade-banner {
    display: flex;
    align-items: center;
    gap: var(--g-md);
    padding-block: var(--g-md);
    position: relative;
}
.promenade-crest {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    order: 1;
}
.promenade-crest-img {
    height: 60px;
    width: auto;
    flex-shrink: 0;
    display: block;
}
.promenade-flag18 {
    order: 2;
    display: inline-flex;
    align-items: center;
    gap: var(--g-2xs);
    background: var(--warn-band);
    color: #ffffff;
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: var(--mini);
    letter-spacing: var(--spread);
    padding: var(--g-2xs) var(--g-xs);
    border-radius: var(--r-xs);
    line-height: 1.2;
    white-space: nowrap;
}
.promenade-controls {
    order: 3;
    margin-inline-start: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--g-sm);
    flex-shrink: 0;
}
.promenade-goto {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--g-lg);
    border-radius: var(--stadium);
    border: var(--fine) solid var(--stroke-heavy);
    background: var(--anchor);
    color: var(--copy);
    font-family: var(--base);
    font-size: var(--sm);
    font-weight: var(--strong);
    letter-spacing: var(--spread);
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
}
.promenade-goto:hover {
    background: #2b2e31;
    color: var(--copy);
    border-color: var(--copy);
}
.promenade-menu-opener {
    order: 4;
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--g-md);
    background: var(--anchor);
    color: var(--copy);
    border: var(--fine) solid var(--stroke-heavy);
    border-radius: var(--stadium);
    font-family: var(--base);
    font-size: var(--sm);
    font-weight: var(--strong);
    letter-spacing: var(--spread);
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
}
.promenade-menu-opener:hover { background: #2b2e31; color: var(--copy); }
.promenade-deck {
    min-height: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    border-top: var(--fine) solid var(--hairline);
}
.promenade-links { width: 100%; }
.promenade-chain {
    list-style: none;
    display: flex;
    align-items: center;
    gap: var(--g-lg);
    margin: 0;
    padding: 0;
    flex-wrap: nowrap;
}
.promenade-piece { display: flex; align-items: center; flex: 0 0 auto; }
.promenade-piece[hidden] { display: none; }
.promenade-step {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--text-muted);
    background: var(--anchor);
    font-family: var(--base);
    font-size: 14px;
    font-weight: 500;
    font-variant: small-caps;
    letter-spacing: var(--even);
    white-space: nowrap;
    transition: color var(--snap) var(--settle);
}
.promenade-step:hover { color: var(--copy); text-decoration: underline; }
.promenade-step[aria-current='page'] { color: var(--copy); font-weight: var(--strong); }
.promenade-more { position: relative; display: flex; align-items: center; flex: 0 0 auto; }
.promenade-more[hidden] { display: none; }
.promenade-more-opener {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--g-sm);
    background: var(--anchor);
    color: var(--text-muted);
    border: 0;
    font-size: 16px;
    font-weight: var(--strong);
    letter-spacing: var(--spread);
    cursor: pointer;
}
.promenade-more-opener:hover { color: var(--copy); }
.promenade-more-pane {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 200px;
    max-height: 60vh;
    overflow-y: auto;
    background: var(--panel);
    border: var(--fine) solid var(--hairline);
    border-radius: var(--r-sm);
    box-shadow: var(--d-md);
    padding: var(--g-sm);
    list-style: none;
    margin: 0;
    z-index: 120;
}
.promenade-more-pane.is-open { display: block; }
.promenade-more-piece { display: block; }
.promenade-more-step {
    display: block;
    padding: var(--g-sm);
    color: var(--text-muted);
    background: var(--panel);
    font-size: var(--minor);
    white-space: nowrap;
}
.promenade-more-step:hover { color: var(--copy); background: #26282b; }
.promenade-flyout {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--anchor);
    border-top: var(--fine) solid var(--hairline);
    box-shadow: var(--d-lg);
    max-height: 70vh;
    overflow-y: auto;
    z-index: 110;
}
.promenade-flyout.is-open { display: block; }
.promenade-flyout-chain {
    list-style: none;
    margin: 0;
    padding: var(--g-md) var(--pad-sm) var(--g-lg);
    display: flex;
    flex-direction: column;
    gap: var(--g-sm);
}
.promenade-flyout-piece { display: block; }
.promenade-flyout-step {
    display: block;
    padding: var(--g-sm) 0;
    color: var(--text-muted);
    background: var(--anchor);
    font-size: var(--sub-2);
    font-weight: var(--mid);
    min-height: 44px;
}
.promenade-flyout-step[aria-current='page'] { color: var(--copy); font-weight: var(--strong); }
.promenade-flyout-step:hover { color: var(--copy); }

/* == footer == */
.filigree {
    background: var(--anchor);
    color: var(--copy);
    margin-top: var(--g-2xl);
    flex-shrink: 0;
}
.filigree-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    padding-block: var(--g-2xl);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--g-xl);
}
.filigree-col { display: flex; flex-direction: column; gap: var(--g-sm); }
.filigree-col-brand { gap: var(--g-md); }
.filigree-crest { display: inline-flex; align-items: flex-start; }
.filigree-crest-img { height: 56px; width: auto; display: block; }
.filigree-tag {
    color: var(--text-muted);
    background: var(--anchor);
    font-size: var(--sm);
    line-height: var(--airy);
    max-width: 34ch;
}
.filigree-caption {
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: var(--micro-head);
    text-transform: uppercase;
    letter-spacing: var(--spread);
    color: var(--copy);
    background: var(--anchor);
    margin-bottom: var(--g-sm);
}
.filigree-chain { list-style: none; display: flex; flex-direction: column; gap: var(--g-sm); }
.filigree-piece { display: block; }
.filigree-step {
    color: var(--text-muted);
    background: var(--anchor);
    font-family: var(--base);
    font-weight: var(--w-normal);
    font-size: var(--sm);
    transition: color var(--snap) var(--settle);
}
.filigree-step:hover { color: var(--flare); }
.filigree-bottom {
    border-top: var(--fine) solid rgba(255, 255, 255, 0.15);
    padding-block: var(--g-md);
    padding-inline: var(--padding-desktop);
    text-align: center;
    background: var(--anchor);
}
.filigree-rg {
    display: block;
    text-align: center;
    color: #ffffff;
    background: var(--warn-band);
    font-size: var(--sm);
    line-height: var(--normal);
    padding: var(--g-sm) var(--pad-sm);
}
.filigree-rg-mark {
    display: inline-flex;
    align-items: center;
    font-family: var(--display);
    font-weight: var(--strong);
    letter-spacing: var(--spread);
    margin-inline-end: var(--g-xs);
    color: #ffffff;
    background: var(--warn-band);
}
.filigree-rg-step {
    color: #ffffff;
    background: var(--warn-band);
    text-decoration: underline;
    font-weight: var(--strong);
}
.filigree-rg-step:hover { color: #ffe4e4; background: var(--warn-band); }
.filigree-fine {
    display: block;
    font-size: var(--mini);
    color: var(--text-muted);
    background: var(--anchor);
}

/* == breadcrumbs == */
.sigil { background: var(--sheet); }
.sigil-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    padding-block: var(--g-md);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--g-2xs);
}
.sigil-step, .sigil-now, .sigil-sep {
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: var(--minor);
    text-transform: uppercase;
    letter-spacing: var(--packed);
    background: var(--sheet);
}
.sigil-step { color: var(--text-muted); }
.sigil-step:hover { color: var(--copy); background: var(--sheet); }
.sigil-now { color: var(--copy); }
.sigil-sep { color: var(--flare); margin-inline: var(--g-xs); }

/* == hero == */
.harbor {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(520px, calc(100vh - var(--ovl-h-pad)), 760px);
    overflow: hidden;
    background-color: var(--sheet);
    background-image: linear-gradient(105deg, rgba(16, 16, 17, 0.95) 0%, rgba(16, 16, 17, 0.86) 46%, rgba(16, 16, 17, 0.62) 100%), url('/assets/billboard.webp');
    background-size: cover;
    background-position: center;
    color: var(--copy);
}
.harbor-mark {
    position: absolute;
    top: 0;
    height: 100%;
    width: 30%;
    max-width: calc(var(--page) * 0.3);
    inset-inline-start: max(var(--padding-desktop), calc((100vw - var(--page)) / 2));
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: 44vh;
    line-height: 1;
    color: var(--copy);
    opacity: 0.05;
    pointer-events: none;
    user-select: none;
}
.harbor-body {
    position: relative;
    z-index: 2;
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    padding-block: var(--g-3xl);
    width: 100%;
}
.harbor-shift { padding-left: 34%; }
.harbor-eye {
    display: inline-block;
    font-family: var(--base);
    font-size: var(--mini);
    font-weight: var(--strong);
    letter-spacing: var(--spread);
    text-transform: uppercase;
    color: #101011;
    background: var(--flare);
    padding: var(--g-2xs) var(--g-sm);
    border-radius: var(--r-xs);
    margin-bottom: var(--g-md);
}
.harbor-sub {
    margin-top: var(--g-md);
    max-width: var(--ovl-tight);
    font-size: var(--sub-2);
    line-height: var(--airy);
    color: var(--text-muted);
    background: transparent;
}
.harbor-controls { margin-top: var(--g-xl); display: flex; flex-wrap: wrap; gap: var(--g-sm); align-items: center; }
.harbor-offer { flex: 0 0 auto; max-width: 100%; }
.promenade-offer { flex-shrink: 0; }
.parapet-offer { margin-top: var(--g-sm); max-width: 100%; }
.lozenge-offer { margin-top: var(--g-xs); max-width: 100%; }
.harbor-note {
    display: block;
    margin-top: var(--g-md);
    font-size: var(--mini);
    color: var(--text-muted);
    background: transparent;
    max-width: var(--ovl-tight);
}

/* == page-header == */
.trefoil { background: var(--anchor); color: var(--copy); }
.trefoil-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    padding-block: var(--g-3xl);
    width: 100%;
}
.trefoil-lede { font-size: clamp(30px, 5.4vw, 52px); color: var(--copy); }
.trefoil-sub {
    margin-top: var(--g-md);
    max-width: var(--ovl-tight);
    font-size: var(--sub-2);
    line-height: var(--airy);
    color: #dedede;
    background: var(--anchor);
}
.trefoil-eye {
    display: inline-block;
    font-size: var(--mini);
    font-weight: var(--strong);
    letter-spacing: var(--spread);
    text-transform: uppercase;
    color: #101011;
    background: var(--flare);
    padding: var(--g-2xs) var(--g-sm);
    border-radius: var(--r-xs);
    margin-bottom: var(--g-md);
}

/* == items-grid == */
.buttress { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.buttress-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.buttress-head { margin-bottom: var(--g-xl); }
.buttress-stack { display: flex; flex-direction: column; }
.buttress-piece {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: var(--g-lg);
    padding-block: var(--g-xl);
    border-bottom: var(--fine) solid rgba(255, 255, 255, 0.10);
}
.buttress-piece:last-child { border-bottom: 0; }
.buttress-num {
    align-self: start;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--g-sm);
    width: 80px;
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: 36px;
    letter-spacing: var(--packed);
    color: var(--flare);
    background: var(--sheet);
    line-height: 1;
    transform-origin: left center;
    transition: transform var(--t-base) var(--settle);
}
.buttress-piece:hover .buttress-num { transform: scale(1.1); }
.buttress-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--r-sm);
    background: #2b1a10;
    border: var(--fine) solid var(--stroke-heavy);
    color: var(--flare);
    flex-shrink: 0;
}
.buttress-icon svg { width: 21px; height: 21px; fill: currentColor; display: block; }
.buttress-piece-head { margin-bottom: var(--g-sm); font-family: var(--display); }
.buttress-para { color: var(--text-muted); background: var(--sheet); line-height: var(--airy); }

/* == prose == */
.pillar { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.pillar-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.pillar-piece {
    border-inline-start: var(--bold) dotted var(--flare);
    padding-inline-start: var(--g-lg);
    padding-block: var(--g-xl);
}
.pillar-caption {
    font-weight: 600;
    margin-bottom: var(--g-md);
    font-family: var(--display);
    color: var(--copy);
    background: var(--sheet);
}
.pillar-para {
    color: var(--text-muted);
    background: var(--sheet);
    line-height: var(--airy);
    margin-bottom: var(--g-md);
}
.pillar-para:last-child { margin-bottom: 0; }
.pillar-para strong { color: var(--copy); font-weight: var(--strong); }
.pillar-para a { color: var(--flare); text-decoration: underline; background: var(--sheet); }
.pillar-para a:hover { color: var(--press); background: var(--sheet); }
.pillar-chain { list-style: none; display: flex; flex-direction: column; gap: var(--g-sm); margin-bottom: var(--g-md); }
.pillar-point {
    position: relative;
    padding-inline-start: var(--g-lg);
    color: var(--text-muted);
    background: var(--sheet);
    line-height: var(--airy);
}
.pillar-point::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 9px;
    width: 7px;
    height: 7px;
    background: var(--flare);
    border-radius: var(--dot);
}
.pillar-point strong { color: var(--copy); font-weight: var(--strong); }
.pillar-fig { margin: 0 0 var(--g-lg); }
.pillar-fig-img {
    width: 100%;
    height: 360px;
    max-height: 56vh;
    object-fit: cover;
    border-radius: var(--r-md);
    display: block;
}
.pillar-fig-tall { max-width: 420px; margin-inline: auto; }
.pillar-fig-tall .pillar-fig-img { height: 480px; max-height: 56vh; }

/* == reviews == */
.armoire { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.armoire-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.armoire-head { margin-bottom: var(--g-xl); }
.armoire-rail {
    display: flex;
    gap: var(--g-lg);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: var(--g-md);
    list-style: none;
}
.armoire-card {
    flex: 0 0 360px;
    width: 360px;
    scroll-snap-align: start;
    min-height: 240px;
    padding: var(--g-lg);
    background: var(--panel);
    border: var(--fine) solid var(--hairline);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: var(--g-sm);
    transition: transform var(--t-base) var(--settle);
}
.armoire-card:hover { transform: translateX(6px); }
.armoire-file { display: flex; align-items: baseline; justify-content: space-between; gap: var(--g-sm); }
.armoire-who { font-family: var(--display); font-weight: var(--strong); font-size: var(--sub-2); color: var(--copy); background: var(--panel); }
.armoire-day { font-size: var(--mini); color: var(--text-muted); background: var(--panel); white-space: nowrap; }
.armoire-score { font-size: var(--sm); font-weight: var(--strong); color: var(--flare); background: var(--panel); }
.armoire-bar { position: relative; width: 60%; height: 4px; border-radius: var(--stadium); background: #3a3c3f; }
.armoire-bar-fill { position: absolute; inset-block: 0; inset-inline-start: 0; background: var(--flare); border-radius: var(--stadium); }
.armoire-quote { margin: 0; color: var(--text-muted); background: var(--panel); line-height: var(--airy); font-size: var(--reading); }
.armoire-dots { display: flex; gap: var(--g-xs); margin-top: var(--g-md); list-style: none; }
.armoire-dot { width: 8px; height: 8px; border-radius: var(--dot); background: rgba(192, 192, 192, 0.32); }
.armoire-dot.is-live { background: var(--flare); }

/* == cta-block == */
.lozenge { padding-block: var(--ovl-sec-y); background: var(--sheet); scroll-margin-top: calc(var(--ovl-h-pad) + 12px); }
.lozenge-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.lozenge-card {
    padding: var(--g-2xl);
    background: var(--sheet);
    border: var(--b-mid) solid var(--flare);
    border-radius: var(--r-lg);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--g-md);
}
.lozenge-num {
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: 36px;
    line-height: 1;
    color: var(--flare);
    background: var(--sheet);
}
.lozenge-caption { color: var(--copy); background: var(--sheet); }
.lozenge-para { color: var(--text-muted); background: var(--sheet); line-height: var(--airy); max-width: var(--ovl-tight); }
.lozenge-note { font-size: var(--mini); color: var(--text-muted); background: var(--sheet); max-width: var(--ovl-tight); }

/* == inline-cta == */
.parapet { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.parapet-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--g-sm);
}
.parapet-shape {
    width: 100%;
    max-width: var(--ovl-tight);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--g-sm);
    padding: var(--g-xl);
    background: var(--panel);
    border: var(--fine) solid var(--hairline);
    border-radius: var(--r-md);
}
.parapet-icon {
    font-size: 36px;
    line-height: 1;
    color: var(--flare);
    background: var(--panel);
    margin-bottom: var(--g-sm);
}
.parapet-caption { color: var(--copy); background: var(--panel); font-family: var(--base); font-size: var(--sub); font-weight: var(--strong); }
.parapet-para { color: var(--text-muted); background: var(--panel); line-height: var(--airy); }

/* == faq == */
.window { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.window-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.window-head { margin-bottom: var(--g-xl); }
.window-chain { display: flex; flex-direction: column; gap: var(--g-lg); }
.window-piece {
    padding-block: var(--g-lg);
    padding-inline: var(--g-lg);
    background: var(--panel);
    border-radius: var(--r-md);
    border: var(--fine) solid var(--hairline);
}
.window-q {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--g-xs);
    align-items: baseline;
    cursor: pointer;
    list-style: none;
    font-family: var(--display);
    font-weight: var(--strong);
    font-style: italic;
    font-size: var(--minor);
    color: var(--copy);
    background: var(--panel);
}
.window-q::-webkit-details-marker { display: none; }
.window-pre {
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: var(--minor);
    font-style: normal;
    color: var(--flare);
    background: var(--panel);
    margin-inline-end: var(--g-xs);
}
.window-a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--g-xs);
    margin-top: var(--g-md);
    color: var(--text-muted);
    background: var(--panel);
    line-height: var(--airy);
}
.window-piece[open] .window-a { animation: window-unfold var(--t-base) var(--smooth); }
@keyframes window-unfold {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* == data-table == */
.crest { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.crest-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.crest-head { margin-bottom: var(--g-xl); }
.crest-scroll { overflow-x: auto; }
.crest-grid { width: 100%; font-size: var(--sm); }
.crest-grid thead th {
    text-align: left;
    padding: var(--g-md);
    background: var(--anchor);
    color: var(--copy);
    font-family: var(--base);
    font-weight: var(--strong);
    font-size: var(--micro-head);
    text-transform: uppercase;
    letter-spacing: var(--spread);
    border-bottom: var(--fine) solid var(--hairline);
}
.crest-grid tbody td {
    padding: var(--g-md);
    background: var(--panel);
    color: var(--text-muted);
    border-bottom: var(--fine) solid var(--hairline);
    vertical-align: top;
    line-height: var(--airy);
}
.crest-grid tbody tr:last-child td { border-bottom: 0; }
.crest-grid tbody td:first-child { color: var(--copy); font-weight: var(--strong); background: var(--panel); }

/* == legal-section == */
.bay { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.bay-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: var(--g-2xl);
    align-items: start;
}
.bay-toc {
    position: sticky;
    top: calc(var(--ovl-h-pad) + 20px);
    align-self: start;
    padding: var(--g-md);
    background: var(--panel);
    border: var(--fine) solid var(--hairline);
    border-radius: var(--r-md);
}
.bay-toc-head { margin-bottom: var(--g-sm); color: var(--copy); background: var(--panel); }
.bay-toc-chain { list-style: none; display: flex; flex-direction: column; gap: var(--g-sm); counter-reset: bay-idx; }
.bay-toc-piece { display: block; }
.bay-toc-step { color: var(--text-muted); background: var(--panel); font-size: var(--sm); line-height: var(--normal); }
.bay-toc-step:hover { color: var(--flare); background: var(--panel); }
.bay-main { display: flex; flex-direction: column; gap: var(--g-xl); }
.bay-lead { color: var(--text-muted); background: var(--sheet); line-height: var(--airy); }
.bay-piece { scroll-margin-top: calc(var(--ovl-h-pad) + 20px); }
.bay-caption { margin-bottom: var(--g-md); color: var(--copy); background: var(--sheet); }
.bay-para { color: var(--text-muted); background: var(--sheet); line-height: var(--airy); margin-bottom: var(--g-md); }
.bay-para:last-child { margin-bottom: 0; }
.bay-help {
    padding: var(--g-lg);
    background: var(--panel);
    border: var(--fine) solid var(--hairline);
    border-radius: var(--r-md);
}
.bay-help-head { margin-bottom: var(--g-sm); color: var(--copy); background: var(--panel); }
.bay-chain { list-style: none; display: flex; flex-direction: column; gap: var(--g-sm); }
.bay-point {
    position: relative;
    padding-inline-start: var(--g-lg);
    color: var(--text-muted);
    background: var(--panel);
    line-height: var(--airy);
    font-size: var(--sm);
}
.bay-point::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    background: var(--flare);
    border-radius: var(--dot);
}
.bay-note {
    font-size: var(--sm);
    color: var(--text-muted);
    background: var(--panel);
    padding: var(--g-md);
    border-radius: var(--r-sm);
    border-inline-start: var(--bold) solid var(--stroke-heavy);
    line-height: var(--airy);
}
.bay-day { font-size: var(--mini); color: var(--text-muted); background: var(--sheet); letter-spacing: var(--spread); text-transform: uppercase; }

/* == contact-form == */
.medallion { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.medallion-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.medallion-lead { color: var(--text-muted); background: var(--sheet); line-height: var(--airy); margin-bottom: var(--g-lg); }
.medallion-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--g-sm); }
.medallion-line { display: flex; flex-direction: column; gap: var(--g-xs); flex: 1 1 220px; min-width: 0; }
.medallion-line-wide { flex: 2 1 320px; }
.medallion-cap {
    font-size: var(--mini);
    text-transform: uppercase;
    letter-spacing: var(--spread);
    color: var(--text-muted);
    background: var(--sheet);
}
.medallion-input {
    width: 100%;
    min-height: 46px;
    padding: var(--g-sm) var(--g-md);
    background: var(--panel);
    color: var(--copy);
    border: var(--fine) solid var(--stroke-heavy);
    border-radius: var(--r-sm);
    font-family: var(--base);
    font-size: var(--reading);
}
.medallion-input:focus { outline: 2px solid var(--flare); outline-offset: 1px; }
.medallion-send {
    min-height: 46px;
    padding-inline: var(--g-xl);
    background: var(--flare);
    color: #101011;
    border: 0;
    border-radius: var(--stadium);
    font-family: var(--base);
    font-weight: var(--strong);
    font-size: var(--sm);
    letter-spacing: var(--spread);
    text-transform: uppercase;
    cursor: pointer;
    flex: 0 0 auto;
}
.medallion-send:hover { background: var(--press); color: #101011; }
.medallion-ok {
    display: none;
    margin-top: var(--g-lg);
    padding: var(--g-md);
    background: #16281a;
    color: #d7f5dc;
    border: var(--fine) solid #2f5f38;
    border-radius: var(--r-sm);
    line-height: var(--airy);
}
.medallion-ok.is-shown { display: block; }

/* == author-byline == */
.catwalk { padding-block: var(--g-lg); background: var(--sheet); }
.catwalk-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.catwalk-card {
    max-width: var(--ovl-tight);
    margin-inline: auto;
    padding: var(--g-lg);
    background: var(--panel);
    border: var(--fine) solid rgba(255, 255, 255, 0.08);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: row;
    gap: var(--g-md);
}
.catwalk-pic { flex-shrink: 0; display: block; width: 64px; height: 64px; }
.catwalk-pic-img {
    width: 64px;
    height: 64px;
    border-radius: var(--dot);
    object-fit: cover;
    object-position: center top;
}
.catwalk-main { display: flex; flex-direction: column; gap: var(--g-2xs); min-width: 0; }
.catwalk-cap {
    font-size: var(--mini);
    text-transform: uppercase;
    letter-spacing: var(--spread);
    color: var(--text-muted);
    background: var(--panel);
}
.catwalk-who { font-size: var(--sub-2); font-family: var(--display); font-weight: var(--strong); color: var(--copy); background: var(--panel); }
.catwalk-who a { color: var(--copy); background: var(--panel); }
.catwalk-who a:hover { color: var(--flare); background: var(--panel); text-decoration: underline; }
.catwalk-job { font-size: var(--sm); font-style: italic; color: var(--text-muted); background: var(--panel); }
.catwalk-bio { font-size: var(--sm); color: var(--text-muted); background: var(--panel); line-height: var(--airy); }
.catwalk-day { font-size: var(--mini); color: var(--text-muted); background: var(--panel); }
.catwalk-more { font-size: var(--sm); font-weight: var(--strong); color: var(--flare); background: var(--panel); }
.catwalk-more:hover { color: var(--press); background: var(--panel); }

/* == author-card == */
.court { padding-block: var(--ovl-sec-y); background: var(--sheet); }
.court-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
}
.court-card {
    padding: var(--g-xl);
    background: var(--panel);
    border-radius: var(--r-md);
    border-inline-start: 4px solid var(--flare);
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: var(--g-lg);
    align-items: start;
}
.court-pic { display: block; width: 100px; height: 100px; }
.court-pic-img { width: 100px; height: 100px; border-radius: var(--dot); object-fit: cover; object-position: center top; }
.court-main { display: flex; flex-direction: column; gap: var(--g-sm); min-width: 0; }
.court-mark {
    font-family: var(--display);
    font-weight: var(--strong);
    font-size: 36px;
    line-height: 0.6;
    color: var(--flare);
    background: var(--panel);
}
.court-quote { font-style: italic; font-size: var(--minor); line-height: var(--normal); color: var(--copy); background: var(--panel); }
.court-who { font-size: var(--sm); letter-spacing: var(--spread); color: var(--text-muted); background: var(--panel); }
.court-articles { padding-block: var(--g-lg); }
.court-articles-head { margin-bottom: var(--g-md); color: var(--copy); background: var(--sheet); }
.court-articles-chain { list-style: none; display: flex; flex-direction: column; gap: var(--g-sm); }
.court-articles-piece {
    padding: var(--g-md);
    background: var(--panel);
    border: var(--fine) solid var(--hairline);
    border-radius: var(--r-sm);
}
.court-articles-step { color: var(--flare); background: var(--panel); font-weight: var(--strong); }
.court-articles-step:hover { color: var(--press); background: var(--panel); text-decoration: underline; }
.court-articles-para { display: block; margin-top: var(--g-2xs); font-size: var(--sm); color: var(--text-muted); background: var(--panel); line-height: var(--airy); }

/* == error-block == */
.alcove { padding-block: var(--g-3xl); background: var(--sheet); display: flex; flex-direction: column; }
.alcove-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding-inline: var(--padding-desktop);
    width: 100%;
    flex: 1 0 auto;
    display: flex;
    align-items: center;
}
.alcove-card {
    width: 100%;
    max-width: var(--ovl-tight);
    margin-inline: auto;
    padding: var(--g-2xl);
    background: var(--panel);
    border: var(--b-mid) solid var(--flare);
    border-radius: var(--r-lg);
    box-shadow: var(--d-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--g-md);
}
.alcove-caption { color: var(--copy); background: var(--panel); }
.alcove-para { color: var(--text-muted); background: var(--panel); line-height: var(--airy); }
.alcove-home {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding-inline: var(--g-xl);
    background: var(--flare);
    color: #101011;
    border-radius: var(--stadium);
    font-weight: var(--strong);
    font-size: var(--sm);
    letter-spacing: var(--spread);
    text-transform: uppercase;
}
.alcove-home:hover { background: var(--press); color: #101011; }

/* == cookie-banner == */
.shelf {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 90;
    background: var(--anchor);
    border-top: var(--fine) solid rgba(255, 255, 255, 0.08);
    animation: shelf-rise var(--t-base) var(--smooth) both;
    transition: transform var(--t-base) var(--smooth);
}
@keyframes shelf-rise {
    from { clip-path: inset(100% 0 0 0); }
    to { clip-path: inset(0 0 0 0); }
}
.shelf.is-gone { transform: translateY(110%); }
.shelf[hidden] { display: none; }
.shelf-body {
    max-width: var(--ovl-frame);
    margin-inline: auto;
    padding: var(--g-md) var(--padding-desktop);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--g-md);
}
.shelf-words { flex: 1 1 auto; font-size: var(--sm); color: var(--text-muted); background: var(--anchor); line-height: var(--normal); }
.shelf-controls { flex-shrink: 0; display: flex; gap: var(--g-sm); }
.shelf-yes {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding-inline: var(--g-lg);
    background: var(--flare);
    color: #101011;
    border: 0;
    border-radius: var(--stadium);
    font-family: var(--base);
    font-weight: var(--strong);
    font-size: var(--sm);
    cursor: pointer;
}
.shelf-yes:hover { background: var(--press); color: #101011; }
.shelf-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding-inline: var(--g-lg);
    background: var(--anchor);
    color: var(--copy);
    border: var(--fine) solid rgba(255, 255, 255, 0.15);
    border-radius: var(--stadium);
    font-family: var(--base);
    font-weight: var(--strong);
    font-size: var(--sm);
    cursor: pointer;
}
.shelf-no:hover { background: #2b2e31; color: var(--copy); }

/* == responsive == */
@media (max-width: 1200px) {
    .promenade-shell, .filigree-body, .filigree-bottom, .sigil-body, .harbor-body, .trefoil-body,
    .buttress-body, .pillar-body, .armoire-body, .lozenge-body, .parapet-body, .window-body,
    .crest-body, .bay-body, .medallion-body, .catwalk-body, .court-body, .alcove-body, .shelf-body {
        padding-inline: var(--inset-tablet);
    }
    .harbor-mark { inset-inline-start: max(var(--inset-tablet), calc((100vw - var(--page)) / 2)); }
}
@media (max-width: 1080px) {
    .bay-body { grid-template-columns: minmax(0, 1fr); gap: var(--g-lg); }
    .bay-toc { position: static; }
    .filigree-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filigree-col-brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .promenade-deck { display: none; }
    .promenade-menu-opener { display: inline-flex; }
    .promenade-goto { display: none; }
    .promenade-crest-img { height: 44px; }
    .harbor-shift { padding-left: var(--inset-tablet); }
    .harbor-mark { width: 46%; font-size: 34vh; opacity: 0.04; }
    .court-card { grid-template-columns: minmax(0, 1fr); }
    .court-pic, .court-pic-img { width: 88px; height: 88px; }
}
@media (max-width: 760px) {
    :root {
        --h1: clamp(24px, 6.4vw, 26px);
        --display-2: clamp(20px, 5vw, 22px);
        --sub: 18px;
        --sub-2: 16px;
        --minor: 13px;
        --micro-head: 11px;
        --reading: 14px;
        --sm: 12px;
        --mini: 10px;
        --ovl-sec-y: 34px;
    }
    .promenade-shell, .filigree-body, .filigree-bottom, .sigil-body, .harbor-body, .trefoil-body,
    .buttress-body, .pillar-body, .armoire-body, .lozenge-body, .parapet-body, .window-body,
    .crest-body, .bay-body, .medallion-body, .catwalk-body, .court-body, .alcove-body, .shelf-body {
        padding-inline: var(--pad-sm);
    }
    .harbor-mark { inset-inline-start: var(--pad-sm); }
    .harbor-shift { padding-left: var(--pad-sm); }
    .harbor-body { padding-block: var(--g-2xl); }
    .trefoil-body { padding-block: var(--g-2xl); }
    .buttress-piece { grid-template-columns: minmax(0, 1fr); gap: var(--g-sm); }
    .buttress-num { flex-direction: row; align-items: center; width: auto; }
    .filigree-body { grid-template-columns: minmax(0, 1fr); }
    .armoire-card { flex: 0 0 82vw; width: 82vw; }
    .catwalk-card { flex-direction: column; }
    .lozenge-card { padding: var(--g-xl); }
    .alcove-card { padding: var(--g-xl); }
    .medallion-line { flex: 0 0 auto; width: 100%; }
    .medallion-send { width: 100%; }
    .crest-grid, .crest-grid thead, .crest-grid tbody, .crest-grid tr, .crest-grid th, .crest-grid td { display: block; }
    .crest-grid thead { display: none; }
    .crest-grid tbody tr {
        margin-block-end: var(--g-md);
        padding: var(--g-md);
        background: var(--panel);
        border-radius: var(--r-md);
        border: var(--fine) solid var(--hairline);
    }
    .crest-grid tbody td { padding: var(--g-xs) 0; border-bottom: 0; background: var(--panel); }
    .crest-grid tbody td::before {
        content: attr(data-label);
        display: block;
        font-size: var(--mini);
        text-transform: uppercase;
        letter-spacing: var(--spread);
        color: var(--flare);
        margin-bottom: var(--g-2xs);
    }
    .pillar-fig-img { height: 240px; }
    .pillar-fig-tall .pillar-fig-img { height: 340px; }
}
@media (max-width: 720px) {
    .shelf, .shelf-body {
        padding: 12px 14px !important;
        gap: 8px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
    .shelf-body { flex-direction: column; align-items: stretch; }
    .shelf-controls { justify-content: stretch; }
    .shelf-yes, .shelf-no {
        flex: 1 1 auto;
        padding: 8px 14px !important;
        font-size: 12px !important;
        min-height: 36px !important;
    }
}
@media (max-width: 620px) {
    .promenade-banner { flex-wrap: wrap; row-gap: var(--g-sm); }
    .promenade-controls { order: 4; flex-basis: 100%; margin-inline-start: 0; }
    .promenade-controls .bvdv-act { width: 100%; }
    .promenade-menu-opener { order: 3; margin-inline-start: auto; }
    .promenade-crest-img { height: 40px; }
}
@media (max-width: 430px) {
    .promenade-crest-img { height: 36px; }
    .shelf-controls { flex-direction: column; }
}

/* == reduced motion == */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    [data-emerge] { opacity: 1; transform: none; }
}

/* == offer cta == */
.bvdv-act{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 34px;border:1px solid #101011;border-radius:2px;
  background:#059669;color:#101011;text-decoration:none;
  font-size:13px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;
  box-shadow:4px 4px 0 #101011;transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease;}
.bvdv-act:hover{background:#047857;color:#FFFFFF;box-shadow:2px 2px 0 #101011;animation:none;}
.bvdv-act:hover::after{animation:none;}
.bvdv-act:active{background:#065F46;color:#FFFFFF;}
.bvdv-act:focus-visible{outline:3px solid #101011;outline-offset:3px;}
.bvdv-act{overflow:hidden;animation:breathe_bvdv 4s linear infinite;}
@property --shine-bvdv{syntax:'<percentage>';inherits:false;initial-value:-60%;}
.bvdv-act::after{content:"";position:absolute;inset:0;width:100%;transform:none;pointer-events:none;
  background:linear-gradient(100deg,transparent calc(var(--shine-bvdv) - 22%),rgba(255,255,255,.42) var(--shine-bvdv),transparent calc(var(--shine-bvdv) + 22%));
  animation:shine_bvdv 4s ease-in-out infinite;}
@keyframes breathe_bvdv{0%{transform:scale(1);animation-timing-function:cubic-bezier(.25,.8,.35,1);}11.250%{transform:scale(1.08);animation-timing-function:cubic-bezier(.45,.05,.55,.95);}32.500%,100%{transform:scale(1);}}
@keyframes shine_bvdv{0%,3.500%{--shine-bvdv:-60%;}28.750%,100%{--shine-bvdv:160%;}}
@media (prefers-reduced-motion:reduce){.bvdv-act,.bvdv-act::after{animation:none!important;transition:none!important;}}

@media (max-width: 503px) {
  .promenade-goto,
  .promenade-deck,
  .promenade-links,
  .promenade-chain,
  .promenade-step { display: none !important; }
  .promenade-more-opener { display: flex !important; }
}
