/* Developer Extensibility — isolated Frozion presentation, upright cards. */
:root { --ex-nav-height:66px; }
/* Benefit-led revision: complete card rows and a clear, bounded scope card. */
.ex-capabilities { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ex-capabilities > article { min-width:0; display:flex; flex-direction:column; }
.ex-capabilities > article > a,.ex-capabilities > article > b { margin-top:auto; }
.ex-scope-card { margin-top:48px; padding:32px; border:1px solid #e1ddff; border-radius:12px; background:#fff; }
.ex-scope-card > .eyebrow { display:block; margin-bottom:24px; }
.ex-scope-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.ex-scope-columns h3 { margin:0 0 16px; }
.ex-scope-columns p { margin:0; }
#ex-next { font-weight:600; color:#352477; }
@media(max-width:991px) and (min-width:576px){.ex-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }.ex-capabilities > article:nth-child(n) { border-right:1px solid var(--line); }.ex-capabilities > article:nth-child(2n) { border-right:0; }}
@media(max-width:575px){.ex-scope-card { padding:24px; }.ex-scope-columns { grid-template-columns:1fr; gap:24px; }}
.ex-hero { padding:32px 0 0; background:radial-gradient(ellipse at 88% 20%,#f2f1ff 0,#f8fafa 32%,#ffffff 68%); }.ex-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; margin-bottom:56px; color:#626a70; }.ex-breadcrumb a { color:inherit; }
.ex-hero h1 { font-size:clamp(3rem,4.15vw,3.5rem); margin:24px 0 24px; }.ex-hero .eyebrow { font-size:12px; letter-spacing:.75px; }.ex-hero-lead { font-size:20px; line-height:1.65; max-width:610px; color:#424a50; }.ex-hero-support { font-size:14px; line-height:1.85; max-width:600px; }
.ex-foundation { margin-top:64px; border-top:1px solid var(--line); padding:24px 0 32px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; font-size:12px; }.ex-foundation > span { color:#626a70; }.ex-foundation strong { font-weight:500; }
.ex-label { display:block; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#626a70; }
.ex-cover { background:white; border:1px solid #e1ddff; border-radius:15px; box-shadow:0 22px 65px #2f1d990d; overflow:hidden; margin:0; }.ex-cover figcaption { padding:16px 16px; display:flex; justify-content:space-between; gap:16px; font-size:12px; letter-spacing:.6px; color:#626a70; border-bottom:1px solid var(--line); background:#f8fafa; }.ex-cover figcaption span:last-child { letter-spacing:0; }.ex-cover-body { padding:24px; }
.ex-nav { position:sticky; top:var(--header-height); z-index:1020; background:white; border-block:1px solid var(--line); box-shadow:0 5px 12px #120a3d04; }.ex-nav-links { display:grid; grid-template-columns:repeat(5,1fr); }.ex-nav-links a { display:flex; align-items:center; gap:8px; min-height:66px; padding:16px 16px; font-size:12px; color:#626a70; border-bottom:3px solid transparent; }.ex-nav-links a span { font-size:12px; color:#626a70; }.ex-nav-links a.active { color:var(--brand); border-color:var(--brand); background:linear-gradient(0deg,#f2f1ff,transparent); }.ex-nav-links a:hover { color:var(--brand); background:#f8fafa; }.ex-nav-mobile { display:none; padding:16px 0; }
.ex-section { padding:96px 0; scroll-margin-top:calc(var(--header-height) + var(--ex-nav-height) + 22px); }.ex-section h2 { font-size:clamp(2rem,3.35vw,3rem); }.ex-section h3 { font-size:20px; }.ex-section p { font-size:14px; line-height:1.85; }.ex-section .lead-copy { font-size:20px; line-height:1.65; }.ex-wash { background:#f8fafa; }.ex-heading { margin-bottom:48px; }.ex-note { font-size:12px !important; line-height:1.75 !important; color:#626a70; margin-top:16px; }.ex-subsection { margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.ex-badge { display:inline-flex; font-size:12px; font-weight:500; background:#eef1f2; color:#007260; border:1px solid #e6fffa; border-radius:5px; padding:4px 8px; line-height:1.5; white-space:nowrap; }.ex-badge.is-warning { background:#fff9e6; border-color:#fff0bf; color:#664200; }.ex-badge.is-denied { background:#ffecee; border-color:#ffd2d7; color:#701024; }.ex-badge.is-neutral { background:#f2f1ff; border-color:#e1ddff; color:#626a70; }
.ex-related { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; margin-top:40px; overflow:hidden; background:white; }.ex-related a { padding:24px; border-right:1px solid var(--line); color:var(--body); }.ex-related a:last-child { border:0; }.ex-related a:hover { background:#f2f1ff; }.ex-related strong { display:block; font-size:16px; margin-bottom:16px; }.ex-related span { font-size:12px; line-height:1.7; display:block; }.ex-related b { display:block; margin-top:16px; font-size:12px; font-weight:500; color:var(--brand); }.ex-download { margin-top:24px; font-size:12px !important; }
.ex-hero h1 { font-size:clamp(2.5rem,3.9vw,3.5rem); }.ex-cover-title strong { font-size:20px; font-weight:500; display:block; margin:16px 0 6px; color:#4128cc; }.ex-cover-title small { font-size:12px; color:#4128cc; }.ex-extension-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }.ex-extension-grid > div { border:1px solid #e1ddff; border-radius:9px; padding:16px; background:#f8fafa; }.ex-extension-grid span { display:block; font-size:20px; color:#4128cc; margin-bottom:16px; line-height:1; }.ex-extension-grid strong { display:block; font-size:12px; font-weight:500; color:#4128cc; }.ex-extension-grid small { display:block; font-size:12px; margin-top:7px; color:#626a70; }.ex-cover-bridge { display:flex; gap:16px; justify-content:center; align-items:center; font-size:12px; color:#4128cc; padding:16px 0; }.ex-cover-bridge > span:first-child { font-size:16px; }.ex-envelope { border:1px solid #e1ddff; border-radius:8px; background:#f2f1ff; padding:16px; }.ex-envelope > div { display:grid; grid-template-columns:1fr 1fr; gap:16px 16px; padding-top:16px; font-size:12px; color:#4128cc; }.ex-envelope > div span::before { content:'✓'; margin-right:8px; color:#4128cc; }.ex-cover-footer { padding:16px 24px; border-top:1px solid var(--line); background:#f8fafa; color:#4128cc; font-size:12px; }
.ex-capabilities { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; overflow:hidden; }.ex-capabilities article { padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.ex-capabilities article:nth-child(3n) { border-right:0; }.ex-capabilities h3 { margin:16px 0 16px; font-size:24px; }.ex-capabilities p { font-size:12px; margin-bottom:24px; }.ex-capabilities a,.ex-capabilities b { font-size:12px; font-weight:500; color:var(--brand); }.ex-capabilities .ex-ui-capability { grid-column:1/-1; border:0; display:grid; grid-template-columns:1fr 1.2fr .7fr; align-items:center; gap:32px; background:#f8fafa; }.ex-ui-capability h3 { margin-bottom:0; }.ex-ui-capability p { margin:0; }.ex-contract { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; align-items:start; }.ex-contract h3 { margin:16px 0; font-size:24px; }.ex-contract dl { margin:0; }.ex-contract dl > div { display:grid; grid-template-columns:95px 1fr; padding:16px 0; gap:24px; border-bottom:1px solid var(--line); }.ex-contract dl > div:first-child { padding-top:0; }.ex-contract dt { font-size:12px; font-weight:500; color:#626a70; }.ex-contract dd { margin:0; font-size:12px; line-height:1.75; }
.ex-lab { border:1px solid #e1ddff; background:white; border-radius:14px; overflow:hidden; box-shadow:0 15px 50px #2f1d9908; }.ex-lab-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; background:#f2f1ff; padding:24px 32px; border-bottom:1px solid var(--line); }.ex-lab-heading h3 { margin:8px 0 0; font-size:20px; }.ex-controls { display:grid; grid-template-columns:1fr 1.1fr auto; gap:16px; align-items:end; padding:24px 32px; border-bottom:1px solid var(--line); }.ex-controls > div { min-width:0; }.ex-controls label { display:block; font-size:12px; margin-bottom:8px; color:#626a70; }.ex-controls .form-select { font-size:12px; padding-block:16px; border-color:#e1ddff; }.ex-controls .btn { font-size:12px; padding:16px 16px; white-space:nowrap; }.ex-lab-context { display:grid; grid-template-columns:repeat(3,1fr); background:#f8fafa; border-bottom:1px solid var(--line); }.ex-lab-context > div { padding:24px 32px; border-right:1px solid var(--line); }.ex-lab-context > div:last-child { border:0; }.ex-lab-context strong { display:block; font-size:14px; font-weight:500; color:#4128cc; margin:16px 0 8px; }.ex-lab-context p { font-size:12px; margin:0; color:#626a70; }.ex-lab-context .ex-label { font-size:12px; }
.ex-result { padding:32px 32px; scroll-margin-top:calc(var(--header-height) + var(--ex-nav-height) + 20px); }.ex-result-head { display:flex; justify-content:space-between; gap:32px; align-items:flex-start; margin-bottom:24px; }.ex-result-head h4 { font-size:24px; margin:16px 0; }.ex-result-head p { font-size:12px; max-width:800px; margin:0; }.ex-result-head > .ex-badge { margin-top:4px; }.ex-attempt-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.ex-attempt-card { border:1px solid var(--line); border-radius:9px; padding:24px; min-width:0; }.ex-attempt-card > .ex-label { padding-bottom:16px; border-bottom:1px solid var(--line); }.ex-attempt-card dl { margin:5px 0 0; }.ex-attempt-card dl > div { display:grid; grid-template-columns:115px 1fr; gap:16px; padding:16px 0; }.ex-attempt-card dt { font-size:12px; font-weight:500; color:#626a70; }.ex-attempt-card dd { font-size:12px; line-height:1.7; margin:0; overflow-wrap:anywhere; }.ex-checks { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:16px; }.ex-checks[hidden] { display:none; }.ex-checks > div { border:1px solid #d9dee0; background:#f8fafa; border-radius:6px; padding:16px; color:#626a70; }.ex-checks > div.is-failed { background:#ffecee; border-color:#ffd2d7; color:#ffa6b0; }.ex-checks strong { display:block; font-size:12px; font-weight:500; margin-bottom:7px; }.ex-checks span { font-size:12px; }.ex-next { border:1px solid #e1ddff; border-left:3px solid #beb6ff; border-radius:5px; background:#f2f1ff; margin-top:24px; padding:16px 24px; }.ex-next p { font-size:12px; margin:8px 0 0; }.ex-trace { margin-top:24px; }.ex-trace p { font-size:12px; line-height:1.9; overflow-wrap:anywhere; margin:8px 0 0; }.ex-demo-footer { display:flex; justify-content:space-between; gap:16px 32px; flex-wrap:wrap; background:#f8fafa; border-top:1px solid var(--line); padding:16px 32px; font-size:12px; color:#626a70; }.ex-demo-footer > span { max-width:850px; }.ex-reset { border:0; background:none; color:var(--brand); padding:0; font-size:12px; }.ex-lab-note { display:grid; grid-template-columns:.75fr 1.25fr; gap:48px; margin-top:32px; }.ex-lab-note strong { font-size:14px; font-weight:500; }.ex-lab-note p { font-size:12px; margin:0; }
.ex-lineage { border:1px solid var(--line); border-radius:13px; overflow:hidden; margin:0; background:#f8fafa; }.ex-lineage figcaption { padding:24px 32px; display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); background:#f2f1ff; }.ex-lineage figcaption > span:last-child { font-size:12px; color:#626a70; }.ex-origins { display:grid; grid-template-columns:1fr 1fr; }.ex-origins > div { padding:32px; }.ex-origins > div+div { border-left:1px solid var(--line); }.ex-origins h3 { margin:16px 0 16px; font-size:24px; }.ex-origins p { font-size:12px; margin:0; }.ex-origins strong { font-weight:500; color:#4128cc; display:inline-block; margin-top:8px; }.ex-lineage-down { text-align:center; color:#4128cc; font-size:24px; border-top:1px solid var(--line); padding:6px; }.ex-shared-trace { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:0 32px 24px; }.ex-shared-trace > div { background:white; border:1px solid #e1ddff; border-radius:8px; padding:24px; }.ex-shared-trace span { font-size:12px; color:#4128cc; display:block; margin-bottom:16px; }.ex-shared-trace strong { display:block; color:#4128cc; font-size:16px; font-weight:500; }.ex-shared-trace small { font-size:12px; display:block; margin-top:8px; line-height:1.6; }.ex-lineage > p { font-size:12px; line-height:1.85; padding:0 32px 24px; margin:0; color:#626a70; }.ex-maintenance { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }.ex-maintenance article { border-top:2px solid #e1ddff; padding-top:24px; }.ex-maintenance h3 { font-size:24px; margin:16px 0; }.ex-maintenance p { font-size:12px; }.ex-maintenance b { display:block; font-size:12px; font-weight:500; color:#626a70; line-height:1.7; }.ex-change-note { border-top:1px solid var(--line); padding-top:32px; margin-top:48px; display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; }.ex-change-note strong { font-size:16px; font-weight:500; line-height:1.7; }.ex-change-note p { font-size:12px; margin:0; }
.ex-system-map { border:1px solid var(--line); border-radius:11px; overflow:hidden; background:white; }.ex-system-map > div { display:grid; grid-template-columns:.8fr 1.2fr; border-top:1px solid var(--line); }.ex-system-map h3 { padding:24px 32px; margin:0; font-size:20px; border-right:1px solid var(--line); }.ex-system-map p { margin:0; padding:24px 32px; font-size:12px; }.ex-system-map .ex-system-heading { background:#f2f1ff; border:0; }.ex-system-heading span { padding:16px 32px; font-size:12px; text-transform:uppercase; letter-spacing:.8px; color:#626a70; }.ex-portability { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:48px; }.ex-portability h3 { margin:16px 0; font-size:24px; }.ex-portability p { font-size:14px; }.ex-authority-note { background:white; border:1px solid var(--line); border-radius:11px; padding:32px; margin-top:48px; }.ex-authority-note h3 { margin:16px 0; font-size:24px; }.ex-authority-note p { font-size:14px; max-width:930px; }.closing-cta { padding:88px 0; background:radial-gradient(ellipse at 50% 100%,#e1ddff,#f8fafa 65%); border-top:1px solid var(--line); }.closing-cta p { max-width:670px; margin:0 auto 24px; }.closing-cta .ex-download { margin-bottom:0; }
@media(max-width:991px){.ex-hero { padding-top:24px; }.ex-breadcrumb { margin-bottom:32px; }.ex-foundation { margin-top:40px; }.ex-nav-links { display:none; }.ex-nav-mobile { display:flex; gap:16px; align-items:center; }.ex-nav-mobile label { font-size:12px; flex-shrink:0; }.ex-nav-mobile .form-select { font-size:12px; }.ex-section { padding:64px 0; }.ex-capabilities article { padding:24px; }.ex-capabilities h3 { font-size:20px; }.ex-capabilities .ex-ui-capability { grid-template-columns:1fr 1fr; }.ex-ui-capability a { grid-column:2; }.ex-contract { gap:32px; }.ex-controls { grid-template-columns:1fr 1fr; }.ex-controls .btn { grid-column:1/-1; justify-self:start; }.ex-lab-context > div { padding:24px; }.ex-lab-heading { flex-direction:column; align-items:flex-start; gap:16px; }.ex-attempt-card dl > div { grid-template-columns:1fr; gap:6px; }.ex-checks { grid-template-columns:repeat(3,1fr); }.ex-origins h3 { font-size:20px; }.ex-shared-trace { gap:16px; }.ex-shared-trace > div { padding:16px 16px; }.ex-maintenance { gap:24px; }.ex-maintenance h3 { font-size:20px; }.ex-portability { gap:32px; }.navbar-collapse.show { max-height:calc(100svh - 90px); overflow-y:auto; }}
@media(max-width:575px){.ex-hero h1 { font-size:2.5rem; }.ex-hero-lead { font-size:16px; }.ex-hero-support { font-size:14px; }.ex-breadcrumb { font-size:12px; }.ex-foundation { display:grid; grid-template-columns:1fr 1fr; font-size:12px; gap:16px; }.ex-foundation > span { grid-column:1/-1; }.ex-cover figcaption { font-size:12px; padding:16px; line-height:1.7; }.ex-cover figcaption > span:first-child { max-width:210px; }.ex-cover-body { padding:24px 16px; }.ex-cover-title strong { font-size:20px; }.ex-cover-title .ex-label { font-size:12px; }.ex-extension-grid { gap:8px; }.ex-extension-grid > div { padding:16px 16px; }.ex-extension-grid strong { font-size:12px; }.ex-extension-grid small { font-size:12px; line-height:1.7; }.ex-envelope { padding:16px 16px; }.ex-envelope .ex-label { font-size:12px; }.ex-envelope > div { font-size:12px; gap:16px 8px; }.ex-cover-footer { padding:16px 16px; font-size:12px; line-height:1.8; }.ex-section h2 { font-size:2rem; }.ex-section .lead-copy { font-size:16px; }.ex-heading { margin-bottom:32px; }.ex-capabilities { grid-template-columns:1fr; }.ex-capabilities article { padding:32px 24px; border-right:0; }.ex-capabilities h3 { font-size:24px; }.ex-capabilities .ex-ui-capability { grid-template-columns:1fr; gap:16px; }.ex-ui-capability a { grid-column:auto; }.ex-contract { grid-template-columns:1fr; gap:16px; margin-top:40px; }.ex-contract h3 { font-size:24px; }.ex-contract dl > div { grid-template-columns:75px 1fr; gap:16px; }.ex-lab-heading { padding:24px 16px; }.ex-lab-heading h3 { font-size:20px; }.ex-controls { grid-template-columns:1fr; padding:24px 16px; }.ex-controls .form-select { font-size:12px; width:100%; }.ex-controls .btn { justify-self:stretch; }.ex-lab-context { grid-template-columns:1fr; }.ex-lab-context > div { padding:24px 16px; border-right:0; border-bottom:1px solid var(--line); }.ex-lab-context strong { font-size:14px; margin-top:16px; }.ex-lab-context p { font-size:12px; }.ex-result { padding:24px 16px; }.ex-result-head { flex-direction:column-reverse; gap:16px; }.ex-result-head h4 { font-size:24px; }.ex-attempt-grid { grid-template-columns:1fr; }.ex-attempt-card { padding:16px 16px; }.ex-attempt-card dl > div { grid-template-columns:90px 1fr; gap:16px; }.ex-attempt-card dd { font-size:12px; }.ex-checks { grid-template-columns:1fr 1fr; }.ex-next { padding:16px 16px; }.ex-demo-footer { padding:16px; }.ex-lab-note { grid-template-columns:1fr; gap:16px; }.ex-lineage figcaption { flex-direction:column; gap:8px; padding:24px; }.ex-origins { grid-template-columns:1fr; }.ex-origins > div { padding:24px 24px; }.ex-origins > div+div { border-left:0; border-top:1px solid var(--line); }.ex-origins h3 { font-size:20px; }.ex-shared-trace { grid-template-columns:1fr; padding:0 24px 24px; gap:16px; }.ex-shared-trace > div { padding:24px; }.ex-lineage > p { padding:0 24px 24px; }.ex-maintenance { grid-template-columns:1fr; gap:32px; margin-top:32px; }.ex-maintenance h3 { font-size:24px; }.ex-change-note { grid-template-columns:1fr; gap:16px; }.ex-related { grid-template-columns:1fr; }.ex-related a { border-right:0; border-bottom:1px solid var(--line); padding:24px; }.ex-system-map > div { grid-template-columns:1fr; }.ex-system-map .ex-system-heading { display:none; }.ex-system-map > div:nth-child(2) { border-top:0; }.ex-system-map h3 { padding:24px 24px 16px; border-right:0; font-size:20px; }.ex-system-map p { padding:0 24px 24px; }.ex-portability { grid-template-columns:1fr; gap:32px; margin-top:40px; }.ex-portability h3 { font-size:24px; }.ex-authority-note { padding:24px 24px; margin-top:32px; }.ex-authority-note h3 { font-size:24px; }.closing-cta { padding:64px 0; }}
@media(prefers-reduced-motion:reduce){html { scroll-behavior:auto; }}
