
:root { --role-lumeris:#244963; --role-customer:#8a5615; --role-customer-bg:#fff1d7; --role-shared:#eef2f5; --visual-ink:#243c4d; --visual-line:#cad6df; }
.visual-icon { display:block; width:46px; height:46px; flex:0 0 auto; color:currentColor; }
.role-legend { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 22px; }
.role-legend span { padding:7px 12px; border-radius:4px; font-size:16px; line-height:1.7; font-weight:700; }
.role-legend .role-lumeris { background:var(--role-lumeris); color:#fff; }
.role-legend .role-customer { background:var(--role-customer-bg); color:var(--role-customer); border:1px solid #ce9e55; }
.role-legend .role-shared { background:#eef2f5; color:#435565; border:1px solid #c8d1da; }
/* Roles use both labels and color; no customer/implementer distinction relies on color alone. */
.home-fees { background:#f0f4f7; }
.work-flow > .flow-lumeris { background:var(--role-lumeris); border-color:var(--role-lumeris); }
.work-flow > .flow-customer { background:var(--role-customer-bg); border-color:#c38c3a; }
.work-flow > .flow-together { background:#fff; border-color:#b7c6d2; }
.work-flow .flow-owner { display:inline-block; padding:4px 10px; border-radius:4px; background:#eaf0f4; color:#405666; }
.flow-lumeris .flow-owner { background:#fff; color:var(--role-lumeris); }
.flow-customer .flow-owner { background:#8a5615; color:#fff; }
.flow-together .flow-icon { color:#526b7e; }
.flow-customer .flow-icon { color:var(--role-customer); }
.work-flow > li + li::before { background:#758a9a; }
.work-flow > li + li::after { border-color:#758a9a; }
.flow-deliverables { border:1px solid var(--visual-line); }
.outcome-panel { background:#eff5f7; border-color:#276178; }
.outcome-panel:nth-child(2) { background:#eef3f9; border-color:#244963; }
.outcome-panel:nth-child(3) { background:#f2f4f6; border-color:#5a7080; }
.sales-column-track i,.sales-rise-arrow { color:#276178; background-color:#276178; }
.sales-rise-arrow { background:none; }
.sales-column:first-of-type i { background:#acc4cd; }
.outcome-panel:nth-child(2) .sales-column-track i { background:#244963; }
.outcome-panel:nth-child(2) .sales-column:first-of-type i { background:#acbed0; }
.outcome-panel:nth-child(2) .sales-rise-arrow { color:#244963; }
.outcome-panel:nth-child(3) .outcome-track i { background:#536c7e; }
.outcome-panel:nth-child(3) .outcome-bars > div:first-child i { background:#b9c5cd; }
.visual-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:22px; padding:0; margin:24px 0; }
.visual-steps > li { position:relative; min-width:0; padding:20px 12px; background:var(--role-shared); border:1px solid #c9d6de; text-align:center; color:var(--visual-ink); }
.visual-steps .visual-icon { margin:0 auto 14px; }
.visual-steps strong { display:block; font-size:21px; line-height:1.6; text-wrap:balance; }
.visual-steps span { display:block; font-size:16px; margin-top:6px; line-height:1.8; }
.visual-steps > li + li:before { content:"→"; position:absolute; left:-22px; top:calc(50% - 16px); font-size:22px; color:#526c7e; }
.visual-steps > .role-lumeris { background:var(--role-lumeris); color:#fff; border-color:var(--role-lumeris); }
.visual-steps > .role-customer { background:var(--role-customer-bg); color:#704811; border-color:#ce9e55; }
.visual-steps.four-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.visual-details { margin:14px 0; border-top:1px solid var(--visual-line); }
.visual-details summary { padding:14px 0; min-height:44px; font-size:17px; font-weight:700; cursor:pointer; line-height:1.6; }
.visual-details p { font-size:17px; line-height:1.9; margin:0 0 16px; }
.visual-service { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:36px; padding:36px 0; border-bottom:1px solid var(--visual-line); align-items:center; }
.service-picture { min-width:0; margin:0; background:#eef3f6; padding:12px; }
.service-picture img { width:100%; height:300px; object-fit:cover; object-position:top; display:block; }
.service-picture.portrait-evidence img { object-fit:contain; height:350px; }
.service-picture figcaption,.support-wide-image figcaption,.origin-photo figcaption { font-size:15px; color:#526b7a; line-height:1.7; margin-top:10px; }
.service-visual-copy { min-width:0; }
.service-visual-copy h3 { font-size:clamp(25px,3vw,35px); line-height:1.5; margin:10px 0 22px; text-wrap:balance; }
.mini-steps { gap:16px; }
.mini-steps > li { padding:16px 8px; }
.mini-steps > li + li:before { left:-16px; font-size:18px; }
.mini-steps .visual-icon { width:36px; height:36px; }
.mini-steps strong { font-size:18px; }
.mini-steps span { font-size:16px; }
.visual-consult-link { display:block; margin-top:16px; color:var(--role-lumeris); font-size:17px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.visual-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:40px; }
.visual-secondary article { min-width:0; padding:22px; border:1px solid var(--visual-line); background:#fff; }
.visual-secondary h3 { font-size:27px; line-height:1.6; }
.visual-secondary .visual-steps strong { font-size:18px; }
.related-services .visual-icon { margin-bottom:18px; color:var(--role-lumeris); }
.philosophy-map { margin:0 0 40px; }
.mvv-overview { gap:32px; }
.mvv-overview article { border-top:4px solid var(--role-lumeris); padding-top:22px; }
.philosophy-origin .origin-proof { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 32px; align-items:center; }
.origin-photo { grid-row:span 2; margin:0; }
.origin-photo img { display:block; width:100%; height:270px; object-fit:cover; }
.mvv-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; padding:0; }
.mvv-values > li { display:block; padding:24px; border:1px solid var(--visual-line); background:#fff; }
.mvv-values .visual-icon { color:var(--role-lumeris); margin-bottom:18px; }
.mvv-values h4 { font-size:21px; line-height:1.6; text-wrap:balance; }
.support-wide-image { margin:0 0 20px; }
.support-wide-image img { width:100%; height:240px; object-fit:cover; display:block; }
.visual-future .support-wide-image img { height:auto; max-height:420px; object-fit:contain; background:#f0f4f6; margin-top:24px; }
.visual-comparison { display:grid; grid-template-columns:1fr 40px 1fr; gap:20px; align-items:center; margin:24px 0; }
.visual-comparison > div { padding:24px; background:#eef3f6; }
.visual-comparison > div:last-child { background:#e3edf4; border-top:4px solid var(--role-lumeris); }
.visual-comparison h3 { font-size:23px; line-height:1.6; }
.visual-comparison p { font-size:17px; line-height:1.8; }
.visual-comparison b { text-align:center; font-size:30px; color:var(--role-lumeris); }
.profile-evidence { margin:0 0 24px; background:#edf3f7; padding:18px; }
.profile-evidence img { display:block; width:100%; height:290px; object-fit:contain; }
.profile-evidence figcaption { text-align:center; font-size:16px; margin-top:10px; }
.profile-grid .strength-source { font-size:18px; color:var(--role-lumeris); font-weight:700; }
.personal-experience { border-left:3px solid var(--visual-line); padding-left:16px; }
.profile-grid .mini-steps { grid-template-columns:1fr; }
.profile-grid .mini-steps > li { display:grid; grid-template-columns:40px 1fr; gap:0 14px; text-align:left; padding:14px; }
.profile-grid .mini-steps .visual-icon { grid-row:1 / 3; align-self:center; margin:0; }
.profile-grid .mini-steps strong,.profile-grid .mini-steps span { grid-column:2; }
.profile-grid .mini-steps > li + li:before { content:"↓"; top:-23px; left:50%; }
.vertical-steps { grid-template-columns:1fr; gap:24px; }
.vertical-steps > li { display:grid; grid-template-columns:42px 1fr; gap:0 14px; padding:16px; text-align:left; }
.vertical-steps .visual-icon { width:36px; height:36px; margin:0; grid-row:span 2; align-self:center; }
.vertical-steps strong,.vertical-steps span { grid-column:2; }
.vertical-steps > li + li:before { content:"↓"; top:-27px; left:50%; }
.consult-next-steps { background:#fff; padding:20px 0; }
.contact-copy .mini-steps { gap:10px; }
.contact-copy .mini-steps > li + li:before { content:none; }
.contact-copy .mini-steps strong { font-size:17px; }
.contact-copy .mini-steps span { font-size:16px; }
.order-proof-image { margin:24px 0; background:#eef3f6; padding:18px; width:min(100%,400px); }
.order-proof-image img { display:block; width:100%; height:300px; object-fit:contain; }
.order-proof-image figcaption { text-align:center; margin-top:12px; font-size:16px; }
.estimate-chart { margin:24px 0; background:#fff; padding:22px; border:1px solid var(--visual-line); }
.estimate-chart figcaption { font-size:18px; font-weight:700; margin-bottom:18px; }
.estimate-row { display:grid; grid-template-columns:65px 1fr 90px; gap:14px; align-items:center; margin:18px 0; font-size:17px; }
.estimate-row i { display:block; height:26px; width:var(--estimate-width); background:#244963; }
.estimate-row:first-of-type i { background:#a8bac8; }
.estimate-chart[hidden] { display:none; }
@media(max-width:1000px) {
 .visual-service { grid-template-columns:1fr; gap:20px; }
 .service-picture img { height:320px; object-fit:contain; }
 .visual-secondary { grid-template-columns:1fr; }
 .mvv-values { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .role-legend { gap:8px; }
 .role-legend span { font-size:15px; }
 .visual-steps:not(.mini-steps),.visual-steps.four-steps { grid-template-columns:1fr; gap:24px; }
 .visual-steps:not(.mini-steps) > li { display:grid; grid-template-columns:46px 1fr; gap:0 16px; text-align:left; padding:18px; }
 .visual-steps:not(.mini-steps) .visual-icon { grid-row:span 2; margin:0; align-self:center; width:40px; height:40px; }
 .visual-steps:not(.mini-steps) strong,.visual-steps:not(.mini-steps) span { grid-column:2; }
 .visual-steps:not(.mini-steps) > li + li:before { content:"↓"; top:-27px; left:50%; }
 .mini-steps { grid-template-columns:1fr; gap:22px; }
 .mini-steps > li { display:grid; grid-template-columns:38px 1fr; gap:0 12px; text-align:left; }
 .mini-steps .visual-icon { margin:0; grid-row:span 2; align-self:center; }
 .mini-steps strong,.mini-steps span { grid-column:2; }
 .mini-steps > li + li:before { content:"↓"; top:-25px; left:50%; }
 .service-picture img { height:240px; }
 .service-picture.portrait-evidence img { height:320px; }
 .visual-secondary article { padding:18px; }
 .philosophy-origin .origin-proof { grid-template-columns:1fr; }
 .origin-photo { grid-row:auto; }
 .origin-photo img { height:220px; }
 .mvv-values { grid-template-columns:1fr; }
 .visual-comparison { grid-template-columns:1fr; gap:12px; }
 .visual-comparison b { transform:rotate(90deg); }
 .support-wide-image img { height:190px; }
 .estimate-chart { padding:16px; }
 .estimate-row { grid-template-columns:50px 1fr 70px; gap:10px; font-size:16px; }
}
