/* Current approved edition: inline cases, two programs and Vlad's contact. */
.nowrap { white-space:nowrap; }
.has-viewer .services { font-size:clamp(20px,1.7vw,25px); }
.services li::before { font-size:1.05em; }
.program-more { display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--product-ink); font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.has-viewer .slide-program .program-heading { margin-top:14px; }
.has-viewer .slide-program .program-steps { margin-top:22px; }
.has-viewer .slide-lab-results .results-grid { display:block; flex:none; margin-top:26px; }
.has-viewer .slide-lab-results .result-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.has-viewer .slide-lab-results .result-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:28px; height:100%; gap:22px; }
.has-viewer .slide-lab-results .result-pilots .result-body { display:block; }
.has-viewer .slide-lab-results .result-card p { font-size:22px; line-height:1.4; }
.has-viewer .slide-lab-results .result-pilots p { margin-top:14px; }
.case-examples-label { margin:20px 0 0; color:var(--blue-text); font-size:16px; font-weight:600; }
.has-viewer .departments { align-items:start; margin-top:12px; }
.has-viewer .departments li { display:block; min-width:0; padding:0; white-space:normal; }
.department-card summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; cursor:pointer; list-style:none; }
.department-card summary::-webkit-details-marker { display:none; }
.department-card summary::marker { content:''; }
.department-card summary:focus-visible { outline:3px solid var(--blue-text); outline-offset:3px; border-radius:14px; }
.department-name { min-width:0; }
.case-view { display:inline-flex; align-items:center; gap:7px; text-decoration:none; }
.case-plus { display:inline-block; font-size:20px; font-weight:400; line-height:1; transition:transform .18s; }
.department-card[open] .case-plus { transform:rotate(45deg); }
.department-card[open] summary { border-bottom:1px solid #d1def1; }
.case-details { padding:20px 16px; }
.department-card:not([open]) .case-details { display:none; }
.case-process h3 { font-size:17px; line-height:1.3; }
.case-process p { font-size:15px; line-height:1.5; }
body.has-viewer.has-expanded-case { height:auto; min-height:100dvh; grid-template-rows:auto auto auto; }
.has-expanded-case main { container-type:inline-size; min-height:var(--case-stage-height); }
.has-expanded-case .slide-case { justify-content:flex-start; flex:none; }
.has-expanded-case .slide-navigation { position:sticky; bottom:0; }
.contact-heading { display:grid; grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr); gap:36px; align-items:center; }
.contact-arrow { color:var(--blue-text); width:80px; height:auto; max-width:none; min-width:0; margin:0; transform:none; }
.contact-card { padding:28px 30px; border:1.5px solid #1356c29c; border-radius:22px; background:#ffffff29; box-shadow:inset 0 1px 6px #1356c20c,0 1px 0 #ffffffd9; }
.contact-card h3 { margin:0 0 20px; font-size:32px; font-weight:600; letter-spacing:-.035em; }
.contact-card .contact-link { display:flex; align-items:center; justify-content:flex-start; width:fit-content; gap:12px; font-size:clamp(16px,1.7vw,23px); color:var(--blue-text); font-weight:500; letter-spacing:-.015em; padding:0; border:0; border-radius:0; background:none; box-shadow:none; transform:none; }
.contact-card .contact-link + .contact-link { margin-top:14px; }
.contact-card .contact-link svg { width:28px; height:28px; flex:none; }
.contact-card .contact-link:hover { text-decoration:underline; text-underline-offset:5px; box-shadow:none; transform:none; }
@media screen and (max-width:1100px) and (min-width:761px) {
 .department-card summary { flex-direction:column; align-items:flex-start; gap:4px; }
 .contact-heading { grid-template-columns:minmax(0,1fr) 50px minmax(0,1.15fr); gap:18px; }
 .contact-arrow { width:50px; }
 .contact-card { padding:22px; }
 .contact-card h3 { font-size:28px; }
 .contact-card .contact-link { font-size:16px; gap:8px; }
 .contact-card .contact-link svg { width:24px; height:24px; }
 .has-viewer .slide-lab-results .result-card { padding:20px; }
 .has-viewer .slide-lab-results .result-card p { font-size:18px; }
}

@media screen and (max-width:760px) {
 .has-viewer .services { font-size:clamp(14px,min(3.6cqh,4.7vw),20px); }
 .program-more { font-size:clamp(11px,2.5cqh,15px); margin-top:8px; }
 .has-viewer .slide-program .program-heading { margin-top:clamp(6px,1.5cqh,12px); }
 .has-viewer .slide-program .program-steps { margin-top:clamp(6px,1.4cqh,12px); }
 .has-viewer .slide-program h2 { font-size:clamp(20px,min(6vw,5.2cqh),32px); }
 .has-viewer .slide-program .intro { margin-top:clamp(6px,1.4cqh,12px); font-size:clamp(11px,2.4cqh,15px); }
 .has-viewer .slide-program .program-steps p { font-size:clamp(11px,min(2.1cqh,3.1vw),15px); }
 .has-viewer .slide-lab-results .results-grid { margin-top:clamp(12px,3cqh,22px); }
 .has-viewer .slide-lab-results .result-list { grid-template-columns:1fr; gap:clamp(10px,2cqh,16px); }
 .has-viewer .slide-lab-results .result-card { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; padding:clamp(14px,3cqh,24px) 16px; gap:12px; }
 .has-viewer .slide-lab-results .result-card p { font-size:clamp(13px,3cqh,19px); }
 .has-viewer .slide-lab-results .result-pilots .result-body { display:flex; gap:12px; }
 .has-viewer .slide-lab-results .result-pilots p { margin:0; }
 .case-examples-label { margin-top:clamp(6px,1.4cqh,12px); font-size:clamp(11px,2.4cqh,15px); line-height:1.25; }
 .has-viewer .department-card summary { flex-direction:column; align-items:flex-start; gap:0; padding:clamp(4px,1.2cqh,9px) 10px; }
 .case-plus { font-size:17px; }
 .case-details { padding:14px 10px; }
 .case-process h3 { font-size:14px; }
 .case-process p { font-size:13px; }
 .case-process + .case-process { margin-top:18px; }
 .has-expanded-case .slide-case { padding-block:clamp(10px,calc(var(--case-unit)*2.8),22px); }
 .has-expanded-case .slide-case h2 { font-size:clamp(20px,min(6vw,calc(var(--case-unit)*5.3)),32px); }
 .has-expanded-case .case-intro { font-size:clamp(12px,calc(var(--case-unit)*2.7),17px); margin-top:clamp(6px,calc(var(--case-unit)*1.4),12px); }
 .has-expanded-case .case-metric strong { font-size:clamp(28px,calc(var(--case-unit)*6.5),48px); }
 .has-expanded-case .case-metric p { font-size:clamp(11px,calc(var(--case-unit)*2.5),15px); }
 .has-expanded-case .case-metrics { margin-top:clamp(8px,calc(var(--case-unit)*1.8),16px); }
 .has-expanded-case .case-metric { padding:clamp(6px,calc(var(--case-unit)*1.3),12px) 12px; }
 .has-expanded-case .case-examples-label { margin-top:clamp(6px,calc(var(--case-unit)*1.4),12px); font-size:clamp(11px,calc(var(--case-unit)*2.4),15px); }
 .has-expanded-case .departments li { font-size:clamp(11px,calc(var(--case-unit)*2.5),14px); }
 .has-expanded-case .case-view { font-size:clamp(10px,calc(var(--case-unit)*2.2),12px); }
 .has-expanded-case .department-card summary { padding:clamp(4px,calc(var(--case-unit)*1.2),9px) 10px; }
 .has-viewer .slide-catalog h2 { font-size:clamp(21px,min(6vw,5.4cqh),32px); }
 .has-viewer .slide-projects h2 { font-size:clamp(20px,min(6vw,4.8cqh),30px); }
 .has-viewer .projects-grid { margin-top:clamp(8px,1.8cqh,14px); gap:clamp(6px,1.2cqh,10px); }
 .has-viewer .project-card { padding:clamp(5px,1.2cqh,10px) 10px; }
 .has-viewer .project-card h3 { font-size:clamp(12px,2.5cqh,16px); overflow-wrap:normal; }
 .has-viewer .project-card p { font-size:clamp(11px,2.2cqh,14px); line-height:1.25; margin-top:5px; }
 .contact-heading { grid-template-columns:32px minmax(0,1fr); gap:20px 12px; width:100%; }
 .has-viewer .slide-contact h2 { grid-column:1 / -1; max-width:none; font-size:clamp(38px,9cqh,64px); }
 .contact-arrow { width:32px; height:auto; margin:0; transform:none; }
 .contact-card { width:100%; padding:22px 16px; border-radius:18px; }
 .contact-card h3 { font-size:clamp(22px,5cqh,32px); margin-bottom:16px; }
 .contact-card .contact-link { gap:8px; font-size:clamp(12px,3.35vw,17px); white-space:nowrap; }
 .contact-card .contact-link svg { width:22px; height:22px; }
 .contact-description { font-size:clamp(18px,4cqh,27px); margin-top:clamp(20px,5cqh,36px); }
}
@media screen and (min-width:761px) and (max-height:500px) {
 .has-viewer .services { font-size:15px; }
 .program-more { margin-top:6px; font-size:12px; }
 .has-viewer .slide-program h2 { font-size:23px; }
 .has-viewer .slide-program .intro { margin-top:6px; font-size:12px; }
 .has-viewer .slide-program .program-heading { margin-top:6px; }
 .has-viewer .slide-program .program-steps { margin-top:8px; }
 .has-viewer .slide-program .program-steps p { font-size:10px; }
 .has-viewer .slide-program .program-steps .nowrap { white-space:nowrap; font-size:10px; }
 .has-viewer .slide-lab-results .results-grid { margin-top:12px; }
 .has-viewer .slide-lab-results .result-card { padding:14px; gap:10px; }
 .has-viewer .slide-lab-results .result-card p { font-size:13px; }
 .has-viewer .slide-lab-results .result-pilots strong { font-size:36px; }
 .case-examples-label { margin-top:8px; font-size:11px; }
 .has-viewer .departments { margin-top:6px; }
 .department-card summary { padding:5px 8px; gap:6px; }
 .has-viewer .department-card summary { flex-direction:row; align-items:center; }
 .contact-card { padding:16px 20px; }
 .contact-card h3 { font-size:24px; margin-bottom:12px; }
 .contact-card .contact-link { font-size:15px; }
 .contact-card .contact-link + .contact-link { margin-top:8px; }
 .contact-card .contact-link svg { width:22px; height:22px; }
}
@media (prefers-reduced-motion:reduce) { .case-plus { transition:none; } }
@media screen and (max-width:360px) {
 .has-viewer .project-card { grid-template-columns:80px minmax(0,1fr); padding:4px 8px; gap:6px; }
 .has-viewer .project-heading { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
 .has-viewer .project-card h3 { font-size:11px; }
 .has-viewer .project-card p { margin:0; font-size:11px; line-height:1.2; }
}
@media screen and (max-width:760px) {
 @container (max-width:360px) and (max-height:520px) {
  .has-viewer .slide-case { padding-block:8px; }
  .has-viewer .slide-case .departments { margin-top:6px; }
  .has-viewer .slide-projects .projects-grid { gap:4px; }
  .has-viewer .slide-case .case-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .has-viewer .slide-case .case-metric { flex-direction:column; align-items:flex-start; gap:4px; padding:6px 8px; }
  .has-viewer .slide-case .case-metric strong { font-size:30px; }
  .has-viewer .slide-case .case-metric p { font-size:11px; }
  .has-viewer .slide-program { padding-block:8px; }
  .has-viewer .slide-program .program-steps { gap:3px; margin-top:6px; }
  .has-viewer .slide-program .program-steps p { padding:2px 8px; line-height:1.2; }
  .has-viewer .slide-lab-results .result-card { padding:10px 12px; }
  .has-viewer .slide-intensive-program .training-body { padding:4px 10px; }
  .has-viewer .slide-intensive-program .training-body p { line-height:1.2; }
 }
}
@media print {
 .case-details { display:block !important; }
 details::details-content { content-visibility:visible; display:block; }
 .case-view,.program-more { display:none; }
 .departments { align-items:start; }
 .department-card summary { display:block; }
 .contact-heading { grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr); }
 .contact-card { padding:20px; }
 .contact-card .contact-link { font-size:18px; }
}

/* 04.10: readability takes priority over fitting every mobile slide into one screen. */
@media screen and (max-width:760px), screen and (max-height:500px) {
 body.has-viewer.has-flow-slide { height:auto; min-height:100dvh; grid-template-rows:auto auto auto; }
 .has-flow-slide main { container-type:inline-size; min-height:calc(100dvh - 114px); }
 .has-flow-slide .slide { flex:none; justify-content:flex-start; padding-block:24px 32px; }
 .has-flow-slide .slide-navigation { position:sticky; bottom:0; }
 .has-flow-slide .slide h2 { font-size:clamp(26px,6.6vw,34px); line-height:1.15; }
 .has-flow-slide .slide .intro,.has-flow-slide .case-intro { font-size:16px; line-height:1.5; margin-top:18px; }
 .has-flow-slide .slide .result-heading { font-size:14px; line-height:1.3; padding:9px 14px; margin-top:18px; }
 .has-flow-slide .slide-case .case-metrics { margin-top:22px; grid-template-columns:1fr; gap:12px; }
 .has-flow-slide .slide-case .case-metric { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; padding:16px; gap:10px 14px; }
 .has-flow-slide .case-metric strong { font-size:38px; }
 .has-flow-slide .case-metric p { font-size:14px; line-height:1.4; }
 .has-flow-slide .case-examples-label { font-size:16px; line-height:1.4; margin-top:24px; }
 .has-flow-slide .slide-case .departments { grid-template-columns:1fr; margin-top:14px; gap:12px; }
 .has-flow-slide .departments li { font-size:15px; }
 .has-flow-slide .department-card summary { padding:16px 12px; flex-direction:row; align-items:center; gap:12px; }
 .has-flow-slide .case-view { font-size:12px; }
 .has-flow-slide .case-details { padding:18px 12px; }
 .has-flow-slide .case-process h3 { font-size:16px; }
 .has-flow-slide .case-process p { font-size:15px; line-height:1.5; }
 .has-flow-slide .product-overview { display:grid; grid-template-columns:1fr; grid-template-rows:auto auto; gap:20px; margin-top:24px; flex:none; }
 .has-flow-slide .product-section { display:flex; flex-direction:column; align-items:stretch; padding:24px; }
 .has-flow-slide .product-section h3 { font-size:28px; }
 .has-flow-slide .product-section p { font-size:16px; line-height:1.5; margin-top:12px; }
 .has-flow-slide .program-more { font-size:15px; margin-top:16px; }
 .has-flow-slide .product-section-art { height:210px; flex:none; margin-top:20px; }
 .has-flow-slide .product-section-art img { height:100%; max-height:none; }
 .has-flow-slide .slide-program .program-steps { grid-template-columns:1fr; gap:12px; margin-top:24px; }
 .has-flow-slide .slide-program .program-steps li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; align-items:start; }
 .has-flow-slide .program-steps .step-number { width:36px; height:36px; font-size:16px; }
 .has-flow-slide .program-steps li:not(:last-child)::before { top:17px; left:17px; width:3px; height:calc(100% + 12px); }
 .has-flow-slide .program-steps p { padding:12px 14px; font-size:15px; line-height:1.45; }
 .has-flow-slide .slide-program .program-steps .nowrap { font-size:inherit; }
 .has-flow-slide .intensive-stages { grid-template-columns:1fr; margin-top:24px; gap:16px; }
 .has-flow-slide .training-card { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; align-items:start; }
 .has-flow-slide .training-card .step-number { width:36px; height:36px; font-size:16px; }
 .has-flow-slide .intensive-stages li:not(:last-child)::before { top:17px; left:17px; width:3px; height:calc(100% + 16px); }
 .has-flow-slide .training-body { padding:18px 16px; }
 .has-flow-slide .training-body h3 { font-size:22px; }
 .has-flow-slide .training-body p { font-size:16px; line-height:1.5; margin-top:12px; }
 .has-flow-slide .slide-intensive-results .result-list { grid-template-columns:1fr; gap:18px; }
 .has-flow-slide .slide-intensive-results .results-grid { margin-top:24px; }
 .has-flow-slide .slide-intensive-results .result-card { padding:22px 18px; }
 .has-flow-slide .slide-intensive-results .result-card h3 { font-size:22px; }
 .has-flow-slide .slide-intensive-results .result-card p { font-size:16px; line-height:1.5; margin-top:12px; }
 .has-flow-slide .slide-projects .projects-grid { grid-template-columns:1fr; gap:14px; margin-top:24px; }
 .has-flow-slide .project-card { display:block; padding:20px 18px; }
 .has-flow-slide .project-heading { display:flex; flex-direction:row; align-items:center; gap:12px; }
 .has-flow-slide .project-icon { width:30px; height:30px; }
 .has-flow-slide .project-card h3 { font-size:20px; }
 .has-flow-slide .project-card p { font-size:16px; line-height:1.5; margin-top:12px; }
 .has-flow-slide .product-carousel { flex:none; margin-top:24px; }
 .has-flow-slide .catalog-card { padding:24px; }
 .has-flow-slide .catalog-card h3 { font-size:25px; }
 .has-flow-slide .catalog-category { font-size:11px; margin-top:18px; }
 .has-flow-slide .catalog-benefit { font-size:22px; margin-top:14px; }
 .has-flow-slide .catalog-description { font-size:16px; line-height:1.5; margin-top:16px; }
 .has-flow-slide .catalog-controls { margin-top:18px; }
 .has-flow-slide .catalog-custom { font-size:15px; line-height:1.45; margin-top:20px; }
}

/* Ready services have their own warm identity; the deck keeps its blue navigation. */
.theme-catalog {
 --product-ink:#ad3b09; --product-tint:#ffe1c4;
 --product-light:radial-gradient(ellipse at 96% 98%,#ffae6340 0%,#ffae6300 42%),linear-gradient(125deg,#fff,#fffaf3);
 --blue:#ec7029; --blue-text:#ad3b09; --surface-blue:#fff0df;
}
.has-viewer main[data-product="catalog"] { background:radial-gradient(ellipse at 96% 98%,#ffae6340 0%,#ffae6300 42%),linear-gradient(125deg,#fff,#fffaf3); }
.slide-catalog .catalog-card { border-color:#ffffffed; background:#fffaf1d9; }
.has-viewer .slide-catalog .catalog-card.is-selected { border-color:#cf641e; background:linear-gradient(135deg,#fffcf6,#ffeddb); box-shadow:0 0 0 1px #d4672026; }
.slide-catalog .catalog-dots span { background:#d4672040; }
.slide-catalog .catalog-dots button[aria-current="true"] span { background:#ad3b09; }
.slide-catalog .catalog-controls .button-secondary { border-color:#d4672070; color:#ad3b09; background:#fff9ee; }
.slide-catalog .catalog-controls .button-secondary:not(:disabled):hover { background:#ffe1c4; }
.slide-catalog .catalog-custom,.has-viewer .slide-catalog .catalog-custom {
 order:0; align-self:flex-start; margin:18px 0 0; max-width:100%;
 font-size:clamp(22px,min(2.5vw,4.6cqh),34px); line-height:1.25; font-weight:600;
 letter-spacing:-.03em; color:var(--ink);
}
.has-viewer .slide-catalog .product-carousel { margin-top:20px; }
.contact-card h3 { margin-bottom:6px; }
.contact-role { margin:0 0 20px; color:var(--body); font-size:18px; line-height:1.35; }
@media screen and (max-width:760px), screen and (max-height:500px) {
 .has-flow-slide .slide-catalog .catalog-custom { font-size:24px; line-height:1.3; margin-top:20px; }
 .has-flow-slide .slide-catalog .product-carousel { margin-top:24px; }
}
@media screen and (max-width:760px) {
 .contact-card h3 { margin-bottom:6px; }
 .contact-role { font-size:clamp(12px,3.6vw,16px); margin-bottom:16px; }
}
@media screen and (min-width:761px) and (max-height:500px) {
 .contact-card h3 { margin-bottom:4px; }
 .contact-role { font-size:13px; margin-bottom:10px; }
}

.slide-catalog .catalog-benefit { color:var(--ink); }

/* Slide 6: short positioning, duration, participants and outcome. */
.program-facts { display:grid; gap:10px; margin:16px 0 0; color:var(--body); font-size:17px; line-height:1.4; }
.program-facts > div { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; }
.program-facts dt { color:var(--product-ink); font-weight:600; }
.program-facts dd { margin:0; min-width:0; }
.program-facts .program-outcome { display:block; padding-top:10px; }
.program-outcome dd { margin-top:5px; }
.product-section .program-summary { color:var(--ink); font-weight:500; }
@media screen and (min-width:761px) and (max-height:820px) {
 .has-viewer .product-section { padding:20px 24px; }
 .has-viewer .product-section h3 { font-size:28px; }
 .has-viewer .product-section .program-summary { font-size:16px; line-height:1.3; margin-top:10px; }
 .program-facts { font-size:15px; line-height:1.3; gap:7px; margin-top:12px; }
 .program-facts .program-outcome { padding-top:7px; }
 .has-viewer .product-section .program-more { font-size:14px; margin-top:10px; }
}
@media screen and (max-width:760px), screen and (max-height:500px) {
 .has-flow-slide .program-facts { font-size:16px; line-height:1.5; gap:12px; margin-top:18px; }
}
@media print {
 .program-facts { font-size:15px; }
}

/* Stage labels distinguish the action in each Laboratory step. */
.slide-program .program-steps p > strong { color:var(--product-ink); font-weight:700; }

@media screen and (max-width:760px), screen and (max-height:500px) {
 .has-flow-slide .slide-lab-results .results-grid { margin-top:24px; }
 .has-flow-slide .slide-lab-results .result-list { grid-template-columns:1fr; gap:16px; }
 .has-flow-slide .slide-lab-results .result-card { display:grid; grid-template-columns:36px minmax(0,1fr); padding:22px 18px; gap:14px; }
 .has-flow-slide .slide-lab-results .result-card p { font-size:16px; line-height:1.5; }
 .has-flow-slide .slide-lab-results .result-pilots .result-body { display:block; }
 .has-flow-slide .slide-lab-results .result-pilots p { margin-top:8px; }
}
