:root {
    --palo-ink: #102a43;
    --palo-ink-soft: #334e68;
    --palo-muted: #627d98;
    --palo-line: #d9e2ec;
    --palo-surface: #f5f8fa;
    --palo-white: #ffffff;
    --palo-teal: #147d8b;
    --palo-teal-dark: #0b3c49;
    --palo-teal-light: #d9f3f4;
    --palo-gold: #c78a19;
    --palo-green: #2f855a;
    --palo-red: #b83232;
    --palo-radius: 6px;
    --palo-shadow: 0 8px 22px rgba(16, 42, 67, 0.08);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 88px; }

body.palo-v21 {
    margin: 0;
    color: var(--palo-ink);
    background: var(--palo-white);
    font-family: Inter, Arial, sans-serif;
    line-height: 1.6;
}

body.palo-v21 a { color: var(--palo-teal-dark); }
body.palo-v21 a:hover { color: var(--palo-teal); }
body.palo-v21 a:focus-visible,
body.palo-v21 button:focus-visible,
body.palo-v21 input:focus-visible,
body.palo-v21 select:focus-visible,
body.palo-v21 textarea:focus-visible {
    outline: 3px solid var(--palo-gold);
    outline-offset: 3px;
}

.palo-skip-link {
    position: absolute;
    left: -999px;
    top: 0;
    z-index: 100;
    padding: 10px 14px;
    color: var(--palo-ink);
    background: var(--palo-white);
}

.palo-skip-link:focus { left: 14px; top: 14px; }

.palo-shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

.palo-site-header {
    color: var(--palo-white);
    background: var(--palo-teal-dark);
    border-bottom: 4px solid var(--palo-gold);
}

.palo-header-inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.palo-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    color: var(--palo-white) !important;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-decoration: none;
    white-space: nowrap;
}

.palo-brand img { width: 34px; height: 34px; object-fit: contain; }

.palo-nav {
    display: flex;
    align-items: center;
    gap: 16px;
}

.palo-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: #d9f3f4 !important;
    font-size: 0.9rem;
    text-decoration: none;
}

.palo-nav a:hover { color: var(--palo-white) !important; }

.palo-menu-toggle {
    display: none;
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
    color: var(--palo-white);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: var(--palo-radius);
    cursor: pointer;
}

.palo-main { padding: 0 0 76px; }

.palo-hero {
    padding: 72px 0 60px;
    background: var(--palo-surface);
    border-bottom: 1px solid var(--palo-line);
}

.palo-hero h1 {
    max-width: 860px;
    margin: 0;
    font-size: clamp(2.25rem, 5vw, 4.4rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.palo-hero p:not(.palo-eyebrow) {
    max-width: 780px;
    margin: 22px 0 0;
    color: var(--palo-ink-soft);
    font-size: 1.12rem;
}

.palo-eyebrow {
    margin: 0 0 14px;
    color: var(--palo-gold);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.palo-section { padding: 52px 0; border-bottom: 1px solid var(--palo-line); }
.palo-section:last-child { border-bottom: 0; }
.palo-section h2 { margin: 0 0 12px; font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.2; }
.palo-section h3 { margin: 0 0 8px; font-size: 1.15rem; line-height: 1.25; }
.palo-lead { max-width: 820px; margin: 0; color: var(--palo-muted); }
.palo-small { color: var(--palo-muted); font-size: 0.9rem; }

.palo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.palo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 16px;
    color: var(--palo-white) !important;
    background: var(--palo-teal);
    border: 1px solid var(--palo-teal);
    border-radius: var(--palo-radius);
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.palo-btn:hover { color: var(--palo-white) !important; background: var(--palo-teal-dark); border-color: var(--palo-teal-dark); }
.palo-btn-secondary { color: var(--palo-teal-dark) !important; background: var(--palo-white); border-color: var(--palo-teal-dark); }
.palo-btn-secondary:hover { color: var(--palo-white) !important; background: var(--palo-teal-dark); }
.palo-btn-muted { color: var(--palo-ink) !important; background: var(--palo-surface); border-color: var(--palo-line); }
.palo-btn-muted:hover { color: var(--palo-ink) !important; background: var(--palo-line); border-color: var(--palo-muted); }

.palo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.palo-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.palo-card {
    padding: 22px;
    background: var(--palo-white);
    border: 1px solid var(--palo-line);
    border-radius: var(--palo-radius);
    box-shadow: var(--palo-shadow);
}

.palo-card p { margin: 0; color: var(--palo-muted); }
.palo-card .palo-actions { margin-top: 18px; }
.palo-card-kicker { margin: 0 0 10px; color: var(--palo-teal); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }

.palo-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 28px; }
.palo-step { position: relative; min-height: 130px; padding: 18px; background: var(--palo-surface); border-top: 4px solid var(--palo-teal); }
.palo-step-number { display: block; margin-bottom: 10px; color: var(--palo-gold); font-size: 0.82rem; font-weight: 800; }
.palo-step p { margin: 0; color: var(--palo-muted); font-size: 0.92rem; }

.palo-note { margin-top: 24px; padding: 18px 20px; color: var(--palo-ink-soft); background: #fffaf0; border-left: 4px solid var(--palo-gold); }
.palo-note strong { color: var(--palo-ink); }

.palo-signal-import { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 16px 24px; align-items: end; margin: 24px 0 30px; padding: 20px; background: var(--palo-surface); border: 1px solid var(--palo-line); border-top: 4px solid var(--palo-teal); border-radius: 6px; }
.palo-signal-import h3 { margin: 4px 0 7px; }
.palo-signal-import p { margin: 0; color: var(--palo-ink-soft); line-height: 1.55; }
.palo-signal-import .palo-actions { justify-content: flex-end; margin: 0; }
.palo-signal-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 13px; border-top: 1px solid var(--palo-line); }
.palo-signal-links a { min-height: 44px; display: inline-flex; align-items: center; color: var(--palo-teal-dark); font-size: .82rem; font-weight: 800; }
.palo-signal-review { grid-column: 1 / -1; padding: 14px 16px; color: var(--palo-ink-soft); background: var(--palo-white); border-left: 4px solid var(--palo-gold); line-height: 1.5; }
.palo-signal-review strong { color: var(--palo-ink); }
.palo-signal-review.is-error { border-left-color: var(--palo-red); }
.palo-signal-review.is-pending { border-left-color: var(--palo-gold); }

.palo-status { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--palo-teal-dark); font-size: 0.9rem; font-weight: 800; }
.palo-status .palo-svg-icon { color: var(--palo-green); }

.palo-form { margin-top: 30px; padding: 26px; background: var(--palo-surface); border: 1px solid var(--palo-line); border-radius: var(--palo-radius); }
.palo-form h3 { margin-top: 0; }
.palo-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.palo-field { display: flex; flex-direction: column; gap: 7px; }
.palo-field-full { grid-column: 1 / -1; }
.palo-field label, .palo-field legend { color: var(--palo-ink); font-weight: 800; }
.palo-field input, .palo-field select, .palo-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    color: var(--palo-ink);
    background: var(--palo-white);
    border: 1px solid #9fb3c8;
    border-radius: var(--palo-radius);
    font: inherit;
}
.palo-field textarea { min-height: 104px; resize: vertical; }
.palo-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.palo-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin-top: 4px; }
.palo-check { display: flex; align-items: flex-start; gap: 9px; color: var(--palo-ink-soft); }
.palo-check input { width: 20px; min-height: 20px; margin-top: 3px; accent-color: var(--palo-teal); }
.palo-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }

.palo-results { display: none; margin-top: 30px; padding: 26px; background: #eef8f8; border: 1px solid #a9d8da; border-radius: var(--palo-radius); }
.palo-results.is-visible { display: block; }
.palo-results h2 { margin-top: 0; }
.palo-results-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 22px; margin-top: 20px; }
.palo-route { margin: 0; padding: 0; list-style: none; }
.palo-route li { display: flex; gap: 10px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid #c8e6e6; }
.palo-route li:last-child { border-bottom: 0; }
.palo-route .palo-svg-icon { margin-top: 5px; color: var(--palo-teal); }
.palo-output { width: 100%; min-height: 230px; padding: 14px; overflow: auto; color: #17324d; background: var(--palo-white); border: 1px solid #a9d8da; border-radius: var(--palo-radius); font: 0.82rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; }

.palo-table-wrap { margin-top: 26px; overflow-x: auto; }
.palo-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.palo-table th, .palo-table td { padding: 14px 15px; vertical-align: top; text-align: left; border: 1px solid var(--palo-line); }
.palo-table th { color: var(--palo-white); background: var(--palo-teal-dark); }
.palo-table td { color: var(--palo-ink-soft); background: var(--palo-white); }

.palo-doc-search { max-width: 560px; margin-top: 24px; }
.palo-doc-search label { display: block; margin-bottom: 7px; font-weight: 800; }
.palo-doc-search input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #9fb3c8; border-radius: var(--palo-radius); font: inherit; }
.palo-doc-card.is-filtered { display: none; }
.palo-empty { display: none; margin-top: 20px; color: var(--palo-muted); }
.palo-empty.is-visible { display: block; }

.palo-footer { padding: 32px 0; color: #d9e2ec; background: var(--palo-ink); font-size: 0.9rem; }
.palo-footer p { margin: 0; }
.palo-footer a { color: #b6e3e7; }
.palo-footer-links { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 12px; }

@media (max-width: 900px) {
    .palo-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .palo-results-grid { grid-template-columns: 1fr; }
    .palo-header-inner { min-height: 68px; position: relative; }
    .palo-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .palo-nav { display: none; position: absolute; z-index: 20; top: 68px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 14px 14px; background: var(--palo-teal-dark); border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
    .palo-nav.is-open { display: flex; }
    .palo-nav a { padding: 4px 0; }
}

@media (max-width: 760px) {
    .palo-shell { width: min(100% - 28px, 620px); }
    .palo-header-inner { min-height: 68px; }
    .palo-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .palo-nav { display: none; position: absolute; top: 68px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 14px 14px; background: var(--palo-teal-dark); border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
    .palo-nav.is-open { display: flex; }
    .palo-nav a { padding: 4px 0; }
    .palo-hero { padding: 52px 0 44px; }
    .palo-section { padding: 40px 0; }
    .palo-grid, .palo-grid-2, .palo-form-grid, .palo-checks { grid-template-columns: 1fr; }
    .palo-flow { grid-template-columns: 1fr; }
    .palo-step { min-height: auto; }
    .palo-field-full, .palo-form-actions { grid-column: auto; }
    .palo-form { padding: 19px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* PALO-AI documentation and adoption surface */
.palo-ai-main { padding-bottom: 0; }
.palo-ai-hero { padding: 70px 0 62px; background: var(--palo-surface); border-bottom: 1px solid var(--palo-line); }
.palo-ai-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); align-items: center; gap: clamp(36px, 7vw, 86px); }
.palo-ai-hero h1 { max-width: 700px; margin: 0; font-size: clamp(2.65rem, 5.6vw, 5.25rem); line-height: .98; letter-spacing: -.045em; }
.palo-ai-hero-lead { max-width: 700px; margin: 24px 0 0; color: var(--palo-ink-soft); font-size: 1.14rem; }
.palo-ai-status-line { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.palo-ai-chip { display: inline-flex; align-items: center; min-height: 27px; padding: 3px 8px; color: var(--palo-ink-soft); background: var(--palo-white); border: 1px solid var(--palo-line); border-radius: 3px; font-size: .7rem; font-weight: 800; letter-spacing: .045em; line-height: 1.2; text-transform: uppercase; }
.palo-ai-chip-preview, .palo-ai-chip.is-prototype { color: #734f09; background: #fff8e6; border-color: #e2bd6d; }
.palo-ai-chip.is-implemented { color: #245c40; background: #edf8f1; border-color: #98c9ad; }
.palo-ai-chip.is-specified { color: var(--palo-teal-dark); background: #eaf7f8; border-color: #9bcfd4; }
.palo-ai-boundary { max-width: 700px; margin: 22px 0 0; padding: 15px 17px; color: var(--palo-ink-soft); background: var(--palo-white); border-left: 4px solid var(--palo-gold); font-size: .92rem; }
.palo-ai-boundary strong { color: var(--palo-ink); }

.palo-ai-control-plane { display: grid; grid-template-columns: minmax(90px, .7fr) 28px minmax(190px, 1.25fr) 28px minmax(110px, .8fr); align-items: center; margin: 0; padding: 22px; color: var(--palo-white); background: var(--palo-teal-dark); border-top: 5px solid var(--palo-gold); box-shadow: 16px 18px 0 #dce5e9; }
.palo-ai-proposal, .palo-ai-outcomes { min-width: 0; }
.palo-ai-proposal span, .palo-ai-proposal strong { display: block; }
.palo-ai-proposal span { color: #a8dadd; font: 700 .68rem ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; }
.palo-ai-proposal strong { margin-top: 6px; font-size: .9rem; line-height: 1.25; }
.palo-ai-arrow { color: var(--palo-gold); font-size: 1.4rem; text-align: center; }
.palo-ai-core { padding: 16px; background: #12313c; border: 1px solid #44727b; }
.palo-ai-core-label { display: block; margin-bottom: 10px; color: #a8dadd; font: 700 .65rem ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; }
.palo-ai-core ol { margin: 0; padding: 0; list-style: none; }
.palo-ai-core li { display: flex; gap: 7px; padding: 7px 0; border-top: 1px solid #294d57; font-size: .76rem; line-height: 1.25; }
.palo-ai-core li span { color: var(--palo-gold); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.palo-ai-outcomes { display: grid; gap: 8px; }
.palo-ai-outcomes span { padding: 7px 8px; background: #173f4a; border-left: 3px solid; font-size: .7rem; font-weight: 800; line-height: 1.25; }
.palo-ai-outcomes .is-allow { border-color: #69c38e; }
.palo-ai-outcomes .is-review { border-color: var(--palo-gold); }
.palo-ai-outcomes .is-deny { border-color: #e67d7d; }
.palo-ai-control-plane figcaption { grid-column: 1 / -1; margin-top: 16px; padding-top: 14px; color: #c7d8dc; border-top: 1px solid #44727b; font-size: .73rem; line-height: 1.45; }

.palo-ai-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; border-top: 1px solid var(--palo-line); border-bottom: 1px solid var(--palo-line); }
.palo-ai-route { display: flex; flex-direction: column; min-width: 0; padding: 28px 26px 30px; border-right: 1px solid var(--palo-line); }
.palo-ai-route:last-child { border-right: 0; }
.palo-ai-route:nth-child(2) { background: var(--palo-surface); }
.palo-ai-route-number { margin-bottom: 42px; color: var(--palo-teal); font: 800 .72rem ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.palo-ai-route h3 { font-size: 1.5rem; }
.palo-ai-route > p { color: var(--palo-muted); }
.palo-ai-route dl { margin: 26px 0 0; }
.palo-ai-route dl div { padding: 12px 0; border-top: 1px solid var(--palo-line); }
.palo-ai-route dt { color: var(--palo-ink); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.palo-ai-route dd { margin: 4px 0 0; color: var(--palo-muted); font-size: .88rem; }
.palo-ai-route .palo-actions { margin-top: auto; padding-top: 20px; }

.palo-ai-dark { color: var(--palo-white); background: var(--palo-teal-dark); }
.palo-ai-dark h2 { color: var(--palo-white); }
.palo-ai-lifecycle { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 34px 0 0; padding: 0; list-style: none; border-top: 1px solid #456e77; border-bottom: 1px solid #456e77; }
.palo-ai-lifecycle li { min-height: 195px; padding: 18px 13px; border-right: 1px solid #456e77; }
.palo-ai-lifecycle li:last-child { border-right: 0; }
.palo-ai-lifecycle span, .palo-ai-lifecycle strong, .palo-ai-lifecycle small { display: block; }
.palo-ai-lifecycle span { color: var(--palo-gold); font: 800 .7rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.palo-ai-lifecycle strong { margin-top: 44px; font-size: .94rem; }
.palo-ai-lifecycle small { margin-top: 7px; color: #c4dadd; font-size: .73rem; line-height: 1.4; }

.palo-ai-deployment-table th[scope="row"], .palo-ai-platform-table th[scope="row"] { color: var(--palo-ink); background: #f2f6f7; }
.palo-ai-endpoints { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 24px; background: var(--palo-line); border: 1px solid var(--palo-line); }
.palo-ai-endpoints div { min-width: 0; padding: 16px; background: var(--palo-surface); }
.palo-ai-endpoints span { display: block; color: var(--palo-muted); font-size: .73rem; font-weight: 800; text-transform: uppercase; }
.palo-ai-endpoints code { display: block; margin-top: 7px; overflow-wrap: anywhere; color: var(--palo-teal-dark); font-size: .84rem; }
.palo-table-scroll-hint { display: none; margin: 18px 0 -14px; color: var(--palo-muted); font-size: .78rem; font-weight: 800; }

.palo-ai-assurance { background: var(--palo-surface); }
.palo-ai-assurance-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(380px, 1.15fr); gap: clamp(36px, 7vw, 96px); }
.palo-ai-assurance-grid p { color: var(--palo-muted); }
.palo-ai-assurance-list { padding: 24px; background: var(--palo-white); border-top: 4px solid var(--palo-teal); }
.palo-ai-assurance-list ul { margin: 18px 0 0; padding-left: 20px; }
.palo-ai-assurance-list li { margin: 10px 0; color: var(--palo-ink-soft); }
.palo-ai-boundary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; border: 1px solid var(--palo-line); }
.palo-ai-boundary-grid article { padding: 21px; border-right: 1px solid var(--palo-line); }
.palo-ai-boundary-grid article:last-child { border-right: 0; }
.palo-ai-boundary-grid h3 { margin-top: 18px; }
.palo-ai-boundary-grid p { color: var(--palo-muted); font-size: .9rem; }
.palo-ai-invitation { color: var(--palo-white); background: var(--palo-ink); }
.palo-ai-invitation h2 { color: var(--palo-white); }
.palo-ai-invitation-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 7vw, 90px); }
.palo-ai-invitation-grid > div:last-child > p { margin: 0; color: #c8d8e2; }

@media (max-width: 1080px) {
    .palo-ai-hero-grid { grid-template-columns: 1fr; }
    .palo-ai-control-plane { max-width: 720px; }
    .palo-ai-lifecycle { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .palo-ai-lifecycle li { min-height: 170px; border-bottom: 1px solid #456e77; }
    .palo-ai-lifecycle li:nth-child(4) { border-right: 0; }
    .palo-ai-boundary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .palo-ai-boundary-grid article:nth-child(2) { border-right: 0; }
    .palo-ai-boundary-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--palo-line); }
}

@media (max-width: 760px) {
    .palo-ai-hero { padding: 48px 0; }
    .palo-ai-routes { grid-template-columns: 1fr; }
    .palo-ai-route { border-right: 0; border-bottom: 1px solid var(--palo-line); }
    .palo-ai-route:last-child { border-bottom: 0; }
    .palo-ai-route-number { margin-bottom: 22px; }
    .palo-ai-lifecycle { grid-template-columns: 1fr; }
    .palo-ai-lifecycle li { min-height: 0; border-right: 0; }
    .palo-ai-lifecycle strong { margin-top: 16px; }
    .palo-ai-endpoints, .palo-ai-assurance-grid, .palo-ai-invitation-grid { grid-template-columns: 1fr; }
    .palo-table-scroll-hint { display: block; }
    .palo-ai-deployment-table, .palo-ai-platform-table { min-width: 760px; }
}

@media (max-width: 540px) {
    .palo-ai-control-plane { grid-template-columns: 1fr; gap: 10px; padding: 18px; box-shadow: 8px 9px 0 #dce5e9; }
    .palo-ai-arrow { transform: rotate(90deg); }
    .palo-ai-boundary-grid { grid-template-columns: 1fr; }
    .palo-ai-boundary-grid article { border-right: 0; border-bottom: 1px solid var(--palo-line); }
    .palo-ai-boundary-grid article:nth-child(3) { border-bottom: 1px solid var(--palo-line); }
    .palo-ai-boundary-grid article:last-child { border-bottom: 0; }
}

/* Homepage command surface */
.palo-command-bar {
    position: sticky;
    top: 0;
    z-index: 80;
    color: var(--palo-ink);
    background: rgba(255, 255, 255, 0.98);
    border-top: 3px solid var(--palo-ink);
    border-bottom: 1px solid var(--palo-line);
    box-shadow: 0 4px 16px rgba(16, 42, 67, 0.08);
}

.palo-command-bar.is-scrolled { box-shadow: 0 8px 24px rgba(16, 42, 67, 0.14); }
.palo-command-inner { width: min(1320px, calc(100% - 40px)); min-height: 76px; margin: 0 auto; display: flex; align-items: center; gap: 24px; }
.palo-command-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 178px; color: var(--palo-ink) !important; text-decoration: none; }
.palo-command-brand img { width: 46px; height: 46px; object-fit: contain; }
.palo-command-brand span { display: flex; flex-direction: column; line-height: 1.05; }
.palo-command-brand strong { color: var(--palo-ink); font-size: 1.22rem; letter-spacing: 0.03em; }
.palo-command-brand small { margin-top: 4px; color: var(--palo-teal); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.palo-command-context { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--palo-muted); font-size: 0.78rem; }
.palo-command-kicker { white-space: nowrap; }
.palo-command-release { padding: 4px 7px; color: var(--palo-teal-dark); background: var(--palo-teal-light); border-radius: 4px; font-weight: 800; white-space: nowrap; }
.palo-command-nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-left: auto; }
.palo-command-link, .palo-command-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 12px; border-radius: 5px; color: var(--palo-ink-soft) !important; font-size: 0.9rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.palo-command-link:hover, .palo-command-link.is-active { color: var(--palo-teal-dark) !important; background: #edf8f8; }
.palo-command-link .palo-svg-icon { color: var(--palo-teal); }
.palo-command-action { color: var(--palo-white) !important; background: var(--palo-teal); }
.palo-command-action:hover { color: var(--palo-white) !important; background: var(--palo-teal-dark); }
.palo-command-toggle { display: none; min-width: 44px; min-height: 44px; margin-left: auto; padding: 8px; color: var(--palo-ink); background: var(--palo-white); border: 1px solid var(--palo-line); border-radius: 5px; cursor: pointer; }
.palo-command-mobile { display: none; }

.palo-home-hero { padding: 82px 0 68px; background: #f4f7f9; border-bottom: 1px solid var(--palo-line); }
.palo-home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); align-items: center; gap: clamp(36px, 7vw, 96px); }
.palo-home-hero-copy h1 { margin: 0; color: var(--palo-ink); font-size: clamp(3rem, 6vw, 5.7rem); line-height: 0.98; letter-spacing: 0; }
.palo-home-hero-title { max-width: 600px; margin: 22px 0 0; color: var(--palo-ink-soft); font-size: clamp(1.45rem, 2.5vw, 2.1rem); font-weight: 700; line-height: 1.2; }
.palo-home-hero-lead { max-width: 640px; margin: 18px 0 0; color: var(--palo-muted); font-size: 1.08rem; }
.palo-home-hero .palo-actions { margin-top: 28px; }
.palo-home-status { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 30px; color: var(--palo-muted); font-size: 0.84rem; font-weight: 800; }
.palo-status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; background: var(--palo-green); border-radius: 50%; }
.palo-status-dot.is-teal { background: var(--palo-teal); }
.palo-status-dot.is-gold { background: var(--palo-gold); }
.palo-home-workspace { padding: 22px; background: var(--palo-white); border: 1px solid var(--palo-line); border-radius: 8px; box-shadow: 0 16px 30px rgba(16, 42, 67, 0.1); }
.palo-home-workspace-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 18px; }
.palo-home-workspace h2 { margin: 0; color: var(--palo-ink); font-size: 1.35rem; line-height: 1.15; }
.palo-home-version { padding: 5px 8px; color: var(--palo-muted); background: var(--palo-surface); border: 1px solid var(--palo-line); border-radius: 4px; font: 800 0.76rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.palo-workspace-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) 22px; align-items: center; gap: 12px; min-height: 72px; padding: 12px 0; color: var(--palo-ink) !important; border-top: 1px solid var(--palo-line); text-decoration: none; }
.palo-workspace-row:hover { color: var(--palo-teal-dark) !important; }
.palo-workspace-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--palo-teal); background: var(--palo-teal-light); border-radius: 5px; }
.palo-workspace-row strong, .palo-workspace-row small { display: block; }
.palo-workspace-row strong { font-size: 0.98rem; }
.palo-workspace-row small { margin-top: 3px; color: var(--palo-muted); font-size: 0.8rem; line-height: 1.3; }
.palo-workspace-arrow { color: var(--palo-gold); font-size: 1.3rem; font-weight: 400; text-align: right; }
.palo-home-workspace-foot { display: flex; align-items: center; gap: 8px; padding-top: 17px; color: var(--palo-muted); border-top: 1px solid var(--palo-line); font-size: 0.78rem; }
.palo-home-workspace-foot .palo-svg-icon { color: var(--palo-teal); }
.palo-home-workspace-foot a { color: var(--palo-teal-dark) !important; font-weight: 800; }
.palo-home-workspace-foot span:last-child { margin-left: auto; }

.palo-home-footer { padding: 38px 0 26px; color: var(--palo-ink-soft); background: #f4f7f9; border-top: 1px solid var(--palo-line); }
.palo-home-footer-inner { width: min(1320px, calc(100% - 40px)); margin: 0 auto; }
.palo-home-footer-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.palo-home-footer-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--palo-ink); font-weight: 800; }
.palo-home-footer-brand img { width: 34px; height: 34px; object-fit: contain; }
.palo-home-footer-links { display: flex; flex: 1; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; font-size: 0.88rem; }
.palo-home-footer-links a { min-height: 44px; display: inline-flex; align-items: center; color: var(--palo-ink-soft) !important; text-decoration: none; }
.palo-home-footer-links a:hover { color: var(--palo-teal) !important; }
.palo-home-footer-legal { margin: 26px 0 0; padding-top: 18px; color: var(--palo-muted); border-top: 1px solid var(--palo-line); font-size: 0.78rem; }

@media (max-width: 1180px) {
    .palo-command-context { display: none; }
    .palo-command-link, .palo-command-action { padding-left: 9px; padding-right: 9px; font-size: 0.84rem; }
}

@media (max-width: 1100px) {
    .palo-command-inner { width: min(100% - 28px, 720px); min-height: 68px; }
    .palo-command-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .palo-command-nav { display: none; position: absolute; top: 71px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 3px; padding: 10px 14px 14px; background: var(--palo-white); border-bottom: 1px solid var(--palo-line); box-shadow: 0 10px 18px rgba(16, 42, 67, 0.12); }
    .palo-command-nav.is-open { display: flex; }
    .palo-command-link, .palo-command-action { justify-content: flex-start; width: 100%; }
    .palo-home-hero { padding: 58px 0 48px; }
    .palo-home-hero-grid { grid-template-columns: 1fr; gap: 34px; }
    .palo-home-workspace { max-width: 620px; }
    .palo-home-footer-row { flex-direction: column; }
    .palo-home-footer-links { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .palo-command-brand { min-width: 0; }
    .palo-command-brand img { width: 38px; height: 38px; }
    .palo-command-brand strong { font-size: 1.05rem; }
    .palo-command-brand small { font-size: 0.63rem; }
    .palo-home-hero-copy h1 { font-size: clamp(2.8rem, 16vw, 4.5rem); }
    .palo-home-hero-title { font-size: 1.35rem; }
    .palo-home-hero .palo-actions, .palo-home-hero .palo-btn { width: 100%; }
    .palo-home-status { display: grid; gap: 8px; }
    .palo-home-workspace { padding: 18px; }
    .palo-home-workspace-foot { align-items: flex-start; flex-wrap: wrap; }
    .palo-home-workspace-foot span:last-child { width: 100%; margin-left: 0; }
}

/* PALO-AI public orientation and quickstarts */
.palo-ai-status-rail { background: #102a43; border-bottom: 3px solid #c78a19; color: #fff; }
.palo-ai-status-rail .palo-shell { display: flex; align-items: stretch; min-height: 52px; overflow-x: auto; scrollbar-width: thin; }
.palo-ai-status-rail a, .palo-ai-status-rail span { display: flex; align-items: center; flex: 0 0 auto; min-height: 52px; padding: 0 18px; border-right: 1px solid rgba(255,255,255,.14); color: #fff !important; font-size: 12px; font-weight: 800; text-decoration: none; }
.palo-ai-status-rail span { color: #8ee5e8 !important; text-transform: uppercase; letter-spacing: .06em; }
.palo-ai-status-rail a:hover, .palo-ai-status-rail a:focus { background: #173f5f; text-decoration: underline; }
.palo-ai-parent-lineage { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 0 0 22px; color: #627d98; font-size: 11px; font-weight: 800; }
.palo-ai-parent-lineage a { min-height: 44px; display: inline-flex; align-items: center; color: #0b5964; }
.palo-ai-parent-lineage strong { color: #102a43; }
.palo-ai-public-hero { padding: clamp(62px, 9vw, 116px) 0 64px; background: #fff; border-bottom: 1px solid #d9e2ec; }
.palo-ai-public-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: clamp(36px, 7vw, 96px); align-items: center; }
.palo-ai-public-hero h1 { max-width: 900px; margin: 10px 0 20px; font-size: clamp(3rem, 6.5vw, 6.8rem); line-height: .95; letter-spacing: -.055em; }
.palo-ai-public-hero .palo-lead { max-width: 760px; }
.palo-ai-assurance-track { padding: 26px; background: #f5f8fa; border-top: 4px solid #c78a19; }
.palo-ai-assurance-track p { margin: 0; color: #627d98; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.palo-ai-assurance-track ol { list-style: none; margin: 18px 0 0; padding: 0; }
.palo-ai-assurance-track li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid #d9e2ec; color: #102a43; font-weight: 800; }
.palo-ai-assurance-track li span { color: #147d8b; }
.palo-ai-three-way { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid #bcccdc; border-left: 1px solid #bcccdc; }
.palo-ai-three-way article { min-height: 250px; padding: 28px; border-right: 1px solid #bcccdc; border-bottom: 1px solid #bcccdc; }
.palo-ai-three-way article:nth-child(2) { border-top: 4px solid #147d8b; }
.palo-ai-three-way article:nth-child(3) { border-top: 4px solid #c78a19; }
.palo-ai-three-way small { color: #147d8b; font-weight: 850; text-transform: uppercase; }
.palo-ai-three-way h3 { margin: 12px 0; }
.palo-ai-demo { display: grid; grid-template-columns: minmax(240px,.62fr) minmax(0,1.38fr); min-height: 540px; margin-top: 30px; border: 1px solid #bcccdc; background: #fff; }
.palo-ai-demo-tabs { padding: 24px; background: #f5f8fa; border-right: 1px solid #bcccdc; }
.palo-ai-demo-tabs [role="tab"] { width: 100%; min-height: 52px; margin-bottom: 8px; padding: 12px 14px; border: 1px solid #bcccdc; background: #fff; color: #102a43; text-align: left; font: inherit; font-weight: 800; cursor: pointer; }
.palo-ai-demo-tabs [role="tab"][aria-selected="true"] { border-color: #147d8b; box-shadow: inset 4px 0 #147d8b; }
.palo-ai-demo-stage { padding: clamp(24px,4vw,48px); }
.palo-ai-demo-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: start; }
.palo-ai-demo-badge { padding: 7px 10px; color: #102a43; background: #e6fffa; border: 1px solid #81e6d9; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.palo-ai-demo-badge.is-risk { background: #fff8e1; border-color: #e3b341; }
.palo-ai-demo-steps { list-style: none; display: grid; gap: 8px; margin: 28px 0; padding: 0; }
.palo-ai-demo-steps li { display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: center; padding: 13px; background: #f5f8fa; border-left: 3px solid #bcccdc; }
.palo-ai-demo-steps li.is-active { border-left-color: #147d8b; background: #e6fffa; }
.palo-ai-demo-steps li.is-risk { border-left-color: #c78a19; background: #fff8e1; }
.palo-ai-demo-steps span { color: #147d8b; font-size: 11px; font-weight: 850; }
.palo-ai-demo-evidence { display: grid; grid-template-columns: minmax(160px,.55fr) minmax(0,1.45fr); gap: 22px; margin: 28px 0; padding: 22px; background: #102a43; color: #fff; }
.palo-ai-demo-evidence h4 { margin: 6px 0 0; color: #fff; }
.palo-ai-demo-evidence .palo-card-kicker { margin: 0; color: #8ee5e8; }
.palo-ai-demo-evidence ul { list-style: none; margin: 0; padding: 0; }
.palo-ai-demo-evidence li { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.16); }
.palo-ai-demo-evidence li:first-child { border-top: 0; }
.palo-ai-demo-evidence li strong { color: #fff; font-size: 12px; }
.palo-ai-demo-evidence li span { color: #8ee5e8; font-size: 11px; font-weight: 800; text-align: right; }
.palo-ai-proof-grid, .palo-ai-route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.palo-ai-proof-grid article, .palo-ai-route-card { padding: 26px; border: 1px solid #d9e2ec; background: #fff; }
.palo-ai-route-card { border-top: 4px solid #147d8b; }
.palo-ai-route-card:nth-child(3) { border-top-color: #c78a19; }
.palo-ai-route-card .palo-card-kicker { color: #147d8b; }
.palo-ai-quick-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 28px 0; }
.palo-ai-quick-tabs a { min-height: 44px; padding: 12px 16px; border: 1px solid #bcccdc; color: #102a43; font-weight: 800; text-decoration: none; }
.palo-ai-quick-tabs a:hover, .palo-ai-quick-tabs a:focus { border-color: #147d8b; background: #e6fffa; }
.palo-ai-quickstart { scroll-margin-top: 150px; padding: 52px 0; border-top: 1px solid #d9e2ec; }
.palo-ai-quick-grid { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: clamp(30px,6vw,80px); }
.palo-ai-stepper { list-style: none; margin: 24px 0; padding: 0; counter-reset: quickstep; }
.palo-ai-stepper li { position: relative; margin-left: 18px; padding: 0 0 25px 35px; border-left: 1px solid #bcccdc; counter-increment: quickstep; }
.palo-ai-stepper li::before { content: counter(quickstep); position: absolute; left: -18px; top: -2px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; background: #147d8b; font-size: 12px; font-weight: 850; }
.palo-ai-stepper li:last-child { border-left-color: transparent; }
.palo-ai-command { position: relative; margin: 10px 0; padding: 18px 108px 18px 18px; overflow-x: auto; color: #e6fffa; background: #102a43; border-left: 3px solid #c78a19; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; white-space: pre-wrap; }
.palo-ai-copy { position: absolute; right: 9px; top: 9px; min-height: 44px; padding: 8px 12px; border: 1px solid #8ee5e8; color: #fff; background: transparent; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.palo-ai-boundary-card { padding: 22px; background: #fff8e1; border-left: 4px solid #c78a19; }
@media (max-width: 880px) {
  .palo-ai-public-hero-grid, .palo-ai-demo, .palo-ai-quick-grid { grid-template-columns: 1fr; }
  .palo-ai-demo-tabs { border-right: 0; border-bottom: 1px solid #bcccdc; }
  .palo-ai-three-way, .palo-ai-proof-grid, .palo-ai-route-grid { grid-template-columns: 1fr; }
  .palo-ai-public-hero h1 { font-size: clamp(3rem, 14vw, 5.2rem); }
}
@media (max-width: 520px) {
  .palo-ai-status-rail .palo-shell { display: grid; grid-template-columns: 1fr 1fr; padding: 0; overflow: visible; }
  .palo-ai-status-rail a, .palo-ai-status-rail span { justify-content: center; min-width: 0; min-height: 44px; padding: 8px 9px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); font-size: 10px; text-align: center; white-space: normal; }
  .palo-ai-status-rail span { grid-column: 1 / -1; min-height: 36px; }
  .palo-ai-status-rail a:last-child { grid-column: 1 / -1; min-height: 40px; }
  .palo-ai-demo-summary { grid-template-columns: 1fr; }
  .palo-ai-demo-evidence { grid-template-columns: 1fr; }
  .palo-ai-command { padding-right: 18px; padding-top: 62px; }
}
@media (prefers-reduced-motion: reduce) {
  .palo-ai-demo-steps li { transition: none; }
}

/* Homepage legacy sections, brought into the workspace visual language. */
.palo-home #about,
.palo-home #principles,
.palo-home #lifecycle,
.palo-home #companion-app,
.palo-home #contact,
.palo-home #changelog {
    background: var(--palo-white) !important;
    border-bottom: 1px solid var(--palo-line);
}

.palo-home #about,
.palo-home #principles,
.palo-home #lifecycle,
.palo-home #model-canvas,
.palo-home #fria,
.palo-home #companion-app,
.palo-home #auditbench,
.palo-home #poisoning-study,
.palo-home #contact,
.palo-home #changelog {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
}

.palo-home #about .bg-gradient-to-r,
.palo-home #model-canvas > .absolute,
.palo-home #fria > .absolute,
.palo-home #auditbench > .absolute,
.palo-home #poisoning-study > .absolute,
.palo-home #demo > .absolute {
    display: none !important;
}

.palo-home #about .relative.bg-white,
.palo-home #principles .group,
.palo-home #lifecycle .group,
.palo-home #changelog > div > div > div {
    border: 1px solid var(--palo-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 22px rgba(16, 42, 67, 0.07) !important;
}

.palo-home #about .relative.bg-white { position: relative; }
.palo-home #about h2,
.palo-home #principles h2,
.palo-home #lifecycle h2,
.palo-home #changelog h2,
.palo-home #contact h2 { color: var(--palo-ink) !important; }

.palo-home #demo {
    background: var(--palo-ink) !important;
    color: var(--palo-white) !important;
    border-top: 1px solid var(--palo-ink);
    border-bottom: 1px solid var(--palo-ink);
}

.palo-home #demo .text-slate-600 { color: #c8d8e4 !important; }
.palo-home #demo .text-slate-700 { color: #e4edf2 !important; }
.palo-home #demo .rounded-2xl { border-radius: 8px !important; }
.palo-home #demo .text-palo-teal { color: #69d4ca !important; }

.palo-home #model-canvas,
.palo-home #auditbench {
    background: var(--palo-white) !important;
    color: var(--palo-ink) !important;
    border-top: 1px solid var(--palo-line);
    border-bottom: 1px solid var(--palo-line);
}

.palo-home #fria,
.palo-home #poisoning-study {
    background: var(--palo-surface) !important;
    color: var(--palo-ink) !important;
    border-top: 1px solid var(--palo-line);
    border-bottom: 1px solid var(--palo-line);
}

.palo-home #model-canvas .text-white,
.palo-home #fria .text-white,
.palo-home #auditbench .text-white,
.palo-home #poisoning-study .text-white,
.palo-home #model-canvas .text-slate-900,
.palo-home #fria .text-slate-900,
.palo-home #auditbench .text-slate-900,
.palo-home #poisoning-study .text-slate-900 {
    color: var(--palo-ink) !important;
}

.palo-home #model-canvas .text-teal-100,
.palo-home #model-canvas .text-teal-200,
.palo-home #fria .text-gray-100,
.palo-home #fria .text-slate-300,
.palo-home #auditbench .text-slate-300,
.palo-home #auditbench .text-slate-500,
.palo-home #poisoning-study .text-slate-300,
.palo-home #poisoning-study .text-slate-500 {
    color: var(--palo-muted) !important;
}

.palo-home #fria .text-yellow-300,
.palo-home #fria .text-amber-500 { color: #805700 !important; }
.palo-home #fria [class~="bg-slate-700"] { background: var(--palo-ink-soft) !important; }

.palo-home #model-canvas [class~="bg-white/10"],
.palo-home #fria [class~="bg-white/5"],
.palo-home #fria [class~="bg-white/10"],
.palo-home #auditbench [class~="bg-white/10"],
.palo-home #poisoning-study [class~="bg-white/10"] {
    background: var(--palo-white) !important;
    border: 1px solid var(--palo-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 22px rgba(16, 42, 67, 0.06);
}

.palo-home #model-canvas .text-teal-100,
.palo-home #fria .text-slate-300,
.palo-home #auditbench .text-slate-300,
.palo-home #poisoning-study .text-slate-300 { color: var(--palo-muted) !important; }

.palo-home #model-canvas .inline-block,
.palo-home #fria .inline-block,
.palo-home #auditbench .inline-block,
.palo-home #poisoning-study .inline-block { border-radius: 4px !important; }

.palo-home #companion-app .rounded-full,
.palo-home #model-canvas a,
.palo-home #fria a,
.palo-home #auditbench a,
.palo-home #poisoning-study a { border-radius: 5px !important; }

@media (max-width: 840px) {
    .palo-home #about,
    .palo-home #principles,
    .palo-home #lifecycle,
    .palo-home #model-canvas,
    .palo-home #fria,
    .palo-home #companion-app,
    .palo-home #auditbench,
    .palo-home #poisoning-study,
    .palo-home #contact,
    .palo-home #changelog { padding-top: 54px !important; padding-bottom: 54px !important; }
}

/* Theory to practice value proposition */
.palo-practice-section {
    padding: 92px 0 76px;
    background: #eaf3f5;
    border-top: 1px solid var(--palo-line);
    border-bottom: 1px solid var(--palo-line);
    scroll-margin-top: 88px;
}

.palo-practice-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
}

.palo-practice-intro h2 {
    max-width: 720px;
    margin: 0;
    color: var(--palo-ink);
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1;
}

.palo-practice-intro .palo-lead { max-width: 760px; margin-bottom: 0; }
.palo-practice-intro .palo-btn { flex: 0 0 auto; }

.palo-practice-rail {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 42px 0 24px;
    color: var(--palo-ink-soft);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.palo-practice-rail span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.palo-practice-rail strong { color: var(--palo-teal); }
.palo-practice-rail i { flex: 1; height: 1px; min-width: 14px; background: var(--palo-teal); opacity: 0.45; }

.palo-practice-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 24px;
    align-items: stretch;
}

.palo-practice-steps {
    padding: 8px 28px;
    background: var(--palo-white);
    border: 1px solid var(--palo-line);
    border-radius: 8px;
    box-shadow: var(--palo-shadow);
}

.palo-practice-step {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    padding: 24px 0;
    border-bottom: 1px solid var(--palo-line);
}

.palo-practice-step:last-child { border-bottom: 0; }
.palo-practice-number { color: var(--palo-gold); font: 800 1rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.palo-practice-step h3 { margin: 0; color: var(--palo-ink); font-size: 1.15rem; }
.palo-practice-step p { margin: 7px 0 12px; color: var(--palo-muted); font-size: 0.93rem; line-height: 1.55; }

.palo-module-links { display: flex; flex-wrap: wrap; gap: 5px 16px; }
.palo-module-links a { color: var(--palo-teal-dark) !important; font-size: 0.82rem; font-weight: 800; text-decoration: none; }
.palo-module-links a::after { content: " ->"; color: var(--palo-gold); }
.palo-module-links a:hover { color: var(--palo-teal) !important; text-decoration: underline; text-underline-offset: 3px; }

.palo-practice-output {
    padding: 30px;
    color: var(--palo-white);
    background: var(--palo-ink);
    border-radius: 8px;
    box-shadow: 0 16px 30px rgba(16, 42, 67, 0.16);
}

.palo-practice-output .palo-card-kicker { color: #79d8d2; }
.palo-practice-output h3 { max-width: 360px; margin: 8px 0 24px; color: var(--palo-white); font-size: 1.7rem; line-height: 1.15; }
.palo-practice-output ul { margin: 0; padding: 0; list-style: none; }
.palo-practice-output li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; padding: 15px 0; border-top: 1px solid rgba(255, 255, 255, 0.2); }
.palo-practice-output li > .palo-svg-icon { margin-top: 2px; color: #79d8d2; }
.palo-practice-output li strong,
.palo-practice-output li small { display: block; }
.palo-practice-output li strong { font-size: 0.95rem; }
.palo-practice-output li small { margin-top: 3px; color: #c8d8e4; font-size: 0.82rem; line-height: 1.45; }
.palo-practice-proof { display: flex; gap: 10px; margin-top: 20px; padding-top: 18px; color: #e4edf2; border-top: 1px solid rgba(255, 255, 255, 0.25); font-size: 0.86rem; line-height: 1.5; }
.palo-practice-proof .palo-svg-icon { flex: 0 0 auto; color: var(--palo-gold); }

@media (max-width: 840px) {
    .palo-practice-section { padding: 88px 0 54px; }
    .palo-practice-intro { display: block; }
    .palo-practice-intro .palo-btn { margin-top: 22px; }
    .palo-practice-rail { align-items: flex-start; flex-wrap: wrap; gap: 8px 12px; margin-top: 30px; }
    .palo-practice-rail i { display: none; }
    .palo-practice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .palo-practice-intro .palo-btn { width: 100%; }
    .palo-practice-steps { padding: 4px 18px; }
    .palo-practice-step { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 20px 0; }
    .palo-practice-step h3 { font-size: 1.05rem; }
    .palo-practice-step p { font-size: 0.88rem; }
    .palo-practice-output { padding: 24px 20px; }
}

/* Five-phase operating lifecycle */
.palo-lifecycle-section {
    padding: 84px 0 !important;
    background: var(--palo-surface) !important;
    border-top: 1px solid var(--palo-line);
    border-bottom: 1px solid var(--palo-line);
    scroll-margin-top: 84px;
}

.palo-lifecycle-header {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(360px, 1.2fr);
    gap: 48px;
    align-items: end;
    margin-bottom: 44px;
}

.palo-lifecycle-header h2 {
    margin: 0;
    color: var(--palo-ink);
    font-size: 2.5rem;
    line-height: 1.08;
}

.palo-lifecycle-header > p {
    max-width: 680px;
    margin: 0;
    color: var(--palo-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.palo-lifecycle-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.palo-lifecycle-list::before {
    content: "";
    position: absolute;
    top: 23px;
    left: 10%;
    right: 10%;
    height: 2px;
    background: #b9cbd5;
}

.palo-lifecycle-step {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.palo-lifecycle-marker {
    position: relative;
    z-index: 2;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    color: var(--palo-ink);
    background: var(--palo-white);
    border: 2px solid #b9cbd5;
    border-radius: 50%;
    font-size: 0.95rem;
    font-weight: 850;
}

.palo-lifecycle-step.is-current .palo-lifecycle-marker {
    color: var(--palo-white);
    background: var(--palo-teal-dark);
    border-color: var(--palo-teal-dark);
}

.palo-lifecycle-card {
    width: 100%;
    min-height: 190px;
    flex: 1;
    margin-top: 18px;
    padding: 24px 20px;
    background: var(--palo-white);
    border: 1px solid var(--palo-line);
    border-radius: 8px;
    box-shadow: 0 5px 16px rgba(16, 42, 67, 0.05);
}

.palo-lifecycle-step.is-current .palo-lifecycle-card {
    border-top: 3px solid var(--palo-teal);
    padding-top: 22px;
}

.palo-lifecycle-label {
    margin: 0 0 12px;
    color: var(--palo-teal);
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.25;
    text-transform: uppercase;
}

.palo-lifecycle-card h3 {
    min-height: 2.6em;
    margin: 0 0 12px;
    color: var(--palo-ink);
    font-size: 1.05rem;
    line-height: 1.3;
}

.palo-lifecycle-card > p:last-child {
    margin: 0;
    color: var(--palo-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.palo-lifecycle-action {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--palo-line);
}

.palo-lifecycle-action p {
    margin: 0;
    color: var(--palo-muted);
    font-size: 0.9rem;
}

@media (max-width: 1100px) {
    .palo-lifecycle-header {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 34px;
    }

    .palo-lifecycle-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .palo-lifecycle-list::before {
        top: 24px;
        bottom: 24px;
        left: 23px;
        right: auto;
        width: 2px;
        height: auto;
    }

    .palo-lifecycle-step {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 16px;
        align-items: start;
    }

    .palo-lifecycle-card {
        min-height: 0;
        margin-top: 0;
        padding: 20px 22px;
    }

    .palo-lifecycle-step.is-current .palo-lifecycle-card { padding-top: 18px; }
    .palo-lifecycle-card h3 { min-height: 0; }
}

@media (max-width: 640px) {
    .palo-lifecycle-section { padding: 56px 0 !important; }
    .palo-lifecycle-header h2 { font-size: 2rem; }
    .palo-lifecycle-header > p { font-size: 0.92rem; }
    .palo-lifecycle-step { gap: 12px; }
    .palo-lifecycle-card { padding: 18px 16px; }
    .palo-lifecycle-step.is-current .palo-lifecycle-card { padding-top: 16px; }
    .palo-lifecycle-action { align-items: stretch; flex-direction: column; }
    .palo-lifecycle-action .palo-btn { width: 100%; }
}

/* PALO-AI Governance Hub preview */
.palo-ai-hub-preview { background: #f8fbfc; border-top: 1px solid var(--palo-line); border-bottom: 1px solid var(--palo-line); }
.palo-ai-hub-grid { display: grid; grid-template-columns: minmax(360px, .78fr) minmax(520px, 1.22fr); gap: clamp(34px, 6vw, 82px); align-items: center; }
.palo-ai-hub-copy h2 { max-width: 720px; }
.palo-ai-hub-benefits { display: grid; gap: 0; margin: 26px 0; padding: 0; border-top: 1px solid var(--palo-line); list-style: none; }
.palo-ai-hub-benefits li { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--palo-line); }
.palo-ai-hub-benefits strong { color: var(--palo-ink); }
.palo-ai-hub-benefits span { color: var(--palo-muted); font-size: .9rem; line-height: 1.55; }
.palo-ai-hub-figure { margin: 0; padding: 10px; background: #fff; border: 1px solid var(--palo-line); border-radius: 12px; box-shadow: var(--palo-shadow); }
.palo-ai-hub-figure img { display: block; width: 100%; height: auto; border-radius: 7px; }
.palo-ai-hub-figure figcaption { padding: 12px 8px 4px; color: var(--palo-muted); font-size: .78rem; line-height: 1.5; }

@media (max-width: 1040px) {
    .palo-ai-hub-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .palo-ai-hub-benefits li { grid-template-columns: 1fr; gap: 5px; }
    .palo-ai-hub-figure { padding: 5px; }
}

@media (prefers-reduced-motion: reduce) {
    .palo-lifecycle-marker,
    .palo-lifecycle-card { transition: none !important; }
}

/* Homepage proof metrics and coherent module bands */
.palo-proof-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 26px;
    border-top: 1px solid var(--palo-line);
    border-bottom: 1px solid var(--palo-line);
}

.palo-proof-metric {
    min-width: 0;
    padding: 22px 22px 22px 0;
    color: var(--palo-ink) !important;
    text-decoration: none;
}

.palo-proof-metric + .palo-proof-metric {
    padding-left: 22px;
    border-left: 1px solid var(--palo-line);
}

.palo-proof-metric strong,
.palo-proof-metric span,
.palo-proof-metric p { display: block; }
.palo-proof-metric strong { color: var(--palo-teal); font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1; }
.palo-proof-metric span { margin-top: 9px; color: var(--palo-ink-soft); font-size: 0.76rem; font-weight: 850; text-transform: uppercase; }
.palo-proof-metric span .palo-svg-icon { width: 15px; height: 15px; margin-left: 5px; color: var(--palo-gold); vertical-align: -2px; }
.palo-proof-metric p { margin: 7px 0 0; color: var(--palo-muted); font-size: 0.9rem; line-height: 1.45; }
.palo-proof-link { position: relative; }
.palo-proof-link::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 22px; height: 3px; background: var(--palo-gold); transform: scaleX(0.32); transform-origin: left; transition: transform 180ms ease; }
.palo-proof-link:hover::after, .palo-proof-link:focus-visible::after { transform: scaleX(1); }

.palo-module-band {
    --palo-module-accent: var(--palo-teal);
    padding: 76px 0 !important;
    color: var(--palo-ink) !important;
    background: var(--palo-white) !important;
    border-top: 1px solid var(--palo-line);
    border-bottom: 1px solid var(--palo-line);
    scroll-margin-top: 84px;
}

.palo-module-band:nth-of-type(even) { background: var(--palo-surface) !important; }
.palo-module-toolbox { --palo-module-accent: #147d8b; }
.palo-module-audit { --palo-module-accent: #9f3a38; }
.palo-module-poisoning { --palo-module-accent: #80631a; }
.palo-module-layout { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(480px, 1.12fr); gap: clamp(44px, 7vw, 96px); align-items: center; }
.palo-module-summary { padding-left: 20px; border-left: 4px solid var(--palo-module-accent); }
.palo-module-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--palo-module-accent) !important; font-size: 0.76rem; font-weight: 850; text-transform: uppercase; }
.palo-module-meta .palo-svg-icon { width: 18px; height: 18px; }
.palo-module-meta strong { padding: 3px 7px; color: var(--palo-ink-soft); background: var(--palo-surface); border: 1px solid var(--palo-line); border-radius: 4px; font-size: 0.68rem; }
.palo-module-summary h2 { margin: 0; color: var(--palo-ink) !important; font-size: clamp(2rem, 3.5vw, 3.15rem); line-height: 1.05; }
.palo-module-summary > p:not(.palo-module-meta):not(.palo-module-trust) { max-width: 620px; margin: 18px 0 0; color: var(--palo-muted) !important; font-size: 1.04rem; line-height: 1.65; }
.palo-module-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 25px; }
.palo-module-actions .palo-btn { background: var(--palo-teal); border-color: var(--palo-teal); }
.palo-store-link { min-height: 44px; display: inline-flex; align-items: center; color: var(--palo-ink-soft) !important; font-size: 0.84rem; font-weight: 850; text-underline-offset: 4px; }
.palo-store-link:hover { color: var(--palo-teal) !important; }
.palo-module-trust { margin: 20px 0 0 !important; padding-top: 16px; color: var(--palo-muted) !important; border-top: 1px solid var(--palo-line); font-size: 0.78rem !important; line-height: 1.5 !important; }
.palo-module-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; background: var(--palo-white); border: 1px solid var(--palo-line); border-top: 3px solid var(--palo-module-accent); border-radius: 8px; box-shadow: var(--palo-shadow); list-style: none; }
.palo-module-capabilities li { min-width: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 0 12px; padding: 24px; }
.palo-module-capabilities li:nth-child(odd) { border-right: 1px solid var(--palo-line); }
.palo-module-capabilities li:nth-child(-n+2) { border-bottom: 1px solid var(--palo-line); }
.palo-module-capabilities .palo-svg-icon { grid-row: 1 / 3; width: 24px; height: 24px; color: var(--palo-module-accent); }
.palo-module-capabilities strong, .palo-module-capabilities small { grid-column: 2; display: block; }
.palo-module-capabilities strong { color: var(--palo-ink); font-size: 0.92rem; line-height: 1.3; }
.palo-module-capabilities small { margin-top: 5px; color: var(--palo-muted); font-size: 0.79rem; line-height: 1.45; }

/* Companion App workspace */
.palo-companion .palo-command-bar { position: sticky; }
.palo-app-hero { padding: 72px 0 58px; background: var(--palo-surface); border-bottom: 1px solid var(--palo-line); }
.palo-app-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr); gap: clamp(42px, 8vw, 104px); align-items: center; }
.palo-app-hero h1 { max-width: 760px; margin: 0; color: var(--palo-ink); font-size: clamp(2.8rem, 5.5vw, 5.2rem); line-height: 0.98; }
.palo-app-hero-copy > p:not(.palo-eyebrow) { max-width: 680px; margin: 21px 0 0; color: var(--palo-muted); font-size: 1.12rem; line-height: 1.65; }
.palo-app-hero .palo-actions { margin-top: 28px; }
.palo-app-availability { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 25px 0 0; padding: 0; color: var(--palo-muted); font-size: 0.82rem; font-weight: 800; list-style: none; }
.palo-app-availability li { display: inline-flex; align-items: center; gap: 7px; }
.palo-app-availability .palo-svg-icon { width: 16px; height: 16px; color: var(--palo-teal); }
.palo-app-signal { padding: 26px; background: var(--palo-white); border: 1px solid var(--palo-line); border-top: 4px solid var(--palo-teal); border-radius: 8px; box-shadow: var(--palo-shadow); }
.palo-app-signal h2 { margin: 0; color: var(--palo-ink); font-size: 1.35rem; }
.palo-app-signal dl { margin: 18px 0 0; }
.palo-app-signal div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 13px 0; border-top: 1px solid var(--palo-line); }
.palo-app-signal dt { color: var(--palo-muted); font-size: 0.76rem; font-weight: 850; text-transform: uppercase; }
.palo-app-signal dd { margin: 0; color: var(--palo-ink-soft); font-size: 0.88rem; font-weight: 700; }
.palo-app-section { padding: 72px 0; border-bottom: 1px solid var(--palo-line); scroll-margin-top: 84px; }
.palo-app-section.is-surface { background: var(--palo-surface); }
.palo-app-heading { display: grid; grid-template-columns: minmax(260px, 0.7fr) minmax(380px, 1.3fr); gap: 40px; align-items: end; margin-bottom: 34px; }
.palo-app-heading h2 { margin: 0; color: var(--palo-ink); font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.1; }
.palo-app-heading > p { margin: 0; color: var(--palo-muted); }
.palo-tool-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--palo-line); border-top: 3px solid var(--palo-teal); border-radius: 8px; background: var(--palo-white); }
.palo-tool-item { min-width: 0; padding: 22px; border-right: 1px solid var(--palo-line); border-bottom: 1px solid var(--palo-line); }
.palo-tool-item:nth-child(4n) { border-right: 0; }
.palo-tool-item:nth-child(n+5) { border-bottom: 0; }
.palo-tool-item .palo-svg-icon { width: 23px; height: 23px; color: var(--palo-teal); }
.palo-tool-item h3 { margin: 15px 0 7px; color: var(--palo-ink); font-size: 0.98rem; }
.palo-tool-item p { margin: 0; color: var(--palo-muted); font-size: 0.8rem; line-height: 1.5; }
.palo-app-lifecycle { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; border: 1px solid var(--palo-line); border-radius: 8px; background: var(--palo-white); list-style: none; }
.palo-app-phase { min-width: 0; padding: 22px 20px; border-right: 1px solid var(--palo-line); border-top: 4px solid var(--palo-teal); }
.palo-app-phase:last-child { border-right: 0; }
.palo-app-phase span { color: var(--palo-gold); font: 850 0.78rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.palo-app-phase h3 { margin: 12px 0 8px; color: var(--palo-ink); font-size: 1rem; }
.palo-app-phase p { margin: 0; color: var(--palo-muted); font-size: 0.8rem; line-height: 1.5; }
.palo-app-route { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.palo-trust-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.palo-trust-panel { padding: 26px; background: var(--palo-white); border: 1px solid var(--palo-line); border-radius: 8px; }
.palo-trust-panel h3 { margin: 0 0 12px; color: var(--palo-ink); font-size: 1.15rem; }
.palo-trust-panel p { margin: 0; color: var(--palo-muted); font-size: 0.9rem; }
.palo-trust-panel ul { margin: 16px 0 0; padding-left: 20px; color: var(--palo-ink-soft); font-size: 0.88rem; }
.palo-download-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; padding: 30px; color: var(--palo-white); background: var(--palo-ink); border-left: 4px solid var(--palo-gold); border-radius: 8px; }
.palo-download-panel h2 { margin: 0; color: var(--palo-white); font-size: clamp(1.8rem, 3vw, 2.55rem); }
.palo-download-panel p { max-width: 720px; margin: 10px 0 0; color: #c8d8e4; }
.palo-download-panel .palo-actions { margin: 0; }
.palo-download-panel .palo-btn-secondary { color: var(--palo-white) !important; background: transparent; border-color: #9fb3c8; }
.palo-download-panel .palo-btn-secondary:hover { color: var(--palo-ink) !important; background: var(--palo-white); }

@media (max-width: 960px) {
    .palo-module-layout, .palo-app-hero-grid, .palo-app-heading { grid-template-columns: 1fr; }
    .palo-module-layout { gap: 30px; }
    .palo-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .palo-tool-item:nth-child(4n) { border-right: 1px solid var(--palo-line); }
    .palo-tool-item:nth-child(2n) { border-right: 0; }
    .palo-tool-item:nth-child(n+5) { border-bottom: 1px solid var(--palo-line); }
    .palo-tool-item:nth-child(n+7) { border-bottom: 0; }
    .palo-app-lifecycle { grid-template-columns: 1fr; }
    .palo-app-phase { border-right: 0; border-bottom: 1px solid var(--palo-line); border-top: 0; border-left: 4px solid var(--palo-teal); }
    .palo-app-phase:last-child { border-bottom: 0; }
    .palo-download-panel { grid-template-columns: 1fr; }
    .palo-signal-import { grid-template-columns: 1fr; }
    .palo-signal-import .palo-actions { justify-content: flex-start; }
    .palo-signal-links, .palo-signal-review { grid-column: auto; }
}

@media (max-width: 640px) {
    .palo-proof-pair, .palo-module-capabilities, .palo-tool-grid, .palo-trust-grid { grid-template-columns: 1fr; }
    .palo-proof-metric + .palo-proof-metric { padding-left: 0; border-top: 1px solid var(--palo-line); border-left: 0; }
    .palo-proof-link::after { left: 0; }
    .palo-module-band, .palo-app-section { padding: 54px 0 !important; }
    .palo-module-summary { padding-left: 14px; }
    .palo-module-capabilities li, .palo-module-capabilities li:nth-child(odd), .palo-module-capabilities li:nth-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--palo-line); }
    .palo-module-capabilities li:last-child { border-bottom: 0; }
    .palo-app-hero { padding: 52px 0 46px; }
    .palo-app-hero h1 { font-size: 2.75rem; }
    .palo-app-signal div { grid-template-columns: 1fr; gap: 3px; }
    .palo-tool-item, .palo-tool-item:nth-child(2n), .palo-tool-item:nth-child(n+5), .palo-tool-item:nth-child(n+7) { border-right: 0; border-bottom: 1px solid var(--palo-line); }
    .palo-tool-item:last-child { border-bottom: 0; }
    .palo-app-route, .palo-app-route .palo-btn, .palo-download-panel .palo-actions, .palo-download-panel .palo-btn { width: 100%; }
    .palo-download-panel { padding: 25px 20px; }
}
/* v2.5 cognitive front door */
.palo-cognitive-preview { border-top: 4px solid var(--palo-gold, #c78a19); }
.palo-cognitive-question { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; padding: 18px 0; border-top: 1px solid var(--palo-line, #d9e2ec); }
.palo-cognitive-question > span { color: #a66f0f; font-size: 12px; font-weight: 850; }
.palo-cognitive-question strong, .palo-cognitive-question small { display: block; }
.palo-cognitive-question strong { color: #102a43; }
.palo-cognitive-question small { margin-top: 5px; color: #627d98; line-height: 1.45; }
.palo-cognitive-output { margin: 8px 0 12px; padding: 14px; color: #fff; background: #102a43; border-left: 3px solid #c78a19; }
.palo-cognitive-output small, .palo-cognitive-output strong { display: block; }
.palo-cognitive-output small { color: #8ee5e8; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.palo-cognitive-output strong { margin-top: 5px; font-size: 13px; }
.palo-agentic-entry { border-left: 3px solid #c78a19; }
.palo-agentic-feature { background: #f5f8fa; border-top: 1px solid #d9e2ec; border-bottom: 1px solid #d9e2ec; }
.palo-governance-routes { scroll-margin-top: 86px; padding-top: clamp(64px,8vw,104px); background: #fff; border-bottom: 1px solid #bcccdc; }
.palo-governance-routes-intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: clamp(30px,6vw,82px); align-items: end; }
.palo-governance-routes-intro h2 { max-width: 850px; margin-bottom: 18px; font-size: clamp(2.35rem,4.8vw,4.8rem); line-height: .98; letter-spacing: -.045em; }
.palo-governance-lineage-statement { margin: 0 0 8px; padding: 18px 0 18px 22px; color: #334e68; border-left: 4px solid #c78a19; font-size: 14px; line-height: 1.65; }
.palo-governance-lineage-statement strong { display: block; color: #102a43; }
.palo-umbrella-lineage { display: grid; grid-template-columns: 1.15fr 1fr 1fr; list-style: none; margin: 42px 0 0; padding: 0; color: #fff; background: #102a43; border-top: 4px solid #c78a19; }
.palo-umbrella-lineage li { position: relative; min-width: 0; padding: 17px 48px 18px 22px; border-right: 1px solid rgba(255,255,255,.18); }
.palo-umbrella-lineage li:not(:last-child)::after { content: ">"; position: absolute; right: 16px; top: 50%; color: #c78a19; transform: translateY(-50%); }
.palo-umbrella-lineage small, .palo-umbrella-lineage strong { display: block; }
.palo-umbrella-lineage small { color: #8ee5e8; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.palo-umbrella-lineage strong { margin-top: 4px; color: #fff; font-size: 15px; }
.palo-governance-route-map { display: grid; grid-template-columns: 1.15fr 1fr 1fr; border-right: 1px solid #bcccdc; border-bottom: 1px solid #bcccdc; border-left: 1px solid #bcccdc; }
.palo-governance-entry { display: flex; flex-direction: column; min-width: 0; min-height: 510px; padding: clamp(24px,3vw,38px); border-right: 1px solid #bcccdc; }
.palo-governance-entry:last-child { border-right: 0; }
.palo-governance-entry.is-framework { box-shadow: inset 0 4px #102a43; }
.palo-governance-entry.is-methodology { box-shadow: inset 0 4px #147d8b; background: #f5f8fa; }
.palo-governance-entry.is-enforcement { box-shadow: inset 0 4px #c78a19; }
.palo-governance-entry-head { min-height: 190px; padding-bottom: 24px; border-bottom: 1px solid #d9e2ec; }
.palo-governance-entry-head > span { color: #147d8b; font: 850 10px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .08em; text-transform: uppercase; }
.palo-governance-entry h3 { margin: 38px 0 14px; font-size: clamp(1.65rem,2.5vw,2.45rem); line-height: 1.04; }
.palo-governance-audience { margin: 0; color: #486581; font-size: 11px; font-weight: 800; line-height: 1.55; text-transform: uppercase; }
.palo-governance-entry > p { color: #486581; font-size: 14px; line-height: 1.6; }
.palo-governance-outcome, .palo-governance-position { margin-top: 22px; padding: 16px 0; border-top: 1px solid #d9e2ec; border-bottom: 1px solid #d9e2ec; }
.palo-governance-outcome small, .palo-governance-outcome strong { display: block; }
.palo-governance-outcome small { color: #147d8b; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.palo-governance-outcome strong, .palo-governance-position strong { color: #102a43; font-size: 12px; line-height: 1.55; }
.palo-governance-entry .palo-actions { align-items: stretch; margin-top: auto; padding-top: 26px; }
.palo-governance-entry .palo-btn { min-width: 0; text-align: center; }
.palo-ai-orientation { padding-top: 44px; padding-bottom: 44px; background: #f5f8fa; border-bottom: 1px solid #d9e2ec; }
.palo-route-ribbon { display: grid; grid-template-columns: minmax(160px,1fr) 20px minmax(160px,1fr) 20px minmax(160px,1fr) 20px minmax(160px,1fr); gap: 7px; align-items: stretch; margin: 26px 0 18px; padding: 12px; color: #fff; background: #102a43; border-left: 4px solid #c78a19; }
.palo-route-ribbon a { display: block; min-width: 0; padding: 9px; color: #fff; text-decoration: none; }
.palo-route-ribbon a:hover strong, .palo-route-ribbon a:focus strong { color: #8ee5e8; }
.palo-route-ribbon small, .palo-route-ribbon strong, .palo-route-ribbon span { display: block; }
.palo-route-ribbon small { color: #8ee5e8; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.palo-route-ribbon strong { margin-top: 5px; font-size: 14px; }
body.palo-v21 .palo-route-ribbon a, body.palo-v21 .palo-route-ribbon strong { color: #ffffff !important; }
.palo-route-ribbon span { margin-top: 5px; color: #bcccdc; font-size: 11px; line-height: 1.4; }
.palo-route-ribbon > .palo-route-separator { display: grid; place-items: center; margin: 0; padding: 0; color: #c78a19; font-size: 11px; line-height: 1; }
.palo-agentic-feature-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: clamp(28px, 5vw, 70px); align-items: start; }
.palo-full-cycle { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 26px; }
.palo-full-cycle span { padding: 7px 9px; color: #102a43; background: #fff; border: 1px solid #bcccdc; font-size: 11px; font-weight: 800; }
.palo-full-cycle > .palo-cycle-separator { padding: 0; color: #c78a19; background: transparent; border: 0; font-size: 11px; font-weight: 500; }
.palo-hub-eight-step { border-top: 4px solid #147d8b; }
.palo-hub-eight-step ol { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 20px; padding-left: 24px; }
.palo-hub-eight-step li::marker { color: #c78a19; font-weight: 800; }
.palo-guided-journeys { background: #fff; }
.palo-journey-ledger { margin-top: 30px; border-top: 1px solid #bcccdc; }
.palo-journey-ledger article { display: grid; grid-template-columns: 150px minmax(190px,.65fr) minmax(220px,1fr) minmax(240px,1.1fr) auto; gap: 20px; align-items: center; padding: 21px 0; border-bottom: 1px solid #d9e2ec; }
.palo-journey-ledger article > span { color: #147d8b; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.palo-journey-ledger article h3, .palo-journey-ledger article p { margin: 0; }
.palo-journey-ledger article h3 { font-size: 18px; }
.palo-journey-ledger article p { color: #486581; font-size: 13px; line-height: 1.45; }
.palo-journey-ledger article > strong { color: #334e68; font-size: 12px; }
.palo-journey-ledger article > a { color: #0b5964; font-size: 12px; font-weight: 800; white-space: nowrap; }
.palo-journey-ledger article.is-agentic { box-shadow: inset 4px 0 0 #c78a19; padding-left: 18px; }
@media (max-width: 1100px) {
  .palo-agentic-feature-grid { grid-template-columns: 1fr; }
  .palo-journey-ledger article { grid-template-columns: 120px 1fr; gap: 8px 16px; }
  .palo-journey-ledger article p, .palo-journey-ledger article > strong, .palo-journey-ledger article > a { grid-column: 2; }
  .palo-route-ribbon { grid-template-columns: 1fr; }
  .palo-route-ribbon > .palo-route-separator { display: none; }
  .palo-route-ribbon a { border-bottom: 1px solid rgba(255,255,255,.14); }
  .palo-governance-routes-intro { grid-template-columns: 1fr; }
  .palo-governance-route-map, .palo-umbrella-lineage { grid-template-columns: 1fr; }
  .palo-umbrella-lineage li { padding-right: 22px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .palo-umbrella-lineage li:not(:last-child)::after { content: "↓"; right: 22px; }
  .palo-governance-entry { min-height: 0; border-right: 0; border-bottom: 1px solid #bcccdc; }
  .palo-governance-entry:last-child { border-bottom: 0; }
  .palo-governance-entry-head { min-height: 0; }
}
@media (max-width: 560px) {
  .palo-journey-ledger article { grid-template-columns: 1fr; }
  .palo-journey-ledger article p, .palo-journey-ledger article > strong, .palo-journey-ledger article > a { grid-column: 1; }
  .palo-hub-eight-step ol { grid-template-columns: 1fr; }
  .palo-full-cycle > .palo-cycle-separator { display: none; }
}
