/* Detail pages extend the existing Olivo palette and type scale. */
.p1-soft { background:var(--p1-soft); }
.p2-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-top:28px; font-size:13px; color:var(--p1-muted); }
.p2-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.p2-hero { padding-top:72px; padding-bottom:72px; }
.p2-hero h1 { max-width:980px; margin-top:20px; font-size:clamp(34px,4.1vw,56px); }
.p2-hero .p1-lede { max-width:800px; margin-top:28px; }
.p2-hero .p1-status { margin-top:24px; }
.p2-hero .p1-actions { margin-top:32px; }
.p2-jump { display:flex; flex-wrap:wrap; gap:12px; padding-bottom:28px; }
.p2-chip { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--p1-line); padding:10px 16px; border-radius:999px; font-size:14px; min-height:44px; }
.p2-jump a:hover { background:var(--p1-soft); }
.phase-two [id] { scroll-margin-top:150px; }
.phase-two .p1-nav a[aria-current=page] { color:var(--p1-olive); text-decoration:underline; text-underline-offset:6px; }
.p2-list { margin:18px 0 0; padding-left:20px; font-size:15px; line-height:1.8; }
.p2-list li + li { margin-top:10px; }
.p2-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.p2-steps > li { display:flex; gap:24px; border:1px solid var(--p1-line); border-radius:20px; padding:32px; }
.p2-steps p { margin-top:14px; color:var(--p1-muted); }
.p2-number { font-size:22px; font-weight:600; color:var(--p1-olive); }
.p2-contact { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:start; }
.p2-contact h2 { margin-top:16px; }
.p2-contact p { margin-top:20px; }
.p2-contact > div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.p2-contact > div:last-child p { margin:0; }
.p2-table { overflow-x:auto; border:1px solid var(--p1-line); border-radius:16px; background:white; }
.p2-table table { border-collapse:collapse; width:100%; font-size:15px; line-height:1.65; text-align:left; }
.p2-table caption { text-align:left; padding:20px; font-size:12px; color:var(--p1-muted); }
.p2-table th { background:var(--p1-soft); font-weight:600; }
.p2-table td,.p2-table th { padding:18px 20px; vertical-align:top; border-top:1px solid var(--p1-line); }
.p2-table th { white-space:nowrap; }
.p2-table td { min-width:120px; }
.p2-table td:first-child { min-width:145px; }
.p2-note { margin-top:24px; color:var(--p1-muted); font-size:15px; line-height:1.8; }
.p2-notice { border-left:3px solid var(--p1-olive); background:var(--p1-soft); padding:16px 20px; margin-top:28px; font-size:14px; }
.p2-case-preview { display:flex; gap:16px; align-items:center; flex-wrap:wrap; border-radius:20px; background:var(--p1-soft); padding:28px; margin-top:32px; }
.p2-case-preview + p { margin-top:18px; }
.p2-more { display:inline-flex; align-items:center; min-height:44px; padding-block:10px; margin-top:20px; color:var(--p1-olive); font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.p2-more-group { display:flex; flex-wrap:wrap; gap:24px; }
.p2-demo { padding-bottom:64px; }
.p2-demo-toolbar { display:flex; flex-wrap:wrap; gap:20px; background:var(--p1-soft); border:1px solid var(--p1-line); border-radius:20px 20px 0 0; padding:28px; }
.p2-demo-toolbar label { display:flex; flex-direction:column; gap:10px; font-size:13px; font-weight:500; flex:1; min-width:180px; }
.p2-demo-toolbar select { min-height:48px; padding:12px 16px; border:1px solid #9aa98b; border-radius:8px; background:white; width:100%; color:var(--p1-ink); font-size:15px; }
.p2-tabs { display:flex; gap:8px; padding:16px 28px; border-inline:1px solid var(--p1-line); background:white; }
.p2-tabs button { flex:1; min-height:48px; border:0; border-radius:8px; background:white; color:var(--p1-muted); font-size:14px; padding:12px; }
.p2-tabs button[aria-selected=true] { background:#e7eddc; color:var(--p1-ink); font-weight:600; }
.p2-demo-panel { border:1px solid var(--p1-line); border-radius:0 0 20px 20px; padding:32px; background:white; }
.p2-demo-title { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.p2-demo-title h2 { font-size:24px; }
.p2-demo-title span { font-size:13px; color:var(--p1-muted); }
.p2-demo-panel > dl { margin:24px 0; }
.p2-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.p2-metrics > div { padding:20px; background:var(--p1-soft); border-radius:12px; }
.p2-metrics dt { font-size:12px; color:var(--p1-muted); }
.p2-metrics dd { margin:12px 0 0; font-size:23px; font-weight:600; overflow-wrap:anywhere; }
.p2-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.p2-facts > div { border-bottom:1px solid var(--p1-line); padding-block:14px; }
.p2-facts dt { font-size:13px; color:var(--p1-muted); }
.p2-facts dd { margin:8px 0 0; font-weight:500; }
.p2-review h3 { margin-top:20px; }
.p2-review p { margin-top:16px; }
.p2-demo > .p1-small { margin-top:24px; max-width:900px; }
.p2-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:850px) {
  .p2-hero { padding-top:48px; padding-bottom:48px; }
  .p2-contact { grid-template-columns:1fr; gap:28px; }
  .p2-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .p2-steps { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .p2-hero h1 { font-size:32px; }
  .p2-hero .p1-lede { font-size:16px; }
  .p2-steps > li { padding:24px; gap:16px; }
  .p2-contact .p1-button { width:100%; }
  .p2-contact > div:last-child { align-items:stretch; }
  .p2-demo-toolbar { padding:20px; gap:16px; }
  .p2-demo-toolbar label { min-width:0; flex-basis:100%; }
  .p2-tabs { padding:12px; gap:4px; flex-wrap:wrap; }
  .p2-tabs button { flex-basis:calc(50% - 4px); }
  .p2-demo-panel { padding:20px; }
  .p2-metrics { gap:10px; }
  .p2-metrics > div { padding:14px; }
  .p2-metrics dd { font-size:20px; }
  .p2-facts { grid-template-columns:1fr; gap:0; }
  .p2-case-preview { padding:20px; gap:12px; }
  .p2-more-group { gap:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.p2-table:focus-visible { outline:3px solid #8c6329; outline-offset:5px; }
/* Keep the sample controls close to the introduction. */
.phase-two[data-phase-two-page="demo"] .p2-hero { padding-top:36px; padding-bottom:40px; }
.phase-two[data-phase-two-page="demo"] .p2-hero h1 { font-size:clamp(32px,3.3vw,44px); }
.phase-two[data-phase-two-page="demo"] .p2-hero .p1-lede { margin-top:20px; }

/* Match the plain section labels used on the homepage. */
.phase-two .p1-eyebrow { font-weight:500; letter-spacing:0; }

/* Shared explanatory notes match the homepage footnotes. */
.phase-two .p1-footnote { color:#6f6f6f; }

/* Demo notes use labeled fields for dates, units and calculation rules. */
.p2-demo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:24px 0 0}
.p2-demo-fields > div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--p1-line);align-items:baseline}
.p2-demo-fields dt{font-size:13px;color:var(--p1-muted);font-weight:400}
.p2-demo-fields dd{margin:0;font-size:14px;line-height:1.6;font-weight:500;overflow-wrap:anywhere}
.p2-demo-context{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 20px;gap:20px}
.p2-demo-context > div{grid-template-columns:auto 1fr;border:0;padding:0;gap:10px}
@media(max-width:700px){.p2-demo-fields{grid-template-columns:1fr}.p2-demo-fields > div{grid-template-columns:110px minmax(0,1fr);gap:12px}.p2-demo-context{gap:4px;margin-bottom:20px}.p2-demo-context > div{grid-template-columns:110px minmax(0,1fr);padding:4px 0}}

.p1-dark .p2-more,.p1-dark .p1-text-link{color:#fff}

.p2-demo-guide{padding-bottom:32px}
.p2-demo-guide ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.p2-demo-guide li{padding:20px;background:var(--p1-soft);border:1px solid var(--p1-line);border-radius:12px}
.p2-demo-guide h2{font-size:17px;margin:0 0 8px}
.p2-demo-guide li p{font-size:13px;line-height:1.7;color:var(--p1-muted);margin:0}
.p2-demo-guide > p{margin:16px 0 0;font-size:13px;line-height:1.7;color:var(--p1-muted)}
.p2-demo-view-heading{margin:28px 0 20px}
.p2-demo-view-heading h3{font-size:22px;margin:0 0 8px}
.p2-demo-view-heading p{font-size:14px;line-height:1.7;color:var(--p1-muted);margin:0}
@media(max-width:850px){.p2-demo-guide ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.p2-demo-guide li{padding:16px}.p2-demo-guide h2{font-size:16px}}

.p2-demo-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0 0}
.p2-demo-scenarios > div{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13px;line-height:1.7}
.p2-demo-scenarios dt{font-weight:500}.p2-demo-scenarios dd{margin:0;color:var(--p1-muted)}
@media(max-width:850px){.p2-demo-scenarios{grid-template-columns:1fr;gap:8px}}
