/* Least-Privilege Architecture — isolated Frozion presentation, upright cards. */
:root { --lp-nav-height:66px; }
.lp-hero { padding:32px 0 0; background:radial-gradient(ellipse at 88% 20%,#f2f1ff 0,#f8fafa 32%,#ffffff 68%); }.lp-breadcrumb { display:flex; fllp-wrap:wrap; gap:8px 16px; font-size:12px; margin-bottom:56px; color:#626a70; }.lp-breadcrumb a { color:inherit; }
.lp-hero h1 { font-size:clamp(3rem,4.15vw,3.5rem); margin:24px 0 24px; }.lp-hero .eyebrow { font-size:12px; letter-spacing:.75px; }.lp-hero-lead { font-size:20px; line-height:1.65; max-width:610px; color:#424a50; }.lp-hero-support { font-size:14px; line-height:1.85; max-width:600px; }
.lp-foundation { margin-top:64px; border-top:1px solid var(--line); padding:24px 0 32px; display:flex; justify-content:space-between; fllp-wrap:wrap; gap:16px 24px; font-size:12px; }.lp-foundation > span { color:#626a70; }.lp-foundation strong { font-weight:500; }
.lp-label { display:block; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#626a70; }
.lp-cover { background:white; border:1px solid #e1ddff; border-radius:15px; box-shadow:0 22px 65px #2f1d990d; overflow:hidden; margin:0; }.lp-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; }.lp-cover figcaption span:last-child { letter-spacing:0; }.lp-cover-body { padding:24px; }
.lp-nav { position:sticky; top:var(--header-height); z-index:1020; background:white; border-block:1px solid var(--line); box-shadow:0 5px 12px #120a3d04; }.lp-nav-links { display:grid; grid-template-columns:repeat(5,1fr); }.lp-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; }.lp-nav-links a span { font-size:12px; color:#626a70; }.lp-nav-links a.active { color:var(--brand); border-color:var(--brand); background:linear-gradient(0deg,#f2f1ff,transparent); }.lp-nav-links a:hover { color:var(--brand); background:#f8fafa; }.lp-nav-mobile { display:none; padding:16px 0; }
.lp-section { padding:96px 0; scroll-margin-top:calc(var(--header-height) + var(--lp-nav-height) + 22px); }.lp-section h2 { font-size:clamp(2rem,3.35vw,3rem); }.lp-section h3 { font-size:20px; }.lp-section p { font-size:14px; line-height:1.85; }.lp-section .lead-copy { font-size:20px; line-height:1.65; }.lp-wash { background:#f8fafa; }.lp-heading { margin-bottom:48px; }.lp-note { font-size:12px !important; line-height:1.75 !important; color:#626a70; margin-top:16px; }.lp-subsection { margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.lp-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; }.lp-badge.is-warning { background:#fff9e6; border-color:#fff0bf; color:#664200; }.lp-badge.is-denied { background:#ffecee; border-color:#ffd2d7; color:#701024; }.lp-badge.is-neutral { background:#f2f1ff; border-color:#e1ddff; color:#626a70; }
.lp-related { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; margin-top:40px; overflow:hidden; background:white; }.lp-related a { padding:24px; border-right:1px solid var(--line); color:var(--body); }.lp-related a:last-child { border:0; }.lp-related a:hover { background:#f2f1ff; }.lp-related strong { display:block; font-size:16px; margin-bottom:16px; }.lp-related span { font-size:12px; line-height:1.7; display:block; }.lp-related b { display:block; margin-top:16px; font-size:12px; font-weight:500; color:var(--brand); }.lp-download { margin-top:24px; font-size:12px !important; }
.lp-hero h1 { font-size:clamp(2.5rem,4.2vw,3.5rem); }.lp-request { padding-bottom:24px; border-bottom:1px solid var(--line); }.lp-request strong { display:block; font-size:24px; color:#4128cc; font-weight:500; margin:16px 0 8px; }.lp-request small { font-size:12px; color:#626a70; }.lp-role { padding:24px 0; }.lp-role strong { display:block; font-size:16px; font-weight:500; color:#4128cc; margin-top:8px; }.lp-reviewers { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.lp-reviewers > div { padding:24px 16px; border:1px solid #e1ddff; border-radius:9px; background:#f8fafa; }.lp-reviewers h3 { margin:16px 0 16px; font-size:20px; font-weight:500; color:#4128cc; letter-spacing:-.6px; }.lp-reviewers p { font-size:12px; line-height:1.75; color:#626a70; margin-bottom:16px; }.lp-reviewers .lp-badge { font-size:12px; }.lp-cover-rule { display:flex; gap:16px; align-items:center; margin-top:24px; padding:16px; background:#f2f1ff; border:1px solid #e1ddff; border-radius:8px; }.lp-cover-rule > span { font-size:24px; color:#4128cc; }.lp-cover-rule p { margin:0; font-size:12px; line-height:1.9; color:#4128cc; }.lp-cover-footer { padding:16px 24px; background:#f8fafa; border-top:1px solid var(--line); font-size:12px; color:#4128cc; }
.lp-dimensions { border:1px solid var(--line); border-radius:12px; overflow:hidden; }.lp-dimensions > div { display:grid; grid-template-columns:1fr 1.3fr 1fr; border-top:1px solid var(--line); align-items:center; }.lp-dimensions h3 { font-size:16px; margin:0; padding:24px; }.lp-dimensions p { font-size:12px; margin:0; padding:24px; border-inline:1px solid var(--line); }.lp-dimensions > div > span { font-size:12px; padding:24px; color:#626a70; }.lp-dimensions .lp-dimension-head { border-top:0; background:#f2f1ff; }.lp-dimension-head > span { font-size:12px !important; padding:16px 24px !important; text-transform:uppercase; letter-spacing:.6px; }.lp-taxonomy { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; }.lp-taxonomy h3 { margin:16px 0; font-size:24px; }.lp-taxonomy p { font-size:14px; }.lp-tree { border:1px solid var(--line); border-radius:11px; background:#f8fafa; margin:0; overflow:hidden; }.lp-tree figcaption { padding:24px 24px; border-bottom:1px solid var(--line); background:#f2f1ff; }.lp-tree-root { margin:24px 24px; padding:16px; border:1px solid #e1ddff; border-radius:7px; background:white; }.lp-tree-root strong { font-size:16px; font-weight:500; color:#4128cc; display:block; }.lp-tree-root small { font-size:12px; display:block; margin-top:8px; color:#4128cc; }.lp-tree-children { margin:0 24px 0 48px; border-left:1px solid #e1ddff; }.lp-tree-children > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0 16px 16px; position:relative; }.lp-tree-children > div::before { content:''; position:absolute; width:13px; height:1px; background:#e1ddff; left:0; top:50%; }.lp-tree-children strong { font-size:12px; font-weight:500; color:#4128cc; }.lp-tree > p { font-size:12px; line-height:1.9; margin:16px 24px 24px; }.lp-facets { margin-top:40px; border-top:1px solid var(--line); padding-top:32px; display:grid; grid-template-columns:.7fr 1.3fr; gap:48px; }.lp-facets strong { font-size:16px; font-weight:500; }.lp-facets p { margin:0; font-size:14px; }
.lp-lab { border:1px solid #e1ddff; background:white; border-radius:14px; overflow:hidden; box-shadow:0 15px 50px #2f1d9908; }.lp-lab-heading { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:24px 32px; background:#f2f1ff; border-bottom:1px solid var(--line); }.lp-lab-heading h3 { font-size:24px; margin:8px 0 0; }.lp-controls { display:grid; grid-template-columns:1fr 1.2fr auto; gap:16px; align-items:end; padding:24px 32px; border-bottom:1px solid var(--line); }.lp-controls > div { min-width:0; }.lp-controls label { display:block; font-size:12px; color:#626a70; margin-bottom:8px; }.lp-controls .form-select { font-size:12px; padding-block:16px; border-color:#e1ddff; }.lp-controls .btn { padding:16px 16px; font-size:12px; white-space:nowrap; }.lp-scope-inputs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); background:#f8fafa; }.lp-scope-inputs article { padding:24px 32px; min-width:0; }.lp-scope-inputs article+article { border-left:1px solid var(--line); }.lp-scope-inputs h4 { font-size:24px; margin:16px 0; color:#4128cc; }.lp-scope-inputs dl { margin:0; }.lp-scope-inputs dl > div { display:grid; grid-template-columns:110px 1fr; gap:16px; padding:8px 0; }.lp-scope-inputs dt { font-size:12px; color:#626a70; font-weight:500; }.lp-scope-inputs dd { font-size:12px; line-height:1.8; margin:0; overflow-wrap:anywhere; }.lp-result { padding:32px 32px; scroll-margin-top:calc(var(--header-height) + var(--lp-nav-height) + 20px); }.lp-result-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }.lp-result-heading h4 { font-size:24px; margin:16px 0; }.lp-result-heading p { font-size:12px; max-width:800px; margin:0; }.lp-result-heading > .lp-badge { margin-top:5px; }.lp-checks { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px; }.lp-checks[hidden] { display:none; }.lp-checks > div { border:1px solid #d9dee0; border-radius:6px; padding:16px; background:#f8fafa; }.lp-checks strong { display:block; color:#626a70; font-size:12px; font-weight:500; margin-bottom:8px; }.lp-checks span { display:block; font-size:12px; line-height:1.7; color:#626a70; }.lp-checks .is-failed { background:#ffecee; border-color:#ffd2d7; }.lp-checks .is-failed strong,.lp-checks .is-failed span { color:#ffa6b0; }.lp-next { margin-top:24px; padding:16px 24px; background:#f2f1ff; border:1px solid #e1ddff; border-left:3px solid #beb6ff; border-radius:5px; }.lp-next p { margin:8px 0 0; font-size:12px; }.lp-evidence { margin-top:24px; }.lp-evidence p { margin:8px 0 0; font-size:12px; line-height:1.9; overflow-wrap:anywhere; }.lp-demo-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; padding:16px 32px; border-top:1px solid var(--line); background:#f8fafa; font-size:12px; color:#626a70; }.lp-demo-footer > span { max-width:850px; }.lp-reset { background:none; border:0; padding:0; color:var(--brand); font-size:12px; }.lp-lab-note { display:grid; grid-template-columns:.7fr 1.3fr; gap:48px; margin-top:32px; }.lp-lab-note strong { font-size:14px; font-weight:500; }.lp-lab-note p { font-size:12px; margin:0; }
.lp-flow { border:1px solid var(--line); border-radius:12px; overflow:hidden; }.lp-flow article { display:grid; grid-template-columns:28px 1fr 230px; gap:24px; align-items:center; padding:32px; border-bottom:1px solid var(--line); }.lp-flow article:last-child { border:0; }.lp-flow article > span { font-size:12px; color:#4128cc; align-self:start; padding-top:5px; }.lp-flow h3 { font-size:24px; margin-bottom:16px; }.lp-flow p { font-size:12px; margin:0; }.lp-flow a { font-size:12px; padding-left:24px; border-left:1px solid var(--line); line-height:1.8; }.lp-outcomes { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }.lp-outcomes article { border-top:2px solid #e1ddff; padding-top:24px; }.lp-outcomes h3 { margin:16px 0; font-size:24px; }.lp-outcomes p { font-size:12px; margin:0; }
.lp-gates { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:white; border-radius:12px; overflow:hidden; }.lp-gates article { padding:32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.lp-gates article:nth-child(3n) { border-right:0; }.lp-gates article:nth-last-child(-n+3) { border-bottom:0; }.lp-gates h3 { font-size:24px; margin:16px 0 16px; }.lp-gates p { font-size:12px; margin:0; }.lp-validation { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; }.lp-validation h3 { margin:16px 0; font-size:32px; }.lp-validation p { font-size:14px; }.lp-validation-list { padding:32px; background:white; border:1px solid var(--line); border-radius:10px; }.lp-validation-list h4 { font-size:20px; color:#4128cc; margin-bottom:16px; }.lp-validation-list ul { margin:0; padding-left:16px; }.lp-validation-list li { padding:8px 0 8px 5px; font-size:12px; line-height:1.8; }.lp-validation-list li::marker { color:#4128cc; }.lp-test-matrix { margin-top:48px; border:1px solid var(--line); border-radius:12px; background:white; padding:32px; }.lp-test-matrix h3 { font-size:24px; margin:16px 0; }.lp-test-matrix p { font-size:14px; max-width:860px; }.lp-test-matrix > div+div { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:24px 32px; padding-top:24px; margin-top:24px; }.lp-test-matrix span:not(.lp-label) { font-size:12px; color:#4128cc; line-height:1.8; }.lp-existing { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:48px; }.lp-existing h3 { font-size:24px; margin:16px 0; }.lp-existing h4 { font-size:24px; margin:0 0 16px; color:#4128cc; }.lp-existing > div+div { padding-top:32px; }.lp-existing p { font-size:14px; }.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 .lp-download { margin-bottom:0; }
@media(max-width:991px){.lp-hero { padding-top:24px; }.lp-breadcrumb { margin-bottom:32px; }.lp-foundation { margin-top:40px; }.lp-nav-links { display:none; }.lp-nav-mobile { display:flex; align-items:center; gap:16px; }.lp-nav-mobile label { font-size:12px; flex-shrink:0; }.lp-nav-mobile .form-select { font-size:12px; }.lp-section { padding:64px 0; }.lp-dimensions h3,.lp-dimensions p,.lp-dimensions > div > span { padding:16px; }.lp-taxonomy { gap:32px; }.lp-controls { grid-template-columns:1fr 1fr; }.lp-controls .btn { grid-column:1/-1; justify-self:start; }.lp-lab-heading { flex-direction:column; align-items:flex-start; gap:16px; }.lp-scope-inputs dl > div { grid-template-columns:85px 1fr; gap:16px; }.lp-checks { grid-template-columns:repeat(3,1fr); }.lp-flow article { grid-template-columns:25px 1fr; padding:32px; gap:16px; }.lp-flow a { grid-column:2; border:0; padding:0; }.lp-outcomes { gap:24px; }.lp-outcomes h3 { font-size:20px; }.lp-gates article { padding:24px; }.lp-gates h3 { font-size:20px; }.lp-validation,.lp-existing { gap:32px; }.lp-test-matrix > div+div { grid-template-columns:1fr 1fr; }.navbar-collapse.show { max-height:calc(100svh - 90px); overflow-y:auto; }}
@media(max-width:575px){.lp-hero h1 { font-size:2.5rem; }.lp-hero-lead { font-size:16px; }.lp-hero-support { font-size:14px; }.lp-breadcrumb { font-size:12px; gap:8px 8px; }.lp-foundation { display:grid; grid-template-columns:1fr 1fr; font-size:12px; gap:16px; }.lp-foundation > span { grid-column:1/-1; }.lp-cover figcaption { padding:16px; font-size:12px; line-height:1.7; }.lp-cover figcaption > span:first-child { max-width:205px; }.lp-cover-body { padding:24px 16px; }.lp-request strong { font-size:24px; }.lp-request .lp-label { font-size:12px; }.lp-role strong { font-size:16px; }.lp-reviewers { gap:8px; }.lp-reviewers > div { padding:16px 16px; }.lp-reviewers .lp-label { font-size:12px; }.lp-reviewers h3 { font-size:16px; letter-spacing:-.6px; }.lp-reviewers p { font-size:12px; }.lp-reviewers .lp-badge { font-size:12px; padding:4px 6px; white-space:normal; }.lp-cover-rule { padding:16px 16px; gap:16px; }.lp-cover-rule p { font-size:12px; }.lp-cover-footer { padding:16px 16px; font-size:12px; line-height:1.8; }.lp-section h2 { font-size:2rem; }.lp-section .lead-copy { font-size:16px; }.lp-heading { margin-bottom:32px; }.lp-dimensions > div { grid-template-columns:1fr; }.lp-dimensions .lp-dimension-head { display:none; }.lp-dimensions > div:nth-child(2) { border-top:0; }.lp-dimensions h3 { padding:24px 24px 16px; font-size:20px; }.lp-dimensions p { padding:0 24px 16px; border:0; }.lp-dimensions > div > span { padding:0 24px 24px; font-size:12px; }.lp-taxonomy { grid-template-columns:1fr; gap:24px; margin-top:40px; }.lp-taxonomy h3 { font-size:24px; }.lp-tree figcaption { padding:24px; }.lp-tree .lp-label { font-size:12px; }.lp-tree-root { margin:24px; }.lp-tree-children { margin:0 24px 0 32px; }.lp-tree > p { margin:16px 24px 24px; }.lp-facets { grid-template-columns:1fr; gap:16px; }.lp-lab-heading { padding:24px 16px; }.lp-lab-heading h3 { font-size:20px; }.lp-controls { grid-template-columns:1fr; padding:24px 16px; }.lp-controls .form-select { font-size:12px; width:100%; }.lp-controls .btn { justify-self:stretch; }.lp-scope-inputs { grid-template-columns:1fr; }.lp-scope-inputs article { padding:24px 16px; }.lp-scope-inputs article+article { border-left:0; border-top:1px solid var(--line); }.lp-scope-inputs h4 { font-size:24px; }.lp-scope-inputs dd { font-size:12px; }.lp-result { padding:24px 16px; }.lp-result-heading { flex-direction:column-reverse; gap:16px; }.lp-result-heading h4 { font-size:24px; }.lp-checks { grid-template-columns:1fr 1fr; }.lp-checks > div { padding:16px; }.lp-next { padding:16px 16px; }.lp-demo-footer { padding:16px; }.lp-lab-note { grid-template-columns:1fr; gap:16px; }.lp-flow article { grid-template-columns:20px 1fr; padding:24px 16px; gap:16px; }.lp-flow h3 { font-size:20px; }.lp-outcomes { grid-template-columns:1fr; gap:32px; margin-top:32px; }.lp-outcomes h3 { font-size:24px; }.lp-gates { grid-template-columns:1fr; }.lp-gates article { padding:24px 24px; border-right:0; }.lp-gates article:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }.lp-gates article:last-child { border-bottom:0; }.lp-gates h3 { font-size:24px; }.lp-validation { grid-template-columns:1fr; gap:24px; margin-top:40px; }.lp-validation h3 { font-size:24px; }.lp-validation-list { padding:24px 24px; }.lp-test-matrix { padding:32px 24px; margin-top:32px; }.lp-test-matrix h3 { font-size:24px; }.lp-test-matrix > div+div { grid-template-columns:1fr; gap:16px; }.lp-existing { grid-template-columns:1fr; gap:16px; margin-top:40px; }.lp-existing h3 { font-size:24px; }.lp-existing > div+div { padding-top:0; }.lp-related { grid-template-columns:1fr; }.lp-related a { border-right:0; border-bottom:1px solid var(--line); padding:24px; }.closing-cta { padding:64px 0; }}
@media(prefers-reduced-motion:reduce){html { scroll-behavior:auto; }}
.lp-anchor-alias { display:block; scroll-margin-top:calc(var(--header-height) + 100px); }
#scope-change .lp-existing { margin-top:0; }
