/*
 * VeyraStone front-end architecture layer.
 *
 * Component prefix: vsa- (VeyraStone Architecture). This file intentionally
 * sits after the legacy child stylesheet so the new system can ship without
 * destabilizing older WordPress content blocks.
 */

:root {
    --vsa-ink: #173f33;
    --vsa-ink-2: #246a4e;
    --vsa-paper: #fafdfc;
    --vsa-paper-2: #e8f5ee;
    --vsa-white: #ffffff;
    --vsa-gold: #2f8060;
    --vsa-gold-dark: #173f33;
    --vsa-brass: #d3a54c;
    --vsa-brass-ink: #6b4d16;
    --vsa-brass-soft: #f1d797;
    --vsa-line: rgba(23, 63, 51, 0.18);
    --vsa-line-dark: rgba(250, 253, 252, 0.2);
    --vsa-muted: #66766f;
    --vsa-success: #2f8060;
    --vsa-shadow-sm: 0 10px 28px rgba(23, 63, 51, 0.1);
    --vsa-shadow-lg: 0 28px 80px rgba(23, 63, 51, 0.16);
    --vsa-radius: 2px;
    --vsa-utility-height: 34px;
    --vsa-section: clamp(72px, 8vw, 124px);
    --vsa-display: 'Playfair Display', 'Playfair-fallback', Georgia, serif;
    --vsa-body: 'Inter', 'Inter-fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--veyra-header-height, 88px) + var(--vsa-utility-height) + 20px);
}

body {
    background: var(--vsa-white);
    color: var(--vsa-ink);
    padding-top: calc(var(--veyra-header-height, 88px) + var(--vsa-utility-height));
}

body.vsa-catalog-open { overflow: hidden; }

body .grid-container {
    width: min(100% - 40px, 1240px);
    max-width: 1240px;
    margin-inline: auto;
    padding-left: 0;
    padding-right: 0;
}

.vsa-home,
.vsa-archive,
.vsa-product,
.vsa-project-archive,
.vsa-project,
.vsa-journal,
.vsa-article,
.vsa-page,
.vsa-contact,
.vsa-search-page {
    overflow: clip;
    background: var(--vsa-white);
}

.vsa-home h1,
.vsa-home h2,
.vsa-home h3,
.vsa-archive h1,
.vsa-archive h2,
.vsa-archive h3,
.vsa-product h1,
.vsa-product h2,
.vsa-product h3,
.vsa-project-archive h1,
.vsa-project-archive h2,
.vsa-project-archive h3,
.vsa-project h1,
.vsa-project h2,
.vsa-project h3,
.vsa-journal h1,
.vsa-journal h2,
.vsa-journal h3,
.vsa-article h1,
.vsa-article h2,
.vsa-article h3,
.vsa-page h1,
.vsa-page h2,
.vsa-page h3,
.vsa-contact h1,
.vsa-contact h2,
.vsa-contact h3,
.vsa-search-page h1,
.vsa-search-page h2,
.vsa-search-page h3 {
    color: inherit;
    font-family: var(--vsa-display);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.05;
    text-wrap: balance;
}

.vsa-home p,
.vsa-archive p,
.vsa-product p,
.vsa-project-archive p,
.vsa-project p,
.vsa-journal p,
.vsa-article p,
.vsa-page p,
.vsa-contact p,
.vsa-search-page p { text-wrap: pretty; }

.vsa-kicker {
    margin: 0 0 18px;
    color: var(--vsa-gold-dark);
    font: 600 0.72rem/1.2 var(--vsa-body);
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.vsa-kicker--gold { color: var(--vsa-brass-soft); }

.vsa-button,
a.vsa-button,
button.vsa-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 22px;
    border: 1px solid var(--vsa-ink);
    border-radius: var(--vsa-radius);
    background: var(--vsa-ink);
    color: var(--vsa-white);
    font: 600 0.76rem/1.2 var(--vsa-body);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.vsa-button svg,
.vsa-text-link svg,
.vsa-icon-link svg,
.vsa-catalog-trigger svg,
.vsa-search svg,
.vsa-view-switcher svg,
.vsa-catalog-close svg,
.vsa-document-link svg,
.vsa-hero__assurances svg,
.vsa-evidence__checklist svg,
.vsa-project-hero__status svg,
.vsa-project-body__stones svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.vsa-button:hover,
.vsa-button:focus-visible {
    border-color: var(--vsa-gold);
    background: var(--vsa-gold);
    color: var(--vsa-white);
    transform: translateY(-2px);
}

.vsa-button--ghost,
a.vsa-button--ghost {
    border-color: rgba(23, 63, 51, 0.35);
    background: transparent;
    color: var(--vsa-ink);
}

.vsa-button--ghost:hover,
.vsa-button--ghost:focus-visible { border-color: var(--vsa-ink); background: var(--vsa-ink); color: var(--vsa-white); }

.vsa-button--light,
a.vsa-button--light { border-color: var(--vsa-white); background: var(--vsa-white); color: var(--vsa-ink); }

.vsa-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 0;
    color: inherit;
    font: 600 0.78rem/1.4 var(--vsa-body);
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.vsa-text-link svg { transition: transform 180ms ease; }
.vsa-text-link:hover svg,
.vsa-text-link:focus-visible svg { transform: translateX(5px); }

.vsa-button:focus-visible,
.vsa-text-link:focus-visible,
.vsa-catalog-trigger:focus-visible,
.vsa-catalog-close:focus-visible,
.vsa-view-switcher button:focus-visible,
.vsa-gallery__thumbs button:focus-visible,
.vsa-intent-nav a:focus-visible,
.vsa-topic-nav a:focus-visible,
.vsa-anchor-nav a:focus-visible {
    outline: 3px solid var(--vsa-brass);
    outline-offset: 3px;
}

.vsa-section { padding-block: var(--vsa-section); }
.vsa-section--soft { background: var(--vsa-paper); }
.vsa-section--ink { background: var(--vsa-ink); color: var(--vsa-white); }

.vsa-section-head { max-width: 850px; margin-bottom: clamp(38px, 5vw, 64px); }
.vsa-section-head h2 { max-width: 900px; margin: 0; font-size: clamp(2.25rem, 4.4vw, 4.4rem); }
.vsa-section-head > p:last-child { margin: 22px 0 0; color: var(--vsa-muted); font-size: 1.04rem; line-height: 1.75; }
.vsa-section--ink .vsa-section-head > p:last-child { color: rgba(250, 253, 252, 0.7); }
.vsa-section-head--split { display: grid; max-width: none; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.65fr); gap: clamp(32px, 7vw, 100px); align-items: end; }
.vsa-section-head--split > p,
.vsa-section-head--split > .vsa-text-link { margin: 0 0 6px; }
.vsa-section-head--center { margin-inline: auto; text-align: center; }

/* Header and global discovery navigation */
.vsa-utility-bar {
    position: fixed;
    z-index: 105;
    top: 0;
    left: 0;
    right: 0;
    height: var(--vsa-utility-height);
    background: var(--vsa-ink);
    color: var(--vsa-white);
    font: 500 0.67rem/1 var(--vsa-body);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vsa-utility-bar__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.vsa-utility-bar p { margin: 0; }
.vsa-utility-bar nav { display: flex; align-items: center; gap: 24px; }
.vsa-utility-bar a { border: 0; color: rgba(250, 253, 252, 0.8); }
.vsa-utility-bar a:hover { color: var(--vsa-brass-soft); }

.site-header { top: var(--vsa-utility-height); background: rgba(250, 253, 252, 0.98); backdrop-filter: blur(16px); }
.site-header .inside-header { padding-top: 18px; padding-bottom: 18px; }
.site-title a { font-size: clamp(1.45rem, 2.3vw, 2rem); letter-spacing: -0.025em; }
.main-navigation .inside-navigation { gap: 18px; }
.main-navigation .menu > li > a,
.main-navigation .main-nav ul li a { padding-inline: 14px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; }

.vsa-nav-tools { gap: 9px; }
.vsa-catalog-trigger,
button.vsa-catalog-trigger {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--vsa-line);
    background: transparent;
    color: var(--vsa-ink);
    font: 600 0.69rem/1 var(--vsa-body);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.vsa-catalog-trigger:hover,
button.vsa-catalog-trigger:hover { border-color: var(--vsa-ink); background: var(--vsa-paper); color: var(--vsa-ink); }
.vsa-catalog-trigger svg { width: 16px; height: 16px; }

.vsa-search { height: 40px; border-radius: 0; border-color: var(--vsa-line); background: transparent; }
.vsa-search .veyra-search__input { width: 168px; padding-inline: 12px 4px; font-size: 0.76rem; }
.vsa-search .veyra-search__btn { padding: 7px 10px; }
.vsa-search .veyra-search__btn svg { width: 17px; height: 17px; }

.vsa-nav-rfq {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 9px 15px;
    border: 1px solid var(--vsa-ink) !important;
    background: var(--vsa-ink);
    color: var(--vsa-white) !important;
    font: 600 0.68rem/1 var(--vsa-body);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.vsa-nav-rfq:hover { border-color: var(--vsa-gold) !important; background: var(--vsa-gold); color: var(--vsa-white) !important; }

.vsa-catalog-panel {
    position: fixed;
    z-index: 99;
    top: calc(var(--veyra-header-height, 88px) + var(--vsa-utility-height));
    left: 0;
    right: 0;
    max-height: calc(100vh - var(--veyra-header-height, 88px) - var(--vsa-utility-height));
    overflow: auto;
    border-top: 1px solid var(--vsa-line);
    border-bottom: 1px solid var(--vsa-line);
    background: rgba(250, 253, 252, 0.985);
    box-shadow: var(--vsa-shadow-lg);
    opacity: 0;
    transform: translateY(-12px);
    transition: opacity 180ms ease, transform 180ms ease;
}
.vsa-catalog-panel[hidden] { display: none; }
.vsa-catalog-panel.is-open { opacity: 1; transform: translateY(0); }
.vsa-catalog-panel__inner { padding-block: 34px 46px; }
.vsa-catalog-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--vsa-line); }
.vsa-catalog-panel__head .vsa-kicker { margin-bottom: 8px; }
.vsa-catalog-panel__head p:last-child { max-width: 680px; margin: 0; color: var(--vsa-muted); font-size: 0.91rem; }
.vsa-catalog-close,
button.vsa-catalog-close { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--vsa-line); background: transparent; color: var(--vsa-ink); }
.vsa-catalog-close:hover,
button.vsa-catalog-close:hover { border-color: var(--vsa-ink); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-catalog-panel__grid { display: grid; grid-template-columns: 1.15fr 0.75fr 1fr; gap: clamp(32px, 6vw, 80px); padding-top: 32px; }
.vsa-catalog-panel__grid h2 { margin: 0 0 18px; font: 600 0.76rem/1.2 var(--vsa-body); letter-spacing: 0.12em; text-transform: uppercase; }
.vsa-catalog-panel__grid ul { margin: 0; padding: 0; list-style: none; }
.vsa-catalog-panel__grid li { margin: 0; border-top: 1px solid var(--vsa-line); }
.vsa-catalog-panel__grid li:last-child { border-bottom: 1px solid var(--vsa-line); }
.vsa-catalog-panel__grid li a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 0; border: 0; color: var(--vsa-ink); font-size: 0.89rem; }
.vsa-catalog-panel__grid li a:hover { color: var(--vsa-gold-dark); }
.vsa-catalog-panel__grid li small { color: var(--vsa-muted); font-size: 0.68rem; }
.vsa-catalog-panel__route { align-self: stretch; padding: 26px; background: var(--vsa-paper); }
.vsa-catalog-panel__route h2 { font-family: var(--vsa-display); font-size: 1.55rem; letter-spacing: -0.02em; text-transform: none; }
.vsa-catalog-panel__route p { margin: 0 0 24px; color: var(--vsa-muted); font-size: 0.88rem; line-height: 1.65; }

/* Breadcrumbs */
.vsa-breadcrumb { border-bottom: 1px solid var(--vsa-line); background: var(--vsa-white); }
.vsa-breadcrumb .grid-container { padding-block: 12px; }
.vsa-breadcrumb,
.vsa-breadcrumb a,
.vsa-breadcrumb .rank-math-breadcrumb { color: var(--vsa-muted); font-size: 0.72rem; }
.vsa-breadcrumb a { border: 0; }
.vsa-breadcrumb--dark { border-color: var(--vsa-line-dark); background: var(--vsa-ink); }
.vsa-breadcrumb--dark,
.vsa-breadcrumb--dark a,
.vsa-breadcrumb--dark .rank-math-breadcrumb { color: rgba(250, 253, 252, 0.65); }

/* Home hero */
.vsa-hero { position: relative; background: var(--vsa-paper); }
.vsa-hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(23,63,51,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(23,63,51,.035) 1px, transparent 1px); background-size: 72px 72px; content: ''; pointer-events: none; }
.vsa-hero__grid { position: relative; display: grid; min-height: min(780px, calc(100vh - 40px)); grid-template-columns: minmax(0, 1.05fr) minmax(460px, .95fr); gap: clamp(44px, 8vw, 112px); align-items: center; padding-block: clamp(72px, 8vw, 122px); }
.vsa-hero__copy { position: relative; z-index: 2; }
.vsa-hero__copy h1 { max-width: 760px; margin: 0; font-size: clamp(3.35rem, 6vw, 6.8rem); }
.vsa-hero__lede { max-width: 720px; margin: 30px 0 0; color: #4f4a43; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.75; }
.vsa-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.vsa-hero__assurances { display: grid; gap: 10px; margin: 32px 0 0; padding: 24px 0 0; border-top: 1px solid var(--vsa-line); list-style: none; }
.vsa-hero__assurances li { display: flex; align-items: center; gap: 10px; color: #514c44; font-size: 0.8rem; }
.vsa-hero__assurances svg { width: 16px; height: 16px; color: var(--vsa-success); stroke-width: 2.3; }

.vsa-hero__visual { position: relative; min-height: 590px; }
.vsa-hero-slab { position: absolute; inset: 0 54px 0 0; overflow: hidden; border: 14px solid var(--vsa-white); background: radial-gradient(circle at 12% 24%, rgba(255,255,255,.9), transparent 24%), radial-gradient(circle at 84% 75%, rgba(211,165,76,.12), transparent 30%), linear-gradient(135deg, #d9d5cb, #f8f6f0 42%, #c8c2b5 100%); box-shadow: var(--vsa-shadow-lg); }
.vsa-hero-slab::after { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 0 29%, rgba(255,255,255,.25) 30% 31%, transparent 32% 61%, rgba(255,255,255,.28) 62% 63%, transparent 64%); content: ''; }
.vsa-hero-slab__vein { position: absolute; display: block; width: 145%; height: 3px; background: linear-gradient(90deg, transparent, rgba(68,61,52,.56), rgba(211,165,76,.48), transparent); filter: blur(.2px); transform-origin: center; }
.vsa-hero-slab__vein::after { position: absolute; top: 10px; left: 18%; width: 60%; height: 1px; background: rgba(86,77,65,.24); content: ''; }
.vsa-hero-slab__vein--one { top: 24%; left: -14%; transform: rotate(-18deg) skewX(-30deg); }
.vsa-hero-slab__vein--two { top: 54%; left: -18%; transform: rotate(31deg) skewX(22deg); }
.vsa-hero-slab__vein--three { top: 77%; left: -12%; transform: rotate(-27deg) skewX(-18deg); }
.vsa-hero-slab__stamp { position: absolute; right: 22px; bottom: 20px; z-index: 2; color: rgba(23,63,51,.45); font: 600 0.68rem/1 var(--vsa-body); letter-spacing: .18em; }
.vsa-hero-card { position: absolute; z-index: 3; display: grid; width: 215px; grid-template-columns: 38px 1fr; gap: 4px 12px; padding: 17px 18px; border: 1px solid rgba(23,63,51,.14); background: rgba(250,253,252,.96); box-shadow: var(--vsa-shadow-sm); }
.vsa-hero-card span { grid-row: 1 / span 2; color: var(--vsa-gold-dark); font: 600 0.72rem/1.3 var(--vsa-body); }
.vsa-hero-card strong { font: 600 .8rem/1.2 var(--vsa-body); letter-spacing: .06em; text-transform: uppercase; }
.vsa-hero-card small { color: var(--vsa-muted); font-size: .67rem; line-height: 1.35; }
.vsa-hero-card--top { top: 56px; right: 0; }
.vsa-hero-card--middle { top: 245px; right: -14px; }
.vsa-hero-card--bottom { right: 28px; bottom: 52px; }

.vsa-proof-strip { border-top: 1px solid var(--vsa-line-dark); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-proof-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.vsa-proof-strip__grid > div { min-height: 138px; padding: 30px 26px; border-left: 1px solid var(--vsa-line-dark); }
.vsa-proof-strip__grid > div:last-child { border-right: 1px solid var(--vsa-line-dark); }
.vsa-proof-strip strong { display: block; margin-bottom: 7px; color: var(--vsa-brass-soft); font: 600 clamp(1.55rem, 2.4vw, 2.45rem)/1 var(--vsa-display); }
.vsa-proof-strip span { display: block; color: rgba(250,253,252,.68); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }

/* Catalogue browser and reusable cards */
.vsa-catalogue { background: var(--vsa-white); }
.vsa-catalogue-browser { display: grid; grid-template-columns: 244px minmax(0, 1fr); border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-catalogue-browser__rail { display: flex; flex-direction: column; border-right: 1px solid var(--vsa-line); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-catalogue-browser__rail button,
button[data-material-filter] { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 18px; margin: 0; padding: 16px 20px; border: 0; border-bottom: 1px solid var(--vsa-line-dark); background: transparent; color: rgba(250,253,252,.78); font: 500 .77rem/1.2 var(--vsa-body); letter-spacing: .03em; text-align: left; text-transform: none; }
.vsa-catalogue-browser__rail button:hover,
.vsa-catalogue-browser__rail button.is-active,
button[data-material-filter]:hover { background: var(--vsa-gold); color: var(--vsa-white); }
.vsa-catalogue-browser__rail button small { opacity: .65; }
.vsa-catalogue-browser__rail > a { margin-top: auto; padding: 22px 20px; border: 0; color: var(--vsa-brass-soft); font-size: .72rem; line-height: 1.5; }
.vsa-catalogue-browser__content { min-width: 0; padding: clamp(24px, 4vw, 48px); }
.vsa-catalogue-browser__empty { margin: 28px 0 0; color: var(--vsa-muted); }

.vsa-stone-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.vsa-stone-card { min-width: 0; border: 1px solid var(--vsa-line); background: var(--vsa-white); transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
.vsa-stone-card[hidden] { display: none; }
.vsa-stone-card:hover { z-index: 2; border-color: rgba(23,63,51,.32); box-shadow: var(--vsa-shadow-lg); transform: translateY(-5px); }
.vsa-stone-card__link { display: flex; height: 100%; flex-direction: column; border: 0; color: var(--vsa-ink); }
.vsa-stone-card__link:hover { color: var(--vsa-ink); }
.vsa-stone-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #ded9cf; }
.vsa-stone-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 550ms cubic-bezier(.2,.7,.2,1); }
.vsa-stone-card:hover .vsa-stone-card__media img { transform: scale(1.035); }
.vsa-stone-card__badge { position: absolute; top: 12px; left: 12px; padding: 7px 9px; background: rgba(23,63,51,.84); color: var(--vsa-white); font: 600 .61rem/1 var(--vsa-body); letter-spacing: .1em; text-transform: uppercase; }
.vsa-stone-card__body { display: flex; min-height: 230px; flex: 1; flex-direction: column; padding: 22px; }
.vsa-stone-card__spec { margin-bottom: 8px; color: var(--vsa-gold-dark); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vsa-stone-card__title { margin: 0; font-size: clamp(1.45rem, 2vw, 1.9rem); }
.vsa-stone-card__summary { display: block; margin-top: 12px; color: var(--vsa-muted); font-size: .82rem; line-height: 1.65; }
.vsa-stone-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--vsa-line); color: var(--vsa-muted); font-size: .69rem; }
.vsa-icon-link { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border: 1px solid var(--vsa-line); color: var(--vsa-ink); }
.vsa-icon-link svg { width: 15px; height: 15px; }

.vsa-media-fallback { position: relative; display: grid; min-height: 100%; place-items: center; overflow: hidden; background: radial-gradient(circle at 20% 15%, rgba(255,255,255,.92), transparent 27%), linear-gradient(135deg, #cbc5b9, #f5f2ea 45%, #aaa296); color: var(--vsa-ink); isolation: isolate; }
.vsa-media-fallback::before,
.vsa-media-fallback::after { position: absolute; z-index: -1; width: 145%; height: 2px; background: linear-gradient(90deg, transparent, rgba(62,55,47,.58), rgba(211,165,76,.48), transparent); content: ''; }
.vsa-media-fallback::before { top: 34%; left: -24%; transform: rotate(-21deg); }
.vsa-media-fallback::after { top: 70%; left: -18%; transform: rotate(27deg); }
.vsa-media-fallback--granite { background: radial-gradient(circle, rgba(205,175,115,.45) 0 1px, transparent 2px) 0 0 / 17px 17px, linear-gradient(135deg,#161614,#38352f); color: var(--vsa-white); }
.vsa-media-fallback--onyx { background: radial-gradient(ellipse at 35% 42%, rgba(255,229,167,.85), transparent 18%), linear-gradient(120deg,#756139,#dec07d 46%,#5d4b2c); }
.vsa-media-fallback--quartzite { background: linear-gradient(150deg,#e2ded6,#faf8f4 45%,#b8b4ad); }
.vsa-media-fallback__mark { position: absolute; top: 18px; right: 20px; opacity: .18; font: 700 4.5rem/1 var(--vsa-display); }
.vsa-media-fallback__label { max-width: 74%; text-align: center; font: 600 clamp(1.7rem,3vw,3.1rem)/1.02 var(--vsa-display); letter-spacing: -.035em; }
.vsa-media-fallback__note { position: absolute; right: 15px; bottom: 15px; padding: 6px 8px; background: rgba(250,253,252,.84); color: var(--vsa-ink); font: 600 .58rem/1 var(--vsa-body); letter-spacing: .09em; text-transform: uppercase; }
.vsa-media-fallback--compact .vsa-media-fallback__label { font-size: clamp(1.2rem,2vw,1.75rem); }
.vsa-media-fallback--compact .vsa-media-fallback__note { font-size: .5rem; }

/* Audience paths, comparison, process, and evidence */
.vsa-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--vsa-line-dark); border-left: 1px solid var(--vsa-line-dark); }
.vsa-path-card { position: relative; min-height: 390px; padding: clamp(28px,4vw,48px); border-right: 1px solid var(--vsa-line-dark); border-bottom: 1px solid var(--vsa-line-dark); }
.vsa-path-card__number { color: rgba(250,253,252,.42); font-size: .7rem; }
.vsa-path-card__icon { display: grid; width: 54px; height: 54px; place-items: center; margin: 42px 0 30px; border: 1px solid rgba(211,165,76,.45); color: var(--vsa-brass-soft); }
.vsa-path-card__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.45; }
.vsa-path-card h3 { margin: 0; font-size: clamp(1.75rem,2.7vw,2.55rem); }
.vsa-path-card p { margin: 18px 0 30px; color: rgba(250,253,252,.66); font-size: .9rem; line-height: 1.7; }
.vsa-path-card .vsa-text-link { color: var(--vsa-brass-soft); }

.vsa-table-wrap { overflow-x: auto; border: 1px solid var(--vsa-line); }
.vsa-comparison-table { width: 100%; min-width: 860px; margin: 0; border-collapse: collapse; background: var(--vsa-white); }
.vsa-comparison-table th,
.vsa-comparison-table td { padding: 20px 22px; border: 0; border-right: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); text-align: left; vertical-align: top; }
.vsa-comparison-table thead th { background: var(--vsa-ink); color: var(--vsa-white); font: 600 .68rem/1.3 var(--vsa-body); letter-spacing: .1em; text-transform: uppercase; }
.vsa-comparison-table tbody th { width: 160px; color: var(--vsa-gold-dark); font-family: var(--vsa-display); font-size: 1.25rem; }
.vsa-comparison-table td { color: var(--vsa-muted); font-size: .82rem; line-height: 1.55; }
.vsa-table-note { margin: 16px 0 0; color: var(--vsa-muted); font-size: .72rem; }

.vsa-process { background: var(--vsa-paper-2); }
.vsa-process__steps { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--vsa-line); border-left: 1px solid var(--vsa-line); list-style: none; }
.vsa-process__steps li { min-height: 300px; padding: 28px 24px; border-right: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); }
.vsa-process__steps span { display: block; margin-bottom: 72px; color: var(--vsa-gold-dark); font-size: .69rem; font-weight: 600; }
.vsa-process__steps h3 { margin: 0; font-size: 1.45rem; }
.vsa-process__steps p { margin: 14px 0 0; color: var(--vsa-muted); font-size: .78rem; line-height: 1.6; }

.vsa-evidence { background: var(--vsa-white); }
.vsa-evidence__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.9fr); gap: clamp(48px,10vw,140px); align-items: center; }
.vsa-evidence__copy h2 { max-width: 700px; margin: 0; font-size: clamp(2.5rem,4.6vw,4.8rem); }
.vsa-evidence__copy > p:not(.vsa-kicker) { max-width: 650px; margin: 28px 0; color: var(--vsa-muted); line-height: 1.75; }
.vsa-evidence__checklist { border: 1px solid var(--vsa-line); padding: clamp(25px,4vw,44px); background: var(--vsa-paper); }
.vsa-evidence__label { margin: 0 0 20px; font: 600 .7rem/1.3 var(--vsa-body); letter-spacing: .1em; text-transform: uppercase; }
.vsa-evidence__checklist ul { margin: 0; padding: 0; list-style: none; }
.vsa-evidence__checklist li { display: grid; grid-template-columns: 24px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--vsa-line); }
.vsa-evidence__checklist svg { color: var(--vsa-success); }
.vsa-evidence__checklist strong,
.vsa-evidence__checklist small { display: block; }
.vsa-evidence__checklist strong { font-size: .84rem; }
.vsa-evidence__checklist small { margin-top: 5px; color: var(--vsa-muted); font-size: .7rem; line-height: 1.5; }
.vsa-evidence-empty { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--vsa-line); background: var(--vsa-white); }
.vsa-evidence-empty > div { min-height: 210px; padding: 30px; border-right: 1px solid var(--vsa-line); }
.vsa-evidence-empty span,
.vsa-evidence-empty strong,
.vsa-evidence-empty small { display: block; }
.vsa-evidence-empty span { margin-bottom: 60px; color: var(--vsa-gold-dark); font-size: .7rem; }
.vsa-evidence-empty strong { font-family: var(--vsa-display); font-size: 1.45rem; }
.vsa-evidence-empty small { margin-top: 7px; color: var(--vsa-muted); }
.vsa-evidence-empty > p { grid-column: 1 / -1; margin: 0; padding: 18px 30px; border-top: 1px solid var(--vsa-line); color: var(--vsa-muted); font-size: .76rem; }

/* Editorial and project cards */
.vsa-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.vsa-post-card { border: 1px solid var(--vsa-line); background: var(--vsa-white); transition: transform 200ms ease, box-shadow 200ms ease; }
.vsa-post-card:hover { box-shadow: var(--vsa-shadow-lg); transform: translateY(-4px); }
.vsa-post-card > a { display: flex; height: 100%; flex-direction: column; border: 0; color: var(--vsa-ink); }
.vsa-post-card__media { display: grid; overflow: hidden; aspect-ratio: 16 / 10; place-items: center; background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.vsa-post-card__media--text span { color: var(--vsa-brass-soft); font: 600 clamp(1.8rem,3vw,3rem)/.9 var(--vsa-display); text-align: center; }
.vsa-post-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.vsa-post-card__meta { color: var(--vsa-gold-dark); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vsa-post-card h3 { margin: 14px 0 0; font-size: clamp(1.55rem,2.2vw,2rem); }
.vsa-post-card__summary { margin: 14px 0 24px; color: var(--vsa-muted); font-size: .82rem; line-height: 1.65; }
.vsa-post-card .vsa-text-link { margin-top: auto; }

.vsa-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.vsa-project-card { overflow: hidden; background: var(--vsa-ink); }
.vsa-project-card > a { display: block; border: 0; color: var(--vsa-white); }
.vsa-project-card__media { display: block; overflow: hidden; aspect-ratio: 4 / 3; }
.vsa-project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.vsa-project-card:hover img { transform: scale(1.035); }
.vsa-project-card__body { display: block; padding: 24px; }
.vsa-project-card__eyebrow { color: var(--vsa-brass-soft); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.vsa-project-card h3 { margin: 10px 0 0; color: var(--vsa-white); font-size: 1.9rem; }
.vsa-project-card__meta { display: block; margin: 11px 0 20px; color: rgba(250,253,252,.62); font-size: .72rem; }
.vsa-project-card .vsa-text-link { color: var(--vsa-brass-soft); }
.vsa-section-more { margin: 32px 0 0; text-align: right; }

/* Shared RFQ and footer */
.vsa-home__rfq,
.vsa-archive__rfq,
.vsa-product__rfq { padding-bottom: var(--vsa-section); }
.vsa-rfq-panel { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(240px,.55fr); gap: 50px; align-items: center; padding: clamp(32px,6vw,72px); border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-rfq-panel--dark { border-color: var(--vsa-line-dark); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-rfq-panel h2 { margin: 0; font-size: clamp(2.1rem,4vw,4rem); }
.vsa-rfq-panel__copy > p:last-child { max-width: 760px; margin: 20px 0 0; color: var(--vsa-muted); line-height: 1.7; }
.vsa-rfq-panel--dark .vsa-rfq-panel__copy > p:last-child { color: rgba(250,253,252,.68); }
.vsa-rfq-panel__actions { display: flex; flex-direction: column; align-items: stretch; gap: 18px; text-align: center; }
.vsa-rfq-panel--dark .vsa-button { border-color: var(--vsa-white); background: var(--vsa-white); color: var(--vsa-ink); }
.vsa-rfq-panel--dark .vsa-text-link { justify-content: center; color: var(--vsa-brass-soft); text-transform: none; }

.vsa-footer-cta { background: var(--vsa-gold); color: var(--vsa-white); }
.vsa-footer-cta__inner { display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; padding-block: 46px; }
.vsa-footer-cta .vsa-kicker { margin-bottom: 8px; color: var(--vsa-white); }
.vsa-footer-cta h2 { max-width: 830px; margin: 0; font-size: clamp(2rem,3.4vw,3.5rem); }
.site-footer { padding-top: 0; }
.vsa-footer { border-bottom: 1px solid var(--vsa-line-dark); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-footer .vsa-footer__grid { display: grid; grid-template-columns: 1.45fr repeat(4, minmax(125px,.7fr)); gap: clamp(30px,5vw,72px); padding-block: 70px 62px; }
.vsa-footer .veyra-footer-cols__col { margin: 0; }
.vsa-footer__wordmark { margin: 0 0 18px; color: var(--vsa-white); font: 600 clamp(2.3rem,3.8vw,4rem)/1 var(--vsa-display); letter-spacing: -.04em; }
.vsa-footer__brand > p:not(.vsa-footer__wordmark) { max-width: 350px; color: rgba(250,253,252,.66); font-size: .8rem; line-height: 1.65; }
.vsa-footer__brand .vsa-footer__disclosure { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--vsa-line-dark); font-size: .68rem !important; }
.vsa-footer .veyra-footer-cols__head { margin: 0 0 18px; color: var(--vsa-brass-soft); font: 600 .69rem/1.2 var(--vsa-body); letter-spacing: .12em; text-transform: uppercase; }
.vsa-footer ul { margin: 0; padding: 0; list-style: none; }
.vsa-footer li { margin: 0 0 10px; }
.vsa-footer a { border: 0; color: rgba(250,253,252,.72); font-size: .77rem; }
.vsa-footer a:hover { color: var(--vsa-brass-soft); }
.vsa-footer__contact p { margin: 0 0 16px; color: rgba(250,253,252,.64); font-size: .76rem; line-height: 1.6; }
.vsa-footer__contact .vsa-text-link { color: var(--vsa-brass-soft); font-size: .67rem; }

/* Stone catalogue archive */
.vsa-archive-hero { padding-block: clamp(58px,7vw,96px); border-bottom: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-archive-hero__grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(210px,.4fr); gap: 60px; align-items: end; }
.vsa-archive-hero h1 { max-width: 900px; margin: 0; font-size: clamp(3.1rem,6vw,6.6rem); }
.vsa-archive-hero__lede { max-width: 780px; margin: 25px 0 0; color: var(--vsa-muted); font-size: 1rem; line-height: 1.75; }
.vsa-archive-hero__stat { padding: 28px; border-left: 1px solid var(--vsa-line); }
.vsa-archive-hero__stat strong,
.vsa-archive-hero__stat span,
.vsa-archive-hero__stat small { display: block; }
.vsa-archive-hero__stat strong { color: var(--vsa-gold-dark); font: 600 clamp(3.2rem,5vw,5.8rem)/.85 var(--vsa-display); }
.vsa-archive-hero__stat span { margin-top: 13px; font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vsa-archive-hero__stat small { margin-top: 8px; color: var(--vsa-muted); font-size: .66rem; line-height: 1.4; }

.vsa-catalogue-layout { padding-block: clamp(55px,7vw,90px); }
.vsa-catalogue-layout__grid { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: clamp(36px,5vw,70px); align-items: start; }
.vsa-filter-panel { position: sticky; top: calc(var(--veyra-header-height,88px) + var(--vsa-utility-height) + 22px); border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-filter-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 22px; border-bottom: 1px solid var(--vsa-line); }
.vsa-filter-panel__head .vsa-kicker { margin-bottom: 5px; }
.vsa-filter-panel__head h2 { margin: 0; font-family: var(--vsa-body); font-size: .9rem; letter-spacing: .02em; }
.vsa-filter-panel__head > a { border: 0; color: var(--vsa-gold-dark); font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.vsa-filter-form { padding: 22px; }
.vsa-filter-form label { display: block; margin: 0 0 7px; color: #453f37; font-size: .67rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vsa-select-wrap { position: relative; margin-bottom: 17px; }
.vsa-select-wrap::after { position: absolute; top: 50%; right: 13px; width: 7px; height: 7px; border-right: 1px solid var(--vsa-ink); border-bottom: 1px solid var(--vsa-ink); content: ''; pointer-events: none; transform: translateY(-70%) rotate(45deg); }
.vsa-filter-form select { width: 100%; min-height: 44px; padding: 8px 33px 8px 11px; border: 1px solid var(--vsa-line); border-radius: 0; background: var(--vsa-white); color: var(--vsa-ink); font: 400 .75rem/1.2 var(--vsa-body); appearance: none; }
.vsa-filter-form .vsa-button { width: 100%; margin-top: 4px; }
.vsa-filter-panel__help { padding: 22px; border-top: 1px solid var(--vsa-line); background: var(--vsa-paper-2); }
.vsa-filter-panel__help strong { font-family: var(--vsa-display); font-size: 1.1rem; }
.vsa-filter-panel__help p { margin: 9px 0 16px; color: var(--vsa-muted); font-size: .7rem; line-height: 1.5; }
.vsa-filter-panel__help .vsa-text-link { font-size: .61rem; }

.vsa-results-toolbar { display: flex; min-height: 58px; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--vsa-line); }
.vsa-results-toolbar > div > strong { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.vsa-active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.vsa-active-filters li { display: inline-flex; align-items: center; gap: 8px; padding: 5px 8px; background: var(--vsa-paper); color: var(--vsa-muted); font-size: .65rem; }
.vsa-active-filters a { display: grid; width: 18px; height: 18px; place-items: center; border: 0; color: var(--vsa-ink); font-size: .9rem; }
.vsa-view-switcher { display: inline-flex; border: 1px solid var(--vsa-line); }
.vsa-view-switcher button { display: grid; width: 39px; height: 38px; place-items: center; padding: 0; border: 0; border-right: 1px solid var(--vsa-line); background: var(--vsa-white); color: var(--vsa-muted); }
.vsa-view-switcher button:last-child { border-right: 0; }
.vsa-view-switcher button:hover,
.vsa-view-switcher button.is-active { background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-view-switcher svg { width: 17px; height: 17px; }
.vsa-catalogue-results .vsa-stone-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.vsa-catalogue-results .vsa-stone-grid.is-list-view { grid-template-columns: 1fr; }
.vsa-catalogue-results .is-list-view .vsa-stone-card__link { display: grid; grid-template-columns: 260px minmax(0,1fr); }
.vsa-catalogue-results .is-list-view .vsa-stone-card__media { height: 100%; min-height: 260px; aspect-ratio: auto; }
.vsa-catalogue-results .is-list-view .vsa-stone-card__body { min-height: 260px; }

.vsa-pagination { margin-top: 44px; }
.vsa-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.vsa-pagination .page-numbers { display: grid; min-width: 40px; height: 40px; place-items: center; padding: 0 10px; border: 1px solid var(--vsa-line); color: var(--vsa-ink); font-size: .72rem; }
.vsa-pagination .page-numbers.current,
.vsa-pagination a.page-numbers:hover { border-color: var(--vsa-ink); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-empty-state { padding: clamp(38px,6vw,72px); border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-empty-state h2,
.vsa-empty-state h3 { margin: 0; font-size: clamp(2rem,4vw,3.8rem); }
.vsa-empty-state p:not(.vsa-kicker) { max-width: 700px; margin: 20px 0 0; color: var(--vsa-muted); }
.vsa-empty-state__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.vsa-empty-state--compact { padding: 28px; }
.vsa-empty-state--compact h3 { font-size: 1.7rem; }
.vsa-empty-state--compact p { font-size: .8rem; }

.vsa-shortlist-guide { border-top: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-shortlist-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--vsa-line); border-left: 1px solid var(--vsa-line); }
.vsa-shortlist-grid article { min-height: 270px; padding: 27px; border-right: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); background: var(--vsa-white); }
.vsa-shortlist-grid article > span { display: block; margin-bottom: 55px; color: var(--vsa-gold-dark); font-size: .68rem; font-weight: 600; }
.vsa-shortlist-grid h3 { margin: 0; font-size: 1.55rem; }
.vsa-shortlist-grid p { margin: 14px 0 0; color: var(--vsa-muted); font-size: .77rem; line-height: 1.6; }

/* Product detail */
.vsa-product-hero { padding-block: clamp(44px,6vw,82px); background: var(--vsa-paper); }
.vsa-product-hero__grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(370px,.78fr); gap: clamp(38px,7vw,92px); align-items: start; }
.vsa-gallery { min-width: 0; }
.vsa-gallery__stage { position: relative; overflow: hidden; min-height: 610px; border: 1px solid var(--vsa-line); background: #d8d2c8; }
.vsa-gallery__slide { height: 100%; min-height: 610px; margin: 0; }
.vsa-gallery__slide[hidden] { display: none; }
.vsa-gallery__slide img { display: block; width: 100%; height: 100%; min-height: 610px; object-fit: cover; }
.vsa-gallery__stage > .vsa-media-fallback { min-height: 610px; }
.vsa-gallery__notice { position: absolute; right: 14px; bottom: 14px; max-width: 270px; padding: 8px 10px; background: rgba(23,63,51,.82); color: var(--vsa-white); font-size: .58rem; line-height: 1.4; }
.vsa-gallery__thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 10px; }
.vsa-gallery__thumbs button { overflow: hidden; aspect-ratio: 1; padding: 0; border: 2px solid transparent; background: transparent; }
.vsa-gallery__thumbs button:hover,
.vsa-gallery__thumbs button.is-active { border-color: var(--vsa-gold-dark); background: transparent; }
.vsa-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }

.vsa-product-summary { position: sticky; top: calc(var(--veyra-header-height,88px) + var(--vsa-utility-height) + 24px); }
.vsa-product-summary h1 { margin: 0; font-size: clamp(3.2rem,5.3vw,6rem); }
.vsa-product-summary__lede { margin: 24px 0 0; color: var(--vsa-muted); font-size: 1rem; line-height: 1.75; }
.vsa-product-summary__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.vsa-product-summary__tags span { padding: 6px 9px; border: 1px solid var(--vsa-line); background: rgba(250,253,252,.58); color: var(--vsa-muted); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.vsa-product-summary__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 28px; }
.vsa-product-summary__actions .vsa-button { min-width: 0; padding-inline: 13px; }
.vsa-document-link { display: grid; grid-template-columns: 30px 1fr 20px; gap: 12px; align-items: center; margin-top: 12px; padding: 14px; border: 1px solid var(--vsa-line); background: var(--vsa-white); color: var(--vsa-ink); }
.vsa-document-link:hover { border-color: var(--vsa-gold-dark); color: var(--vsa-gold-dark); }
.vsa-document-link strong,
.vsa-document-link small { display: block; }
.vsa-document-link strong { font-size: .76rem; }
.vsa-document-link small { margin-top: 2px; color: var(--vsa-muted); font-size: .62rem; }
.vsa-confirmation-note { margin-top: 20px; padding: 18px; border-left: 3px solid var(--vsa-gold); background: #ecf7f1; }
.vsa-confirmation-note strong { font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.vsa-confirmation-note p { margin: 7px 0 0; color: var(--vsa-muted); font-size: .68rem; line-height: 1.55; }
.vsa-product-summary__updated { margin: 15px 0 0; color: var(--vsa-muted); font-size: .61rem; line-height: 1.5; }

.vsa-anchor-nav { position: sticky; z-index: 50; top: calc(var(--veyra-header-height,88px) + var(--vsa-utility-height)); border-top: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); background: rgba(250,253,252,.97); backdrop-filter: blur(14px); }
.vsa-anchor-nav .grid-container { display: flex; overflow-x: auto; gap: 28px; scrollbar-width: none; }
.vsa-anchor-nav a { flex: 0 0 auto; padding-block: 15px 12px; border: 0; border-bottom: 3px solid transparent; color: var(--vsa-muted); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vsa-anchor-nav a:hover,
.vsa-anchor-nav a.is-active { border-bottom-color: var(--vsa-gold); color: var(--vsa-ink); }

.vsa-product-spec__grid { display: grid; grid-template-columns: minmax(270px,.58fr) minmax(0,1.1fr); gap: clamp(46px,9vw,130px); }
.vsa-product-spec header h2 { margin: 0; font-size: clamp(2.4rem,4.2vw,4.2rem); }
.vsa-product-spec header > p:last-child { margin: 20px 0 0; color: var(--vsa-muted); line-height: 1.7; }
.veyra-facts.vsa-spec-table { width: 100%; margin: 0; border: 1px solid var(--vsa-line); border-collapse: collapse; background: var(--vsa-white); }
.veyra-facts.vsa-spec-table th,
.veyra-facts.vsa-spec-table td { padding: 17px 20px; border: 0; border-bottom: 1px solid var(--vsa-line); text-align: left; vertical-align: top; }
.veyra-facts.vsa-spec-table th { width: 37%; background: var(--vsa-paper); color: var(--vsa-muted); font: 600 .67rem/1.4 var(--vsa-body); letter-spacing: .06em; text-transform: uppercase; }
.veyra-facts.vsa-spec-table td { color: var(--vsa-ink); font-size: .8rem; }

.vsa-product-body__grid { display: grid; grid-template-columns: 280px minmax(0,760px); gap: clamp(50px,10vw,140px); justify-content: center; }
.vsa-product-body__aside h2 { margin: 0; font-size: clamp(2.2rem,3.8vw,3.8rem); }
.vsa-product-body__aside > p:last-child { color: var(--vsa-muted); font-size: .78rem; line-height: 1.6; }
.vsa-product-body__content { min-width: 0; font-size: 1rem; line-height: 1.8; }
.vsa-product-body__content h2 { margin: 2.1em 0 .65em; font-size: clamp(2rem,3.5vw,3.3rem); }
.vsa-product-body__content h2:first-child { margin-top: 0; }
.vsa-product-body__content h3 { margin: 1.8em 0 .55em; font-size: 1.7rem; }
.vsa-product-body__content table { display: block; overflow-x: auto; width: 100%; }
.vsa-review-state { display: grid; grid-template-columns: 54px 1fr; gap: 24px; padding: 30px; border: 1px solid var(--vsa-line); background: var(--vsa-white); }
.vsa-review-state > span { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid var(--vsa-line); color: var(--vsa-gold-dark); }
.vsa-review-state svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.vsa-review-state h3 { margin: 0; font-size: 1.8rem; }
.vsa-review-state p { margin: 12px 0 0; color: var(--vsa-muted); font-size: .82rem; }

.vsa-check-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--vsa-line); border-left: 1px solid var(--vsa-line); }
.vsa-check-grid article { min-height: 280px; padding: 28px; border-right: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); }
.vsa-check-grid span { display: block; margin-bottom: 56px; color: var(--vsa-gold-dark); font-size: .68rem; }
.vsa-check-grid h3 { margin: 0; font-size: 1.55rem; }
.vsa-check-grid p { margin: 14px 0 0; color: var(--vsa-muted); font-size: .76rem; line-height: 1.6; }

.vsa-product .veyra-faq { max-width: 900px; margin: 0 auto; }
.vsa-product .veyra-faq > h2 { margin-bottom: 36px; font-size: clamp(2.3rem,4vw,4rem); }
.vsa-product .veyra-faq__item { border-top: 1px solid var(--vsa-line); }
.vsa-product .veyra-faq__item:last-child { border-bottom: 1px solid var(--vsa-line); }
.vsa-product .veyra-faq__item summary { padding: 20px 30px 20px 0; font-family: var(--vsa-display); font-size: 1.25rem; }
.vsa-product .veyra-faq__item p { padding: 0 0 22px; color: var(--vsa-muted); }
.vsa-product-related__projects { margin-top: 90px; }

/* Project archive and project detail */
.vsa-project-archive__hero { padding-block: clamp(72px,9vw,130px); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-project-archive__hero-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(180px,.35fr); gap: 70px; align-items: end; }
.vsa-project-archive__hero h1 { max-width: 900px; margin: 0; font-size: clamp(3.4rem,6.5vw,7rem); }
.vsa-project-archive__hero p:last-child { max-width: 760px; margin: 26px 0 0; color: rgba(250,253,252,.66); line-height: 1.75; }
.vsa-project-archive__count { padding: 28px; border-left: 1px solid var(--vsa-line-dark); }
.vsa-project-archive__count strong,
.vsa-project-archive__count span { display: block; }
.vsa-project-archive__count strong { color: var(--vsa-brass-soft); font: 600 clamp(3.4rem,6vw,6.5rem)/.85 var(--vsa-display); }
.vsa-project-archive__count span { margin-top: 14px; color: rgba(250,253,252,.7); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.vsa-project-standard { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: clamp(44px,8vw,110px); align-items: start; }
.vsa-project-standard__copy h2 { margin: 0; font-size: clamp(2.7rem,5vw,5rem); }
.vsa-project-standard__copy > p:not(.vsa-kicker) { margin: 25px 0 30px; color: var(--vsa-muted); line-height: 1.75; }
.vsa-project-standard__gates { margin: 0; padding: 0; border: 1px solid var(--vsa-line); background: var(--vsa-paper); list-style: none; }
.vsa-project-standard__gates li { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 23px; border-bottom: 1px solid var(--vsa-line); }
.vsa-project-standard__gates li:last-child { border-bottom: 0; }
.vsa-project-standard__gates span { color: var(--vsa-gold-dark); font-size: .68rem; font-weight: 600; }
.vsa-project-standard__gates strong,
.vsa-project-standard__gates small { display: block; }
.vsa-project-standard__gates strong { font-family: var(--vsa-display); font-size: 1.25rem; }
.vsa-project-standard__gates small { margin-top: 5px; color: var(--vsa-muted); font-size: .7rem; line-height: 1.5; }

.vsa-project-hero { position: relative; min-height: min(800px,82vh); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-project-hero__media,
.vsa-project-hero__shade { position: absolute; inset: 0; }
.vsa-project-hero__image { width: 100%; height: 100%; object-fit: cover; }
.vsa-project-hero__shade { background: linear-gradient(90deg,rgba(10,9,8,.88),rgba(10,9,8,.42) 58%,rgba(10,9,8,.18)), linear-gradient(0deg,rgba(10,9,8,.7),transparent 55%); }
.vsa-project-hero__content { position: relative; z-index: 2; display: flex; min-height: min(800px,82vh); max-width: 840px !important; flex-direction: column; align-items: flex-start; justify-content: flex-end; margin-left: max(20px,calc((100vw - 1240px)/2)); margin-right: auto; padding-bottom: clamp(58px,8vw,112px); }
.vsa-project-hero h1 { max-width: 860px; margin: 0; font-size: clamp(3.4rem,7vw,7.5rem); }
.vsa-project-hero__content > p:not(.vsa-kicker) { max-width: 680px; margin: 24px 0 0; color: rgba(250,253,252,.75); font-size: 1.05rem; line-height: 1.7; }
.vsa-project-hero__status { display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 9px 12px; border: 1px solid rgba(211,165,76,.55); color: var(--vsa-brass-soft); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }
.vsa-project-hero__status svg { width: 15px; height: 15px; }
.vsa-project-facts { border-bottom: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-project-facts__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.vsa-project-facts__grid > div { min-height: 125px; padding: 28px; border-left: 1px solid var(--vsa-line); }
.vsa-project-facts__grid > div:last-child { border-right: 1px solid var(--vsa-line); }
.vsa-project-facts span,
.vsa-project-facts strong { display: block; }
.vsa-project-facts span { color: var(--vsa-muted); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.vsa-project-facts strong { margin-top: 9px; font-family: var(--vsa-display); font-size: 1.5rem; }
.vsa-project-body__grid { display: grid; grid-template-columns: 280px minmax(0,760px); gap: clamp(50px,10vw,140px); justify-content: center; }
.vsa-project-body__aside h2 { margin: 0; font-size: 2.2rem; }
.vsa-project-body__stones { margin: 25px 0 0; padding: 0; border-top: 1px solid var(--vsa-line); list-style: none; }
.vsa-project-body__stones li { margin: 0; border-bottom: 1px solid var(--vsa-line); }
.vsa-project-body__stones a { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 0; border: 0; font-size: .76rem; }
.vsa-project-body__stones svg { width: 15px; height: 15px; }
.vsa-project-body__note { margin: 26px 0 0; padding: 15px; border-left: 2px solid var(--vsa-gold); background: var(--vsa-paper); color: var(--vsa-muted); font-size: .67rem; line-height: 1.5; }
.vsa-project-body__content { font-size: 1rem; line-height: 1.82; }
.vsa-project-body__content h2 { margin: 2.1em 0 .65em; font-size: clamp(2.1rem,3.8vw,3.5rem); }
.vsa-project-body__content h2:first-child { margin-top: 0; }

/* Journal index and article */
.vsa-journal-hero { padding-block: clamp(72px,9vw,126px); background: var(--vsa-paper); }
.vsa-journal-hero__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: clamp(50px,9vw,130px); align-items: end; }
.vsa-journal-hero h1 { margin: 0; font-size: clamp(3.4rem,6vw,6.7rem); }
.vsa-journal-hero__grid > p { margin: 0 0 8px; color: var(--vsa-muted); line-height: 1.75; }
.vsa-topic-nav { border-top: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); background: var(--vsa-white); }
.vsa-topic-nav .grid-container { display: flex; overflow-x: auto; gap: 8px; padding-block: 12px; scrollbar-width: none; }
.vsa-topic-nav a { flex: 0 0 auto; padding: 8px 11px; border: 1px solid transparent; color: var(--vsa-muted); font-size: .68rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.vsa-topic-nav a:hover,
.vsa-topic-nav a.is-active { border-color: var(--vsa-ink); color: var(--vsa-ink); }
.vsa-featured-article { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-featured-article__media { display: grid; min-height: 500px; place-items: center; overflow: hidden; border: 0; background: var(--vsa-ink); color: var(--vsa-brass-soft); }
.vsa-featured-article__media img { width: 100%; height: 100%; object-fit: cover; }
.vsa-featured-article__media > span { font: 600 clamp(3rem,6vw,6.5rem)/.86 var(--vsa-display); text-align: center; }
.vsa-featured-article__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(34px,6vw,72px); }
.vsa-featured-article h2 { margin: 0; font-size: clamp(2.5rem,4.3vw,4.5rem); }
.vsa-featured-article h2 a { border: 0; color: var(--vsa-ink); }
.vsa-featured-article__copy > p:not(.vsa-kicker) { margin: 22px 0 30px; color: var(--vsa-muted); line-height: 1.7; }
.vsa-journal__more-head { margin-top: 82px; }
.vsa-journal__more-head h2 { font-size: clamp(2.2rem,3.8vw,3.7rem); }

.vsa-article-hero { padding-block: clamp(70px,8vw,116px); border-bottom: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-article-hero__inner { max-width: 1000px !important; }
.vsa-article-hero h1 { max-width: 1000px; margin: 0; font-size: clamp(3.2rem,6vw,6.5rem); }
.vsa-article-hero__summary { max-width: 820px; margin: 28px 0 0; color: var(--vsa-muted); font-size: 1.1rem; line-height: 1.7; }
.vsa-article-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--vsa-line); color: var(--vsa-muted); font-size: .67rem; letter-spacing: .04em; }
.vsa-article-layout { display: grid; grid-template-columns: 230px minmax(0,760px); gap: clamp(50px,9vw,120px); justify-content: center; padding-block: var(--vsa-section); }
.vsa-article-rail { position: relative; }
.vsa-article-toc { position: sticky; top: calc(var(--veyra-header-height,88px) + var(--vsa-utility-height) + 26px); }
.vsa-article-toc > strong { display: block; padding-bottom: 13px; border-bottom: 1px solid var(--vsa-line); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.vsa-article-toc ol { margin: 0; padding: 0; list-style: none; }
.vsa-article-toc li { margin: 0; border-bottom: 1px solid var(--vsa-line); }
.vsa-article-toc a { display: block; padding: 10px 0; border: 0; color: var(--vsa-muted); font-size: .68rem; line-height: 1.45; }
.vsa-article-toc a:hover { color: var(--vsa-gold-dark); }
.vsa-article-rail__action { margin-top: 34px; padding: 20px; background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-article-rail__action > span { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--vsa-line-dark); color: var(--vsa-brass-soft); }
.vsa-article-rail__action svg { width: 21px; height: 21px; fill: none; stroke: currentColor; }
.vsa-article-rail__action strong { display: block; margin-top: 34px; font-family: var(--vsa-display); font-size: 1.25rem; line-height: 1.15; }
.vsa-article-rail__action p { margin: 10px 0 15px; color: rgba(250,253,252,.65); font-size: .66rem; line-height: 1.5; }
.vsa-article-rail__action a { border: 0; color: var(--vsa-brass-soft); font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.vsa-article-content { min-width: 0; font-size: 1.03rem; line-height: 1.86; }
.vsa-article-content > h2 { margin: 2.4em 0 .7em; scroll-margin-top: 165px; font-size: clamp(2.2rem,4vw,3.7rem); }
.vsa-article-content > h3 { margin: 2em 0 .55em; font-size: 1.8rem; }
.vsa-article-content > p,
.vsa-article-content > ul,
.vsa-article-content > ol { margin-bottom: 1.45em; }
.vsa-article-content blockquote { margin: 2.2em 0; padding: 24px 30px; border-left: 3px solid var(--vsa-gold); background: var(--vsa-paper); font-family: var(--vsa-display); font-size: 1.35rem; line-height: 1.5; }
.vsa-article-content table { display: block; overflow-x: auto; width: 100%; margin: 2em 0; border-collapse: collapse; }
.vsa-article-content th,
.vsa-article-content td { padding: 13px 15px; border: 1px solid var(--vsa-line); font-size: .76rem; text-align: left; vertical-align: top; }
.vsa-article-content th { background: var(--vsa-paper); }
.vsa-answer-box { margin: 0 0 44px; padding: 26px 30px; border: 1px solid var(--vsa-line); border-left: 4px solid var(--vsa-gold); background: var(--vsa-paper); }
.vsa-answer-box > span { color: var(--vsa-gold-dark); font-size: .67rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.vsa-answer-box p { margin: 10px 0 0; font-family: var(--vsa-display); font-size: 1.35rem; line-height: 1.5; }
.vsa-article-sources { margin: 58px 0 36px; padding: clamp(26px,4vw,38px); border: 1px solid var(--vsa-line); border-top: 4px solid var(--vsa-gold); background: var(--vsa-paper); }
.vsa-article-sources h2 { margin: 6px 0 12px; font-size: clamp(1.6rem,3vw,2.1rem); }
.vsa-article-sources > p:not(.vsa-kicker) { margin: 0; color: var(--vsa-muted); font-size: .78rem; line-height: 1.7; }
.vsa-article-sources ol { margin: 24px 0 0; padding-left: 1.2rem; }
.vsa-article-sources li { padding: 14px 0 14px 8px; border-top: 1px solid var(--vsa-line); }
.vsa-article-sources li:first-child { border-top: 0; }
.vsa-article-sources a { font-weight: 600; }
.vsa-article-sources li span { display: block; margin-top: 4px; color: var(--vsa-muted); font-size: .72rem; line-height: 1.55; }
.vsa-editorial-note { display: grid; grid-template-columns: .9fr 1.1fr; gap: 35px; margin-top: 70px; padding: 32px; border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-editorial-note h2 { margin: 0; font-size: 1.85rem; }
.vsa-editorial-note > p { margin: 0; color: var(--vsa-muted); font-size: .75rem; line-height: 1.65; }
.vsa-author-box { display: grid; grid-template-columns: 90px 1fr; gap: 28px; margin-top: 34px; padding: 32px; border: 1px solid var(--vsa-line); }
.vsa-author-box__mark { display: grid; width: 90px; height: 90px; place-items: center; background: var(--vsa-ink); color: var(--vsa-brass-soft); font: 600 2.6rem/1 var(--vsa-display); }
.vsa-author-box p:first-child { margin: 0; color: var(--vsa-gold-dark); font-size: .64rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.vsa-author-box h2 { margin: 5px 0 0; font-size: 1.8rem; }
.vsa-author-box div > span { color: var(--vsa-muted); font-size: .68rem; }
.vsa-author-box div > p:not(:first-child) { margin: 13px 0; color: var(--vsa-muted); font-size: .74rem; line-height: 1.55; }

/* Generic pages, contact, and search */
.vsa-page-hero { padding-block: clamp(66px,8vw,112px); border-bottom: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-page-hero__inner { max-width: 920px !important; }
.vsa-page-hero h1 { margin: 0; font-size: clamp(3.3rem,6vw,6.6rem); }
.vsa-page-hero p:not(.vsa-kicker) { max-width: 760px; margin: 25px 0 0; color: var(--vsa-muted); font-size: 1.05rem; line-height: 1.7; }
.vsa-page-hero span { display: block; margin-top: 24px; color: var(--vsa-muted); font-size: .67rem; }
.vsa-page-content__inner { max-width: 820px; margin-inline: auto; font-size: 1rem; line-height: 1.82; }
.vsa-page-content__inner h2 { margin: 2.2em 0 .65em; font-size: clamp(2.2rem,4vw,3.7rem); }
.vsa-page-content__inner h2:first-child { margin-top: 0; }
.vsa-page-content__inner h3 { margin: 1.8em 0 .55em; font-size: 1.7rem; }
.vsa-page-content__inner table { display: block; overflow-x: auto; width: 100%; }
.vsa-page-content__inner a { color: var(--vsa-gold-dark); }
.vsa-page--legal .vsa-page-content__inner { max-width: 760px; }
.vsa-page--legal .vsa-page-content__inner h2 { font-size: 2.25rem; }

.vsa-contact-hero { padding-block: clamp(72px,8vw,116px); background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-contact-hero__grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: clamp(50px,9vw,130px); align-items: end; }
.vsa-contact-hero h1 { margin: 0; font-size: clamp(3.5rem,6.5vw,7rem); }
.vsa-contact-hero__grid > p { margin: 0 0 8px; color: rgba(250,253,252,.68); line-height: 1.75; }
.vsa-intent-nav { border-bottom: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-intent-nav__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.vsa-intent-nav a { display: block; min-height: 112px; padding: 24px; border: 0; border-left: 1px solid var(--vsa-line); color: var(--vsa-ink); }
.vsa-intent-nav a:last-child { border-right: 1px solid var(--vsa-line); }
.vsa-intent-nav a:hover,
.vsa-intent-nav a.is-active { background: var(--vsa-gold); color: var(--vsa-white); }
.vsa-intent-nav span,
.vsa-intent-nav small { display: block; }
.vsa-intent-nav span { font-family: var(--vsa-display); font-size: 1.25rem; }
.vsa-intent-nav small { margin-top: 6px; color: var(--vsa-muted); font-size: .65rem; line-height: 1.4; }
.vsa-intent-nav a:hover small,
.vsa-intent-nav a.is-active small { color: rgba(255,255,255,.82); }
.vsa-contact-layout__grid { display: grid; grid-template-columns: minmax(330px,.75fr) minmax(0,1.25fr); gap: clamp(50px,9vw,120px); align-items: start; }
.vsa-contact-brief { padding: clamp(28px,4vw,42px); border: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-contact-brief h2 { margin: 0; font-size: clamp(2.2rem,3.8vw,3.8rem); }
.vsa-contact-brief__stone { margin: 19px 0 0; padding: 11px 13px; border-left: 2px solid var(--vsa-gold); background: var(--vsa-white); color: var(--vsa-muted); font-size: .72rem; }
.vsa-contact-brief ol { margin: 28px 0 0; padding: 0; border-top: 1px solid var(--vsa-line); list-style: none; }
.vsa-contact-brief li { display: grid; grid-template-columns: 35px 1fr; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--vsa-line); }
.vsa-contact-brief li > span { color: var(--vsa-gold-dark); font-size: .64rem; font-weight: 600; }
.vsa-contact-brief li strong,
.vsa-contact-brief li small { display: block; }
.vsa-contact-brief li strong { font-family: var(--vsa-display); font-size: 1.08rem; }
.vsa-contact-brief li small { margin-top: 4px; color: var(--vsa-muted); font-size: .67rem; line-height: 1.45; }
.vsa-contact-brief__disclosure { margin-top: 25px; padding: 17px; background: var(--vsa-ink); color: var(--vsa-white); }
.vsa-contact-brief__disclosure strong { color: var(--vsa-brass-soft); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.vsa-contact-brief__disclosure p { margin: 7px 0 0; color: rgba(250,253,252,.68); font-size: .64rem; line-height: 1.5; }
.vsa-contact-form h2 { margin: 0; font-size: clamp(2.5rem,4.5vw,4.5rem); }
.vsa-contact-form > p:not(.vsa-kicker) { margin: 20px 0 28px; color: var(--vsa-muted); line-height: 1.7; }
.vsa-contact-form__embed { padding: clamp(24px,4vw,42px); border: 1px solid var(--vsa-line); background: var(--vsa-white); box-shadow: var(--vsa-shadow-sm); }
.vsa-contact-form__embed label { color: var(--vsa-ink); font: 600 .72rem/1.4 var(--vsa-body); }
.vsa-contact-form__embed input:not([type='checkbox']):not([type='radio']):not([type='submit']),
.vsa-contact-form__embed select,
.vsa-contact-form__embed textarea { width: 100%; min-height: 48px; border: 1px solid var(--vsa-line); border-radius: 0; background: var(--vsa-paper); color: var(--vsa-ink); font: 400 .85rem/1.5 var(--vsa-body); }
.vsa-contact-form__embed textarea { min-height: 150px; }
.vsa-contact-form__embed input:focus,
.vsa-contact-form__embed select:focus,
.vsa-contact-form__embed textarea:focus { border-color: var(--vsa-gold-dark); box-shadow: 0 0 0 3px rgba(130,198,164,.3); outline: 0; }
.vsa-contact-form__embed input[type='submit'],
.vsa-contact-form__embed button[type='submit'] { min-height: 50px; border-color: var(--vsa-ink); background: var(--vsa-ink); color: var(--vsa-white); }

.vsa-search-hero { padding-block: clamp(68px,8vw,110px); border-bottom: 1px solid var(--vsa-line); background: var(--vsa-paper); }
.vsa-search-hero h1 { max-width: 980px; margin: 0; font-size: clamp(3.2rem,6vw,6.4rem); }
.vsa-search-hero form { display: grid; max-width: 850px; grid-template-columns: 1fr auto; gap: 9px; margin-top: 34px; }
.vsa-search-hero input { min-height: 54px; padding: 12px 17px; border: 1px solid var(--vsa-line); border-radius: 0; background: var(--vsa-white); color: var(--vsa-ink); font: 400 .9rem/1.2 var(--vsa-body); }
.vsa-search-results__list { border-top: 1px solid var(--vsa-line); }
.vsa-search-result { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 32px; padding-block: 28px; border-bottom: 1px solid var(--vsa-line); }
.vsa-search-result__media { display: grid; overflow: hidden; aspect-ratio: 4 / 3; place-items: center; border: 0; background: var(--vsa-ink); color: var(--vsa-brass-soft); font: 600 2.6rem/1 var(--vsa-display); }
.vsa-search-result__media img { width: 100%; height: 100%; object-fit: cover; }
.vsa-search-result .vsa-kicker { margin-bottom: 7px; }
.vsa-search-result h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.7rem); }
.vsa-search-result h2 a { border: 0; color: var(--vsa-ink); }
.vsa-search-result div > p:not(.vsa-kicker) { max-width: 760px; margin: 11px 0 15px; color: var(--vsa-muted); font-size: .82rem; line-height: 1.6; }

/* Responsive system */
@media (max-width: 1180px) {
    .main-navigation .menu > li > a,
    .main-navigation .main-nav ul li a { padding-inline: 9px; font-size: .67rem; }
    .vsa-search { display: none; }
    .vsa-hero__grid { grid-template-columns: minmax(0,1fr) minmax(380px,.72fr); gap: 50px; }
    .vsa-hero__visual { min-height: 520px; }
    .vsa-stone-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vsa-process__steps { grid-template-columns: repeat(3,1fr); }
    .vsa-process__steps li:nth-child(4) { border-left: 1px solid var(--vsa-line); }
    .vsa-footer .vsa-footer__grid { grid-template-columns: 1.4fr repeat(2,1fr); }
    .vsa-footer__brand { grid-row: span 2; }
}

@media (max-width: 980px) {
    :root { --vsa-section: 78px; }
    .vsa-nav-rfq { display: none; }
    .vsa-catalog-panel__grid { grid-template-columns: 1fr 1fr; }
    .vsa-catalog-panel__route { grid-column: 1 / -1; }
    .vsa-hero__grid { min-height: 0; grid-template-columns: 1fr; }
    .vsa-hero__copy { max-width: 820px; }
    .vsa-hero__visual { min-height: 570px; }
    .vsa-section-head--split,
    .vsa-evidence__grid,
    .vsa-archive-hero__grid,
    .vsa-project-archive__hero-grid,
    .vsa-project-standard,
    .vsa-journal-hero__grid,
    .vsa-contact-hero__grid { grid-template-columns: 1fr; }
    .vsa-section-head--split { gap: 24px; align-items: start; }
    .vsa-section-head--split > p { max-width: 760px; }
    .vsa-proof-strip__grid { grid-template-columns: repeat(2,1fr); }
    .vsa-proof-strip__grid > div:nth-child(2) { border-right: 1px solid var(--vsa-line-dark); }
    .vsa-path-grid { grid-template-columns: 1fr; }
    .vsa-path-card { min-height: 320px; }
    .vsa-process__steps { grid-template-columns: repeat(2,1fr); }
    .vsa-process__steps li:nth-child(3),
    .vsa-process__steps li:nth-child(5) { border-left: 1px solid var(--vsa-line); }
    .vsa-evidence-empty { grid-template-columns: 1fr; }
    .vsa-evidence-empty > div { border-right: 0; border-bottom: 1px solid var(--vsa-line); }
    .vsa-evidence-empty > p { grid-column: auto; }
    .vsa-catalogue-layout__grid { grid-template-columns: 1fr; }
    .vsa-filter-panel { position: static; }
    .vsa-filter-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 18px; }
    .vsa-filter-form .vsa-button { align-self: end; margin-bottom: 17px; }
    .vsa-filter-panel__help { display: none; }
    .vsa-product-hero__grid { grid-template-columns: 1fr; }
    .vsa-product-summary { position: static; }
    .vsa-product-spec__grid,
    .vsa-product-body__grid,
    .vsa-project-body__grid { grid-template-columns: 1fr; gap: 42px; }
    .vsa-check-grid,
    .vsa-shortlist-grid { grid-template-columns: repeat(2,1fr); }
    .vsa-project-facts__grid { grid-template-columns: repeat(2,1fr); }
    .vsa-project-facts__grid > div:nth-child(2) { border-right: 1px solid var(--vsa-line); }
    .vsa-featured-article { grid-template-columns: 1fr; }
    .vsa-featured-article__media { min-height: 430px; }
    .vsa-article-layout { grid-template-columns: 1fr; }
    .vsa-article-rail { order: 2; }
    .vsa-article-toc { position: static; }
    .vsa-article-rail__action { display: none; }
    .vsa-contact-layout__grid { grid-template-columns: 1fr; }
    .vsa-contact-brief { order: 2; }
    .vsa-intent-nav__grid { grid-template-columns: repeat(2,1fr); }
    .vsa-rfq-panel { grid-template-columns: 1fr; gap: 30px; }
    .vsa-rfq-panel__actions { align-items: flex-start; }
    .vsa-rfq-panel__actions .vsa-button { width: auto; }
}

@media (max-width: 768px) {
    :root { --vsa-utility-height: 0px; --vsa-section: 64px; }
    body { padding-top: var(--veyra-header-height,72px); }
    body .grid-container { width: min(100% - 30px,1240px); }
    .vsa-utility-bar { display: none; }
    .site-header { top: 0; }
    .site-header .inside-header { padding-top: 12px; padding-bottom: 12px; }
    .main-navigation .inside-navigation { gap: 8px; }
    .vsa-nav-tools { margin-right: 4px; }
    .vsa-catalog-trigger { min-height: 38px; padding-inline: 10px; }
    .vsa-catalog-trigger span { display: none; }
    .vsa-catalog-panel { top: var(--veyra-header-height,72px); max-height: calc(100vh - var(--veyra-header-height,72px)); }
    .vsa-catalog-panel__inner { padding-block: 24px 36px; }
    .vsa-catalog-panel__grid { grid-template-columns: 1fr; gap: 30px; }
    .vsa-catalog-panel__route { grid-column: auto; }
    .vsa-hero__grid { padding-block: 64px 52px; }
    .vsa-hero__copy h1 { font-size: clamp(3rem,13vw,4.9rem); }
    .vsa-hero__actions { flex-direction: column; align-items: stretch; }
    .vsa-hero__visual { min-height: 430px; }
    .vsa-hero-slab { right: 24px; border-width: 8px; }
    .vsa-hero-card { width: 185px; padding: 13px; }
    .vsa-hero-card--top { top: 28px; }
    .vsa-hero-card--middle { top: 172px; right: -6px; }
    .vsa-hero-card--bottom { right: 16px; bottom: 28px; }
    .vsa-proof-strip__grid > div { min-height: 115px; padding: 24px 18px; }
    .vsa-catalogue-browser { grid-template-columns: 1fr; }
    .vsa-catalogue-browser__rail { display: grid; grid-template-columns: repeat(2,1fr); border-right: 0; }
    .vsa-catalogue-browser__rail > a { grid-column: 1 / -1; margin-top: 0; }
    .vsa-catalogue-browser__content { padding: 18px; }
    .vsa-stone-grid,
    .vsa-catalogue-results .vsa-stone-grid,
    .vsa-post-grid,
    .vsa-project-grid { grid-template-columns: 1fr; }
    .vsa-path-card { min-height: 300px; }
    .vsa-process__steps { grid-template-columns: 1fr; }
    .vsa-process__steps li { min-height: 230px; border-left: 0 !important; }
    .vsa-process__steps span { margin-bottom: 48px; }
    .vsa-evidence__grid { grid-template-columns: 1fr; }
    .vsa-footer-cta__inner { grid-template-columns: 1fr; }
    .vsa-footer-cta__inner .vsa-button { justify-self: start; }
    .vsa-footer .vsa-footer__grid { grid-template-columns: repeat(2,1fr); }
    .vsa-footer__brand { grid-column: 1 / -1; grid-row: auto; }
    .vsa-footer__contact { grid-column: 1 / -1; }
    .vsa-archive-hero__stat,
    .vsa-project-archive__count { border-left: 0; border-top: 1px solid var(--vsa-line); padding-left: 0; }
    .vsa-project-archive__count { border-color: var(--vsa-line-dark); }
    .vsa-filter-form { grid-template-columns: 1fr; }
    .vsa-results-toolbar { align-items: flex-start; }
    .vsa-catalogue-results .is-list-view .vsa-stone-card__link { grid-template-columns: 1fr; }
    .vsa-catalogue-results .is-list-view .vsa-stone-card__media { min-height: 0; aspect-ratio: 4/3; }
    .vsa-gallery__stage,
    .vsa-gallery__slide,
    .vsa-gallery__slide img,
    .vsa-gallery__stage > .vsa-media-fallback { min-height: 440px; }
    .vsa-product-summary h1 { font-size: clamp(3rem,13vw,5rem); }
    .vsa-product-summary__actions { grid-template-columns: 1fr; }
    .vsa-anchor-nav .grid-container { gap: 20px; }
    .vsa-check-grid,
    .vsa-shortlist-grid { grid-template-columns: 1fr; }
    .vsa-check-grid article,
    .vsa-shortlist-grid article { min-height: 225px; }
    .vsa-project-hero,
    .vsa-project-hero__content { min-height: 640px; }
    .vsa-project-hero__content { width: min(100% - 30px,1240px); margin-inline: auto; }
    .vsa-project-facts__grid { grid-template-columns: 1fr; }
    .vsa-project-facts__grid > div { border-right: 1px solid var(--vsa-line); }
    .vsa-featured-article__media { min-height: 320px; }
    .vsa-editorial-note { grid-template-columns: 1fr; }
    .vsa-author-box { grid-template-columns: 1fr; }
    .vsa-author-box__mark { width: 70px; height: 70px; }
    .vsa-intent-nav__grid { grid-template-columns: 1fr; }
    .vsa-intent-nav a { min-height: 90px; border-right: 1px solid var(--vsa-line); border-bottom: 1px solid var(--vsa-line); }
    .vsa-search-hero form { grid-template-columns: 1fr; }
    .vsa-search-result { grid-template-columns: 105px minmax(0,1fr); gap: 18px; }
}

@media (max-width: 520px) {
    body .grid-container { width: min(100% - 24px,1240px); }
    .vsa-hero__copy h1,
    .vsa-archive-hero h1,
    .vsa-project-archive__hero h1,
    .vsa-journal-hero h1,
    .vsa-article-hero h1,
    .vsa-page-hero h1,
    .vsa-contact-hero h1,
    .vsa-search-hero h1 { font-size: clamp(2.75rem,13.5vw,4.1rem); }
    .vsa-hero__visual { min-height: 360px; }
    .vsa-hero-slab { inset: 0 12px 0 0; }
    .vsa-hero-card { width: 160px; grid-template-columns: 25px 1fr; }
    .vsa-hero-card small { display: none; }
    .vsa-hero-card--middle { top: 143px; }
    .vsa-proof-strip__grid { grid-template-columns: 1fr; }
    .vsa-proof-strip__grid > div { border-right: 1px solid var(--vsa-line-dark); }
    .vsa-catalogue-browser__rail { grid-template-columns: 1fr; }
    .vsa-catalogue-browser__rail > a { grid-column: auto; }
    .vsa-section-head h2,
    .vsa-evidence__copy h2 { font-size: clamp(2.2rem,11vw,3.5rem); }
    .vsa-filter-panel__head,
    .vsa-filter-form,
    .vsa-filter-panel__help { padding: 18px; }
    .vsa-gallery__stage,
    .vsa-gallery__slide,
    .vsa-gallery__slide img,
    .vsa-gallery__stage > .vsa-media-fallback { min-height: 340px; }
    .vsa-gallery__notice { max-width: 210px; font-size: .52rem; }
    .vsa-review-state { grid-template-columns: 1fr; padding: 22px; }
    .vsa-rfq-panel { padding: 28px 22px; }
    .vsa-footer .vsa-footer__grid { grid-template-columns: 1fr; }
    .vsa-footer__brand,
    .vsa-footer__contact { grid-column: auto; }
    .vsa-search-result { grid-template-columns: 1fr; }
    .vsa-search-result__media { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .js .js-reveal { opacity: 1; transform: none; transition: none !important; }
    .vsa-button,
    .vsa-stone-card,
    .vsa-post-card,
    .vsa-catalog-panel,
    .vsa-stone-card__media img,
    .vsa-project-card__media img { transition: none !important; }
}

@media print {
    .vsa-utility-bar,
    .site-header,
    .vsa-catalog-panel,
    .vsa-anchor-nav,
    .vsa-footer-cta,
    .site-footer,
    .vsa-rfq-panel,
    .vsa-article-rail,
    .vsa-product-summary__actions { display: none !important; }
    body { padding-top: 0; background: white; color: black; font-size: 11pt; }
    .vsa-article-layout,
    .vsa-product-spec__grid,
    .vsa-product-body__grid { display: block; }
    a { color: black; text-decoration: underline; }
}
