/* Editorial hierarchy: clear action, readable detail, quiet materials. */
p, li { text-wrap: pretty; }
h2, h3 { text-wrap: balance; }
.hero-description { font-size: 15.2px; line-height: 1.8; max-width: 484.5px; }
.hero-actions { flex-wrap: wrap; gap: 15.2px 24.7px; }
.button, .program .button, .closing .button {
  min-height: 57px; padding: 0 0 0 20.9px; gap: 19px;
  border-radius: 5px; font-size: 13px; line-height: 1.4; letter-spacing: -.015em;
  border: 1px solid #c8c8c8; flex-shrink: 1;
  background: linear-gradient(175deg,#f4f4f4 0%,#dedede 48%,#c4c4c4 100%);
  color: #171717;
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #888, 0 8px 19px #0005;
  transition: box-shadow .25s, border-color .25s, transform .25s;
}
.button .button-arrow, .program .button-arrow {
  align-self: stretch; width: 51.3px; height: auto; min-height: 55.1px;
  border: 0; border-left: 1px solid #3332; border-radius: 0;
  background: #fff2; box-shadow: none; font-size: 21.85px;
}
.button:hover { transform: translateY(-1px); border-color:#fff; box-shadow: inset 0 1px 0 #fff,0 10px 22.8px #0008; }
.button:hover .button-arrow { transform: none; }
.button .button-arrow svg { width: 18.05px; height: 18.05px; transition: transform .25s; }
.button:hover .button-arrow svg { transform: translate(2px,-2px); }
.button:active { transform: translateY(1px); }
.button:before { opacity: .3; }
.program .secondary { color:#f1f1f1; background:linear-gradient(175deg,#363636,#232323); border-color:#777; box-shadow:inset 0 1px 0 #fff2,0 5px 12px #0003; }
.program .secondary .button-arrow { border-left-color:#ffffff26; background:#ffffff04; }
.text-link { font-size:13px; }
.programs-link { gap: 10px; color:#d7d7d7; border-bottom:1px solid #ffffff38; padding-bottom:4px; }
.programs-link span { font-size:16px; }
.hero-context { font-size:12px; color:#bdbdbd; margin-top:14px; }
.partner-proof { margin-top:26.6px; border-top:1px solid #ffffff24; padding-top:15px; max-width:350px; }
.partner-proof-label { margin:0 0 8px; color:#8f8f8f; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.partner-proof > a > span, .partner-proof small { font-size:11px; }
.audience-intro > p, .programs-heading > p { font-size:15.2px; line-height:1.8; }
.situation-index, .program-id { display:none; }
.situation-top { font-size:12px; letter-spacing:.03em; }
.situation h3 { font-size:21.85px; line-height:1.4; }
.situation > p, .situation-answer p, .step p { font-size:14px; line-height:1.85; }
.situation-answer > span { font-size:10px; }
.situation a { font-size:12px; min-height:41.8px; align-items:center; }
.program-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20.9px; }
.program { padding:30.4px 24.7px; }
.program-type { font-size:11px; min-height:32.3px; margin-bottom:21.85px; }
.program h3 { font-size:27.55px; min-height:64.6px; margin-bottom:19px; }
.program-promise { font-size:15.2px; min-height:55.1px; line-height:1.7; }
.program-description { font-size:14px; line-height:1.85; min-height:125.4px; }
.program li { font-size:13px; line-height:1.75; }
.program ul { gap:15.2px; margin-bottom:26.6px; }
.program-module { font-size:12px; margin:0 0 23.75px; }
.program-module strong { font-size:11px; }
.program-end > p { font-size:12px; min-height:62.7px; }
.faq-items summary { font-size:15px; gap:20.9px; }
.faq-items details > p, .faq-intro p, .closing p { font-size:14px; line-height:1.85; }
.hero-image { left:24%; right:-9%; }
.hero-image img { object-position:67% center; }
.hero-shade { background:linear-gradient(90deg,#080808 3%,#080808ed 24%,#08080880 49%,transparent 76%),linear-gradient(0deg,#080808,transparent 24%,transparent 78%,#080808); }
@media (min-width:761px) and (max-width:1100px) {
 .program-grid { grid-template-columns:1fr; }
 .program, .strategic { display:flex; flex-direction:column; max-width:684px; width:100%; margin-inline:auto; }
 .program h3, .program-promise, .program-description, .program-end > p { min-height:0; }
 .program .button { width:max-content; min-width:247px; }
 .program h3 br { display:none; }
 .situation h3 { font-size:19px; }
}
@media (max-width:760px) {
 .hero { min-height:0; height:auto; max-height:none; }
 .hero-image { left:0; right:-20%; top:0; height:313.5px; }
 .hero-image img { object-position:65% 45%; }
 .hero-shade { background:linear-gradient(0deg,#080808 0%,#080808 55%,#08080810 87%,#08080888); }
 .hero-content { padding-top:275.5px; padding-bottom:96.9px; }
 .hero-description { font-size:15px; line-height:1.8; }
 .hero-actions { align-items:stretch; gap:12px; }
 .hero-actions .button { width:100%; font-size:13px; }
 .hero-context { font-size:11px; }
 .partner-proof { margin-top:20px; max-width:100%; }
 .partner-proof-label { font-size:8px; }
 .hero-foot { font-size:9px; line-height:1.7; }
 .hero-foot > span:first-child { max-width:228px; text-wrap:balance; }
 .partner-proof > a > span,.partner-proof small { font-size:10px; }
 .program-grid { grid-template-columns:1fr; }
 .program { padding:28.5px 21.85px; }
 .program h3 { font-size:28.5px; }
 .program h3,.program-promise,.program-description,.program-end > p { min-height:0; }
 .program-type { font-size:11px; }
 .program .button { font-size:13px; padding-left:16.15px; gap:10px; }
 .situation h3 { font-size:22.8px; }
 .audience-intro > p,.programs-heading > p { font-size:15px; }
 .faq-items summary { font-size:14px; }
 .closing .button { width:100%; }
 .eyebrow { font-size:9px; letter-spacing:.12em; }
}
@media (prefers-reduced-motion:reduce) {
 .button:hover,.button:active,.button:hover .button-arrow svg { transform:none; }
}
.method-top > *, .program-grid > *, .situations > * { min-width: 0; }
@media (max-width:760px) {
 .pareto { font-size:clamp(100.7px,34vw,142.5px); letter-spacing:-.08em; }
 .method-copy > p { font-size:14px; line-height:1.85; }
 .situations { gap:22.8px; }
 .program-grid { gap:22.8px; }
}
/* Deterministic, transparent business illustration; no raster frame. */
.hero-image { left:48%; right:1%; top:0; bottom:30px; }
.hero-image img { object-fit:contain; object-position:center; will-change:transform; }
.hero-shade { background:linear-gradient(90deg,#080808 4%,#08080800 70%); }
@media (max-width:1100px) and (min-width:761px) {
 .hero-image { left:49%; right:-12%; opacity:.7; }
}
@media (max-width:760px) {
 .hero { display:flex; flex-direction:column; }
 .hero-content { padding-top:38px; padding-bottom:24px; }
 .hero-image { position:relative; order:2; left:auto; right:auto; top:auto; bottom:auto; width:100%; height:auto; aspect-ratio:800/660; margin:0 0 70px; z-index:0; }
 .hero-image img { height:100%; width:100%; object-fit:contain; }
 .hero-foot { bottom:24px; }
 .hero-shade { display:none; }
}
