/* Scallex semantic visual wayfinding v1 — visuals explain, not decorate. */
.sv-service-identity{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 .8rem;padding:.42rem .68rem .42rem .5rem;border:1px solid rgba(99,130,246,.2);border-radius:999px;background:rgba(255,255,255,.82);color:var(--navy,#14255c);font-weight:850;font-size:.82rem;letter-spacing:.01em;box-shadow:0 6px 20px rgba(20,37,92,.06)}
.page-hero .sv-service-identity{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff;box-shadow:none}
.sv-service-identity .sv-icon-tile{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.16)}
.sv-icon-tile{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:linear-gradient(135deg,rgba(62,100,200,.12),rgba(0,180,216,.12));color:#294bba;box-shadow:inset 0 0 0 1px rgba(62,100,200,.06)}
.sv-icon-tile svg{width:24px;height:24px;display:block}
.sv-concept-icon{font-size:0!important}
.sv-concept-icon::before{content:none!important;display:none!important}
.sv-concept-icon svg{width:26px;height:26px;display:block}
body.scallex-interior-brand-v1 .card-number.sv-concept-icon{display:grid;place-items:center;color:#294bba}
body.scallex-interior-brand-v1 .info-icon.sv-concept-icon,
body.scallex-interior-brand-v1 .service-icon.sv-concept-icon{font-size:0}
body.scallex-interior-brand-v1 .info-icon.sv-concept-icon svg,
body.scallex-interior-brand-v1 .service-icon.sv-concept-icon svg{width:27px;height:27px}

/* Structured assessment dimensions remain numbered. */
.sv-number-framework .cards-grid{position:relative}
.sv-number-framework .card-number{font-size:.82rem!important;width:42px!important;height:42px!important;border-radius:12px!important;background:#edf2ff!important;color:#14255c!important}
.sv-number-framework .card-number::before{content:none!important;display:none!important}
.sv-number-framework .info-card{position:relative}
@media(min-width:760px){.sv-number-framework .cards-grid::before{content:"";position:absolute;left:3%;right:3%;top:21px;height:1px;background:linear-gradient(90deg,rgba(62,100,200,.12),rgba(62,100,200,.34),rgba(0,180,216,.2));z-index:0}.sv-number-framework .info-card{z-index:1}}

/* Process/framework visuals. */
.sv-process-track{list-style:none;margin:1.35rem 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--sv-stages,5),minmax(0,1fr));gap:.7rem;counter-reset:svstage}
.sv-process-track li{position:relative;min-width:0;padding:.9rem .8rem .9rem 1rem;border-top:2px solid rgba(62,100,200,.32);background:linear-gradient(180deg,rgba(247,249,255,.82),rgba(255,255,255,.95));border-radius:0 0 12px 12px}
.sv-process-track strong{display:block;color:#14255c;font-size:.92rem}.sv-process-track span{display:block;margin-top:.22rem;color:#5d657a;font-size:.82rem;line-height:1.35}
.sv-flow{display:flex;align-items:stretch;gap:.55rem;margin:1.2rem 0 1.6rem;flex-wrap:wrap}
.sv-flow-step{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;flex:1 1 140px;padding:.75rem .9rem;border:1px solid rgba(62,100,200,.18);border-radius:12px;background:#fff;color:#14255c;font-weight:850;text-align:center;box-shadow:0 6px 18px rgba(20,37,92,.04)}
.sv-flow-step:not(:last-child)::after{content:"→";position:absolute;right:-.48rem;top:50%;transform:translate(50%,-50%);color:#5674d6;font-weight:900;background:#fff;padding:0 .1rem}
.sv-responsibility-map{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:stretch;margin:1.3rem 0 1.7rem}.sv-responsibility-map>div{padding:1rem;border:1px solid rgba(62,100,200,.18);border-radius:14px;background:#fff;text-align:center}.sv-responsibility-map .sv-shared{align-self:center;background:linear-gradient(135deg,rgba(62,100,200,.11),rgba(0,180,216,.11));font-weight:900;color:#14255c}
.sv-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.2rem 0 1.7rem}.sv-comparison>div{padding:1rem;border:1px solid rgba(62,100,200,.18);border-radius:14px;background:#fff}.sv-comparison strong{display:block;color:#14255c}.sv-comparison span{display:block;margin-top:.25rem;color:#5d657a;font-size:.88rem}
.sv-pill-framework{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.4rem}.sv-pill-framework span{padding:.55rem .72rem;border:1px solid rgba(62,100,200,.2);border-radius:999px;background:#f7f9ff;color:#14255c;font-weight:800;font-size:.86rem}

/* Genuine resource preview. */
.sv-resource-preview{display:block;max-width:340px;margin:0 auto 1rem;border-radius:16px;overflow:hidden;border:1px solid rgba(62,100,200,.16);box-shadow:0 14px 34px rgba(20,37,92,.13);background:#fff;transition:transform .16s ease,box-shadow .16s ease}
.sv-resource-preview:hover,.sv-resource-preview:focus-visible{transform:translateY(-2px);box-shadow:0 18px 40px rgba(20,37,92,.17)}
.sv-resource-preview img{display:block;width:100%;height:auto;aspect-ratio:520/673;object-fit:cover}
.featured-resource .sv-resource-preview{max-width:190px;margin:0 0 1rem}

@media(max-width:760px){.sv-process-track{grid-template-columns:1fr;--sv-stages:1!important}.sv-process-track li{border-top:0;border-left:2px solid rgba(62,100,200,.32);border-radius:0 12px 12px 0}.sv-flow{display:grid;grid-template-columns:1fr}.sv-flow-step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-.48rem;transform:translate(-50%,50%)}.sv-responsibility-map,.sv-comparison{grid-template-columns:1fr}.sv-responsibility-map .sv-shared{order:2}.sv-service-identity{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.sv-resource-preview{transition:none!important}.sv-resource-preview:hover,.sv-resource-preview:focus-visible{transform:none!important}}
.sv-semantic-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem}.sv-semantic-item{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid rgba(62,100,200,.16);border-radius:14px;background:#fff;color:#14255c}.sv-semantic-item strong{font-size:.94rem}.sv-decision-table .resource-table-wrap{border:1px solid rgba(62,100,200,.16);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(20,37,92,.05)}
@media(max-width:700px){.sv-semantic-trio{grid-template-columns:1fr}}
