:root {
  --pd-ink: #07111f;
  --pd-navy: #002b69;
  --pd-blue: #1756ff;
  --pd-signal: #72a5ff;
  --pd-paper: #f5f7fa;
  --pd-line: #dce3ec;
  --pd-muted: #5e6b79;
}

.product-detail-page {
  overflow-x: clip;
  background: #fff;
  color: var(--pd-ink);
}

.product-detail-page .shell { width: min(1180px, calc(100% - 48px)); }
.product-detail-page h1,
.product-detail-page h2,
.product-detail-page h3,
.product-detail-page p { letter-spacing: 0; }

.product-eyebrow,
.saas-eyebrow {
  margin: 0 0 17px;
  color: var(--pd-blue);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: uppercase;
}

.product-actions,
.saas-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.product-detail-page .btn {
  min-height: 48px;
  padding-inline: 22px;
  border-radius: 6px;
}

/* Hardware */
.product-hero {
  position: relative;
  display: grid;
  min-height: min(760px, calc(100svh - 70px));
  overflow: hidden;
  background: var(--pd-ink);
  color: #fff;
}

.product-hero-media,
.product-hero-media img,
.product-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.product-hero-media { margin: 0; }
.product-hero-media img { object-fit: cover; }
.product-launcher .product-hero-media img { object-position: center; }
.product-hero-media figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  z-index: 2;
  padding: 6px 8px;
  border-radius: 3px;
  background: rgba(4, 12, 23, .78);
  color: rgba(255,255,255,.72);
  font-size: 10px;
}
.product-hero-shade { background: linear-gradient(90deg, rgba(3,10,20,.96), rgba(3,10,20,.72) 47%, rgba(3,10,20,.18) 82%), linear-gradient(0deg, rgba(3,10,20,.65), transparent 45%); }
.product-hero-copy { position: relative; z-index: 1; display: flex; min-height: inherit; flex-direction: column; justify-content: center; padding-top: 82px; padding-bottom: 70px; }
.product-hero .product-eyebrow { color: #8db6ff; }
.product-hero h1 { max-width: 760px; margin: 0; font-size: clamp(48px, 6.1vw, 86px); font-weight: 850; line-height: 1.01; }
.product-hero-copy > p:not(.product-eyebrow) { max-width: 600px; margin: 25px 0 0; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.7; }
.product-hero-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 24px; }
.product-hero-tags span,
.product-hero-tags strong,
.product-hero-tags small { padding: 7px 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; font-size: 11px; }
.product-hero-tags span { border-color: rgba(114,165,255,.6); color: #a9c8ff; }
.product-hero-tags small { color: rgba(255,255,255,.62); }

.product-outcome,
.product-flow,
.product-spec,
.product-install,
.product-related { padding: 112px 0; }
.product-outcome-grid { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); gap: clamp(56px,7vw,100px); align-items: center; }
.product-outcome h2,
.product-section-head h2,
.product-spec h2,
.product-install h2,
.product-related h2,
.product-final h2 { margin: 0; font-size: clamp(36px,4.3vw,60px); font-weight: 830; line-height: 1.09; }
.product-outcome-grid > div > p:not(.product-eyebrow),
.product-spec-grid > div > p:not(.product-eyebrow),
.product-install-grid > div > p:not(.product-eyebrow),
.product-final-grid > div > p:not(.product-eyebrow) { margin: 22px 0 0; color: var(--pd-muted); font-size: 16px; line-height: 1.75; }
.product-outcome-grid > div > ul { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--pd-line); list-style: none; }
.product-outcome-grid > div > li,
.product-outcome-grid > div > ul li { padding: 15px 0; border-bottom: 1px solid var(--pd-line); font-weight: 750; }
.product-outcome figure { position: relative; margin: 0; overflow: hidden; aspect-ratio: 16/10; border-radius: 4px; background: #101a27; }
.product-outcome figure img { width: 100%; height: 100%; object-fit: cover; }
.product-outcome figcaption { position: absolute; right: 10px; bottom: 10px; padding: 6px 8px; border-radius: 3px; background: rgba(3,10,20,.82); color: rgba(255,255,255,.74); font-size: 10px; }

.product-flow { background: var(--pd-ink); color: #fff; }
.product-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,420px); gap: 60px; align-items: end; margin-bottom: 60px; }
.product-flow .product-eyebrow { color: #8db6ff; }
.product-section-head > p { margin: 0; color: rgba(255,255,255,.62); line-height: 1.75; }
.product-flow ol { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; }
.product-flow li { min-height: 220px; padding: 28px 24px 26px 0; border-right: 1px solid rgba(255,255,255,.16); }
.product-flow li:not(:first-child) { padding-left: 24px; }
.product-flow li:last-child { border-right: 0; }
.product-flow li span { color: #8db6ff; font-size: 11px; font-weight: 850; }
.product-flow li strong { display: block; margin-top: 44px; font-size: 19px; }
.product-flow li p { margin: 10px 0 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.65; }

.product-spec { background: var(--pd-paper); }
.product-spec-grid { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: clamp(56px,7vw,110px); }
.product-spec-columns { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #cfd8e3; }
.product-spec-columns section { padding: 28px 30px 16px 0; border-right: 1px solid #cfd8e3; }
.product-spec-columns section + section { padding-left: 30px; border-right: 0; }
.product-spec-columns h3 { margin: 0 0 22px; font-size: 18px; }
.product-spec-columns ul { margin: 0; padding: 0; list-style: none; }
.product-spec-columns li { position: relative; padding: 12px 0 12px 18px; border-top: 1px solid #dde4ec; color: #455466; font-size: 14px; line-height: 1.5; }
.product-spec-columns li::before { position: absolute; left: 0; content: "·"; color: var(--pd-blue); font-weight: 900; }

.product-install-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: end; }
.product-install ol { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; border-top: 1px solid var(--pd-line); list-style: none; }
.product-install li { display: flex; min-height: 92px; align-items: center; gap: 14px; padding: 18px; border-right: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); font-weight: 750; }
.product-install li:nth-child(2n) { border-right: 0; }
.product-install li span { color: var(--pd-blue); font-size: 11px; }

.product-related { padding-top: 30px; }
.product-related header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 34px; }
.product-related header h2 { font-size: 34px; }
.product-related .shell > div { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--pd-line); }
.product-related a { display: grid; min-height: 170px; align-content: center; gap: 10px; padding: 24px; border-right: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); color: var(--pd-ink); text-decoration: none; }
.product-related a:last-child { border-right: 0; }
.product-related a small { color: var(--pd-blue); font-size: 10px; font-weight: 850; }
.product-related a strong { font-size: 18px; }
.product-related a span { color: #6e7b89; font-size: 12px; }
.product-related a.is-software { background: var(--pd-navy); color: #fff; }
.product-related a.is-software span { color: rgba(255,255,255,.62); }

.product-final { padding: 94px 0; background: #eaf1fb; }
.product-final-grid { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; }
.product-final h2 { font-size: 42px; }

/* SaaS */
.saas-page { background: #fff; }
.saas-hero { padding: 116px 0 96px; background: linear-gradient(180deg, #f5f8fc 0%, #fff 100%); }
.saas-hero-grid { display: grid; grid-template-columns: minmax(300px,.54fr) minmax(0,1.46fr); gap: 56px; align-items: center; }
.saas-hero-copy h1 { max-width: 620px; margin: 0; font-size: clamp(48px,5vw,70px); font-weight: 850; line-height: 1.03; }
.saas-hero-copy > p:not(.saas-eyebrow):not(.saas-trust) { max-width: 570px; margin: 24px 0 0; color: var(--pd-muted); font-size: 17px; line-height: 1.75; }
.saas-trust { max-width: 540px; margin: 22px 0 0; color: #526171; font-size: 12px; font-weight: 750; line-height: 1.6; }
.saas-name { display: block; margin-top: 18px; color: #84909d; font-size: 11px; }
.saas-name span { margin-left: 6px; color: #a4adb7; }

.saas-dashboard {
  overflow: hidden;
  min-width: 0;
  border: 1px solid #d6dee8;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 44px 110px rgba(18,38,69,.2);
  font-size: 11px;
}
.saas-dashboard > header { display: flex; min-height: 56px; align-items: center; justify-content: space-between; padding: 9px 14px; border-bottom: 1px solid #e2e8ef; }
.saas-dashboard > header > div { display: flex; align-items: center; gap: 10px; }
.saas-dashboard > header b { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 4px; background: var(--pd-navy); color: #fff; font-size: 13px; }
.saas-dashboard > header span { display: grid; gap: 2px; }
.saas-dashboard > header small { color: #85919d; }
.saas-dashboard > header em { border-radius: 3px; padding: 6px 9px; background: #e9f0ff; color: var(--pd-blue); font-style: normal; font-weight: 800; }
.saas-console-date { color: #6d7987; font-size: 9px; }
.saas-dashboard-body { display: grid; grid-template-columns: 116px minmax(0,1fr); min-height: 510px; }
.saas-dashboard aside { display: flex; flex-direction: column; gap: 18px; padding: 20px 14px; border-right: 1px solid #172b43; background: #071a31; color: rgba(255,255,255,.58); }
.saas-dashboard aside strong { color: #fff; }
.saas-dashboard aside span b { margin-left: 4px; color: #8db6ff; font-size: 8px; }
.saas-dashboard aside small { margin-top: auto; color: rgba(255,255,255,.36); }
.saas-dashboard-main { min-width: 0; padding: 18px; background: #f4f7fb; }
.saas-dashboard-heading { display: flex; align-items: center; justify-content: space-between; }
.saas-dashboard-heading > div { display: grid; gap: 3px; }
.saas-dashboard-heading small,
.saas-dashboard-heading span { color: #87929e; }
.saas-dashboard-heading strong { font-size: 19px; }
.saas-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 14px; border: 1px solid #d9e1eb; background: #fff; box-shadow: 0 8px 24px rgba(32,55,83,.05); }
.saas-metrics article { display: grid; gap: 5px; min-width: 0; padding: 13px 12px; border-right: 1px solid #e4e9ef; }
.saas-metrics article:last-child { border-right: 0; }
.saas-metrics small,
.saas-metrics span { color: #7d8996; }
.saas-metrics strong { overflow: hidden; color: #101b2b; font-size: 21px; white-space: nowrap; text-overflow: ellipsis; }
.saas-metrics em { margin-left: 2px; font-size: 9px; font-style: normal; }
.saas-metrics .is-alert strong { color: #d85b19; }
.saas-console-grid { display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 12px; margin-top: 12px; }
.saas-schedule-board,
.saas-ops-rail > section { border: 1px solid #dfe5ec; background: #fff; }
.saas-schedule-board > header { display: flex; align-items: center; justify-content: space-between; padding: 12px; border-bottom: 1px solid #e4e9ef; }
.saas-schedule-board > header > div { display: grid; gap: 2px; }
.saas-schedule-board > header small,
.saas-schedule-board > header span { color: #7b8794; }
.saas-week-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.saas-week-grid > section { min-width: 0; border-right: 1px solid #e6ebf1; }
.saas-week-grid > section:last-child { border-right: 0; }
.saas-week-grid > section > header { display: flex; justify-content: space-between; padding: 8px; border-bottom: 1px solid #e6ebf1; color: #566475; }
.saas-week-grid > section.is-today > header { color: var(--pd-blue); background: #edf4ff; }
.saas-week-grid ol { display: grid; gap: 7px; min-height: 280px; margin: 0; padding: 8px; list-style: none; align-content: start; }
.saas-week-grid li { display: grid; gap: 3px; min-width: 0; padding: 8px 7px; border-left: 2px solid #2b76ea; background: #f1f6ff; }
.saas-week-grid .is-next li { border-color: #43a978; background: #eff9f4; }
.saas-week-grid time,
.saas-week-grid small { color: #6f7c8a; font-size: 8px; }
.saas-week-grid b { overflow: hidden; font-size: 9px; white-space: nowrap; text-overflow: ellipsis; }
.saas-ops-rail { display: grid; gap: 10px; align-content: start; }
.saas-ops-rail > section { padding: 11px; }
.saas-ops-rail section > header { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 9px; }
.saas-ops-rail section > header span,
.saas-ops-rail section > header small,
.saas-revenue-panel > span { color: #7a8795; }
.saas-revenue-panel > b { display: block; font-size: 18px; }
.saas-revenue-panel > ol { display: flex; height: 52px; align-items: end; gap: 5px; margin: 10px 0 0; padding: 0; border-bottom: 1px solid #dce3eb; list-style: none; }
.saas-revenue-panel > ol li { flex: 1; height: var(--value); min-height: 5px; background: #2976e8; }
.saas-alert-panel ul { margin: 0; padding: 0; list-style: none; }
.saas-alert-panel li { display: grid; gap: 3px; padding: 8px 0; border-top: 1px solid #e6ebf1; }
.saas-alert-panel li b { color: #c5531d; }
.saas-alert-panel li small { color: #7b8794; }
.saas-pipeline-panel ol { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; padding: 0; list-style: none; }
.saas-pipeline-panel li { display: grid; gap: 4px; padding: 7px 5px; border-right: 1px solid #e4e9ef; text-align: center; }
.saas-pipeline-panel li:last-child { border-right: 0; }
.saas-pipeline-panel small { color: #7b8794; }
.saas-pipeline-panel b { font-size: 16px; }
.saas-dashboard > p { margin: 0; padding: 10px 16px; border-top: 1px solid #e6ebf1; color: #7b8794; font-size: 10px; }

.saas-workflow,
.saas-modules,
.saas-product,
.saas-capabilities,
.saas-roles,
.saas-pricing,
.saas-faq { padding: 104px 0; }
.saas-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,420px); gap: 60px; align-items: end; margin-bottom: 56px; }
.saas-section-head h2,
.saas-capabilities h2,
.saas-faq h2,
.saas-final h2 { margin: 0; font-size: clamp(36px,4.2vw,58px); font-weight: 830; line-height: 1.09; }
.saas-section-head > p,
.saas-capabilities-grid > div > p:not(.saas-eyebrow) { margin: 0; color: var(--pd-muted); line-height: 1.75; }

.saas-workflow { padding-bottom: 74px; }
.saas-workflow ol { display: grid; grid-template-columns: repeat(5,1fr); margin: 0; padding: 0; border-top: 1px solid var(--pd-line); list-style: none; }
.saas-workflow li { min-height: 130px; padding: 22px 18px 20px 0; border-right: 1px solid var(--pd-line); }
.saas-workflow li:not(:first-child) { padding-left: 18px; }
.saas-workflow li:last-child { border-right: 0; }
.saas-workflow li span { display: block; color: var(--pd-blue); font-size: 10px; }
.saas-workflow li strong { display: block; margin-top: 32px; font-size: 15px; }

.saas-modules { padding-top: 74px; background: #fff; }
.saas-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--pd-line); border-left: 1px solid var(--pd-line); }
.saas-module-grid article { min-width: 0; min-height: 190px; padding: 24px; border-right: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); background: #fff; }
.saas-module-grid article.is-beta { background: #f4f7fc; }
.saas-module-grid article header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.saas-module-grid article header span { color: #8793a0; font-size: 10px; font-weight: 850; }
.saas-module-grid article header b { color: #3478e5; font-size: 9px; }
.saas-module-grid article.is-beta header b { padding: 4px 6px; border-radius: 3px; background: #e5efff; }
.saas-module-grid h3 { margin: 42px 0 9px; font-size: 22px; }
.saas-module-grid p { margin: 0; color: #657383; font-size: 13px; line-height: 1.6; }

.saas-product { background: var(--pd-paper); }
.saas-tour { overflow: hidden; border: 1px solid #d9e0e9; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(28,47,73,.1); }
.saas-tour-tabs { display: flex; gap: 4px; padding: 10px; border-bottom: 1px solid #e2e7ed; overflow-x: auto; scrollbar-width: none; }
.saas-tour-tabs::-webkit-scrollbar { display: none; }
.saas-tour-tabs button { flex: 0 0 auto; min-height: 42px; border: 0; border-radius: 5px; padding: 0 16px; background: transparent; color: #697787; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.saas-tour-tabs button[aria-selected="true"] { background: var(--pd-navy); color: #fff; }
.saas-tour-frame { min-height: 520px; padding: 28px; }
.saas-tour-frame > section[hidden] { display: none; }
.saas-tour-frame h3 { margin: 3px 0 0; font-size: 24px; }
.saas-tour-frame > section > div > header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 24px; }
.saas-tour-frame > section > div > header small,
.saas-tour-frame > section > div > header span { color: #7a8794; }
.tour-week { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid #dfe5ec; }
.tour-week > section { min-width: 0; padding: 16px 12px; border-right: 1px solid #dfe5ec; }
.tour-week > section:last-child { border-right: 0; }
.tour-week > section.is-today { background: #f1f5ff; }
.tour-week > section > header { display: flex; justify-content: space-between; align-items: center; }
.tour-week > section > header span { font-size: 10px; color: #7b8794; }
.tour-week ol { margin: 12px 0 0; padding: 0; list-style: none; }
.tour-week li { display: grid; gap: 3px; padding: 11px 0; border-top: 1px solid #e7ebf0; }
.tour-week time { color: var(--pd-blue); font-size: 10px; font-weight: 800; }
.tour-week strong { font-size: 12px; }
.tour-week small { color: #8b96a1; font-size: 9px; }
.tour-table { border-top: 1px solid #dfe5ec; }
.tour-table > header { border-bottom: 1px solid #dfe5ec; padding: 18px 0; }
.tour-table-row { display: grid; grid-template-columns: 1fr 1.2fr .7fr .7fr; gap: 14px; align-items: center; min-height: 62px; padding: 0 12px; border-bottom: 1px solid #e5eaf0; }
.tour-table-row.is-head { min-height: 44px; background: #f8fafc; color: #748190; font-size: 11px; }
.tour-table-row b { color: #167146; }
.tour-table-row b.is-warn { color: #a45a12; }
.tour-revenue-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.tour-revenue-metrics > div { display: grid; gap: 7px; padding: 18px; border: 1px solid #e0e6ed; border-radius: 6px; }
.tour-revenue-metrics small,
.tour-revenue-metrics span { color: #7a8794; }
.tour-revenue-metrics strong { font-size: 25px; }
.tour-bars { display: flex; height: 230px; align-items: end; gap: 14px; margin-top: 28px; padding: 22px 28px 30px; border-top: 1px solid #e2e7ed; }
.tour-bars i { position: relative; flex: 1; height: var(--bar); max-height: 180px; border-radius: 3px 3px 0 0; background: var(--pd-blue); }
.tour-bars span { position: absolute; top: calc(100% + 9px); left: 50%; color: #7a8794; font-size: 10px; transform: translateX(-50%); }
.tour-pipeline > div { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #dfe5ec; }
.tour-pipeline article { display: grid; min-height: 180px; align-content: center; gap: 9px; padding: 20px; border-right: 1px solid #dfe5ec; }
.tour-pipeline article:last-child { border-right: 0; }
.tour-pipeline article small,
.tour-pipeline article span { color: #7a8794; }
.tour-pipeline article strong { font-size: 42px; }
.tour-uniform-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.tour-uniform-summary article { display: grid; gap: 7px; padding: 16px; border: 1px solid #e0e6ed; border-radius: 6px; }
.tour-uniform-summary small { color: #7a8794; }
.tour-uniform-summary strong { font-size: 25px; }
.tour-uniform-summary article.is-warn strong { color: #b76017; }
.tour-uniform-table { margin-top: 18px; border-top: 1px solid #dfe5ec; }
.tour-uniform-row { display: grid; grid-template-columns: .7fr 1fr 1.2fr .75fr; gap: 14px; align-items: center; min-height: 62px; padding: 0 14px; border-bottom: 1px solid #e5eaf0; }
.tour-uniform-row.is-head { min-height: 44px; background: #f8fafc; color: #748190; font-size: 11px; }
.tour-uniform-row b { color: #2b7d58; }
.tour-uniform-row b.is-warn { color: #a45a12; }
.tour-uniform-row b.is-done { color: var(--pd-blue); }
.tour-uniforms > p { margin: 14px 0 0; color: #7c8896; font-size: 11px; }
.saas-disclosure { margin: 14px 0 0; color: #7c8896; font-size: 11px; }

.saas-capabilities { background: var(--pd-ink); color: #fff; }
.saas-capabilities .saas-eyebrow { color: #8db6ff; }
.saas-capabilities-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.saas-capabilities-grid > div > p:not(.saas-eyebrow) { margin-top: 22px; color: rgba(255,255,255,.6); }
.saas-capabilities-grid > div + div { display: grid; grid-template-columns: 1.35fr .65fr; border-top: 1px solid rgba(255,255,255,.2); }
.saas-capabilities section { padding: 28px 28px 20px 0; border-right: 1px solid rgba(255,255,255,.18); }
.saas-capabilities section + section { padding-left: 28px; border-right: 0; }
.saas-capabilities section > span { color: #8db6ff; font-size: 10px; font-weight: 850; }
.saas-capabilities h3 { margin: 10px 0 24px; font-size: 21px; }
.saas-capabilities ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; margin: 0; padding: 0; list-style: none; }
.saas-capabilities li,
.saas-capabilities ol li { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.72); font-size: 13px; }
.saas-capabilities ol { margin: 0; padding-left: 20px; }
.saas-capabilities section > p { color: rgba(255,255,255,.52); font-size: 12px; line-height: 1.6; }

.saas-role-list { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--pd-line); }
.saas-role-list section { min-height: 260px; padding: 28px; border-right: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.saas-role-list section:first-child { padding-left: 0; }
.saas-role-list section:last-child { border-right: 0; }
.saas-role-list small { color: var(--pd-blue); font-weight: 850; }
.saas-role-list h3 { margin: 12px 0 26px; font-size: 24px; }
.saas-role-list ul { margin: 0; padding: 0; list-style: none; }
.saas-role-list li { padding: 10px 0; border-top: 1px solid #e4e9ef; color: #556474; font-size: 13px; line-height: 1.5; }

.saas-pricing { background: var(--pd-paper); }
.saas-pricing-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.saas-price-card { min-width: 0; min-height: 460px; padding: 26px 24px 24px; display: flex; flex-direction: column; border: 1px solid #d5dde7; border-radius: 8px; background: #fff; box-shadow: 0 12px 34px rgba(22,45,76,.05); }
.saas-price-card.is-featured { border: 2px solid var(--pd-blue); box-shadow: 0 20px 48px rgba(25,86,255,.12); }
.saas-price-card.is-demo { color: #fff; border-color: var(--pd-navy); background: var(--pd-navy); }
.saas-price-card header { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.saas-price-card header small { color: var(--pd-blue); font-size: 10px; font-weight: 900; }
.saas-price-card.is-demo header small { color: #9fc2ff; }
.saas-price-card header span { padding: 4px 7px; border-radius: 3px; background: #eaf1ff; color: var(--pd-blue); font-size: 9px; font-weight: 850; }
.saas-price-card h3 { min-height: 54px; margin: 20px 0 0; font-size: 20px; line-height: 1.35; }
.saas-price-card > p { min-height: 52px; margin: 9px 0 20px; color: #6d7a88; font-size: 12px; line-height: 1.55; }
.saas-price-card.is-demo > p { color: rgba(255,255,255,.62); }
.saas-price-card > div { display: flex; align-items: end; gap: 5px; }
.saas-price-card > div strong { font-size: 31px; line-height: 1; letter-spacing: 0; }
.saas-price-card > div em { color: #798694; font-size: 11px; font-style: normal; }
.saas-price-card.is-demo > div em { color: rgba(255,255,255,.58); }
.saas-price-card > span { margin-top: 8px; color: #778493; font-size: 10px; }
.saas-price-card.is-demo > span { color: rgba(255,255,255,.58); }
.saas-price-card ul { margin: 24px 0; padding: 16px 0 0; border-top: 1px solid #e1e7ee; list-style: none; }
.saas-price-card.is-demo ul { border-color: rgba(255,255,255,.16); }
.saas-price-card li { padding: 6px 0; color: #526171; font-size: 12px; }
.saas-price-card.is-demo li { color: rgba(255,255,255,.74); }
.saas-price-card button,
.saas-price-card > a { min-height: 44px; margin-top: auto; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--pd-navy); border-radius: 5px; padding: 0 14px; background: #fff; color: var(--pd-navy); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.saas-price-card.is-featured button { border-color: var(--pd-blue); background: var(--pd-blue); color: #fff; }
.saas-price-card.is-demo > a { border-color: #fff; background: #fff; color: var(--pd-navy); }
.saas-scale-bar { margin-top: 12px; padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #d5dde7; border-radius: 8px; background: #fff; }
.saas-scale-bar > div { display: grid; grid-template-columns: auto auto auto; gap: 8px 22px; align-items: center; }
.saas-scale-bar small { color: var(--pd-blue); font-weight: 850; }
.saas-scale-bar strong { font-size: 15px; }
.saas-scale-bar span { color: #778493; font-size: 11px; }
.saas-scale-bar button { min-height: 42px; border: 1px solid var(--pd-navy); border-radius: 5px; padding: 0 18px; background: var(--pd-navy); color: #fff; font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.saas-price-note { margin: 15px 0 0; color: #748190; font-size: 11px; line-height: 1.6; }

.saas-faq-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 90px; }
.saas-faq details { border-top: 1px solid var(--pd-line); }
.saas-faq details:last-child { border-bottom: 1px solid var(--pd-line); }
.saas-faq summary { position: relative; padding: 22px 42px 22px 0; font-weight: 800; cursor: pointer; list-style: none; }
.saas-faq summary::-webkit-details-marker { display: none; }
.saas-faq summary::after { position: absolute; top: 19px; right: 4px; content: "+"; color: var(--pd-blue); font-size: 20px; }
.saas-faq details[open] summary::after { content: "−"; }
.saas-faq details p { margin: 0; padding: 0 40px 22px 0; color: var(--pd-muted); line-height: 1.7; }

.saas-final { padding: 94px 0; background: var(--pd-navy); color: #fff; }
.saas-final .saas-eyebrow { color: #9fc2ff; }
.saas-final-grid { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; }
.saas-final p:not(.saas-eyebrow) { margin: 18px 0 0; color: rgba(255,255,255,.65); }
.saas-mobile-cta { display: none; }

@media (max-width: 940px) {
  .product-detail-page .shell { width: min(100% - 36px, 740px); }
  .product-hero-shade { background: linear-gradient(0deg, rgba(3,10,20,.96), rgba(3,10,20,.55) 76%, rgba(3,10,20,.25)); }
  .product-outcome-grid,
  .product-spec-grid,
  .product-install-grid,
  .saas-hero-grid,
  .saas-capabilities-grid,
  .saas-faq-grid { grid-template-columns: 1fr; gap: 42px; }
  .product-section-head,
  .saas-section-head { grid-template-columns: 1fr; gap: 24px; }
  .product-flow ol { grid-template-columns: 1fr 1fr; }
  .product-flow li:nth-child(2) { border-right: 0; }
  .product-related .shell > div { grid-template-columns: 1fr 1fr; }
  .product-related a:nth-child(2) { border-right: 0; }
  .saas-hero-copy { max-width: 680px; }
  .saas-dashboard { max-width: 740px; }
  .saas-workflow ol { grid-template-columns: repeat(3,1fr); }
  .saas-workflow li:nth-child(3) { border-right: 0; }
  .saas-workflow li:nth-child(n+4) { border-top: 1px solid var(--pd-line); }
  .saas-pricing-grid { grid-template-columns: 1fr 1fr; }
  .saas-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .product-detail-page .shell { width: calc(100% - 32px); }
  .product-hero { min-height: calc(100svh - 64px); }
  .product-hero-copy { padding-top: 92px; padding-bottom: 60px; }
  .product-hero h1 { font-size: 42px; line-height: 1.05; }
  .product-hero-copy > p:not(.product-eyebrow) { font-size: 16px; }
  .product-actions,
  .saas-actions { width: 100%; }
  .product-actions .btn,
  .saas-actions .btn { width: 100%; justify-content: center; }
  .product-hero-media figcaption { right: 10px; bottom: 10px; }
  .product-outcome,
  .product-flow,
  .product-spec,
  .product-install,
  .product-related,
  .saas-workflow,
  .saas-modules,
  .saas-product,
  .saas-capabilities,
  .saas-roles,
  .saas-pricing,
  .saas-faq { padding: 74px 0; }
  .product-outcome h2,
  .product-section-head h2,
  .product-spec h2,
  .product-install h2,
  .product-related h2,
  .saas-section-head h2,
  .saas-capabilities h2,
  .saas-faq h2,
  .saas-final h2 { font-size: 36px; }
  .product-outcome figure { aspect-ratio: 4/3; }
  .product-flow ol { grid-template-columns: 1fr; }
  .product-flow li,
  .product-flow li:not(:first-child) { min-height: 150px; padding: 22px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .product-flow li strong { margin-top: 24px; }
  .product-spec-columns { grid-template-columns: 1fr; }
  .product-spec-columns section,
  .product-spec-columns section + section { padding: 24px 0; border-right: 0; border-bottom: 1px solid #cfd8e3; }
  .product-install ol { grid-template-columns: 1fr; }
  .product-install li { min-height: 70px; border-right: 0; }
  .product-related .shell > div { grid-template-columns: 1fr; }
  .product-related a,
  .product-related a:nth-child(2) { min-height: 126px; border-right: 0; padding-inline: 0; }
  .product-final,
  .saas-final { padding: 72px 0; }
  .product-final-grid,
  .saas-final-grid { grid-template-columns: 1fr; gap: 24px; }

  .saas-page { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .saas-hero { padding: 94px 0 68px; }
  .saas-hero-copy h1 { font-size: 42px; }
  .saas-hero-copy > p:not(.saas-eyebrow):not(.saas-trust) { font-size: 15px; }
  .saas-dashboard-body { grid-template-columns: 1fr; min-height: 0; }
  .saas-dashboard { font-size: 12px; }
  .saas-dashboard aside { flex-direction: row; gap: 16px; padding: 11px 13px; border-right: 0; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .saas-dashboard aside::-webkit-scrollbar { display: none; }
  .saas-dashboard aside small { display: none; }
  .saas-dashboard-main { padding: 14px; }
  .saas-metrics { grid-template-columns: 1fr 1fr; }
  .saas-metrics article { border-right: 1px solid #e4e9ef; border-bottom: 1px solid #e4e9ef; }
  .saas-metrics article:nth-child(2n) { border-right: 0; }
  .saas-metrics article:nth-last-child(-n+2) { border-bottom: 0; }
  .saas-console-grid { grid-template-columns: 1fr; }
  .saas-week-grid { grid-template-columns: 1fr; }
  .saas-week-grid > section.is-mobile-hide { display: none; }
  .saas-week-grid > section.is-next { display: none; }
  .saas-week-grid ol { min-height: 0; }
  .saas-week-grid time,
  .saas-week-grid small,
  .saas-week-grid b { font-size: 11px; }
  .saas-ops-rail { grid-template-columns: 1fr 1fr; }
  .saas-revenue-panel { display: none; }
  .saas-pipeline-panel { grid-column: 1 / -1; }
  .saas-workflow ol { grid-template-columns: 1fr; }
  .saas-workflow li,
  .saas-workflow li:not(:first-child) { min-height: 76px; padding: 18px 0; border-right: 0; border-top: 1px solid var(--pd-line); }
  .saas-workflow li strong { margin-top: 10px; }
  .saas-tour-frame { min-height: 440px; padding: 16px; overflow-x: auto; }
  .tour-week { width: auto; grid-template-columns: 1fr; }
  .tour-week > section { border-right: 0; border-bottom: 1px solid #dfe5ec; }
  .tour-table { min-width: 540px; }
  .tour-table-row { grid-template-columns: .8fr 1.1fr .65fr .65fr; font-size: 11px; }
  .tour-revenue-metrics { grid-template-columns: 1fr; }
  .tour-bars { height: 180px; padding-inline: 10px; }
  .tour-pipeline > div { grid-template-columns: 1fr 1fr; }
  .tour-pipeline article { min-height: 130px; }
  .tour-pipeline article:nth-child(2) { border-right: 0; }
  .tour-pipeline article:nth-child(n+3) { border-top: 1px solid #dfe5ec; }
  .saas-module-grid { grid-template-columns: 1fr; }
  .saas-module-grid article { min-height: 150px; padding: 20px; }
  .saas-module-grid h3 { margin-top: 28px; }
  .tour-uniform-summary { grid-template-columns: 1fr 1fr; }
  .tour-uniform-table { min-width: 0; }
  .tour-uniform-row.is-head { display: none; }
  .tour-uniform-row:not(.is-head) { grid-template-columns: 1fr 1fr; gap: 14px 18px; min-height: 0; padding: 16px 0; font-size: 12px; }
  .tour-uniform-row:not(.is-head) > * { display: grid; gap: 4px; min-width: 0; }
  .tour-uniform-row:not(.is-head) > *::before { content: attr(data-label); color: #8995a1; font-size: 9px; font-weight: 650; }
  .saas-capabilities-grid > div + div { grid-template-columns: 1fr; }
  .saas-capabilities section,
  .saas-capabilities section + section { padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .saas-capabilities ul { grid-template-columns: 1fr; }
  .saas-role-list { grid-template-columns: 1fr; }
  .saas-role-list section,
  .saas-role-list section:first-child { min-height: 0; padding: 24px 0; border-right: 0; }
  .saas-pricing-grid { grid-template-columns: 1fr; }
  .saas-price-card { min-height: 0; padding: 24px 20px; }
  .saas-price-card h3,
  .saas-price-card > p { min-height: 0; }
  .saas-scale-bar { align-items: stretch; flex-direction: column; }
  .saas-scale-bar > div { grid-template-columns: 1fr; gap: 7px; }
  .saas-scale-bar button { width: 100%; }
  .saas-mobile-cta { position: fixed; right: 0; bottom: 0; left: 0; z-index: 70; display: block; padding: 9px 12px calc(9px + env(safe-area-inset-bottom)); border-top: 1px solid #d9e0e8; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); transition: opacity .18s ease, transform .18s ease; }
  .saas-mobile-cta.is-footer-visible { opacity: 0; transform: translateY(100%); pointer-events: none; }
  .saas-mobile-cta button { width: 100%; min-height: 48px; border: 0; border-radius: 6px; background: var(--pd-blue); color: #fff; font: inherit; font-weight: 850; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail-page *,
  .product-detail-page *::before,
  .product-detail-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
