/* Volt: thick outlines, hard shadows, flat colour blocks. Every class starts with "vt-". */

/* Site colours (the layout overrides these) and values shared by both looks */
:root {
    --vt-primary: #ff5c35;
    --vt-accent: #ffd23f;
    --vt-on-primary: #17140f;
    --vt-on-accent: #17140f;
    --vt-pop: var(--vt-primary);
    --vt-on-pop: var(--vt-on-primary);
    --vt-pop-2: var(--vt-accent);
    --vt-on-pop-2: var(--vt-on-accent);
    --vt-cta-day: var(--vt-primary);
    --vt-on-cta-day: var(--vt-on-primary);
    --vt-cta-cast-day: #17140f;
    --vt-cta-night: var(--vt-primary);
    --vt-on-cta-night: var(--vt-on-primary);
    --vt-cta-cast-night: #f6f1e7;
    --vt-vs-primary: var(--vt-accent);
    --vt-on-vs-primary: var(--vt-on-accent);
    --vt-vs-accent: var(--vt-primary);
    --vt-on-vs-accent: var(--vt-on-primary);
    /* Bright blocks keep these in both looks, with dark text on top */
    --vt-dark: #17140f;
    --vt-dark-dim: rgba(23, 20, 15, 0.74);
    --vt-tint-1: color-mix(in srgb, var(--vt-pop) 26%, #ffffff);
    --vt-tint-2: color-mix(in srgb, var(--vt-pop-2) 52%, #ffffff);
    --vt-bw: 2px;
    --vt-r: 18px;
    --vt-r-sm: 12px;
    --vt-r-lg: 24px;
    --vt-snap: 0.16s cubic-bezier(0.2, 0.8, 0.2, 1);
    --vt-font: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Light look */
:root, [data-mode="light"] {
    color-scheme: light;
    --vt-ink: #17140f;
    --vt-muted: #5d574c;
    --vt-paper: #fbf6ea;
    --vt-surface: #ffffff;
    --vt-shade: #f1e9d6;
    --vt-field: #ffffff;
    --vt-soft-bg: color-mix(in srgb, var(--vt-pop-2) 17%, #ffffff);
    --vt-grid: rgba(23, 20, 15, 0.055);
    --vt-top-bg: rgba(251, 246, 234, 0.9);
    --vt-end-bg: #17140f;
    --vt-end-ink: #f6f1e7;
    --vt-cta: var(--vt-cta-day);
    --vt-on-cta: var(--vt-on-cta-day);
    --vt-cta-cast: var(--vt-cta-cast-day);
    --vt-text: #17140f;
    --vt-dim: #5d574c;
    --vt-line: #17140f;
    --vt-rim: #17140f;
    --vt-btn: var(--vt-cta-day);
    --vt-on-btn: var(--vt-on-cta-day);
    --vt-btn-cast: var(--vt-cta-cast-day);
    --vt-quiet: #ffffff;
    --vt-on-quiet: #17140f;
}

/* Dark look */
[data-mode="dark"] {
    color-scheme: dark;
    --vt-ink: #f6f1e7;
    --vt-muted: #b9b3a6;
    --vt-paper: #1d1c21;
    --vt-surface: #2a292f;
    --vt-shade: #25242a;
    --vt-field: #1d1c21;
    --vt-soft-bg: color-mix(in srgb, var(--vt-pop-2) 15%, #1d1c21);
    --vt-grid: rgba(246, 241, 231, 0.05);
    --vt-top-bg: rgba(29, 28, 33, 0.9);
    --vt-end-bg: #131217;
    --vt-end-ink: #f6f1e7;
    --vt-cta: var(--vt-cta-night);
    --vt-on-cta: var(--vt-on-cta-night);
    --vt-cta-cast: var(--vt-cta-cast-night);
    --vt-text: #f6f1e7;
    --vt-dim: #b9b3a6;
    --vt-line: #f6f1e7;
    --vt-rim: #f6f1e7;
    --vt-btn: var(--vt-cta-night);
    --vt-on-btn: var(--vt-on-cta-night);
    --vt-btn-cast: var(--vt-cta-cast-night);
    --vt-quiet: #2a292f;
    --vt-on-quiet: #f6f1e7;
}

@media (prefers-color-scheme: dark) {
    [data-mode="auto"] {
        color-scheme: dark;
        --vt-ink: #f6f1e7;
        --vt-muted: #b9b3a6;
        --vt-paper: #1d1c21;
        --vt-surface: #2a292f;
        --vt-shade: #25242a;
        --vt-field: #1d1c21;
        --vt-soft-bg: color-mix(in srgb, var(--vt-pop-2) 15%, #1d1c21);
        --vt-grid: rgba(246, 241, 231, 0.05);
        --vt-top-bg: rgba(29, 28, 33, 0.9);
        --vt-end-bg: #131217;
        --vt-end-ink: #f6f1e7;
        --vt-cta: var(--vt-cta-night);
        --vt-on-cta: var(--vt-on-cta-night);
        --vt-cta-cast: var(--vt-cta-cast-night);
        --vt-text: #f6f1e7;
        --vt-dim: #b9b3a6;
        --vt-line: #f6f1e7;
        --vt-rim: #f6f1e7;
        --vt-btn: var(--vt-cta-night);
        --vt-on-btn: var(--vt-on-cta-night);
        --vt-btn-cast: var(--vt-cta-cast-night);
        --vt-quiet: #2a292f;
        --vt-on-quiet: #f6f1e7;
    }
}

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

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }

.vt-page {
    margin: 0;
    font-family: var(--vt-font);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--vt-ink);
    background: var(--vt-paper);
    -webkit-font-smoothing: antialiased;
    overflow-wrap: break-word;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.vt-main { flex: 1 0 auto; }

.vt-page img { max-width: 100%; height: auto; display: block; }
.vt-page svg { width: 1.15em; height: 1.15em; flex: none; }
.vt-page a { color: inherit; }
:where(.vt-page) h1, :where(.vt-page) h2, :where(.vt-page) h3 { margin: 0 0 0.5em; font-weight: 700; line-height: 1.08; letter-spacing: -0.035em; text-wrap: balance; }
:where(.vt-page) h3 { letter-spacing: -0.02em; line-height: 1.2; }
:where(.vt-page) p { margin: 0 0 1em; text-wrap: pretty; }
.vt-page :focus-visible { outline: 3px solid var(--vt-pop-2); outline-offset: 3px; border-radius: 6px; box-shadow: 0 0 0 3px var(--vt-dark); }
.vt-page ::selection { background: var(--vt-pop-2); color: var(--vt-on-pop-2); }

.vt-box { width: min(1140px, 100% - 2.5rem); margin-inline: auto; }
.vt-hide { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vt-jump { position: absolute; left: -999px; top: 0.5rem; z-index: 90; padding: 0.6rem 1rem; font-weight: 700; text-decoration: none; background: var(--vt-pop-2); color: var(--vt-on-pop-2) !important; border: var(--vt-bw) solid var(--vt-dark); border-radius: var(--vt-r-sm); }
.vt-jump:focus { left: 0.5rem; }

/* Announcement strip */
.vt-flash { background: var(--vt-pop-2); color: var(--vt-on-pop-2); border-bottom: var(--vt-bw) solid var(--vt-ink); text-align: center; font-size: 0.9rem; font-weight: 600; padding: 0.55rem 1rem; }
.vt-flash a { display: inline-flex; align-items: center; gap: 0.45rem; text-decoration: none; }
.vt-flash a:hover span { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }

/* Top bar */
.vt-top { position: sticky; top: 0; z-index: 40; background: var(--vt-site-top-bg, var(--vt-top-bg)); color: var(--vt-site-top-ink, var(--vt-ink)); border-bottom: var(--vt-bw) solid var(--vt-ink); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: box-shadow var(--vt-snap); }
.vt-top.is-stuck { box-shadow: 0 5px 0 color-mix(in srgb, var(--vt-ink) 14%, transparent); }
.vt-top__bar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; min-height: 70px; }

.vt-brand { display: inline-flex; align-items: center; gap: 0.6rem; font-size: 1.35rem; font-weight: 700; letter-spacing: -0.04em; line-height: 1; text-decoration: none; }
.vt-brand img { max-height: 42px; width: auto; }
.vt-brand__chip { width: 22px; height: 22px; background: var(--vt-pop); border: var(--vt-bw) solid currentColor; border-radius: 7px; box-shadow: 2px 2px 0 currentColor; transform: rotate(-9deg); transition: transform var(--vt-snap); }
.vt-brand:hover .vt-brand__chip { transform: rotate(9deg); }

.vt-switch { display: none; align-items: center; gap: 0.55rem; padding: 0.45rem 0.8rem; font: inherit; font-size: 0.92rem; font-weight: 700; color: inherit; background: transparent; border: var(--vt-bw) solid currentColor; border-radius: var(--vt-r-sm); box-shadow: 3px 3px 0 currentColor; cursor: pointer; transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-switch:active, .vt-switch.is-open { transform: translate(3px, 3px); box-shadow: 0 0 0 currentColor; }
.vt-switch__bars { display: grid; gap: 4px; width: 18px; }
.vt-switch__bars i { display: block; height: 2px; background: currentColor; border-radius: 2px; transition: transform var(--vt-snap), opacity var(--vt-snap); }
.vt-switch.is-open .vt-switch__bars i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.vt-switch.is-open .vt-switch__bars i:nth-child(2) { opacity: 0; }
.vt-switch.is-open .vt-switch__bars i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.vt-menu { display: flex; align-items: center; gap: 1.25rem; }
.vt-menu__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.15rem; list-style: none; margin: 0; padding: 0; }
.vt-menu__item { position: relative; }
.vt-menu__link { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.42rem 0.8rem; font: inherit; font-size: 0.97rem; font-weight: 600; line-height: 1.3; color: inherit; text-decoration: none; background: transparent; border: var(--vt-bw) solid transparent; border-radius: 11px; cursor: pointer; transition: background-color var(--vt-snap), border-color var(--vt-snap); }
.vt-menu__link:hover, .vt-menu__item--more.is-open > .vt-menu__link { border-color: currentColor; background: color-mix(in srgb, currentColor 10%, transparent); }
.vt-menu__tick { width: 7px; height: 7px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform var(--vt-snap); }
.vt-menu__item--more.is-open .vt-menu__tick { transform: rotate(225deg); margin-top: 3px; }

.vt-drop { display: none; position: absolute; top: calc(100% + 10px); left: 0; z-index: 5; min-width: 230px; margin: 0; padding: 0.4rem; list-style: none; background: var(--vt-surface); color: var(--vt-ink); border: var(--vt-bw) solid var(--vt-ink); border-radius: 15px; box-shadow: 5px 5px 0 var(--vt-ink); }
.vt-drop::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.vt-menu__item--more:hover > .vt-drop, .vt-menu__item--more:focus-within > .vt-drop, .vt-menu__item--more.is-open > .vt-drop { display: block; }
.vt-drop a { display: block; padding: 0.55rem 0.8rem; font-size: 0.95rem; font-weight: 600; text-decoration: none; border-radius: 10px; }
.vt-drop a:hover { background: var(--vt-pop-2); color: var(--vt-on-pop-2); }

.vt-menu__reach { display: none; align-items: center; gap: 1rem; margin: 0; font-size: 0.88rem; font-weight: 600; }
.vt-menu__reach a { display: inline-flex; align-items: center; gap: 0.4rem; text-decoration: none; }
.vt-menu__reach a:hover span { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
@media (min-width: 1200px) { .vt-menu__reach { display: flex; } }

/* Buttons: the shadow shrinks as the button is pushed in */
.vt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.72rem 1.25rem; font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; color: var(--vt-on-btn); background: var(--vt-btn); border: var(--vt-bw) solid var(--vt-line); border-radius: 14px; box-shadow: 4px 4px 0 var(--vt-btn-cast); cursor: pointer; transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-page a.vt-btn { color: var(--vt-on-btn); }
.vt-btn:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--vt-btn-cast); }
.vt-btn:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--vt-btn-cast); }
.vt-btn svg { transition: transform var(--vt-snap); }
.vt-btn:hover svg { transform: translateX(3px); }
.vt-btn--big { padding: 0.95rem 1.6rem; font-size: 1.08rem; border-radius: 16px; }
.vt-btn--sm { padding: 0.5rem 0.9rem; font-size: 0.9rem; border-radius: 11px; box-shadow: 3px 3px 0 var(--vt-btn-cast); }
.vt-btn--sm:hover { transform: translate(1px, 1px); }
.vt-btn--sm:active { transform: translate(3px, 3px); }
.vt-btn--quiet, .vt-page a.vt-btn--quiet { --vt-btn-cast: var(--vt-line); color: var(--vt-on-quiet); background: var(--vt-quiet); }

/* Sticker badge */
.vt-tag { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.32rem 0.8rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; line-height: 1.3; color: var(--vt-on-hi-2, var(--vt-on-pop-2)); background: var(--vt-hi-2, var(--vt-pop-2)); border: var(--vt-bw) solid var(--vt-line); border-radius: 999px; box-shadow: 3px 3px 0 var(--vt-line); transform: rotate(-2deg); }
.vt-tag--plain { color: inherit; background: transparent; border-color: currentColor; box-shadow: none; transform: none; }

/* Sections */
.vt-band { position: relative; color: var(--vt-text); background-size: cover; background-position: center; }
.vt-band:not(.vt-band--plain), .vt-band:not(.vt-band--plain) + .vt-band, .vt-band--custom, .vt-band--custom + .vt-band, .vt-band--photo, .vt-band--photo + .vt-band { border-top: var(--vt-bw) solid var(--vt-ink); }
.vt-main > .vt-band:first-of-type { border-top: 0; }
.vt-gap--small { padding-block: clamp(2rem, 4vw, 3rem); }
.vt-gap--medium { padding-block: clamp(3.25rem, 7vw, 5.5rem); }
.vt-gap--large { padding-block: clamp(4.25rem, 10vw, 7.5rem); }
.vt-band--soft { background-color: var(--vt-soft-bg); }
.vt-band--gray { background-color: var(--vt-shade); }
.vt-band--primary {
    background-color: var(--vt-primary);
    --vt-text: var(--vt-on-primary); --vt-dim: color-mix(in srgb, var(--vt-on-primary) 80%, transparent);
    --vt-line: var(--vt-on-primary); --vt-rim: var(--vt-on-primary); --vt-link-line: currentColor;
    --vt-btn: var(--vt-vs-primary); --vt-on-btn: var(--vt-on-vs-primary); --vt-btn-cast: var(--vt-on-primary);
    --vt-quiet: var(--vt-primary); --vt-on-quiet: var(--vt-on-primary);
    --vt-hi-1: var(--vt-vs-primary); --vt-on-hi-1: var(--vt-on-vs-primary); --vt-hi-2: var(--vt-vs-primary); --vt-on-hi-2: var(--vt-on-vs-primary);
    --vt-grid: color-mix(in srgb, var(--vt-on-primary) 7%, transparent);
}
.vt-band--accent {
    background-color: var(--vt-accent);
    --vt-text: var(--vt-on-accent); --vt-dim: color-mix(in srgb, var(--vt-on-accent) 80%, transparent);
    --vt-line: var(--vt-on-accent); --vt-rim: var(--vt-on-accent); --vt-link-line: currentColor;
    --vt-btn: var(--vt-vs-accent); --vt-on-btn: var(--vt-on-vs-accent); --vt-btn-cast: var(--vt-on-accent);
    --vt-quiet: var(--vt-accent); --vt-on-quiet: var(--vt-on-accent);
    --vt-hi-1: var(--vt-vs-accent); --vt-on-hi-1: var(--vt-on-vs-accent); --vt-hi-2: var(--vt-vs-accent); --vt-on-hi-2: var(--vt-on-vs-accent);
    --vt-grid: color-mix(in srgb, var(--vt-on-accent) 7%, transparent);
}
/* A colour or photo from the page builder: text and outlines follow it, not the look */
.vt-band--custom, .vt-band--photo { --vt-hi-1: initial; --vt-on-hi-1: initial; --vt-hi-2: initial; --vt-on-hi-2: initial; }
.vt-band--on-light {
    --vt-text: #17140f; --vt-dim: rgba(23, 20, 15, 0.78); --vt-line: #17140f; --vt-rim: #17140f; --vt-link-line: currentColor;
    --vt-btn: var(--vt-cta-day); --vt-on-btn: var(--vt-on-cta-day); --vt-btn-cast: var(--vt-cta-cast-day);
    --vt-quiet: #ffffff; --vt-on-quiet: #17140f; --vt-grid: rgba(23, 20, 15, 0.055);
}
.vt-band--on-dark, .vt-band--photo {
    --vt-text: #ffffff; --vt-dim: rgba(255, 255, 255, 0.86); --vt-line: #ffffff; --vt-rim: #ffffff; --vt-link-line: currentColor;
    --vt-btn: var(--vt-pop-2); --vt-on-btn: var(--vt-on-pop-2); --vt-btn-cast: #ffffff;
    --vt-quiet: #17140f; --vt-on-quiet: #ffffff; --vt-grid: rgba(255, 255, 255, 0.06);
}
.vt-band--pick { --vt-text: var(--vt-pick); --vt-dim: var(--vt-pick); }
[data-mode="dark"] .vt-band--pick-day { --vt-text: var(--vt-ink); --vt-dim: var(--vt-muted); }
@media (prefers-color-scheme: dark) {
    [data-mode="auto"] .vt-band--pick-day { --vt-text: var(--vt-ink); --vt-dim: var(--vt-muted); }
}

/* Section heading */
.vt-intro { max-width: 46rem; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.vt-intro h2 { font-size: clamp(1.9rem, 3.6vw, 2.9rem); margin-bottom: 0.35em; }
.vt-intro p { margin: 0; font-size: 1.12rem; color: var(--vt-dim); }
.vt-intro > :last-child, .vt-intro > div > :last-child { margin-bottom: 0; }
.vt-intro--split { max-width: none; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; }
.vt-intro--split > div { max-width: 44rem; }

/* Panels: every outlined box. The outline follows the section, the inside follows the look */
.vt-perk, .vt-crowd__one, .vt-path__stop, .vt-praise__card, .vt-ask, .vt-item, .vt-sheet, .vt-options, .vt-blank, .vt-crumbs-ok {
    --vt-in: var(--vt-ink); --vt-in-dim: var(--vt-muted);
    --vt-line: var(--vt-in); --vt-text: var(--vt-in); --vt-dim: var(--vt-in-dim); --vt-link-line: initial;
    --vt-btn: var(--vt-cta); --vt-on-btn: var(--vt-on-cta); --vt-btn-cast: var(--vt-cta-cast);
    --vt-quiet: var(--vt-surface); --vt-on-quiet: var(--vt-ink);
    color: var(--vt-in);
    background: var(--vt-surface);
    border: var(--vt-bw) solid var(--vt-rim);
    border-radius: var(--vt-r);
    box-shadow: 5px 5px 0 var(--vt-rim);
}
.vt-perk--1, .vt-praise__card--2 { --vt-in: var(--vt-dark); --vt-in-dim: var(--vt-dark-dim); background: var(--vt-tint-1); }
.vt-perk--2, .vt-praise__card--3 { --vt-in: var(--vt-dark); --vt-in-dim: var(--vt-dark-dim); background: var(--vt-tint-2); }

/* Hero */
.vt-is-hero { overflow: hidden; background-image: linear-gradient(var(--vt-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vt-grid) 1px, transparent 1px); background-size: 36px 36px; background-position: center top; }
.vt-is-hero.vt-band--photo { background-size: cover; background-position: center; }
.vt-hero { position: relative; }
.vt-hero__pane { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.vt-hero__pane--solo { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.vt-hero__pane--solo .vt-hero__say { max-width: 56rem; }
.vt-hero__title { margin: 0.9rem 0 0; font-size: clamp(2.5rem, 4.8vw + 0.6rem, 4.4rem); font-weight: 700; line-height: 1.04; letter-spacing: -0.045em; text-wrap: balance; }
.vt-page h1.vt-hero__title { margin: 0.9rem 0 0; line-height: 1.04; letter-spacing: -0.045em; }
.vt-hero__pane--solo .vt-hero__title { font-size: clamp(2.6rem, 6.2vw + 0.5rem, 5.4rem); }
.vt-hi { display: inline-block; margin: 0.07em 0.02em; padding: 0 0.18em 0.03em; color: var(--vt-on-hi-1, var(--vt-on-pop)); background: var(--vt-hi-1, var(--vt-pop)); border: var(--vt-bw) solid var(--vt-line); border-radius: 0.2em; box-shadow: 4px 4px 0 var(--vt-line); transform: rotate(-1.6deg); }
.vt-hi--b { color: var(--vt-on-hi-2, var(--vt-on-pop-2)); background: var(--vt-hi-2, var(--vt-pop-2)); transform: rotate(1.2deg); }
.vt-hero__sub { margin: 1.4rem 0 0; max-width: 36rem; font-size: clamp(1.1rem, 1.2vw + 0.8rem, 1.3rem); line-height: 1.5; color: var(--vt-dim); }
.vt-hero__pane--solo .vt-hero__sub { margin-inline: auto; max-width: 42rem; }
.vt-hero__acts { margin: 2rem 0 0; }
.vt-hero__art { position: relative; background: #ffffff; border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r-lg); box-shadow: 10px 10px 0 var(--vt-line); overflow: hidden; transform: rotate(1.2deg); }
.vt-hero__art img { width: 100%; max-height: 520px; object-fit: cover; }
.vt-hero__art--cutout { padding: clamp(1rem, 3vw, 2rem); }
.vt-hero__art--cutout img { object-fit: contain; }

/* Decoration beside a centred hero on wide screens */
@media (min-width: 1280px) {
    .vt-is-hero:not(.vt-band--photo)::before, .vt-is-hero:not(.vt-band--photo)::after { content: ""; position: absolute; border: var(--vt-bw) solid var(--vt-line); box-shadow: 5px 5px 0 var(--vt-line); pointer-events: none; }
    .vt-is-hero:not(.vt-band--photo)::before { width: 104px; height: 104px; right: -38px; top: 16%; border-radius: 50%; background: var(--vt-hi-2, var(--vt-pop-2)); }
    .vt-is-hero:not(.vt-band--photo)::after { width: 84px; height: 84px; left: -30px; bottom: 14%; border-radius: 20px; background: var(--vt-hi-1, var(--vt-pop)); transform: rotate(14deg); }
}

/* Several slides: stacked down the page until the script turns them into a reel */
.vt-reel .vt-hero__pane + .vt-hero__pane { margin-top: clamp(2.5rem, 6vw, 4rem); }
.vt-reel__picks { display: none; }
.vt-reel.is-live { display: grid; }
.vt-reel.is-live .vt-hero__pane { grid-area: 1 / 1; margin-top: 0; visibility: hidden; opacity: 0; transition: opacity 0.2s ease, visibility 0s linear 0.2s; }
.vt-reel.is-live .vt-hero__pane.is-active { visibility: visible; opacity: 1; transition: opacity 0.2s ease; }
.vt-reel.is-live .vt-reel__picks { grid-row: 2; display: flex; justify-content: center; gap: 0.6rem; margin-top: 2.25rem; }
.vt-reel__pick { width: 38px; height: 38px; padding: 0; font: inherit; font-size: 0.9rem; font-weight: 700; color: var(--vt-text); background: transparent; border: var(--vt-bw) solid var(--vt-line); border-radius: 11px; cursor: pointer; transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-reel__pick:hover { transform: translate(-1px, -1px); box-shadow: 2px 2px 0 var(--vt-line); }
.vt-reel__pick.is-active { color: var(--vt-on-hi-1, var(--vt-on-pop)); background: var(--vt-hi-1, var(--vt-pop)); box-shadow: 3px 3px 0 var(--vt-line); }

/* Numbers */
.vt-tally { display: flex; flex-wrap: wrap; gap: var(--vt-bw); margin: 0; background: var(--vt-rim); border: var(--vt-bw) solid var(--vt-rim); border-radius: var(--vt-r-lg); box-shadow: 7px 7px 0 var(--vt-rim); overflow: hidden; }
.vt-tally__cell { flex: 1 1 210px; display: flex; flex-direction: column-reverse; justify-content: flex-end; padding: clamp(1.4rem, 3vw, 2.1rem) clamp(1.25rem, 2.5vw, 1.9rem); color: var(--vt-ink); background: var(--vt-surface); }
.vt-tally__cell--1 { color: var(--vt-dark); background: var(--vt-tint-1); }
.vt-tally__cell--3 { color: var(--vt-dark); background: var(--vt-tint-2); }
.vt-tally dd { margin: 0; font-size: clamp(2.5rem, 5vw, 3.9rem); font-weight: 700; line-height: 1; letter-spacing: -0.05em; }
.vt-tally dt { margin-top: 0.7rem; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }

/* Book tiles */
.vt-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: clamp(1.1rem, 2.4vw, 1.75rem); }
.vt-item { display: flex; flex-direction: column; text-decoration: none; overflow: hidden; transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-item:hover { transform: translate(2px, 2px); box-shadow: 3px 3px 0 var(--vt-rim); }
.vt-item:active { transform: translate(5px, 5px); box-shadow: 0 0 0 var(--vt-rim); }
.vt-item__art { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1.08; padding: 1.25rem; background: var(--vt-tint-1); border-bottom: var(--vt-bw) solid var(--vt-rim); }
.vt-item:nth-child(3n + 2) .vt-item__art { background: var(--vt-tint-2); }
.vt-item:nth-child(3n) .vt-item__art { background: color-mix(in srgb, var(--vt-pop) 12%, #f1e9d6); }
.vt-item__art img { width: auto; max-width: 100%; max-height: 100%; border: var(--vt-bw) solid var(--vt-dark); border-radius: 5px; box-shadow: 4px 4px 0 var(--vt-dark); transition: transform var(--vt-snap); }
.vt-item:hover .vt-item__art img { transform: rotate(-2deg) scale(1.02); }
.vt-item__body { flex: 1; display: flex; flex-direction: column; gap: 0.2rem; padding: 0.95rem 1rem 1rem; }
.vt-item__name { font-size: 1.06rem; font-weight: 700; line-height: 1.22; letter-spacing: -0.02em; }
.vt-item__by { font-size: 0.9rem; color: var(--vt-in-dim); }
.vt-item__foot { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: auto; padding-top: 0.85rem; }
.vt-item__cost { font-size: 1.02rem; font-weight: 700; letter-spacing: -0.01em; }
.vt-item__cost small { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vt-in-dim); }
.vt-item__cost--none { font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vt-in-dim); }
.vt-item__go { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--vt-on-cta); background: var(--vt-cta); border: var(--vt-bw) solid var(--vt-in); border-radius: 10px; transition: transform var(--vt-snap); }
.vt-item:hover .vt-item__go { transform: translateX(3px); }

/* Running text */
.vt-copy { color: var(--vt-text); }
.vt-copy--column { max-width: 46rem; margin-inline: auto; }
.vt-copy > :first-child { margin-top: 0; }
.vt-copy > :last-child { margin-bottom: 0; }
.vt-copy h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 1.6em; }
.vt-copy h3 { font-size: 1.3rem; margin-top: 1.5em; }
.vt-copy p, .vt-copy li { color: var(--vt-text); }
.vt-copy a { font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; text-decoration-color: var(--vt-link-line, var(--vt-pop)); border-radius: 4px; transition: background-color var(--vt-snap); }
.vt-copy a:hover { background: var(--vt-pop-2); color: var(--vt-on-pop-2); text-decoration-color: currentColor; }
.vt-copy ul, .vt-copy ol { margin: 0 0 1.1em; padding-left: 1.3rem; }
.vt-copy li { margin-bottom: 0.4em; padding-left: 0.2rem; }
.vt-copy li::marker { font-weight: 700; }
.vt-copy blockquote { margin: 1.6rem 0; padding: 1rem 1.25rem; font-size: 1.12rem; font-weight: 500; color: var(--vt-dark); background: var(--vt-tint-2); border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r-sm); box-shadow: 4px 4px 0 var(--vt-line); }
.vt-copy blockquote p { color: inherit; margin: 0; }
.vt-copy img { border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r-sm); }
.vt-copy hr { height: var(--vt-bw); margin: 2rem 0; background: var(--vt-line); border: 0; }
.vt-copy table { width: 100%; margin: 0 0 1.2em; border-collapse: collapse; font-size: 0.97rem; }
.vt-copy th, .vt-copy td { padding: 0.55rem 0.75rem; text-align: left; border: var(--vt-bw) solid var(--vt-line); }
.vt-copy th { color: var(--vt-dark); background: var(--vt-tint-2); }

/* Plain page */
.vt-doc { max-width: 47rem; margin-inline: auto; }
.vt-doc__title { font-size: clamp(2.2rem, 5vw, 3.5rem); margin-bottom: 0; }
.vt-doc__title::after { content: ""; display: block; width: 92px; height: 14px; margin: 1.1rem 0 2rem; background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-line); border-radius: 7px; box-shadow: 3px 3px 0 var(--vt-line); }

/* Text beside a picture */
.vt-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.vt-duo--bare { grid-template-columns: minmax(0, 46rem); }
.vt-duo--art-right .vt-duo__art { order: 2; }
.vt-duo__art { background: #ffffff; border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r-lg); box-shadow: 9px 9px 0 var(--vt-line); overflow: hidden; }
.vt-duo--art-left .vt-duo__art { box-shadow: -9px 9px 0 var(--vt-line); }
.vt-duo__art img { width: 100%; max-height: 480px; object-fit: cover; }
.vt-duo__art--cutout { padding: clamp(1rem, 3vw, 2rem); }
.vt-duo__art--cutout img { object-fit: contain; }
.vt-duo__say h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.vt-duo__say .vt-copy { font-size: 1.08rem; }
.vt-duo__acts { margin: 1.75rem 0 0; }

/* Steps */
.vt-path { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 2.4rem 1.5rem; margin: 0; padding: 1.2rem 0 0; list-style: none; }
.vt-path__stop { position: relative; padding: 2.5rem 1.5rem 1.5rem; }
.vt-path__no { position: absolute; top: -1.3rem; left: 1.25rem; padding: 0.1rem 0.7rem; font-size: 1.6rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.04em; color: var(--vt-on-pop-2); background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-rim); border-radius: var(--vt-r-sm); box-shadow: 3px 3px 0 var(--vt-rim); transform: rotate(-4deg); }
.vt-path__stop:nth-child(even) .vt-path__no { color: var(--vt-on-pop); background: var(--vt-pop); transform: rotate(3deg); }
.vt-path__stop h3 { font-size: 1.25rem; }
.vt-path__stop p { margin: 0; color: var(--vt-in-dim); }

/* Feature cards in alternating flat colours */
.vt-perks { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(1.1rem, 2.2vw, 1.6rem); }
.vt-perk { grid-column: span 2; padding: clamp(1.4rem, 2.6vw, 1.9rem); transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-perk--wide { grid-column: span 3; }
.vt-perk--full { grid-column: span 6; }
.vt-perk:hover { transform: translate(2px, 2px); box-shadow: 3px 3px 0 var(--vt-rim); }
.vt-perk__sign { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-bottom: 1.1rem; font-size: 1.65rem; line-height: 1; background: #ffffff; border: var(--vt-bw) solid var(--vt-dark); border-radius: 15px; box-shadow: 3px 3px 0 var(--vt-dark); transform: rotate(-4deg); }
.vt-perk h3 { font-size: 1.3rem; }
.vt-perk p { margin: 0; color: var(--vt-in-dim); }

/* Audience tiles */
.vt-crowd { display: grid; gap: clamp(1.1rem, 2.2vw, 1.6rem); margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vt-crowd--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vt-crowd--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vt-crowd__one { display: flex; flex-direction: column; align-items: flex-start; padding: 1.5rem; }
.vt-crowd__icon { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin-bottom: 1.1rem; font-size: 1.25rem; color: var(--vt-on-pop); background: var(--vt-pop); border: var(--vt-bw) solid var(--vt-in); border-radius: 14px; box-shadow: 3px 3px 0 var(--vt-in); }
.vt-crowd__icon--2 { color: var(--vt-on-pop-2); background: var(--vt-pop-2); }
.vt-crowd__icon--3 { color: var(--vt-dark); background: var(--vt-tint-1); }
.vt-crowd__one h3 { font-size: 1.2rem; }
.vt-crowd__one p { margin: 0; font-size: 0.99rem; color: var(--vt-in-dim); }
.vt-crowd__link { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 1.1rem; font-size: 0.95rem; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.25em; }
.vt-crowd__link svg { transition: transform var(--vt-snap); }
.vt-crowd__link:hover svg { transform: translateX(4px); }

/* Quotes */
.vt-praise { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(1.1rem, 2.2vw, 1.6rem); }
.vt-praise__card { display: flex; flex-direction: column; margin: 0; padding: clamp(1.4rem, 2.6vw, 1.9rem); }
.vt-praise__mark { height: 2.4rem; font-size: 4.6rem; font-weight: 700; line-height: 1; }
.vt-praise__card blockquote { margin: 0 0 1.4rem; font-size: 1.12rem; font-weight: 500; line-height: 1.5; }
.vt-praise__card figcaption { display: flex; align-items: center; gap: 0.75rem; margin-top: auto; }
.vt-praise__face { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; font-weight: 700; color: var(--vt-on-pop-2); background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-in); border-radius: 13px; }
.vt-praise__card--2 .vt-praise__face, .vt-praise__card--3 .vt-praise__face { color: var(--vt-dark); background: #ffffff; }
.vt-praise__who { display: grid; line-height: 1.3; }
.vt-praise__who small { font-size: 0.86rem; color: var(--vt-in-dim); }

/* Questions */
.vt-asks { display: grid; gap: 0.95rem; max-width: 52rem; }
.vt-ask { box-shadow: 4px 4px 0 var(--vt-rim); overflow: hidden; }
.vt-ask summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem 1.2rem; font-size: 1.08rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; cursor: pointer; list-style: none; }
.vt-ask summary::-webkit-details-marker { display: none; }
.vt-ask summary:hover { background: color-mix(in srgb, var(--vt-pop-2) 22%, transparent); }
.vt-ask__sign { position: relative; flex: none; width: 32px; height: 32px; color: var(--vt-on-pop-2); background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-in); border-radius: 10px; transition: transform var(--vt-snap); }
.vt-ask__sign::before, .vt-ask__sign::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; background: currentColor; border-radius: 2px; }
.vt-ask__sign::after { transform: rotate(90deg); }
.vt-ask[open] .vt-ask__sign { transform: rotate(45deg); }
.vt-ask[open] summary { border-bottom: var(--vt-bw) solid var(--vt-in); }
.vt-ask__reply { padding: 1.1rem 1.2rem 1.2rem; }
.vt-ask__reply p { margin: 0; color: var(--vt-in-dim); }

/* Call to action */
.vt-shout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; padding: clamp(1.75rem, 5vw, 3.4rem); color: var(--vt-on-pop); background: var(--vt-pop); border: var(--vt-bw) solid var(--vt-rim); border-radius: 26px; box-shadow: 8px 8px 0 var(--vt-rim); --vt-line: var(--vt-dark); --vt-btn: #ffffff; --vt-on-btn: #17140f; --vt-btn-cast: var(--vt-dark); }
.vt-shout__say { flex: 1 1 22rem; max-width: 40rem; }
.vt-shout h2 { font-size: clamp(1.85rem, 3.8vw, 3rem); margin-bottom: 0.3em; }
.vt-shout p { margin: 0; font-size: 1.12rem; opacity: 0.88; }
.vt-shout__say > :last-child { margin-bottom: 0; }
.vt-band--primary .vt-shout, .vt-band--accent .vt-shout { color: var(--vt-ink); background: var(--vt-surface); --vt-line: var(--vt-ink); --vt-btn: var(--vt-cta); --vt-on-btn: var(--vt-on-cta); --vt-btn-cast: var(--vt-cta-cast); }
.vt-band--custom .vt-shout, .vt-band--photo .vt-shout, .vt-band--pick .vt-shout { padding: 0; color: var(--vt-text); background: transparent; border: 0; border-radius: 0; box-shadow: none; --vt-line: inherit; --vt-btn: inherit; --vt-on-btn: inherit; --vt-btn-cast: inherit; }

/* Partner names as stickers */
.vt-allies__lead { margin: 0 0 1.2rem; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vt-dim); }
.vt-allies { display: flex; flex-wrap: wrap; gap: 0.9rem 0.85rem; margin: 0; padding: 0; list-style: none; }
.vt-allies li { padding: 0.5rem 1.1rem; font-weight: 700; letter-spacing: -0.01em; color: var(--vt-ink); background: var(--vt-surface); border: var(--vt-bw) solid var(--vt-rim); border-radius: 999px; box-shadow: 3px 3px 0 var(--vt-rim); transform: rotate(-1.4deg); }
.vt-allies li:nth-child(even) { transform: rotate(1.1deg); }
.vt-allies li:nth-child(3n + 2) { color: var(--vt-dark); background: var(--vt-tint-2); }
.vt-allies li:nth-child(3n) { color: var(--vt-dark); background: var(--vt-tint-1); }

/* Forms */
.vt-reach { max-width: 54rem; }
.vt-sheet { padding: clamp(1.25rem, 4vw, 2.25rem); box-shadow: 7px 7px 0 var(--vt-rim); }
.vt-sheet__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.vt-sheet__cell { margin: 0; }
.vt-page .vt-sheet__cell { margin-bottom: 0; }
.vt-sheet__cell--full { grid-column: 1 / -1; }
.vt-sheet label { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.4rem; font-size: 0.92rem; font-weight: 700; }
.vt-sheet__must { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vt-in-dim); }
.vt-sheet input, .vt-sheet textarea, .vt-finder input, .vt-finder select, .vt-drop-in input {
    width: 100%; padding: 0.8rem 0.95rem; font: inherit; font-size: 1rem; color: var(--vt-ink); background: var(--vt-field);
    border: var(--vt-bw) solid var(--vt-ink); border-radius: var(--vt-r-sm); transition: transform var(--vt-snap), box-shadow var(--vt-snap);
}
.vt-sheet textarea { display: block; min-height: 9rem; resize: vertical; }
.vt-sheet input:focus, .vt-sheet textarea:focus, .vt-finder input:focus, .vt-finder select:focus, .vt-drop-in input:focus { outline: none; transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--vt-cta); border-radius: var(--vt-r-sm); }
.vt-sheet__send { margin: 1.5rem 0 0; }
.vt-page .vt-sheet__send { margin-bottom: 0; }
.vt-note { margin: 0 0 1.25rem; padding: 0.8rem 1rem; font-weight: 600; border: var(--vt-bw) solid #17140f; border-radius: var(--vt-r-sm); }
.vt-note--success { color: #0d3a1c; background: #c5f6d2; }
.vt-note--error { color: #5a1207; background: #ffd0c8; }

/* Catalogue */
.vt-finder__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.75rem 2rem; margin-bottom: 1.5rem; }
.vt-finder__title { margin: 0; font-size: clamp(2.5rem, 6vw, 4.2rem); letter-spacing: -0.05em; }
.vt-page h1.vt-finder__title { margin: 0; }
.vt-finder__count { margin: 0 0 0.5rem; padding: 0.3rem 0.85rem; font-size: 0.9rem; font-weight: 600; color: var(--vt-ink); background: var(--vt-surface); border: var(--vt-bw) solid var(--vt-line); border-radius: 999px; box-shadow: 3px 3px 0 var(--vt-line); transform: rotate(1.5deg); }
.vt-finder { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.vt-finder__q { position: relative; flex: 1 1 280px; }
.vt-finder__q svg { position: absolute; left: 0.95rem; top: 50%; transform: translateY(-50%); color: var(--vt-muted); pointer-events: none; }
.vt-finder__q input { padding-left: 2.8rem; }
.vt-finder__pick { flex: 0 1 190px; }
.vt-finder input, .vt-finder select { height: 52px; box-shadow: 3px 3px 0 var(--vt-ink); }
.vt-finder .vt-btn { min-height: 52px; }
.vt-blank { max-width: 34rem; margin-inline: auto; padding: clamp(2rem, 6vw, 3.25rem) 1.5rem; text-align: center; box-shadow: 7px 7px 0 var(--vt-rim); }
.vt-blank__sign { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 1.4rem; font-size: 2rem; font-weight: 700; color: var(--vt-on-pop-2); background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-in); border-radius: 18px; box-shadow: 4px 4px 0 var(--vt-in); transform: rotate(-7deg); }
.vt-blank h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.vt-blank p { color: var(--vt-in-dim); }
.vt-blank > :last-child { margin-bottom: 0; }
.vt-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: clamp(2rem, 5vw, 3.25rem); }
.vt-pages a, .vt-pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 0.85rem; font-weight: 700; text-decoration: none; color: var(--vt-ink); background: var(--vt-surface); border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r-sm); box-shadow: 3px 3px 0 var(--vt-line); transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-pages a:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--vt-line); }
.vt-pages .vt-pages__on { color: var(--vt-on-pop); background: var(--vt-pop); }

/* Book page */
.vt-trail { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: clamp(1.5rem, 4vw, 2.5rem); font-size: 0.9rem; font-weight: 600; color: var(--vt-dim); }
.vt-trail a { color: var(--vt-text); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.22em; }
.vt-product { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); gap: clamp(2rem, 6vw, 4.5rem); align-items: start; }
.vt-product__side { position: sticky; top: 100px; }
.vt-product__art { position: relative; display: flex; align-items: center; justify-content: center; padding: clamp(1.5rem, 5vw, 3rem); background: var(--vt-tint-1); border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r-lg); box-shadow: 9px 9px 0 var(--vt-line); }
.vt-product__art img { width: auto; max-height: 500px; border: var(--vt-bw) solid var(--vt-dark); border-radius: 6px; box-shadow: 7px 7px 0 var(--vt-dark); }
.vt-product__sticker { position: absolute; top: -16px; right: -12px; display: grid; justify-items: center; padding: 0.5rem 0.95rem 0.55rem; font-size: 1.3rem; font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; color: var(--vt-on-pop-2); background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-line); border-radius: 16px; box-shadow: 4px 4px 0 var(--vt-line); transform: rotate(7deg); }
.vt-product__sticker small { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.vt-product__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.vt-product__tags li { padding: 0.18rem 0.7rem; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--vt-dark); background: var(--vt-tint-2); border: var(--vt-bw) solid var(--vt-line); border-radius: 999px; }
.vt-product__title { font-size: clamp(2.1rem, 4.4vw, 3.5rem); letter-spacing: -0.045em; margin-bottom: 0.3em; }
.vt-product__by { margin: 0 0 1.6rem; font-size: 1.12rem; color: var(--vt-dim); }
.vt-product__by strong { color: var(--vt-text); }
.vt-product__sub { margin: 2.25rem 0 0.9rem; font-size: 0.84rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.vt-page h2.vt-product__sub { margin: 2.25rem 0 0.9rem; letter-spacing: 0.1em; }
.vt-specs { display: flex; flex-wrap: wrap; gap: var(--vt-bw); margin: 0; background: var(--vt-line); border: var(--vt-bw) solid var(--vt-line); border-radius: var(--vt-r); overflow: hidden; }
.vt-specs > div { flex: 1 1 130px; padding: 0.8rem 1rem; color: var(--vt-ink); background: var(--vt-surface); }
.vt-specs dt { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--vt-muted); }
.vt-specs dd { margin: 0.15rem 0 0; font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
.vt-options { margin: 0; padding: 0; list-style: none; overflow: hidden; }
.vt-option { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.1rem; padding: 0.95rem 1.1rem; }
.vt-option + .vt-option { border-top: var(--vt-bw) solid var(--vt-in); }
.vt-option__what { flex: 1 1 150px; display: grid; line-height: 1.35; }
.vt-option__what small { font-size: 0.82rem; color: var(--vt-in-dim); }
.vt-option__cost { font-size: 1.2rem; font-weight: 700; letter-spacing: -0.02em; }

/* Not found */
.vt-oops { max-width: 40rem; margin-inline: auto; text-align: center; }
.vt-oops .vt-oops__num { display: flex; justify-content: center; gap: clamp(0.5rem, 2vw, 1rem); margin: 0 0 clamp(1.75rem, 5vw, 2.75rem); font-size: clamp(4.25rem, 17vw, 8.5rem); font-weight: 700; line-height: 1; letter-spacing: -0.05em; }
.vt-oops__num span { padding: 0.04em 0.2em 0.08em; color: var(--vt-ink); background: var(--vt-surface); border: var(--vt-bw) solid var(--vt-line); border-radius: 0.2em; box-shadow: 6px 6px 0 var(--vt-line); }
.vt-oops__num span:first-child { color: var(--vt-on-pop); background: var(--vt-pop); transform: rotate(-5deg); }
.vt-oops__num span:last-child { color: var(--vt-on-pop-2); background: var(--vt-pop-2); transform: rotate(5deg); }
.vt-oops h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); }
.vt-oops p:not(.vt-oops__num) { margin-bottom: 1.9rem; font-size: 1.1rem; color: var(--vt-dim); }

/* Footer */
.vt-end { --vt-end-line: var(--vt-site-end-ink, var(--vt-end-ink)); padding-top: clamp(2.75rem, 6vw, 4.5rem); color: var(--vt-end-line); background: var(--vt-site-end-bg, var(--vt-end-bg)); border-top: var(--vt-bw) solid var(--vt-ink); }
.vt-drop-in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 1.5rem 3rem; align-items: center; margin-bottom: clamp(2.75rem, 6vw, 4.5rem); padding: clamp(1.5rem, 4vw, 2.6rem); color: var(--vt-on-pop-2); background: var(--vt-pop-2); border: var(--vt-bw) solid var(--vt-end-line); border-radius: var(--vt-r-lg); box-shadow: 7px 7px 0 var(--vt-end-line); --vt-line: var(--vt-on-pop-2); --vt-btn: var(--vt-on-pop-2); --vt-on-btn: var(--vt-pop-2); --vt-btn-cast: color-mix(in srgb, var(--vt-on-pop-2) 38%, var(--vt-pop-2)); }
.vt-drop-in__title { display: block; margin: 0.85rem 0 0.4rem; font-size: clamp(1.6rem, 3.2vw, 2.3rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.035em; }
.vt-drop-in__pitch p { margin: 0; opacity: 0.86; }
.vt-drop-in__line { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.vt-drop-in input { flex: 1 1 210px; width: auto; min-width: 0; color: #17140f; background: #ffffff; border-color: var(--vt-on-pop-2); }
.vt-drop-in input:focus { box-shadow: 4px 4px 0 var(--vt-on-pop-2); }
.vt-drop-in .vt-note { margin: 1rem 0 0; }
.vt-end__grid { display: flex; flex-wrap: wrap; gap: 2.25rem 3rem; padding-bottom: clamp(2.25rem, 5vw, 3.5rem); }
.vt-end__lead { flex: 1 1 300px; max-width: 26rem; }
.vt-brand--end { font-size: 1.5rem; }
.vt-end__about { margin: 1.1rem 0 0; font-size: 0.98rem; opacity: 0.82; }
.vt-end__social { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.vt-end__social a { display: inline-block; padding: 0.3rem 0.8rem; font-size: 0.86rem; font-weight: 700; text-decoration: none; border: var(--vt-bw) solid currentColor; border-radius: 999px; box-shadow: 2px 2px 0 currentColor; transition: transform var(--vt-snap), box-shadow var(--vt-snap); }
.vt-end__social a:hover { transform: translate(2px, 2px); box-shadow: 0 0 0 currentColor; }
.vt-end__col { flex: 1 1 150px; }
.vt-end__col h2 { margin: 0.35rem 0 1rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
.vt-page .vt-end__col h2 { letter-spacing: 0.1em; }
.vt-end__col ul { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.vt-end__col a { font-weight: 500; text-decoration: none; }
.vt-end__col a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.22em; }
.vt-end__fine { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.4rem 2rem; padding-block: 1.3rem 1.6rem; font-size: 0.88rem; border-top: var(--vt-bw) solid color-mix(in srgb, currentColor 28%, transparent); }
.vt-end__fine span { opacity: 0.8; }

/* Cookie notice */
.vt-crumbs-ok { position: fixed; left: 1rem; bottom: 1rem; z-index: 60; width: min(25rem, 100% - 2rem); padding: 1.15rem 1.2rem 1.25rem; font-size: 0.95rem; --vt-rim: var(--vt-ink); box-shadow: 6px 6px 0 var(--vt-ink); border-color: var(--vt-ink); }
.vt-crumbs-ok__head { margin: 0 0 0.3rem; font-size: 1.08rem; font-weight: 700; letter-spacing: -0.02em; }
.vt-crumbs-ok p { margin: 0 0 0.9rem; }
.vt-page .vt-crumbs-ok__head { margin-bottom: 0.3rem; }
.vt-crumbs-ok__pick { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.vt-page .vt-crumbs-ok__pick { margin: 0; }

/* Tablets */
@media (max-width: 1000px) {
    .vt-crowd--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vt-perk, .vt-perk--wide { grid-column: span 3; }
    .vt-perk--full { grid-column: span 6; }
}

/* Small screens: the menu folds under a button (only when the script runs) */
@media (max-width: 900px) {
    .vt-top__bar { flex-wrap: wrap; min-height: 64px; padding-block: 0.6rem; }
    .vt-menu { flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 0; padding-bottom: 0.5rem; max-height: calc(100vh - 80px); overflow-y: auto; }
    .has-js .vt-switch { display: inline-flex; }
    .has-js .vt-menu { display: none; }
    .has-js .vt-menu.is-open { display: flex; }
    .vt-menu__row { flex-direction: column; align-items: stretch; gap: 0; border-top: var(--vt-bw) solid currentColor; }
    .vt-menu__item { border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
    .vt-menu__link { width: 100%; justify-content: space-between; padding: 0.85rem 0.25rem; font-size: 1.08rem; text-align: left; border: 0; border-radius: 0; }
    .vt-menu__link:hover, .vt-menu__item--more.is-open > .vt-menu__link { background: transparent; }
    .vt-menu__more { cursor: default; }
    .vt-menu__tick { display: none; }
    .vt-drop { display: block; position: static; min-width: 0; margin: 0 0 0.6rem; padding: 0 0 0 0.9rem; color: inherit; background: transparent; border: 0; border-left: var(--vt-bw) solid currentColor; border-radius: 0; box-shadow: none; }
    .vt-drop::before { display: none; }
    .vt-drop a { padding: 0.5rem 0.25rem; border-radius: 8px; }
    .vt-menu__reach { display: grid; gap: 0.6rem; padding: 1rem 0.25rem 0.5rem; }

    .vt-hero__pane, .vt-duo, .vt-product, .vt-drop-in { grid-template-columns: minmax(0, 1fr); }
    .vt-hero__art { max-width: 34rem; box-shadow: 7px 7px 0 var(--vt-line); }
    .vt-duo--art-right .vt-duo__art { order: 0; }
    .vt-duo__art, .vt-duo--art-left .vt-duo__art { box-shadow: 6px 6px 0 var(--vt-line); }
    .vt-product__side { position: static; }
    .vt-product__art { max-width: 28rem; }
    .vt-product__art img { max-height: 380px; }
    .vt-crowd, .vt-crowd--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .vt-box { width: min(1140px, 100% - 2rem); }
    .vt-perk, .vt-perk--wide, .vt-perk--full { grid-column: span 6; }
    .vt-crowd, .vt-crowd--2, .vt-crowd--4 { grid-template-columns: minmax(0, 1fr); }
    .vt-sheet__rows { grid-template-columns: minmax(0, 1fr); }
    .vt-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
    .vt-item { box-shadow: 4px 4px 0 var(--vt-rim); }
    .vt-item__art { padding: 0.85rem; }
    .vt-item__body { padding: 0.75rem 0.75rem 0.8rem; }
    .vt-item__name { font-size: 0.98rem; }
    .vt-item__go { display: none; }
    .vt-finder__pick { flex: 1 1 140px; }
    .vt-finder .vt-btn { flex: 1 1 100%; }
    .vt-shout { box-shadow: 6px 6px 0 var(--vt-rim); border-radius: 20px; }
    .vt-shout .vt-btn, .vt-hero__acts .vt-btn { width: 100%; }
    .vt-product__sticker { right: -6px; font-size: 1.1rem; }
    .vt-product__art { box-shadow: 6px 6px 0 var(--vt-line); }
    .vt-tally { box-shadow: 5px 5px 0 var(--vt-rim); }
    .vt-tally__cell { flex-basis: 140px; }
    .vt-crumbs-ok { left: 0.75rem; bottom: 0.75rem; width: calc(100% - 1.5rem); }
    .vt-drop-in .vt-btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .vt-page *, .vt-page *::before, .vt-page *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
    .vt-btn:hover, .vt-btn:active, .vt-item:hover, .vt-item:active, .vt-perk:hover, .vt-pages a:hover, .vt-item:hover .vt-item__art img, .vt-btn:hover svg { transform: none; }
}
