/* Geometry only; all colors and typography use the existing shared tokens. */
.spv-page { min-height:100svh; }
.spv-page .header { align-items:center; }
.spv-language { font-size:var(--small); color:var(--accent); }
.spv-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:var(--space-5); padding-block:var(--space-6); align-items:center; }
.spv-hero h1 { font-size:clamp(var(--h2),4.5vw,var(--title)); max-width:14ch; }
.spv-kicker { color:var(--muted); margin-bottom:var(--space-2); }
.spv-lead { margin-top:var(--space-3); max-width:46rem; font-size:var(--h3); line-height:1.5; }
.spv-actions { display:flex; gap:var(--space-3); align-items:center; flex-wrap:wrap; margin-block:var(--space-4) var(--space-3); }
.spv-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:var(--space-1) var(--space-3); background:var(--text); color:var(--bg); border:1px solid var(--text); border-radius:var(--small-radius); font:inherit; font-weight:var(--medium); text-decoration:none; cursor:pointer; }
.spv-button:hover { background:var(--accent-soft); color:var(--text); border-color:var(--accent); }
.spv-button:disabled { opacity:.65; cursor:wait; }
.spv-text-link { font-weight:var(--medium); }
.spv-meta { font-size:var(--small); color:var(--muted); line-height:var(--leading); }
.spv-product-icon { width:min(100%,15rem); height:auto; object-fit:contain; }
.spv-preview { padding:var(--space-4); min-height:0; }
.spv-preview .spv-product-icon { align-self:center; margin-bottom:var(--space-3); }
.spv-preview .eyebrow { font-size:var(--small); margin-block:0 var(--space-2); }
.spv-preview h2 { font-size:var(--h3); }
.spv-preview dl { margin-block:var(--space-3); }
.spv-preview dl div { padding-block:var(--space-2); border-top:1px solid var(--line); }
.spv-preview dt { color:var(--muted); font-size:var(--small); }
.spv-preview dd { margin:0; font-weight:var(--medium); }
.spv-preview p { margin:0; }
.spv-section { padding-block:var(--space-5); border-top:1px solid var(--line); scroll-margin-top:var(--space-3); }
.spv-section .eyebrow { margin-bottom:var(--space-2); }
.spv-section h2 { max-width:28ch; }
.spv-content-card { min-height:0; }
.spv-content-card p { margin-bottom:0; }
.spv-role-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.spv-example-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:var(--space-4); }
.spv-steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-3); margin-top:var(--space-4); }
.spv-steps li { position:relative; padding-right:var(--space-1); }
.spv-step-icon { display:block; width:48px; height:48px; color:var(--accent); margin-bottom:var(--space-2); }
.spv-step-icon svg { width:100%; height:100%; }
.spv-step-number { font-size:var(--small); color:var(--accent); display:block; margin-bottom:var(--space-1); }
.spv-steps h3 { font-size:var(--h3); }
.spv-steps p { color:var(--muted); margin-top:var(--space-2); }
.spv-verifier,.spv-issuer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-5); align-items:start; }
.spv-checklist { list-style:none; padding:var(--space-3); margin:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.spv-checklist li { display:flex; gap:var(--space-2); padding-block:var(--space-2); }
.spv-checklist li::before { content:"✓"; color:var(--accent); font-weight:var(--bold); }
.spv-interest-form { min-height:0; gap:var(--space-2); }
.spv-interest-form label { font-weight:var(--medium); }
.spv-interest-form input[type=email] { display:block; width:100%; min-height:48px; font:inherit; background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:var(--small-radius); padding:var(--space-1) var(--space-2); margin-top:var(--space-1); }
.spv-consent { display:flex; align-items:flex-start; gap:var(--space-1); font-size:var(--small); }
.spv-consent input { flex:none; width:20px; height:20px; margin-top:.25rem; accent-color:var(--accent); }
.spv-interest-form .spv-meta { margin:0; }
.spv-interest-form .spv-button { width:100%; }
.spv-interest-form .spv-form-status { margin:0; font-size:var(--small); color:var(--text); }
.spv-interest-form .spv-form-status:empty { display:none; }
.spv-faq details { padding-block:var(--space-3); border-bottom:1px solid var(--line); }
.spv-faq details:first-of-type { margin-top:var(--space-3); }
.spv-faq summary { cursor:pointer; font-weight:var(--medium); min-height:32px; }
.spv-faq details p { margin-top:var(--space-2); max-width:48rem; color:var(--muted); }
.spv-demo-placeholder { padding-block:var(--space-6); max-width:48rem; min-height:65svh; }
.spv-demo-placeholder h1 { font-size:var(--title); }
.spv-demo-placeholder .spv-product-icon { margin-bottom:var(--space-4); }
.spv-demo-placeholder .eyebrow { margin-bottom:var(--space-2); }
.spv-page .footer { margin-top:var(--space-5); }
@media(max-width:63.99rem) {
 .spv-hero { gap:var(--space-3); }
 .spv-lead { font-size:var(--body); }
 .spv-preview { padding:var(--space-3); }
 .spv-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .spv-verifier,.spv-issuer { gap:var(--space-3); }
}
@media(max-width:47.99rem) {
 .spv-hero { grid-template-columns:1fr; padding-block:var(--space-5); }
 .spv-hero h1 { max-width:none; font-size:var(--h2); }
 .spv-hero .spv-preview { max-width:32rem; }
 .spv-role-grid,.spv-example-grid,.spv-verifier,.spv-issuer { grid-template-columns:1fr; }
 .spv-page .header { padding-block:var(--space-2); }
 .spv-section { padding-block:var(--space-4); }
 .spv-page .nav { gap:var(--space-2); }
 .spv-page .footer .brand { width:100%; }
 .spv-page .footer nav { gap:var(--space-2); }
}
@media(max-width:23rem) { .spv-steps { grid-template-columns:1fr; } }

/* Isolated demo, using the shared SIGVORA tokens. */
.demo-banner { position:sticky; top:0; z-index:5; padding:var(--space-2); border:1px solid var(--accent); border-radius:var(--small-radius); background:var(--surface); color:var(--text); font-weight:var(--bold); text-align:center; }
.demo-heading { padding-block:var(--space-4); }
.demo-heading h1 { font-size:clamp(var(--h2),4vw,var(--title)); max-width:24ch; }
.demo-toolbar { display:flex; align-items:end; gap:var(--space-3); flex-wrap:wrap; margin-block:var(--space-3); }
.demo-toolbar label { flex:1; min-width:0; }
.demo-toolbar select,.demo-view select { display:block; width:100%; min-height:48px; padding:var(--space-2); background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:var(--small-radius); font:inherit; }
.demo-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-2); list-style:none; padding:0; }
.demo-progress li { padding:var(--space-2); border:1px solid var(--line); border-radius:var(--small-radius); font-size:var(--small); }
.demo-progress li[data-done=true] { border-color:var(--accent); background:var(--accent-soft); }
.demo-view { max-width:52rem; padding-block:var(--space-3); }
.demo-view > * { margin-bottom:var(--space-3); }
.demo-view .card { display:block; }
.demo-view dl div { border-top:1px solid var(--line); padding-block:var(--space-2); }
.demo-view dt { color:var(--muted); font-size:var(--small); }
.demo-view dd { margin:0; overflow-wrap:anywhere; }
.demo-view pre { white-space:pre-wrap; overflow-wrap:anywhere; max-width:100%; font-size:var(--small); }
.demo-secondary { margin-top:var(--space-4); }
@media(max-width:47.99rem) { .demo-toolbar { align-items:stretch; flex-direction:column; } .demo-progress { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Static occupation disclosure; native details support keyboard and no-JS use. */
.spv-row-title { margin-top:var(--space-4); }
.spv-occupation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); margin-top:var(--space-4); align-items:start; }
.spv-occupation-group { display:block; min-height:0; overflow-wrap:anywhere; }
.spv-occupation-group summary { cursor:pointer; font-weight:var(--medium); min-height:48px; }
.spv-occupation-group h4 { margin-top:var(--space-3); }
.spv-occupation-group ul { margin-top:var(--space-2); padding-left:var(--space-3); }
.spv-occupation-group li { margin-block:var(--space-1); }
.spv-preview .spv-checklist { margin-block:var(--space-3); padding:0; border:0; background:transparent; }
.spv-content-card h4 { font-size:var(--h3); }
@media(max-width:47.99rem) { .spv-occupation-grid { grid-template-columns:1fr; } }
/* Long labels must wrap inside narrow cards. */
.spv-content-card { min-width:0; overflow-wrap:anywhere; }
@media(max-width:47.99rem) {
 .spv-role-grid,.spv-example-grid,.spv-verifier,.spv-issuer { grid-template-columns:minmax(0,1fr); }
}

.spv-search-form { display:grid; gap:var(--space-2); max-width:42rem; margin-block:var(--space-3); }
.spv-search-form input,.spv-search-form select { min-width:0; width:100%; min-height:48px; font:inherit; padding:var(--space-2); color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:var(--small-radius); }
.spv-search-results { padding-left:var(--space-3); overflow-wrap:anywhere; }
.spv-search-results li { margin-block:var(--space-3); }
/* Compact, keyboard-accessible group tiles in the approved order. */
.spv-occupation-grid { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
.spv-occupation-tile { display:flex; flex-direction:column; gap:var(--space-2); justify-content:space-between; text-align:left; width:100%; min-width:0; min-height:112px; padding:var(--space-3); font:inherit; color:var(--text); cursor:pointer; overflow-wrap:anywhere; }
.spv-tile-title { font-weight:var(--medium); }
.spv-tile-count { font-size:.8rem; line-height:1.4; }
.spv-occupation-tile:hover { border-color:var(--text); }
.spv-occupation-tile:focus-visible { outline:3px solid var(--text); outline-offset:3px; }
@media(max-width:63.99rem) { .spv-occupation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media(max-width:29.99rem) { .spv-occupation-grid { grid-template-columns:1fr; } .spv-occupation-tile { min-height:96px; } }

.spv-page .spv-account-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.spv-page .spv-account-actions .spv-button{padding:10px 16px}@media(max-width:900px){.spv-page .header{flex-wrap:wrap}.spv-page .spv-account-actions{margin-left:auto}}

/* SPV language controls; shared header and footer CSS stay unchanged. */
.spv-page .spv-language{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-left:auto;flex:none;font-size:.82rem;white-space:nowrap}
.spv-page .spv-language a{padding:7px 2px;color:inherit;text-decoration:none}
.spv-page .spv-language a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.spv-page .spv-review-note{display:block;color:#7a5317;background:#fff6df;border:1px solid #e7cc94;border-radius:6px;padding:10px;margin:12px 0;font-size:.875rem;line-height:1.5}
.spv-page .header{flex-wrap:wrap}.spv-page .header .nav{flex-wrap:wrap;min-width:0}.spv-page .spv-account-actions{flex-wrap:wrap}
.spv-page h1,.spv-page h2,.spv-page h3,.spv-page h4,.spv-page label,.spv-page .spv-button{overflow-wrap:anywhere}
@media(max-width:640px){.spv-page .spv-language{order:2}.spv-page .header .nav,.spv-page .spv-account-actions{order:3;flex-basis:100%}.spv-page .steps{flex-wrap:wrap}.spv-page .steps li{flex:1 1 40%;min-width:0}.spv-page .demo-toolbar{flex-wrap:wrap}.spv-page .demo-toolbar select{max-width:100%;min-width:0}.spv-page .demo-toolbar label{max-width:100%}}
