/* One-stop LP: illustrations and a consistent preparation / operation / improvement palette. */
.os-page { --os-warm:#924619; --os-green:#21685a; --os-support:#18558d; }
.os-page .os-button-coral { background:#fff; color:#0b2d5c; box-shadow:0 5px 18px #041a331f; }
.os-page .os-button-coral:hover { background:#edf3fc; color:#0b2d5c; }
.os-page .os-button-coral:focus-visible { outline:3px solid #0b2d5c; outline-offset:-5px; }
.os-hero-flow li:first-child > span { color:#924619; background:#ffead4; border-color:#e7c6a3; }
.os-hero-flow li:nth-child(2) > span,.os-hero-flow li:nth-child(3) > span { color:#18558d; background:#e6effc; border-color:#b9cde5; }
.os-page .os-tone-prepare { --os-stage-bg:#fff4e8; --os-stage-line:#e2bb94; --os-stage-ink:#924619; --os-stage-edge:#ce793b; }
.os-page .os-tone-operate { --os-stage-bg:#edf3fc; --os-stage-line:#b6cce5; --os-stage-ink:#18558d; --os-stage-edge:#427cb6; }
.os-page .os-tone-improve { --os-stage-bg:#edf7f2; --os-stage-line:#a9cec0; --os-stage-ink:#21685a; --os-stage-edge:#388575; }

/* The first explanation pairs a human scene with the three connected benefits. */
.os-value-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }
.os-value .os-section-heading { text-align:left; margin-bottom:20px; }
.os-value h2 { text-wrap:pretty; }
.os-page .os-value-art { display:block; width:100%; max-width:380px; height:250px; object-fit:contain; margin:18px auto 0; }
.os-value-layout .os-value-grid { display:grid; grid-template-columns:1fr; gap:22px; }
.os-value-layout .os-value-grid article,
.os-value-layout .os-value-grid article:first-child,
.os-value-layout .os-value-grid article:last-child { position:relative; padding:24px 26px 24px 76px; background:var(--os-stage-bg); border:1px solid var(--os-stage-line); border-left:4px solid var(--os-stage-edge); border-radius:9px; }
.os-value-layout .os-value-grid article:not(:last-child)::after { content:'↓'; position:absolute; left:27px; bottom:-24px; color:#758799; font-size:18px; line-height:22px; }
.os-value-layout .os-value-number { position:absolute; left:20px; top:25px; width:auto; float:none; font-size:27px; font-weight:700; line-height:1.3; color:var(--os-stage-ink); }
.os-value-layout .os-value-grid h3 { color:var(--os-stage-ink); font-size:20px; margin:0 0 12px; min-height:0; display:block; }
.os-value-layout .os-value-grid p { font-size:14px; clear:none; }

/* The plan explains the scope at a glance; detailed tasks follow below. */
.os-plan-section { background:#f7f8fa; }
.os-plan { border-color:#dce3e9; border-radius:12px; }
.os-plan-price { background:#fff0e2; color:var(--os-ink); border-top:4px solid #ce793b; padding-top:38px; }
.os-plan-price .os-label { color:#924619; }
.os-plan-price strong { color:#924619; }
.os-plan-price > div > span,.os-plan-price b { white-space:nowrap; }
.os-plan-price > p:last-child { color:#655447; }
.os-plan-price > p:not(.os-label):not(.os-price-note) { color:#655447; font-size:14px; line-height:1.9; }
.os-page .os-price-note { font-size:12px; line-height:1.9; border-top:1px solid #dfc2a5; margin-top:22px; padding-top:18px; color:#655447; }
.os-plan-scope { padding:38px 36px; }
.os-plan-scope ul.os-scope-summary { display:grid; grid-template-columns:1fr; gap:14px; margin-top:24px; }
.os-plan-scope .os-scope-summary li { display:flex; align-items:flex-start; gap:14px; font-size:14px; padding:0 0 14px; border-bottom:1px solid #e0e7ee; }
.os-plan-scope .os-scope-summary li:last-child { padding-bottom:0; border-bottom:0; }
.os-plan-scope .os-scope-summary li > span { display:grid; place-items:center; width:27px; height:27px; flex:0 0 27px; font-size:12px; border-radius:50%; color:#924619; background:#fff0e2; }
.os-plan-scope .os-scope-summary li:nth-child(2) > span { background:#e6effc; color:#18558d; }
.os-plan-scope .os-scope-summary li:nth-child(3) > span { background:#e5f3ed; color:#21685a; }
.os-plan-scope .os-scope-item-copy strong { font-size:16px; color:var(--os-ink); }
.os-plan-scope .os-scope-item-copy p { margin-top:3px; font-size:13px; color:var(--os-muted); line-height:1.8; }
.os-plan-scope .os-note { font-size:12px; margin-top:24px; }

/* Eight services in three readable groups, retaining each original service number. */
.os-service-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.os-service-group { min-width:0; padding:24px 18px 18px; background:var(--os-stage-bg); border:1px solid var(--os-stage-line); border-top:4px solid var(--os-stage-edge); border-radius:10px; }
.os-service-group-heading { padding:0 6px 22px; }
.os-service-group-heading .os-label { color:var(--os-stage-ink); margin-bottom:10px; font-size:11px; }
.os-service-group-heading h3 { font-size:23px; color:var(--os-stage-ink); }
.os-service-group .os-service-grid { grid-template-columns:1fr; gap:12px; }
.os-service-group .os-service-card { border:0; border-radius:6px; padding:22px; background:#fff; }
.os-service-group .os-service-top { margin-bottom:14px; }
.os-service-group .os-service-icon { color:var(--os-stage-ink); }
.os-service-group .os-service-top > span:last-child { font-size:20px; color:var(--os-stage-ink); }
.os-service-group .os-service-card h4 { padding:0; margin:0 0 10px; font-size:17px; line-height:1.7; color:var(--os-ink); font-weight:700; }
.os-service-group .os-service-card p { font-size:13px; }

/* The second illustration connects reporting to analysis, without implying results. */
.os-page .os-report-art { display:block; width:100%; max-width:355px; height:220px; object-fit:contain; margin:0 0 25px; }
.os-report-intro .os-label { color:#21685a; }
.os-report-rhythm > div { border-color:#cbded5; }
.os-report-rhythm dt { color:#21685a; }
.os-report-rhythm dt > span { color:#21685a; }
.os-kpi { border-radius:10px; }
.os-kpi thead th:nth-child(2) { background:#18558d; }
.os-kpi thead th:nth-child(3) { background:#21685a; }
.os-kpi thead th > span { color:#d8e9f2; }
.os-scenes { background:#fff6ec; }
.os-scenes .os-heading-row .os-label { color:#924619; }
.os-scene { border-color:#e8cdb1; border-radius:10px; }
.os-scene-type { color:#18558d; font-weight:700; }
.os-scene:last-child .os-scene-type { color:#21685a; }
.os-scene-challenge { background:#fff4e8; border-radius:6px; }
.os-scene-challenge > span { color:#924619; }
.os-scene-support { padding:17px 18px; background:#edf3fc; border-left:3px solid #427cb6; border-radius:0 6px 6px 0; }
.os-scene-support > span { color:#18558d; }
.os-scene:last-child .os-scene-support { background:#edf7f2; border-left-color:#388575; }
.os-scene:last-child .os-scene-support > span { color:#21685a; }
.os-flow { background:#f2f8f4; }
.os-flow .os-label { color:#21685a; }
.os-speed { max-width:360px; border-color:#388575; }
.os-speed strong { color:#21685a; }
.os-page .os-speed-note { font-size:11px; font-weight:400; line-height:1.8; color:var(--os-muted); margin-top:10px; white-space:normal; }
.os-flow-number { border-color:#94bdad; color:#21685a; }

@media(max-width:1024px) {
  .os-plan { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }
  .os-value-layout { gap:32px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .os-value-layout .os-value-grid article,.os-value-layout .os-value-grid article:first-child,.os-value-layout .os-value-grid article:last-child { padding:23px 20px 23px 65px; }
  .os-value-layout .os-value-number { left:16px; font-size:25px; }
  .os-value-layout .os-value-grid h3 { font-size:18px; }
  .os-service-groups { gap:14px; }
  .os-service-group { padding:20px 12px 12px; }
  .os-service-group-heading h3 { font-size:20px; }
  .os-service-group .os-service-card { padding:18px 16px; }
  .os-service-group .os-service-card h4 { font-size:16px; }
  .os-plan-scope { padding:32px 28px; }
}
@media(min-width:768px) and (max-width:1024px) {
  .os-plan-price h2 { font-size:22px; }
}
@media(min-width:768px) and (max-width:900px) {
  .os-service-groups { grid-template-columns:1fr; gap:22px; }
  .os-service-group { padding:24px 20px 20px; }
  .os-service-group-heading h3 { font-size:23px; }
  .os-service-group .os-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .os-service-group .os-service-card { padding:22px; }
  .os-service-group .os-service-card:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media(max-width:767px) {
  .os-value-layout { grid-template-columns:1fr; gap:30px; }
  .os-page .os-value-art { max-width:340px; height:210px; margin-top:15px; }
  .os-value .os-section-heading { margin-bottom:0; }
  .os-value h2 { font-size:25px; }
  .os-value-layout .os-value-grid article,.os-value-layout .os-value-grid article:first-child,.os-value-layout .os-value-grid article:last-child { padding:24px 20px 24px 65px; }
  .os-value-layout .os-value-grid p { font-size:13px; }
  .os-plan-price { padding:28px; }
  .os-plan-price > p:last-child { font-size:12px; }
  .os-plan-scope { padding:28px 24px; }
  .os-plan-scope .os-scope-item-copy strong { font-size:15px; }
  .os-plan-scope .os-scope-item-copy p { font-size:12px; }
  .os-service-groups { grid-template-columns:1fr; gap:22px; }
  .os-service-group { padding:24px 18px 18px; }
  .os-service-group-heading h3 { font-size:23px; }
  .os-service-group .os-service-card { padding:24px; }
  .os-service-group .os-service-card h4 { font-size:18px; }
  .os-page .os-report-art { max-width:320px; height:210px; margin:0 auto 22px; }
  .os-page .os-speed-note { font-size:11px; }
}
