.sem-page { background: var(--paper); }
.sem-hero { position: relative; overflow: hidden; min-height: 720px; color: var(--paper); background: var(--ink); }.sem-hero-grid { position: absolute; inset: 0; opacity: .38; background-image: radial-gradient(circle at 1px 1px, rgba(248,246,241,.2) 1px, transparent 0); background-size: 25px 25px; }.sem-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; min-height: 720px; padding-top: 90px; }.sem-hero-copy h1 { margin-bottom: 27px; font-size: clamp(4rem, 7vw, 7rem); }.sem-hero-lede { max-width: 570px; margin-bottom: 31px; color: rgba(248,246,241,.7); font-size: 1.06rem; line-height: 1.7; }.sem-trust-line { margin-top: 40px; color: rgba(248,246,241,.47); font-size: .68rem; letter-spacing: .06em; }.sem-diagram { position: relative; min-height: 470px; border: 1px solid rgba(248,246,241,.2); background: rgba(16,23,37,.45); }.sem-diagram::before { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(248,246,241,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(248,246,241,.1) 1px, transparent 1px); background-size: 46px 46px; opacity: .35; }.diagram-label { position: absolute; color: rgba(248,246,241,.42); font-size: .6rem; font-weight: 700; letter-spacing: .13em; }.label-question { top: 15%; left: 8%; }.label-model { top: 47%; left: 45%; }.label-evidence { top: 12%; right: 8%; }.diagram-node { position: absolute; z-index: 2; display: flex; flex-direction: column; padding: 14px; border: 1px solid rgba(248,246,241,.27); background: rgba(16,23,37,.9); }.diagram-node span { color: var(--lime); font-size: .58rem; font-weight: 700; letter-spacing: .12em; }.diagram-node strong { margin: 6px 0 2px; font-family: var(--display); font-size: 1rem; letter-spacing: -.04em; }.diagram-node small { color: rgba(248,246,241,.5); font-size: .66rem; }.node-question { left: 5%; bottom: 18%; }.node-model { left: 39%; top: 38%; }.node-evidence { right: 5%; top: 14%; }.diagram-path { position: absolute; z-index: 1; height: 2px; transform-origin: left center; }.path-a { left: 26%; bottom: 32%; width: 31%; background: var(--mint); transform: rotate(-36deg); }.path-b { left: 55%; top: 42%; width: 31%; background: var(--lime); transform: rotate(-48deg); }.path-c { left: 50%; top: 54%; width: 22%; background: var(--coral); transform: rotate(24deg); }.diagram-tag { position: absolute; z-index: 3; top: 25%; left: 16%; padding: 7px 10px; border: 1px solid rgba(255,155,121,.6); color: var(--coral); font-size: .62rem; font-weight: 700; letter-spacing: .1em; }
.sem-band { background: var(--lime); color: var(--ink); }.sem-band-inner { display: grid; grid-template-columns: 35px 1fr 1.2fr; align-items: center; gap: 18px; min-height: 95px; }.sem-band-inner .lime-bar { background: var(--ink); }.sem-band-inner strong { font-family: var(--display); font-size: 1.1rem; letter-spacing: -.03em; }.sem-band-inner span:last-child { color: rgba(16,23,37,.68); font-size: .82rem; }
.sem-two-col { display: grid; grid-template-columns: .65fr 1.35fr; gap: 120px; }.sem-aside .eyebrow { margin-bottom: 50px; }.sem-aside > p:last-child { max-width: 230px; color: var(--muted); font-family: var(--display); font-size: 1.45rem; letter-spacing: -.05em; line-height: 1.1; }.sem-aside-mark { display: grid; width: 78px; height: 78px; margin-bottom: 22px; border: 1px solid var(--ink); border-radius: 50%; place-items: center; font-family: var(--display); font-size: 2.7rem; }.mint-mark { color: var(--mint); border-color: var(--mint); }.coral-mark { color: var(--coral); border-color: var(--coral); }.sem-copy h2 { margin-bottom: 28px; font-size: clamp(3rem, 5vw, 5.2rem); }.sem-copy > p { max-width: 660px; color: var(--muted); font-size: 1rem; line-height: 1.7; }.sem-check-list { margin: 37px 0 31px; border-top: 1px solid var(--line); }.sem-check-list > div { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }.sem-check-list span { color: var(--coral); font-size: .7rem; }.sem-check-list p { margin: 0; color: var(--ink-soft); font-size: .84rem; }.dark-section .section-intro { color: rgba(248,246,241,.58); }.sem-capabilities { padding-bottom: 145px; }.capability-list { border-top: 1px solid var(--line-light); }.capability { display: grid; grid-template-columns: 8% 1.25fr .75fr; gap: 25px; padding: 30px 0; border-bottom: 1px solid var(--line-light); }.cap-number { color: var(--lime); font-family: var(--display); font-size: .78rem; }.capability h3 { margin-bottom: 10px; color: var(--paper); font-size: 1.75rem; }.capability > div > p:last-child { max-width: 480px; margin: 0; color: rgba(248,246,241,.57); font-size: .84rem; }.cap-detail { align-self: center; padding-left: 25px; border-left: 1px solid var(--line-light); color: rgba(248,246,241,.58); font-size: .75rem; line-height: 1.9; }.cap-detail::first-line { color: var(--lime); }.route-list, .fit-rows { margin: 36px 0 30px; border-top: 1px solid var(--line); }.route-list > div, .fit-rows > div { display: flex; flex-direction: column; gap: 4px; padding: 17px 0; border-bottom: 1px solid var(--line); }.route-list strong, .fit-rows strong { font-family: var(--display); font-size: 1rem; }.route-list span, .fit-rows span { color: var(--muted); font-size: .8rem; }.sem-deliverables { background: var(--paper-deep); }.sem-deliverables .section-heading { margin-bottom: 52px; }.deliverable-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 120px; }.deliverable-intro > p { max-width: 360px; color: var(--muted); font-size: .95rem; }.deliverable-quote { display: flex; gap: 14px; margin-top: 52px; padding-top: 20px; border-top: 1px solid var(--line); }.deliverable-quote > span { color: var(--coral); font-family: Georgia,serif; font-size: 3rem; line-height: .8; }.deliverable-quote p { margin: 0; font-family: var(--display); font-size: 1.2rem; letter-spacing: -.04em; line-height: 1.15; }.deliverable-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; align-content: start; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }.deliverable-list li { padding: 17px 0; border-bottom: 1px solid var(--line); font-size: .83rem; }.deliverable-list li::before { content: '↳'; margin-right: 10px; color: var(--coral); }.sem-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; border-top: 1px solid var(--line-light); padding-top: 50px; }.sem-process-grid > div { border-top: 2px solid var(--mint); padding-top: 15px; }.sem-process-grid > div:nth-child(2) { border-color: var(--lime); }.sem-process-grid > div:nth-child(3) { border-color: var(--coral); }.sem-process-grid > div:nth-child(4) { border-color: var(--paper); }.sem-process-grid span { color: rgba(248,246,241,.44); font-size: .68rem; }.sem-process-grid h3 { margin: 26px 0 9px; font-size: 1.6rem; }.sem-process-grid p { max-width: 200px; margin: 0; color: rgba(248,246,241,.55); font-size: .78rem; }.sem-trust { background: var(--paper-deep); }.sem-trust-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: center; }.sem-trust-copy h2 { margin-bottom: 25px; font-size: clamp(3rem, 5vw, 5rem); }.sem-trust-copy > p:not(.eyebrow) { max-width: 600px; color: var(--muted); font-size: .92rem; }.sem-proof { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.sem-proof div { display: flex; flex-direction: column; gap: 5px; padding: 25px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.sem-proof strong { font-family: var(--display); font-size: 2rem; letter-spacing: -.07em; }.sem-proof span { color: var(--muted); font-size: .72rem; }.sem-cta { padding-top: 135px; padding-bottom: 135px; }
@media (max-width: 900px) { .sem-hero-inner { grid-template-columns: 1fr; gap: 45px; padding-top: 140px; padding-bottom: 90px; }.sem-diagram { max-width: 700px; width: 100%; }.sem-two-col, .deliverable-grid, .sem-trust-grid { grid-template-columns: 1fr; gap: 60px; }.sem-aside .eyebrow { margin-bottom: 25px; }.sem-aside-mark { margin-bottom: 17px; }.capability { grid-template-columns: 42px 1fr; gap: 10px 18px; }.cap-detail { grid-column: 2; padding-left: 0; border-left: 0; }.sem-band-inner { grid-template-columns: 28px 1fr; padding: 19px 0; }.sem-band-inner span:last-child { grid-column: 2; }.sem-process-grid { gap: 40px 25px; }.sem-proof { max-width: 600px; } }
@media (max-width: 560px) { .sem-hero-inner { padding-top: 125px; }.sem-hero-copy h1 { font-size: clamp(3.6rem, 15vw, 5.8rem); }.sem-hero-lede { font-size: .96rem; }.sem-diagram { min-height: 390px; }.diagram-node { padding: 10px; }.diagram-node strong { font-size: .78rem; }.diagram-node small { font-size: .55rem; }.node-question { left: 2%; bottom: 14%; }.node-model { left: 30%; top: 37%; }.node-evidence { right: 2%; top: 12%; }.sem-band-inner strong { font-size: .92rem; }.sem-copy h2, .sem-trust-copy h2 { font-size: clamp(2.8rem, 13vw, 4.3rem); }.capability h3 { font-size: 1.45rem; }.deliverable-list { grid-template-columns: 1fr; }.sem-process-grid { grid-template-columns: 1fr 1fr; gap: 40px 22px; }.sem-proof div { padding: 18px 14px; }.sem-proof strong { font-size: 1.7rem; } }
.sem-tools { background: var(--paper-deep); }.sem-tools .section-heading { margin-bottom: 52px; }.toolkit-visual { display: grid; grid-template-columns: 1fr 110px 1fr; align-items: stretch; gap: 24px; }.tool-card { position: relative; display: grid; grid-template-columns: 105px 1fr; gap: 25px; min-height: 220px; padding: 28px; border: 1px solid var(--line); background: var(--paper); }.tool-card h3 { margin: 8px 0 10px; font-size: 1.5rem; }.tool-card > div:last-of-type p:last-child { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.6; }.tool-mark { display: flex; width: 88px; height: 88px; align-items: center; justify-content: center; flex-direction: column; }.spss-mark { background: #0c5cab; color: #fff; }.spss-mark strong { font-family: Arial, sans-serif; font-size: 1.3rem; letter-spacing: .02em; }.spss-bars { display: flex; width: 55px; height: 20px; align-items: flex-end; gap: 3px; margin-bottom: 7px; }.spss-bars i { display: block; width: 11px; background: #fff; }.spss-bars i:nth-child(1) { height: 8px; opacity: .55; }.spss-bars i:nth-child(2) { height: 13px; opacity: .7; }.spss-bars i:nth-child(3) { height: 17px; opacity: .85; }.spss-bars i:nth-child(4) { height: 20px; }.python-mark { position: relative; overflow: hidden; background: #306998; }.python-mark::after { content: 'PY'; position: relative; z-index: 2; color: #ffe873; font-family: 'Space Grotesk', sans-serif; font-size: 1.1rem; font-weight: 700; letter-spacing: -.1em; }.python-orb { position: absolute; width: 45px; height: 29px; border-radius: 17px 17px 12px 12px; }.orb-a { top: 17px; left: 12px; background: #ffe873; transform: rotate(-12deg); }.orb-b { right: 12px; bottom: 17px; background: #4b8bbe; transform: rotate(-12deg); }.tool-connector { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; color: var(--coral); font-family: 'Space Grotesk', sans-serif; font-size: .61rem; letter-spacing: .08em; text-align: center; }.tool-connector span { width: 1px; flex: 1; min-height: 20px; background: var(--coral); opacity: .55; }.tool-index { position: absolute; top: 28px; right: 28px; color: var(--coral); font-size: .64rem; }.tools-note { margin: 25px 0 0; color: var(--muted); font-size: .75rem; }
@media (max-width: 900px) { .toolkit-visual { grid-template-columns: 1fr; gap: 18px; }.tool-connector { flex-direction: row; }.tool-connector span { width: auto; height: 1px; min-height: 0; flex: 1; }.tool-card { grid-template-columns: 88px 1fr; } }
@media (max-width: 560px) { .tool-card { grid-template-columns: 1fr; }.tool-mark { margin-bottom: 8px; } }
/* Expanded SEM toolkit visual */
.toolkit-visual { display: block; }.toolkit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }.tool-tile { display: grid; grid-template-columns: 54px 1fr; align-items: center; gap: 14px; min-height: 118px; padding: 16px; border: 1px solid var(--line); background: var(--paper); }.tool-tile .tool-mark { width: 54px; height: 54px; }.tool-tile > div:last-child { display: flex; flex-direction: column; gap: 4px; }.tool-tile > div:last-child strong { font-family: var(--display); font-size: .9rem; letter-spacing: -.04em; }.tool-tile > div:last-child span { color: var(--muted); font-size: .65rem; line-height: 1.35; }.wordmark-mark { background: var(--ink); color: var(--lime); font-family: var(--display); font-size: .83rem; font-weight: 700; letter-spacing: -.08em; }.tile-amos .wordmark-mark { background: #004b87; color: #fff; }.tile-smartpls .wordmark-mark { background: #f47b20; color: #fff; }.tile-mplus .wordmark-mark { background: #476c9b; color: #fff; }.tile-r .wordmark-mark { background: #276dc3; color: #fff; font-family: Georgia, serif; font-size: 1.5rem; font-style: italic; }.tile-stata .wordmark-mark { background: #1f4e79; color: #fff; font-size: 1rem; }.tile-lisrel .wordmark-mark { background: #6a3d8f; color: #fff; font-size: .7rem; letter-spacing: -.06em; }.tool-tile .spss-bars { transform: scale(.72); transform-origin: center; margin: -4px 0 -2px; }.tool-tile .python-mark::after { font-size: .82rem; }.tools-note { margin-top: 20px; }.sem-tools .section-heading { margin-bottom: 42px; }
@media (max-width: 900px) { .toolkit-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .toolkit-grid { grid-template-columns: 1fr; } }
/* Focused toolkit layout: the requested workflow tools are SPSS and Python. */
.toolkit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
@media (max-width: 560px) { .toolkit-grid { grid-template-columns: 1fr; } }
/* Primary SEM toolkit visual: AMOS and SmartPLS. */
.toolkit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
.toolkit-grid .tool-tile { min-height: 150px; grid-template-columns: 76px 1fr; gap: 18px; padding: 22px; }
.toolkit-grid .tool-tile .tool-mark { width: 76px; height: 76px; }
.toolkit-grid .tile-amos .wordmark-mark { background: #004b87; color: #fff; font-size: 1rem; letter-spacing: -.06em; }
.toolkit-grid .tile-smartpls .wordmark-mark { background: #f47b20; color: #fff; font-size: .72rem; letter-spacing: -.08em; }
@media (max-width: 560px) { .toolkit-grid { grid-template-columns: 1fr; } }
/* Editorial toolkit centerpiece */
.sem-tools { background: var(--ink); color: var(--paper); }.sem-tools .section-intro { max-width: 470px; }.tool-showcase { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.tool-hero-card { position: relative; min-height: 390px; padding: 30px; overflow: hidden; }.tool-amos-card { background: #07528c; }.tool-smartpls-card { background: #ef781d; }.tool-card-top { display: flex; justify-content: space-between; align-items: center; }.tool-overline, .tool-count { color: rgba(255,255,255,.68); font-size: .63rem; font-weight: 700; letter-spacing: .13em; }.tool-brandline { display: flex; justify-content: space-between; align-items: end; margin-top: 48px; }.tool-logo-large { color: #fff; font-family: Arial, sans-serif; font-size: clamp(3.3rem, 6vw, 6rem); font-weight: 700; letter-spacing: -.09em; line-height: .8; }.tool-brand-smart { color: #fff; font-family: Arial, sans-serif; font-size: clamp(3.3rem, 6vw, 6rem); font-weight: 300; letter-spacing: -.1em; line-height: .8; }.tool-brand-smart strong { font-weight: 800; }.tool-arrow { display: grid; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; place-items: center; color: #fff; font-size: 1.35rem; }.tool-card-copy { max-width: 390px; margin: 31px 0 28px; color: rgba(255,255,255,.82); font-size: .91rem; line-height: 1.55; }.mini-path { position: relative; height: 62px; margin: 7px 0 22px; }.mini-node { position: absolute; z-index: 2; display: grid; width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; place-items: center; color: #fff; font-family: var(--display); font-size: .7rem; }.mini-node::after { content: ''; position: absolute; width: 6px; height: 6px; right: -3px; bottom: -3px; background: var(--lime); border-radius: 50%; }.mini-path-pls .mini-node::after { background: #ffe873; }.node-1 { left: 2%; top: 24px; }.node-2 { left: 33%; top: 2px; }.node-3 { left: 64%; top: 31px; }.node-4 { right: 1%; top: 7px; }.mini-line { position: absolute; z-index: 1; height: 1px; width: 31%; background: rgba(255,255,255,.7); transform-origin: left center; }.mini-line.line-1 { left: 9%; top: 36px; transform: rotate(-31deg); }.mini-line.line-2 { left: 40%; top: 20px; transform: rotate(29deg); }.mini-line.line-3 { left: 71%; top: 39px; transform: rotate(-23deg); }.tool-tags { display: flex; flex-wrap: wrap; gap: 8px; }.tool-tags span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.34); color: rgba(255,255,255,.82); font-size: .62rem; }.supporting-tools { display: flex; align-items: center; gap: 13px; margin-top: 18px; padding: 16px 18px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); font-size: .72rem; }.supporting-tools strong { color: var(--lime); font-family: var(--display); font-size: .82rem; }.supporting-tools b { color: var(--coral); font-size: 1rem; }.sem-tools .tools-note { color: rgba(255,255,255,.46); }.sem-tools .eyebrow-light { color: var(--lime); }
@media (max-width: 900px) { .tool-showcase { grid-template-columns: 1fr; }.tool-hero-card { min-height: 340px; } }
@media (max-width: 560px) { .tool-hero-card { padding: 23px; }.tool-brandline { margin-top: 35px; }.supporting-tools { flex-wrap: wrap; gap: 8px; } }
.supporting-tools { flex-wrap: wrap; }.supporting-tools .supporting-label { margin-right: 4px; }.supporting-tools .supporting-tool { display: inline-flex; align-items: center; min-height: 25px; padding: 5px 9px; border: 1px solid rgba(204,255,0,.3); background: rgba(204,255,0,.07); color: var(--lime); font-family: var(--display); font-size: .68rem; font-weight: 600; }

/* Interactive software capability selector */
.tool-filter { margin-top: 30px; padding: 24px; border: 1px solid rgba(249,248,246,.16); background: rgba(249,248,246,.045); }.filter-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }.filter-heading h3 { margin-top: 7px; color: var(--paper); font-family: var(--display); font-size: 1.35rem; letter-spacing: -.04em; }.filter-heading > p { max-width: 280px; margin: 0; color: rgba(249,248,246,.52); font-size: .75rem; line-height: 1.5; }.filter-controls { display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 20px; border-bottom: 1px solid rgba(249,248,246,.13); }.filter-button { padding: 9px 12px; border: 1px solid rgba(249,248,246,.22); background: transparent; color: rgba(249,248,246,.72); cursor: pointer; font-family: var(--display); font-size: .68rem; }.filter-button:hover, .filter-button:focus-visible { border-color: var(--lime); color: var(--lime); }.filter-button.is-active { border-color: var(--lime); background: var(--lime); color: var(--ink); }.capability-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 22px; }.capability-result { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 17px 0; border-bottom: 1px solid rgba(249,248,246,.13); }.capability-result[hidden] { display: none; }.capability-index { color: var(--coral); font-size: .62rem; }.capability-result strong { color: var(--paper); font-family: var(--display); font-size: .85rem; letter-spacing: -.03em; }.capability-result p { margin: 5px 0 0; color: rgba(249,248,246,.54); font-size: .7rem; line-height: 1.45; }.sem-tools .tool-filter .tool-overline { color: var(--lime); }
@media (max-width: 900px) { .filter-heading { align-items: start; flex-direction: column; gap: 10px; }.capability-results { grid-template-columns: repeat(2, 1fr); } }.
@media (max-width: 560px) { .tool-filter { padding: 17px; }.capability-results { grid-template-columns: 1fr; } }

/* SEM planning calculator */
.sem-calculator { margin-top: 18px; padding: 26px; background: #101b32; border: 1px solid rgba(249,248,246,.17); }.calculator-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }.calculator-heading h3 { margin-top: 7px; color: var(--paper); font-family: var(--display); font-size: 1.45rem; letter-spacing: -.04em; }.calculator-heading > p { max-width: 300px; margin: 0; color: rgba(249,248,246,.52); font-size: .75rem; line-height: 1.5; }.calculator-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 22px; }.calculator-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.calculator-fields label { display: flex; flex-direction: column; gap: 7px; color: rgba(249,248,246,.62); font-size: .68rem; }.calculator-fields input, .calculator-fields select { width: 100%; border: 1px solid rgba(249,248,246,.22); border-radius: 0; padding: 11px; background: #0a1128; color: var(--paper); font: inherit; font-size: .78rem; }.calculator-fields input:focus, .calculator-fields select:focus { outline: 2px solid var(--lime); outline-offset: 2px; }.calculator-button { min-height: 44px; align-self: end; justify-content: center; border: 0; font-size: .72rem; }.calculator-result { display: flex; min-height: 220px; flex-direction: column; justify-content: center; padding: 24px; border-left: 2px solid var(--lime); background: rgba(204,255,0,.08); }.calculator-result[data-status="below"] { border-color: var(--coral); background: rgba(255,127,80,.1); }.calculator-result[data-status="above"] { border-color: var(--mint); background: rgba(110,231,183,.09); }.result-label { color: var(--lime); font-size: .61rem; font-weight: 700; letter-spacing: .13em; }.calculator-result strong { margin: 9px 0 8px; color: var(--paper); font-family: var(--display); font-size: 1.9rem; letter-spacing: -.05em; }.calculator-result p { max-width: 360px; margin: 0 0 20px; color: rgba(249,248,246,.66); font-size: .76rem; line-height: 1.5; }.result-band { display: flex; align-items: end; justify-content: space-between; padding-top: 13px; border-top: 1px solid rgba(249,248,246,.2); }.result-band span, .result-meta span { color: rgba(249,248,246,.5); font-size: .65rem; }.result-band b { color: var(--lime); font-family: var(--display); font-size: 1.35rem; }.result-meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; }.calculator-note { margin: 18px 0 0; color: rgba(249,248,246,.4); font-size: .66rem; line-height: 1.5; }.sem-tools .sem-calculator .tool-overline { color: var(--lime); }
@media (max-width: 900px) { .calculator-heading { align-items: start; flex-direction: column; gap: 10px; }.calculator-layout { grid-template-columns: 1fr; } }.
@media (max-width: 560px) { .sem-calculator { padding: 17px; }.calculator-fields { grid-template-columns: 1fr; }.result-meta { flex-direction: column; gap: 5px; } }

.calculator-button.is-calculated { background: var(--mint); color: var(--ink); }.calculator-result.is-updated { animation: calculator-pulse .5s ease-out; } @keyframes calculator-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.015); } 100% { transform: scale(1); } }

/* Dynamic SEM path diagram builder */
.diagram-tool { margin-top: 18px; padding: 26px; background: #101b32; border: 1px solid rgba(249,248,246,.17); }.diagram-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }.diagram-heading h3 { margin-top: 7px; color: var(--paper); font-family: var(--display); font-size: 1.45rem; letter-spacing: -.04em; }.diagram-heading > p { max-width: 310px; margin: 0; color: rgba(249,248,246,.52); font-size: .75rem; line-height: 1.5; }.diagram-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; padding-bottom: 20px; border-bottom: 1px solid rgba(249,248,246,.13); }.diagram-controls label { display: flex; min-width: 175px; flex-direction: column; gap: 7px; color: rgba(249,248,246,.62); font-size: .68rem; }.diagram-controls select { border: 1px solid rgba(249,248,246,.22); padding: 10px; background: #0a1128; color: var(--paper); font: inherit; font-size: .78rem; }.diagram-controls input[type="range"] { accent-color: var(--lime); }.diagram-controls output { color: var(--lime); font-family: var(--display); font-size: .78rem; }.diagram-check { min-width: auto !important; flex-direction: row !important; align-items: center; padding-bottom: 11px; }.diagram-check input { accent-color: var(--lime); }.diagram-button { margin-left: auto; min-height: 42px; font-size: .7rem; }.diagram-stage { margin-top: 20px; padding: 15px 8px 4px; border: 1px solid rgba(249,248,246,.1); background: #0a1128; overflow-x: auto; }.diagram-stage svg { display: block; min-width: 690px; width: 100%; height: auto; color: var(--lime); }.diagram-path { stroke: var(--mint); stroke-width: 2; fill: none; }.diagram-node circle { fill: #172646; stroke: var(--lime); stroke-width: 2; }.diagram-node text { fill: var(--paper); font-family: var(--display); font-size: 12px; }.diagram-indicator { fill: var(--coral); opacity: .9; }.diagram-legend { display: flex; flex-wrap: wrap; gap: 16px; padding: 13px 7px 4px; color: rgba(249,248,246,.5); font-size: .64rem; }.diagram-legend span { display: inline-flex; align-items: center; gap: 6px; }.legend-dot { width: 8px; height: 8px; border: 1px solid var(--lime); border-radius: 50%; }.legend-line { width: 17px; height: 1px; background: var(--mint); }.legend-square { width: 8px; height: 8px; background: var(--coral); }.diagram-caption { margin: 15px 0 0; color: rgba(249,248,246,.62); font-size: .72rem; }.diagram-updated { animation: diagram-pop .35s ease-out; } @keyframes diagram-pop { 0% { opacity: .5; transform: scale(.985); transform-origin: center; } 100% { opacity: 1; transform: scale(1); transform-origin: center; } }
@media (max-width: 900px) { .diagram-heading { align-items: start; flex-direction: column; gap: 10px; }.diagram-button { margin-left: 0; } }.

/* Contextual conversion CTA */
.engage-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 22px; padding: 24px; background: var(--lime); color: var(--ink); }.engage-cta .tool-overline { color: rgba(16,23,37,.62); }.engage-cta h3 { max-width: 500px; margin: 8px 0 7px; font-family: var(--display); font-size: 1.55rem; letter-spacing: -.05em; }.engage-cta p:last-child { max-width: 520px; margin: 0; color: rgba(16,23,37,.68); font-size: .75rem; line-height: 1.5; }.engage-cta .button { flex: none; background: var(--ink); color: var(--paper); }.engage-cta .button:hover { background: #263552; }
@media (max-width: 700px) { .engage-cta { align-items: start; flex-direction: column; } }

/* Compact interactive tool switcher */
.tool-switcher { margin-top: 18px; }.switcher-tabs { display: flex; gap: 2px; border-bottom: 1px solid rgba(249,248,246,.2); }.switcher-tab { padding: 13px 17px; border: 1px solid rgba(249,248,246,.18); border-bottom: 0; background: rgba(249,248,246,.04); color: rgba(249,248,246,.55); cursor: pointer; font-family: var(--display); font-size: .64rem; font-weight: 700; letter-spacing: .1em; }.switcher-tab:hover, .switcher-tab:focus-visible { color: var(--lime); }.switcher-tab.is-active { background: #101b32; color: var(--lime); }.switcher-panels { min-height: 0; }.switch-panel[hidden] { display: none; }.switch-panel > .sem-calculator, .switch-panel > .diagram-tool { margin-top: 0; border-top: 0; }.switch-panel > .diagram-tool { border-top: 0; }
@media (max-width: 560px) { .switcher-tabs { display: grid; grid-template-columns: 1fr 1fr; }.switcher-tab { padding: 11px 8px; font-size: .56rem; } }
