/* Provenance, Lineage & Evidence — isolated Frozion styles; upright illustrations. */
:root { --pl-nav-height:66px; }
.pl-hero { padding:32px 0 0; background:radial-gradient(ellipse at 88% 20%,#f2f1ff 0,#f8fafa 32%,#ffffff 68%); }.pl-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; margin-bottom:56px; color:#626a70; }.pl-breadcrumb a { color:inherit; }
.pl-hero h1 { font-size:clamp(3rem,4.15vw,3.5rem); margin:24px 0 24px; }.pl-hero .eyebrow { font-size:12px; letter-spacing:.75px; }.pl-hero-lead { font-size:20px; line-height:1.65; max-width:610px; color:#424a50; }.pl-hero-support { font-size:14px; line-height:1.85; max-width:600px; }
.pl-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; }.pl-foundation > span { color:#626a70; }.pl-foundation strong { font-weight:500; }
.pl-label { display:block; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#626a70; }
.pl-cover { background:white; border:1px solid #e1ddff; border-radius:15px; box-shadow:0 22px 65px #2f1d990d; overflow:hidden; margin:0; }.pl-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; }.pl-cover figcaption span:last-child { letter-spacing:0; }.pl-cover-body { padding:24px; }
.pl-nav { position:sticky; top:var(--header-height); z-index:1020; background:white; border-block:1px solid var(--line); box-shadow:0 5px 12px #120a3d04; }.pl-nav-links { display:grid; grid-template-columns:repeat(5,1fr); }.pl-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; }.pl-nav-links a span { font-size:12px; color:#626a70; }.pl-nav-links a.active { color:var(--brand); border-color:var(--brand); background:linear-gradient(0deg,#f2f1ff,transparent); }.pl-nav-links a:hover { color:var(--brand); background:#f8fafa; }.pl-nav-mobile { display:none; padding:16px 0; }
.pl-section { padding:96px 0; scroll-margin-top:calc(var(--header-height) + var(--pl-nav-height) + 22px); }.pl-section h2 { font-size:clamp(2rem,3.35vw,3rem); }.pl-section h3 { font-size:20px; }.pl-section p { font-size:14px; line-height:1.85; }.pl-section .lead-copy { font-size:20px; line-height:1.65; }.pl-wash { background:#f8fafa; }.pl-heading { margin-bottom:48px; }.pl-note { font-size:12px !important; line-height:1.75 !important; color:#626a70; margin-top:16px; }.pl-subsection { margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.pl-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; }.pl-badge.is-warning { background:#fff9e6; border-color:#fff0bf; color:#664200; }.pl-badge.is-denied { background:#ffecee; border-color:#ffd2d7; color:#701024; }.pl-badge.is-neutral { background:#f2f1ff; border-color:#e1ddff; color:#626a70; }
.pl-related { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; margin-top:40px; overflow:hidden; background:white; }.pl-related a { padding:24px; border-right:1px solid var(--line); color:var(--body); }.pl-related a:last-child { border:0; }.pl-related a:hover { background:#f2f1ff; }.pl-related strong { display:block; font-size:16px; margin-bottom:16px; }.pl-related span { font-size:12px; line-height:1.7; display:block; }.pl-related b { display:block; margin-top:16px; font-size:12px; font-weight:500; color:var(--brand); }.pl-download { margin-top:24px; font-size:12px !important; }
.pl-hero h1 { font-size:clamp(3rem,4.05vw,3.5rem); }
.pl-cover-outcome { border:1px solid #e1ddff; background:#f2f1ff; padding:16px; border-radius:9px; }.pl-cover-outcome strong { display:block; color:#4128cc; font-size:16px; font-weight:500; margin:16px 0 16px; }.pl-cover-row { border:1px solid var(--line); border-radius:7px; padding:16px 16px; display:flex; justify-content:space-between; align-items:center; gap:16px; }.pl-cover-row b { color:#4128cc; font-size:12px; font-weight:500; }.pl-cover-row > span { color:#626a70; font-size:12px; text-align:right; }.pl-cover-link { display:flex; flex-direction:column; align-items:center; gap:2px; font-size:12px; color:#626a70; line-height:1.6; padding:7px 0; }.pl-cover-link i { font-style:normal; font-size:14px; }.pl-cover-footer { background:#f8fafa; padding:16px 24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:#626a70; }.pl-cover-footer b { display:block; font-size:12px; font-weight:500; margin-top:4px; color:#4128cc; }
.pl-concepts { border:1px solid var(--line); border-radius:10px; }.pl-concepts .table { min-width:680px; --bs-table-bg:transparent; --bs-table-color:var(--body); }.pl-concepts th,.pl-concepts td { font-size:12px; padding:16px 24px; line-height:1.8; border-color:var(--line); vertical-align:top; }.pl-concepts thead { background:#f2f1ff; }.pl-concepts thead th { color:#4128cc; font-size:12px; text-transform:uppercase; letter-spacing:.7px; }.pl-concepts tbody th { color:#424a50; width:21%; font-weight:500; }.pl-concepts td { width:39.5%; }.pl-concepts tr:last-child > * { border-bottom:0; }.pl-callout { border-left:3px solid #beb6ff; padding:5px 0 5px 24px; margin-top:32px; }.pl-callout p { font-size:14px; margin:0; }
.pl-demo { border:1px solid #e1ddff; border-radius:14px; background:white; overflow:hidden; box-shadow:0 17px 60px #1f126608; }.pl-demo-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:24px 32px; background:#f2f1ff; border-bottom:1px solid var(--line); }.pl-demo-toolbar h3 { font-size:16px; margin:8px 0 0; line-height:1.5; }.pl-demo-toolbar label { display:block; font-size:12px; color:#4128cc; margin-bottom:6px; }.pl-demo-toolbar select { font-size:12px; min-width:290px; border-color:#e1ddff; }.pl-demo-anchors { display:flex; flex-wrap:wrap; gap:8px 24px; padding:16px 32px; font-size:12px; border-bottom:1px solid var(--line); }.pl-demo-anchors strong { color:#4128cc; font-weight:500; margin-left:5px; }
.pl-summary { display:grid; grid-template-columns:1.35fr 1fr; background:#f8fafa; border-bottom:1px solid var(--line); }.pl-summary > div { padding:24px 32px; }.pl-summary > div:last-child { border-left:1px solid var(--line); }.pl-summary strong { display:block; font-size:20px; font-weight:500; color:#1f1266; margin:8px 0; }.pl-summary p { font-size:12px; line-height:1.8; margin:0; }.pl-summary.is-gap { background:#ffffff; }.pl-summary.is-gap strong { color:#664200; }.pl-summary.is-blocked { background:#f2f1ff; }
.pl-demo-body { display:grid; grid-template-columns:310px minmax(0,1fr); gap:24px; padding:32px; }.pl-record-nav > .pl-label { margin-bottom:16px; }.pl-record-buttons { display:grid; gap:6px; }.pl-record-buttons button { display:flex; align-items:center; gap:8px; background:white; border:1px solid var(--line); padding:16px 16px; border-radius:7px; text-align:left; width:100%; color:var(--body); }.pl-record-buttons button:hover { background:#f2f1ff; border-color:#beb6ff; }.pl-record-buttons button[aria-pressed=true] { background:#f2f1ff; border-color:#9a8eff; box-shadow:inset 3px 0 var(--brand); }.pl-node-number { color:#626a70; font-size:12px; }.pl-record-buttons b { display:block; font-size:12px; font-weight:500; color:#4128cc; }.pl-record-buttons small { display:block; font-size:12px; color:#626a70; margin-top:4px; }.pl-record-buttons i { font-style:normal; font-size:12px; color:#626a70; margin-left:auto; }.pl-record-buttons i.is-gap { color:#996500; }.pl-record-buttons i.is-warning { color:#701024; }.pl-record-mobile { display:none; }
.pl-detail { border:1px solid #e1ddff; border-radius:9px; padding:32px; background:#f8fafa; align-self:start; min-width:0; }.pl-detail-top { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }.pl-detail h4 { font-size:24px; line-height:1.3; margin:0 0 16px; }.pl-detail > p { font-size:12px; line-height:1.85; }.pl-detail-fields { margin:16px 0 0; }.pl-detail-fields > div { display:grid; grid-template-columns:115px 1fr; gap:16px; padding:16px 0; border-top:1px solid var(--line); }.pl-detail-fields dt { font-size:12px; color:#4128cc; font-weight:500; }.pl-detail-fields dd { font-size:12px; line-height:1.8; margin:0; overflow-wrap:anywhere; }.pl-bindings { display:grid; grid-template-columns:1fr 1fr; margin-top:24px; border:1px solid var(--line); background:white; border-radius:7px; overflow:hidden; }.pl-bindings > div { padding:16px; }.pl-bindings > div:last-child { border-left:1px solid var(--line); }.pl-bindings .pl-label { font-size:12px; }.pl-bindings p { font-size:12px; margin:8px 0 0; line-height:1.8; overflow-wrap:anywhere; }.pl-detail .pl-detail-caution { font-size:12px; border-left:2px solid #beb6ff; padding-left:16px; margin:24px 0 0; color:#626a70; }.pl-detail-controls { display:flex; justify-content:space-between; gap:16px; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }.pl-detail-controls button { border:0; background:none; padding:0; font-size:12px; color:var(--brand); }.pl-detail-controls button:disabled { color:#626a70; cursor:default; }
.pl-demo-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 16px; padding:16px 32px; border-top:1px solid var(--line); background:#f8fafa; font-size:12px; color:#626a70; }.pl-demo-footer > span { max-width:850px; }.pl-reset { border:0; background:none; padding:0; color:var(--brand); font-size:12px; text-decoration:underline; text-underline-offset:3px; }.pl-record-buttons button:focus-visible,.pl-detail-controls button:focus-visible,.pl-reset:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.pl-under-demo { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; }.pl-under-demo h3 { font-size:24px; }.pl-under-demo p { font-size:14px; }.pl-lifecycle { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; overflow:hidden; }.pl-lifecycle article { padding:32px; border-right:1px solid var(--line); }.pl-lifecycle article:nth-child(2) { background:#f2f1ff; }.pl-lifecycle article:last-child { border:0; }.pl-lifecycle h3 { font-size:24px; margin:16px 0; }.pl-lifecycle p { font-size:12px; }.pl-lifecycle small { display:block; font-size:12px; color:#626a70; line-height:1.8; }.pl-pills { display:flex; flex-wrap:wrap; gap:8px; }.pl-pills span { color:#626a70; background:#f2f1ff; border:1px solid var(--line); border-radius:5px; padding:6px 8px; font-size:12px; }
.pl-roles { display:grid; grid-template-columns:repeat(3,1fr); gap:32px 40px; }.pl-roles article { padding-top:16px; border-top:1px solid #e1ddff; }.pl-roles article > span { font-size:12px; text-transform:uppercase; letter-spacing:.7px; color:#4128cc; }.pl-roles h3 { font-size:20px; margin:16px 0; }.pl-roles p { font-size:12px; margin:0; }
.pl-substrate { display:grid; grid-template-columns:1fr 1fr; background:white; border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:56px; }.pl-substrate article { padding:32px; }.pl-substrate article:last-child { border-left:1px solid var(--line); }.pl-substrate h3 { font-size:24px; margin:16px 0; }.pl-substrate p { font-size:14px; }.pl-substrate .pl-note { margin-bottom:0; }.pl-federation { display:grid; grid-template-columns:1fr 1.5fr; gap:48px; margin-top:48px; padding-top:32px; border-top:1px solid var(--line); }.pl-federation h3 { margin-top:16px; }.pl-federation p { font-size:14px; margin:0; }
[hidden] { display:none!important; }
@media (max-width:991px) { .pl-breadcrumb { margin-bottom:32px; }.pl-hero h1 { font-size:clamp(3rem,6.5vw,4rem); }.pl-cover { max-width:620px; }.pl-section { padding:64px 0; }.pl-nav-links { display:none; }.pl-nav-mobile { display:flex; align-items:center; gap:16px; }.pl-nav-mobile label { font-size:12px; white-space:nowrap; }.pl-nav-mobile select { font-size:12px; }.navbar-collapse.show { max-height:calc(100svh - 90px); overflow-y:auto; }.pl-demo-body { grid-template-columns:245px minmax(0,1fr); gap:16px; padding:24px; }.pl-record-buttons { gap:7px; }.pl-record-buttons button { padding:16px 8px; gap:8px; }.pl-record-buttons b { font-size:12px; }.pl-record-buttons i { font-size:12px; }.pl-detail { padding:24px; }.pl-detail-fields > div { grid-template-columns:1fr; gap:5px; }.pl-bindings { grid-template-columns:1fr; }.pl-bindings > div:last-child { border-left:0; border-top:1px solid var(--line); }.pl-lifecycle article { padding:24px; }.pl-under-demo { gap:32px; } }
@media (max-width:767px) { .pl-hero h1 { font-size:3rem; }.pl-hero .eyebrow { line-height:1.9; }.pl-hero-lead { font-size:16px; }.pl-cover-body { padding:16px; }.pl-cover figcaption { padding:16px; font-size:12px; }.pl-cover-row { display:block; padding:16px 16px; }.pl-cover-row b,.pl-cover-row > span { display:block; text-align:left; }.pl-cover-row > span { margin-top:4px; }.pl-foundation { display:grid; grid-template-columns:1fr 1fr; font-size:12px; gap:16px; margin-top:48px; }.pl-foundation > span { grid-column:1/-1; }.pl-demo-toolbar { flex-direction:column; align-items:stretch; padding:24px 16px; }.pl-demo-toolbar select { min-width:0; }.pl-demo-anchors { padding:16px 16px; flex-direction:column; gap:7px; }.pl-summary { grid-template-columns:1fr; }.pl-summary > div { padding:16px; }.pl-summary > div:last-child { border-left:0; border-top:1px solid var(--line); }.pl-demo-body { grid-template-columns:1fr; padding:24px 16px; gap:16px; }.pl-record-nav > .pl-label,.pl-record-buttons { display:none; }.pl-record-mobile { display:block; }.pl-record-mobile label { font-size:12px; display:block; margin-bottom:7px; color:#4128cc; }.pl-record-mobile select { font-size:12px; }.pl-detail { padding:16px; }.pl-detail h4 { font-size:24px; }.pl-detail-top { align-items:flex-start; }.pl-detail-top .pl-label { max-width:150px; }.pl-detail .pl-badge { white-space:normal; }.pl-demo-footer { padding:16px 16px; }.pl-under-demo,.pl-lifecycle,.pl-substrate,.pl-federation,.pl-related { grid-template-columns:1fr; }.pl-under-demo { gap:32px; margin-top:40px; }.pl-lifecycle article { border-right:0; border-bottom:1px solid var(--line); }.pl-roles { grid-template-columns:1fr 1fr; gap:24px; }.pl-roles h3 { font-size:16px; }.pl-substrate article { padding:24px; }.pl-substrate article:last-child { border-left:0; border-top:1px solid var(--line); }.pl-federation { gap:8px; }.pl-related a { border-right:0; border-bottom:1px solid var(--line); } }
@media (max-width:375px) { .pl-hero h1 { font-size:2.5rem; }.pl-roles { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .pl-nav,.pl-demo-toolbar select,.pl-reset,.pl-detail-controls { display:none!important; }.pl-section { padding:32px 0; } }

.pl-detail { scroll-margin-top:calc(var(--header-height) + var(--pl-nav-height) + 22px); }
/* Two related capabilities and one consolidated record-scope card. */
.pl-related.pl-related--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pl-demo-toolbar .pl-demo-disclosure { margin:12px 0 0; max-width:650px; font-size:12px; line-height:1.8; color:#626a70; }
.pl-scope-card { border:1px solid #e1ddff; border-radius:12px; padding:32px; background:#fff; }
.pl-scope-card h2 { margin:18px 0 28px; font-size:clamp(1.75rem,2.4vw,2.25rem); }
.pl-scope-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
.pl-scope-facts h3 { font-size:20px; line-height:1.4; margin:0 0 12px; }
.pl-scope-facts p { margin:0; }
@media(max-width:575px){.pl-related.pl-related--two,.pl-scope-facts { grid-template-columns:1fr; }.pl-scope-card { padding:24px; }.pl-scope-facts { gap:24px; }}
