/* Private & Hybrid AI — isolated Frozion presentation, upright cards. */
:root { --ph-nav-height:66px; }
.ph-hero { padding:32px 0 0; background:radial-gradient(ellipse at 88% 20%,#f2f1ff 0,#f8fafa 32%,#ffffff 68%); }.ph-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; margin-bottom:56px; color:#626a70; }.ph-breadcrumb a { color:inherit; }
.ph-hero h1 { font-size:clamp(3rem,4.15vw,3.5rem); margin:24px 0 24px; }.ph-hero .eyebrow { font-size:12px; letter-spacing:.75px; }.ph-hero-lead { font-size:20px; line-height:1.65; max-width:610px; color:#424a50; }.ph-hero-support { font-size:14px; line-height:1.85; max-width:600px; }
.ph-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; }.ph-foundation > span { color:#626a70; }.ph-foundation strong { font-weight:500; }
.ph-label { display:block; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#626a70; }
.ph-cover { background:white; border:1px solid #e1ddff; border-radius:15px; box-shadow:0 22px 65px #2f1d990d; overflow:hidden; margin:0; }.ph-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; }.ph-cover figcaption span:last-child { letter-spacing:0; }.ph-cover-body { padding:24px; }
.ph-nav { position:sticky; top:var(--header-height); z-index:1020; background:white; border-block:1px solid var(--line); box-shadow:0 5px 12px #120a3d04; }.ph-nav-links { display:grid; grid-template-columns:repeat(5,1fr); }.ph-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; }.ph-nav-links a span { font-size:12px; color:#626a70; }.ph-nav-links a.active { color:var(--brand); border-color:var(--brand); background:linear-gradient(0deg,#f2f1ff,transparent); }.ph-nav-links a:hover { color:var(--brand); background:#f8fafa; }.ph-nav-mobile { display:none; padding:16px 0; }
.ph-section { padding:96px 0; scroll-margin-top:calc(var(--header-height) + var(--ph-nav-height) + 22px); }.ph-section h2 { font-size:clamp(2rem,3.35vw,3rem); }.ph-section h3 { font-size:20px; }.ph-section p { font-size:14px; line-height:1.85; }.ph-section .lead-copy { font-size:20px; line-height:1.65; }.ph-wash { background:#f8fafa; }.ph-heading { margin-bottom:48px; }.ph-note { font-size:12px !important; line-height:1.75 !important; color:#626a70; margin-top:16px; }.ph-subsection { margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.ph-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; }.ph-badge.is-warning { background:#fff9e6; border-color:#fff0bf; color:#664200; }.ph-badge.is-denied { background:#ffecee; border-color:#ffd2d7; color:#701024; }.ph-badge.is-neutral { background:#f2f1ff; border-color:#e1ddff; color:#626a70; }
.ph-related { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; margin-top:40px; overflow:hidden; background:white; }.ph-related a { padding:24px; border-right:1px solid var(--line); color:var(--body); }.ph-related a:last-child { border:0; }.ph-related a:hover { background:#f2f1ff; }.ph-related strong { display:block; font-size:16px; margin-bottom:16px; }.ph-related span { font-size:12px; line-height:1.7; display:block; }.ph-related b { display:block; margin-top:16px; font-size:12px; font-weight:500; color:var(--brand); }.ph-download { margin-top:24px; font-size:12px !important; }
.ph-hero h1 { font-size:clamp(3rem,4.1vw,3.5rem); }.ph-cover-head { margin-bottom:16px; }.ph-cover-head strong { display:block; color:#4128cc; font-size:20px; font-weight:500; margin:8px 0 6px; }.ph-cover-head small { color:#626a70; font-size:12px; }.ph-private-zone { border:1px solid #e1ddff; background:#f2f1ff; border-radius:9px; overflow:hidden; }.ph-private-zone > div:first-of-type { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 16px; }.ph-location { font-size:12px; color:#4128cc; border:1px solid #e1ddff; background:white; border-radius:4px; padding:2px 7px; }.ph-private-steps { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #f2f1ff; }.ph-private-steps article { padding:16px 16px; }.ph-private-steps article+article { border-left:1px solid #f2f1ff; }.ph-private-steps b { display:block; font-weight:400; font-size:12px; color:#4128cc; margin-bottom:8px; }.ph-private-steps strong { font-size:12px; font-weight:500; color:#4128cc; display:block; }.ph-private-steps small { display:block; font-size:12px; color:#626a70; margin-top:6px; }.ph-private-bottom { padding:16px 16px; border-top:1px solid #f2f1ff; display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; color:#626a70; }.ph-route-gate { padding:16px 4px; display:flex; justify-content:space-between; align-items:center; gap:8px; color:#4128cc; font-size:12px; }.ph-route-gate b { font-weight:400; font-size:16px; }.ph-managed-zone { border:1px solid var(--line); border-radius:8px; padding:16px 16px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.ph-managed-zone strong { color:#4128cc; display:block; font-size:14px; font-weight:500; margin:8px 0 7px; }.ph-managed-zone small { font-size:12px; color:#626a70; display:block; line-height:1.7; }.ph-cover-footer { padding:16px 24px; border-top:1px solid var(--line); font-size:12px; color:#626a70; background:#f8fafa; }
.ph-boundary-map { border:1px solid var(--line); border-radius:12px; overflow:hidden; }.ph-map-heading { padding:24px 32px; background:#f2f1ff; }.ph-map-heading h3 { margin:16px 0 0; font-size:24px; }.ph-boundary-row { display:grid; grid-template-columns:28px 1fr 1fr; gap:24px; padding:32px 32px; border-top:1px solid var(--line); }.ph-boundary-row > span { color:#4128cc; font-size:12px; padding-top:3px; }.ph-boundary-row h3 { font-size:20px; margin-bottom:16px; }.ph-boundary-row p { font-size:12px; margin:0; }.ph-boundary-row strong { color:#4128cc; font-size:14px; font-weight:500; display:block; margin-bottom:8px; }.ph-boundary-row > div:last-child { padding-left:24px; border-left:1px solid var(--line); }.ph-friction { margin-top:48px; }.ph-friction > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; padding-top:16px; }.ph-friction article { border-top:2px solid #e1ddff; padding-top:24px; }.ph-friction h3 { font-size:20px; }.ph-friction p { font-size:12px; margin:0; }
.ph-lab { border:1px solid #e1ddff; border-radius:14px; overflow:hidden; background:white; box-shadow:0 16px 55px #2f1d9907; }.ph-lab-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:24px 32px; border-bottom:1px solid var(--line); background:#f2f1ff; }.ph-lab-heading h3 { margin:8px 0 0; font-size:20px; }.ph-controls { display:grid; grid-template-columns:1fr 1.15fr auto; align-items:end; gap:16px; padding:24px 32px; border-bottom:1px solid var(--line); }.ph-controls > div { min-width:0; }.ph-controls label { display:block; font-size:12px; color:#626a70; margin-bottom:8px; }.ph-controls .form-select { min-width:0; font-size:12px; border-color:#e1ddff; padding-block:16px; }.ph-controls .btn { font-size:12px; padding:16px 16px; white-space:nowrap; }.ph-profile { display:grid; grid-template-columns:.7fr 1.3fr; background:#f8fafa; border-bottom:1px solid var(--line); }.ph-profile-title { padding:32px 32px; border-right:1px solid var(--line); }.ph-profile-title h4 { font-size:24px; margin:16px 0; }.ph-profile-title p { font-size:12px; margin:0; }.ph-profile-fields { margin:0; padding:16px 32px; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }.ph-profile-fields > div { border-bottom:1px solid var(--line); padding:16px 0; }.ph-profile-fields > div:nth-last-child(-n+2) { border-bottom:0; }.ph-profile-fields dt { font-size:12px; font-weight:500; color:#4128cc; margin-bottom:7px; }.ph-profile-fields dd { font-size:12px; line-height:1.8; margin:0; }.ph-placement { padding:32px 32px; scroll-margin-top:calc(var(--header-height) + var(--ph-nav-height) + 18px); }.ph-placement-summary { display:flex; gap:24px; justify-content:space-between; align-items:flex-start; margin-bottom:24px; }.ph-placement-summary h4 { font-size:24px; margin:16px 0; }.ph-placement-summary p { font-size:12px; margin:0; max-width:820px; }.ph-placement-summary > .ph-badge { margin-top:4px; }.ph-route-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.ph-route-card { border:1px solid var(--line); border-radius:9px; padding:24px; min-width:0; }.ph-route-card.is-selected { border-color:#beb6ff; background:#f2f1ff; box-shadow:inset 0 3px #beb6ff; }.ph-route-top { display:flex; gap:16px; align-items:center; justify-content:space-between; }.ph-route-top > span:first-child { font-size:12px; color:#626a70; }.ph-route-card h5 { font-size:20px; color:#4128cc; letter-spacing:-.4px; margin:16px 0 8px; font-weight:500; }.ph-route-version { font-size:12px !important; color:#626a70; margin:0 0 16px; }.ph-route-meta { margin:0; border-top:1px solid var(--line); }.ph-route-meta > div { display:grid; grid-template-columns:90px 1fr; gap:16px; padding:8px 0; }.ph-route-meta dt { font-size:12px; color:#626a70; font-weight:500; }.ph-route-meta dd { font-size:12px; margin:0; line-height:1.7; }.ph-route-reason { font-size:12px !important; line-height:1.8 !important; padding-top:16px; border-top:1px solid var(--line); margin:16px 0 0; }.ph-next { margin-top:24px; border:1px solid #e1ddff; border-left:3px solid #beb6ff; background:#f2f1ff; padding:16px 24px; border-radius:5px; }.ph-next p { font-size:12px; margin:8px 0 0; }.ph-evidence { margin-top:24px; }.ph-evidence p { font-size:12px; margin:8px 0 0; overflow-wrap:anywhere; }.ph-demo-footer { padding:16px 32px; border-top:1px solid var(--line); background:#f8fafa; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 24px; font-size:12px; color:#626a70; }.ph-demo-footer > span { max-width:850px; }.ph-reset { border:0; background:transparent; color:var(--brand); font-size:12px; padding:0; }.ph-lab-note { display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; padding-top:32px; }.ph-lab-note strong { font-size:14px; font-weight:500; }.ph-lab-note p { font-size:12px; margin:0; }.ph-profile-terms { padding:24px 32px; border:1px solid var(--line); border-radius:9px; margin-top:32px; background:#ffffff; }.ph-profile-terms > span { color:#626a70; font-size:12px; }.ph-profile-terms p { font-size:12px; margin:8px 0 0; }
.ph-continuity { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; overflow:hidden; }.ph-continuity article { padding:32px; border-right:1px solid var(--line); }.ph-continuity article:last-child { border:0; }.ph-continuity h3 { font-size:24px; margin:16px 0; }.ph-continuity p { font-size:12px; }.ph-continuity b { display:block; font-size:12px; font-weight:500; color:#4128cc; margin-top:24px; }.ph-llm-off { display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:56px; }.ph-llm-off h3 { font-size:24px; margin:16px 0; }.ph-llm-off p { font-size:14px; }.ph-work-split { border:1px solid #e1ddff; border-radius:10px; overflow:hidden; }.ph-work-split > div { padding:24px 24px; background:#f8fafa; }.ph-work-split > div+div { border-top:1px solid var(--line); background:white; }.ph-work-split strong { display:block; font-size:16px; font-weight:500; color:#4128cc; margin:16px 0 8px; }.ph-work-split p { font-size:12px; margin:0; }.ph-dependency-note { border-top:1px solid var(--line); padding-top:32px; margin-top:32px; display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; }.ph-dependency-note strong { font-size:16px; font-weight:500; }.ph-dependency-note p { font-size:12px; margin:0; }
.ph-deployments { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:12px; overflow:hidden; background:white; }.ph-deployments article { padding:32px 32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.ph-deployments article:nth-child(3n) { border-right:0; }.ph-deployments article:nth-last-child(-n+3) { border-bottom:0; }.ph-deployments span { font-size:12px; color:#4128cc; }.ph-deployments h3 { font-size:20px; margin:16px 0; }.ph-deployments p { font-size:12px; margin:0; }.ph-portability { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; }.ph-portability h3 { margin:16px 0; font-size:24px; }.ph-portability p { font-size:14px; }.ph-portability dl { margin:0; }.ph-portability dl > div { padding:16px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:140px 1fr; gap:24px; }.ph-portability dt { font-size:12px; color:#4128cc; font-weight:500; }.ph-portability dd { margin:0; font-size:12px; line-height:1.8; }.ph-economics { padding:32px; border:1px solid var(--line); border-radius:12px; margin-top:48px; background:#ffffff; }.ph-economics > div:first-child { max-width:860px; }.ph-economics h3 { font-size:24px; margin:16px 0; }.ph-economics p { font-size:14px; }.ph-metrics { display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; border-top:1px solid var(--line); padding-top:32px; }.ph-metrics strong { display:block; font-size:16px; font-weight:500; color:#4128cc; margin-bottom:8px; }.ph-metrics span { font-size:12px; display:block; line-height:1.8; }.ph-economics .ph-note { margin:24px 0 0; }.ph-evidence-strip { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:48px; }.ph-evidence-strip h3 { font-size:24px; margin:16px 0 0; }.ph-evidence-strip p { font-size:14px; margin:0; }.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 .ph-download { margin-bottom:0; }
@media(max-width:991px){.ph-hero { padding-top:24px; }.ph-breadcrumb { margin-bottom:32px; }.ph-foundation { margin-top:40px; }.ph-nav-links { display:none; }.ph-nav-mobile { display:flex; align-items:center; gap:16px; }.ph-nav-mobile label { font-size:12px; flex-shrink:0; }.ph-nav-mobile .form-select { font-size:12px; }.ph-section { padding:64px 0; }.ph-boundary-row { gap:16px; padding:24px; }.ph-boundary-row > div:last-child { padding-left:16px; }.ph-friction > div:last-child { gap:24px; }.ph-controls { grid-template-columns:1fr 1fr; }.ph-controls .btn { grid-column:1/-1; justify-self:start; }.ph-profile { grid-template-columns:1fr; }.ph-profile-title { border-right:0; border-bottom:1px solid var(--line); }.ph-lab-heading { align-items:flex-start; flex-direction:column; gap:16px; }.ph-continuity article { padding:24px; }.ph-continuity h3 { font-size:20px; }.ph-llm-off { gap:32px; }.ph-portability { gap:32px; }.ph-portability dl > div { grid-template-columns:1fr; gap:8px; }.ph-related a { padding:24px; }.navbar-collapse.show { max-height:calc(100svh - 90px); overflow-y:auto; }}
@media(max-width:575px){.ph-hero h1 { font-size:2.5rem; }.ph-hero-lead { font-size:16px; }.ph-hero-support { font-size:14px; }.ph-breadcrumb { font-size:12px; }.ph-foundation { display:grid; grid-template-columns:1fr 1fr; font-size:12px; gap:16px; }.ph-foundation > span { grid-column:1/-1; }.ph-cover-body { padding:16px 16px; }.ph-cover figcaption { font-size:12px; padding:16px 16px; }.ph-cover-head strong { font-size:20px; }.ph-private-zone > div:first-of-type { padding:16px; }.ph-private-zone .ph-label { font-size:12px; }.ph-private-steps article { padding:16px 16px; }.ph-private-steps strong { font-size:12px; }.ph-private-steps small { font-size:12px; }.ph-private-bottom { padding:16px 16px; gap:8px 16px; font-size:12px; }.ph-managed-zone { padding:16px 16px; gap:8px; }.ph-managed-zone .ph-label { font-size:12px; }.ph-managed-zone .ph-location { font-size:12px; }.ph-cover-footer { padding:16px 16px; font-size:12px; }.ph-section h2 { font-size:2rem; }.ph-section .lead-copy { font-size:16px; }.ph-heading { margin-bottom:32px; }.ph-map-heading { padding:24px 16px; }.ph-map-heading h3 { font-size:20px; }.ph-boundary-row { grid-template-columns:22px 1fr; padding:24px 16px; gap:16px; }.ph-boundary-row > div:last-child { grid-column:2; border-left:0; border-top:1px solid var(--line); padding:16px 0 0; margin-top:2px; }.ph-boundary-row h3 { font-size:20px; }.ph-friction > div:last-child { grid-template-columns:1fr; gap:24px; }.ph-lab-heading { padding:24px 16px; }.ph-lab-heading h3 { font-size:20px; }.ph-lab-heading .ph-badge { font-size:12px; white-space:normal; }.ph-controls { grid-template-columns:1fr; padding:24px 16px; gap:16px; }.ph-controls .btn { justify-self:stretch; }.ph-controls .form-select { font-size:12px; width:100%; }.ph-profile-title { padding:24px 16px; }.ph-profile-title h4 { font-size:24px; }.ph-profile-fields { padding:8px 16px; grid-template-columns:1fr; }.ph-profile-fields > div:nth-last-child(2) { border-bottom:1px solid var(--line); }.ph-placement { padding:24px 16px; }.ph-placement-summary { flex-direction:column-reverse; gap:16px; }.ph-placement-summary h4 { font-size:24px; }.ph-route-grid { grid-template-columns:1fr; gap:16px; }.ph-route-card { padding:24px 16px; }.ph-route-top > span:first-child { font-size:12px; }.ph-route-card h5 { font-size:20px; }.ph-route-meta > div { grid-template-columns:76px 1fr; gap:16px; }.ph-route-reason { font-size:12px !important; }.ph-next { padding:16px; }.ph-demo-footer { padding:16px 16px; }.ph-lab-note { grid-template-columns:1fr; gap:16px; }.ph-profile-terms { padding:24px; }.ph-continuity { grid-template-columns:1fr; }.ph-continuity article { padding:24px 24px; border-right:0; border-bottom:1px solid var(--line); }.ph-continuity h3 { font-size:24px; }.ph-llm-off { grid-template-columns:1fr; gap:32px; margin-top:40px; }.ph-dependency-note { grid-template-columns:1fr; gap:16px; }.ph-deployments { grid-template-columns:1fr 1fr; }.ph-deployments article { padding:24px 16px; }.ph-deployments article:nth-child(3n) { border-right:1px solid var(--line); }.ph-deployments article:nth-child(2n) { border-right:0; }.ph-deployments article:nth-last-child(3) { border-bottom:1px solid var(--line); }.ph-deployments h3 { font-size:16px; }.ph-deployments p { font-size:12px; }.ph-portability { grid-template-columns:1fr; gap:24px; margin-top:40px; }.ph-portability h3 { font-size:24px; }.ph-economics { padding:24px 24px; margin-top:40px; }.ph-economics h3 { font-size:24px; }.ph-metrics { grid-template-columns:1fr; gap:24px; }.ph-evidence-strip { grid-template-columns:1fr; gap:16px; margin-top:40px; }.ph-related { grid-template-columns:1fr; }.ph-related a { border-right:0; border-bottom:1px solid var(--line); }.closing-cta { padding:64px 0; }}
@media(prefers-reduced-motion:reduce){html { scroll-behavior:auto; }}
/* Four confirmed infrastructure choices and a readable two-column scope. */
.ph-trust-line { margin:24px 0 0; max-width:600px; font-size:13px; line-height:1.8; color:#535964; }
.ph-deployments { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ph-deployments article:nth-child(n) { border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-width:0; }
.ph-deployments article:nth-child(2n) { border-right:0; }
.ph-deployments article:nth-last-child(-n+2) { border-bottom:0; }
.ph-scope-intro { max-width:850px; margin:20px 0 28px !important; font-size:18px !important; }
.ph-scope-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.ph-scope-columns h3 { margin:0 0 16px; font-size:22px; }
.ph-scope-columns p { margin:0; }
@media(max-width:575px){.ph-deployments,.ph-scope-columns { grid-template-columns:1fr; }.ph-deployments article:nth-child(n) { border-right:0; border-bottom:1px solid var(--line); }.ph-deployments article:last-child { border-bottom:0; }}
