/* Range overview: choose a product, then understand ONE and its Digital Twin. */
body.q-overview-page #main > .wrap { padding-top:24px; padding-bottom:40px; }
.q-overview-page .q-subnav { margin-bottom:0; }
.q-overview-page .q-hero { align-items:center; gap:40px; padding:36px 0; }
.q-overview-page .q-hero h1 { font-size:clamp(30px,3vw,40px); margin:12px 0 20px; }
.q-overview-page .q-hero-copy > p { max-width:58ch; font-size:16px; }
.q-overview-page .q-hero .q-lead { font-size:18px; }
.q-overview-page .q-hero .q-actions { margin-top:24px; }
.q-overview-page .q-hero .btn { font-size:14.5px; min-height:46px; }
.q-overview-vision { margin:0; overflow:hidden; border:1px solid var(--line-2); border-radius:14px; background:var(--surface); }
.q-overview-vision img { width:100%; height:auto; display:block; background:#05090f; }
.q-page .q-overview-vision figcaption { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; padding:14px 18px; font-size:13px; line-height:1.5; }
.q-overview-vision figcaption a { display:inline-flex; align-items:center; gap:4px; min-height:44px; font-weight:600; }
.q-family-intro { max-width:850px; margin-bottom:28px; }
.q-page .q-family-intro p { font-size:16px; margin:0; }
.q-family-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.q-family-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--radius); }
.q-family-image { display:flex; align-items:center; justify-content:center; background:var(--bg-soft); height:224px; overflow:hidden; }
.q-family-image img { width:100%; height:100%; object-fit:contain; padding:20px 35px; }
.q-family-card--marine .q-family-image img { object-fit:cover; padding:0; }
.q-family-copy { display:flex; flex:1; flex-direction:column; padding:24px; }
.q-family-label { color:var(--quasar-bright); font:500 12px/1.6 var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.q-page .q-family-copy h3 { font-family:var(--body); font-weight:600; font-size:28px; letter-spacing:-.01em; margin:8px 0 12px; }
.q-page .q-family-copy p { font-size:16px; line-height:1.6; margin:0 0 24px; }
.q-page .q-family-copy .btn { font-size:14.5px; margin-top:auto; align-self:stretch; min-height:48px; white-space:normal; }
.q-page .q-family-relationship { margin:20px 0 0; text-align:center; color:var(--text-dim); font-size:14px; }
.q-overview-page .q-overview-twin { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:36px; align-items:center; padding:56px 0; margin-top:40px; }
.q-page .q-overview-twin-copy h2 { font-size:clamp(26px,2.5vw,36px); text-wrap:balance; margin:14px 0 16px; }
.q-overview-twin-copy .q-lead { font-size:17px; }
.q-twin-roles { margin:24px 0 16px; }
.q-twin-roles > div { border-top:1px solid var(--line-2); padding:16px 0; }
.q-twin-roles dt { font:600 20px/1.4 var(--body); color:var(--text); margin:0 0 8px; }
.q-twin-roles dt > span { display:block; color:var(--brand-ink); text-transform:uppercase; font:500 12px/1.5 var(--mono); letter-spacing:.12em; margin-bottom:5px; }
.q-twin-roles dd { margin:0; font-size:16px; }
.q-overview-text-link { display:inline-flex; min-height:44px; gap:12px; align-items:center; font-weight:600; }
.q-overview-twin-visual { min-width:0; margin:0; }
.q-overview-twin-visual img { width:100%; height:auto; border:1px solid var(--line-2); border-radius:var(--radius); background:var(--surface); }
.q-page .q-overview-twin-visual figcaption { font-size:13px; padding:12px 8px 0; text-align:center; }
.q-overview-twin > .q-one-twin-film { grid-column:1/-1; margin-top:8px; min-width:0; }
.q-capability-guide { border:1px solid var(--line-2); border-radius:var(--radius); background:var(--bg-soft); margin:0 0 24px; }
.q-capability-guide > summary { padding:20px 24px; cursor:pointer; color:var(--text); font-size:18px; font-weight:600; min-height:64px; }
.q-capability-guide > summary small { display:block; padding-left:20px; color:var(--text-dim); font-size:14px; font-weight:400; margin-top:4px; }
.q-capability-guide > summary:focus-visible { outline:2px solid var(--brand-ink); outline-offset:4px; border-radius:var(--radius-sm); }
.q-capability-guide-content { padding:0 24px 24px; }
.q-capability-guide-content .q-table-wrap { margin-top:8px; }
/* Step-up ladder: each tier builds on the one before, drawn as rising steps. */
.q-step-ladder { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; list-style:none; padding:0; margin:28px 0 24px; }
.q-step { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid var(--line-2); border-top:4px solid #578ddd; border-radius:var(--radius); background:var(--surface); }
.q-step:nth-child(1) { margin-top:72px; }
.q-step:nth-child(2) { margin-top:48px; border-top-color:#54b7d3; }
.q-step:nth-child(3) { margin-top:24px; }
.q-step--feature { position:relative; border:2px solid var(--quasar); border-top-width:4px; background:linear-gradient(180deg,var(--quasar-tint2),var(--quasar-tint) 45%,var(--surface)); box-shadow:0 0 0 1px var(--quasar-tint2),0 18px 44px -14px rgba(56,189,248,.55); }
.q-step--top { border-color:var(--quasar-bright); box-shadow:0 0 0 1px var(--quasar-tint2),0 22px 52px -12px rgba(125,214,252,.6); }
.q-step-badge { position:absolute; top:-14px; left:18px; padding:4px 12px; border-radius:999px; background:var(--quasar); color:#04121f; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.q-step--top .q-step-badge { background:var(--quasar-bright); }
.q-page .q-step--feature h3 { font-size:23px; }
.q-step--feature .q-step-tier { color:var(--quasar-bright); }
.q-step--feature ul { color:var(--text); }
.q-step-cta { margin-top:auto; align-self:flex-start; }
.q-step-tier { color:var(--text-dim); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.q-page .q-step h3 { margin:8px 0 6px; font-size:20px; line-height:1.3; }
.q-page .q-step .q-step-for { margin:0 0 14px; color:var(--text); font-size:15px; line-height:1.5; }
.q-page .q-step .q-step-plus { margin:0 0 8px; color:var(--quasar-bright); font-size:14px; font-weight:600; }
.q-step ul { margin:0 0 14px; padding-left:18px; color:var(--text-dim); font-size:14px; line-height:1.55; }
.q-step ul li + li { margin-top:6px; }
.q-page .q-step .q-step-addon { margin:0 0 14px; padding:10px 12px; border:1px dashed var(--line-2); border-radius:var(--radius-sm); color:var(--text-dim); font-size:13px; line-height:1.5; }
.q-step-addon strong { color:var(--text); }
.q-step-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-top:auto; font-size:14px; font-weight:600; text-decoration:none; }
.q-step-guide .q-actions { margin-top:16px; }
.q-overview-help { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:center; padding:32px; margin:32px 0; border:1px solid var(--line-2); border-radius:var(--radius); background:var(--surface); }
.q-page .q-overview-help h2 { margin:12px 0 14px; }
.q-page .q-overview-help p { font-size:16px; margin:0; max-width:52ch; }
.q-overview-help .q-actions { margin:0; justify-content:flex-end; }
.q-overview-resources { margin-bottom:0; }
@media (hover:hover) and (pointer:fine) {
  .q-family-card:has(a:hover) { border-color:var(--brand); }
}
@media (max-width:1050px) {
  body.q-overview-page #main > .wrap { padding-inline:24px; }
  .q-family-grid { gap:16px; }
  .q-family-image { height:190px; }
  .q-family-copy { padding:20px; }
  .q-page .q-family-copy h3 { font-size:24px; }
  .q-family-copy .btn { padding-inline:12px; }
  .q-overview-page .q-overview-twin { grid-template-columns:1fr; gap:24px; }
  .q-overview-twin-copy { max-width:800px; }
  .q-twin-roles { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .q-overview-twin-visual { max-width:100%; }
  .q-overview-help { grid-template-columns:1fr; }
  .q-overview-help .q-actions { justify-content:flex-start; }
  .q-step-ladder { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; }
  .q-step:nth-child(n) { margin-top:0; }
}
@media (max-width:900px) {
  .q-family-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  body.q-overview-page #main > .wrap { border:0; padding:18px 20px 28px; margin-top:0; }
  .q-overview-page .q-hero { padding:26px 0 32px; gap:24px; }
  .q-overview-page .q-hero h1 { font-size:34px; }
  .q-overview-page .q-hero .q-lead { font-size:17px; }
  .q-page .q-overview-vision figcaption { padding:12px 16px; }
  .q-family-grid { grid-template-columns:1fr; gap:20px; }
  .q-family-image { height:200px; }
  .q-family-image img { padding:18px 48px; }
  .q-family-copy { padding:22px; }
  .q-page .q-family-copy h3 { font-size:26px; }
  .q-page .q-family-copy p { margin-bottom:20px; }
  .q-page .q-family-relationship { text-align:left; }
  .q-overview-page .q-overview-twin { padding:36px 0; margin-top:32px; }
  .q-twin-roles { grid-template-columns:1fr; gap:0; }
  .q-page .q-overview-twin-copy h2 { font-size:30px; }
  .q-capability-guide > summary { padding:18px; font-size:17px; }
  .q-capability-guide-content { padding:0 16px 20px; }
  .q-capability-guide-content .btn { white-space:normal; }
  .q-step-ladder { grid-template-columns:1fr; row-gap:28px; }
  .q-overview-help { padding:24px; gap:24px; }
  .q-overview-help .q-actions { align-items:stretch; }
  .q-overview-help .btn { width:100%; }
}
