.value-promise.section{position:relative;padding:clamp(90px,12vw,170px) 24px;text-align:center;isolation:isolate}
.value-promise h2{max-width:1100px;margin:0 auto;font-family:'Plus Jakarta Sans',Manrope,sans-serif;font-size:clamp(38px,5.7vw,82px);font-weight:650;line-height:1.12;letter-spacing:-.055em;color:#172e47;text-wrap:balance}
.value-promise h2>span{display:block}
.value-promise .value-context{font-family:Manrope,sans-serif;font-size:clamp(20px,2.1vw,29px);font-weight:500;letter-spacing:-.025em;line-height:1.4;margin-bottom:24px;color:#6a7787}
.value-understand{max-width:1000px;margin-inline:auto}
.value-choice{margin-top:8px;background:linear-gradient(105deg,#148eae 15%,#1768de 48%,#9276df 85%);background-clip:text;-webkit-background-clip:text;color:transparent}
/* Hidden from the first paint; time-based choreography after the reading trigger. */
.value-promise h2>span{opacity:0}
.value-promise.is-revealed .value-context{animation:promise-arrival 1.15s cubic-bezier(.22,.61,.36,1) both}
.value-promise.is-revealed .value-understand{animation:promise-arrival 1.5s cubic-bezier(.22,.61,.36,1) .55s both}
.value-promise.is-revealed .value-choice{animation:promise-arrival 1.65s cubic-bezier(.22,.61,.36,1) 1.35s both}
@keyframes promise-arrival{from{opacity:0;filter:blur(7px);transform:translateY(14px)}to{opacity:1;filter:blur(0);transform:none}}
.value-promise+.expertise.section{margin-top:0}
@media(max-width:800px){.value-promise.section{padding:80px 24px}.value-promise h2{font-size:clamp(35px,7.5vw,57px);line-height:1.16;letter-spacing:-.045em}.value-promise .value-context{font-size:20px;margin-bottom:20px}.value-choice{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.value-promise h2>span{opacity:1;transform:none;filter:none;animation:none!important}}

/* A visible next step instead of an isolated statement. */
.value-promise.section{padding-bottom:55px}
.promise-next{display:inline-flex;align-items:center;gap:18px;margin-top:34px;padding:15px 23px;background:#172e47;border-radius:999px;color:#fff;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;transition:background .25s}
.promise-next:hover{background:#304b70;color:#fff}
.promise-next span{transition:transform .3s}
.promise-next:hover span{transform:translateY(3px)}
@media(max-width:800px){.value-promise.section{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.promise-next,.promise-next span{transition:none}}

/* Fade the entire chapter without changing its layout or restarting its entrance. */
.value-promise.section{transition:opacity 1.8s ease}
.value-promise.section.promise-retired{opacity:0;pointer-events:none}
.value-promise.promise-retired h2>span{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.value-promise.section{transition:none}}

.value-promise .promise-next{opacity:0;visibility:hidden}
.value-promise.is-revealed .promise-next{animation:promise-cta-arrival .9s cubic-bezier(.22,.61,.36,1) 2.8s both}
@keyframes promise-cta-arrival{from{opacity:0;visibility:hidden;transform:translateY(10px)}to{opacity:1;visibility:visible;transform:none}}
.value-promise.promise-retired .promise-next{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.value-promise .promise-next{opacity:1;visibility:visible;animation:none!important}}
