/* Adapt the brand film's navy-violet atmosphere and warm fireflies for reading. */
#main-content.wm-public-main { width: 100%; padding: 80px 0 0; }
.wm-about-story { position: relative; isolation: isolate; overflow: hidden; color: #d9d5e8; background: radial-gradient(ellipse at 90% 10%, #9f7ff435, transparent 47%), radial-gradient(ellipse at 5% 75%, #9ce2e415, transparent 48%), #13142d; }
.wm-about-story h1, .wm-about-story h2, .wm-about-story p, .wm-about-story blockquote { margin: 0; }
.wm-about-intro, .wm-about-prose { position: relative; z-index: 1; width: min(780px, calc(100% - 64px)); margin-inline: auto; }
.wm-about-intro { padding-top: 64px; text-align: center; }
.wm-about-wordmark { --name-cycle: 10.8s; --name-split: .7em; position: relative; isolation: isolate; display: inline-grid; grid-template-columns: repeat(3, max-content); align-items: baseline; margin: 0 auto 24px; padding: 8px .85em; font-size: clamp(34px, 5.2vw, 60px); font-weight: 700; line-height: 1.2; letter-spacing: -.045em; white-space: nowrap; }
@property --wm-name-top { syntax: '<color>'; inherits: false; initial-value: #fbf9ff; }
@property --wm-name-middle { syntax: '<color>'; inherits: false; initial-value: #eee7ff; }
@property --wm-name-bottom { syntax: '<color>'; inherits: false; initial-value: #cfc0ef; }
/* A shared vertical gradient stays continuous across the four equal-height glyph boxes. */
.wm-about-wordmark > span { color: #eee7ff; background: linear-gradient(180deg, var(--wm-name-top, #fbf9ff) 18%, var(--wm-name-middle, #eee7ff) 48%, var(--wm-name-bottom, #cfc0ef) 88%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.wm-about-wordmark-start { grid-area: 1 / 1; }
.wm-about-wordmark-shared, .wm-about-wordmark-copy { grid-area: 1 / 2; opacity: 1; }
/* Lighten blends intersecting letters without making the joined le brighter than wha/arn. */
.wm-about-wordmark-copy { mix-blend-mode: lighten; }
.wm-about-wordmark-end { grid-area: 1 / 3; }
.wm-about-story .wm-about-eyebrow { margin-bottom: 24px; color: #ded5ef; font-size: 15px; font-weight: 700; line-height: 1.8; letter-spacing: -.015em; }
@media screen and (prefers-reduced-motion: no-preference) {
    .wm-about-wordmark-start, .wm-about-wordmark-shared { animation: wm-name-left var(--name-cycle) infinite, wm-name-whale-tone var(--name-cycle) infinite; }
    .wm-about-wordmark-copy, .wm-about-wordmark-end { animation: wm-name-right var(--name-cycle) infinite, wm-name-learn-tone var(--name-cycle) infinite; }
    .wm-about-wordmark > span { animation-timing-function: cubic-bezier(.58, 0, .22, 1); }
    /* One sweep across the complete word, only while the two le glyphs are aligned. */
    .wm-about-wordmark::after { content: "whalearn"; position: absolute; z-index: 1; inset: 8px .85em; text-align: left; color: transparent; background: linear-gradient(112deg, #ffffff00 44%, #f1e6ff66 48%, #fff 50%, #fff9 52%, #ffffff00 56%) 100% 0 / 300% 100% no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 .07em #eee3ff66); opacity: 0; pointer-events: none; animation: wm-name-shine var(--name-cycle) linear infinite; }
}
@keyframes wm-name-left {
    0%, 12%, 92%, 100% { transform: translateX(calc(-1 * var(--name-split))); }
    42%, 62% { transform: translateX(0); }
    62% { animation-timing-function: cubic-bezier(.66, 0, .34, 1); }
}
@keyframes wm-name-right {
    0%, 12%, 92%, 100% { transform: translateX(var(--name-split)); }
    42%, 62% { transform: translateX(0); }
    62% { animation-timing-function: cubic-bezier(.66, 0, .34, 1); }
}
@keyframes wm-name-whale-tone {
    0%, 24%, 80%, 100% { --wm-name-top: #f3e5ff; --wm-name-middle: #ddc2ff; --wm-name-bottom: #b994ee; }
    42%, 62% { --wm-name-top: #fbf9ff; --wm-name-middle: #eee7ff; --wm-name-bottom: #cfc0ef; }
}
@keyframes wm-name-learn-tone {
    0%, 24%, 80%, 100% { --wm-name-top: #fcf9ff; --wm-name-middle: #e5ddff; --wm-name-bottom: #c1b3e9; }
    42%, 62% { --wm-name-top: #fbf9ff; --wm-name-middle: #eee7ff; --wm-name-bottom: #cfc0ef; }
}
@keyframes wm-name-shine {
    0%, 43% { opacity: 0; background-position: 100% 0; }
    44% { opacity: 1; background-position: 100% 0; animation-timing-function: cubic-bezier(.3, .1, .35, 1); }
    59% { opacity: 1; background-position: 0% 0; }
    60%, 100% { opacity: 0; background-position: 0% 0; }
}
@media print, (prefers-reduced-motion: reduce), (forced-colors: active) {
    .wm-about-wordmark-copy { visibility: hidden; mix-blend-mode: normal; }
    .wm-about-wordmark::after { display: none; animation: none; }
}
.wm-about-story h1 { color: #f7f3ff; font-size: clamp(32px, 4vw, 50px); font-weight: 700; line-height: 1.45; letter-spacing: -.055em; }
.wm-about-prose { padding-top: 48px; padding-bottom: 88px; font-size: 17px; line-height: 1.95; letter-spacing: -.025em; text-align: center; }
.wm-about-prose p + p { margin-top: 24px; }
.wm-about-prose strong { color: #ded0ff; font-weight: 700; }
.wm-about-empathy { margin-top: 64px; }
.wm-about-voices { color: #c3b7df; font-size: 19px; line-height: 1.8; }
.wm-about-voices p + p { margin-top: 8px; }
.wm-about-story h2 { color: #f2edfd; font-size: clamp(23px, 2.8vw, 30px); font-weight: 700; line-height: 1.55; letter-spacing: -.045em; }
.wm-about-empathy h2 { margin-top: 28px; margin-bottom: 24px; }
.wm-about-empathy h2 span { color: #c3a9ff; }
.wm-about-purpose { margin-top: 64px; }
.wm-about-purpose h2 { margin-bottom: 24px; }
.wm-about-closing { margin-top: 64px; }
.wm-about-closing::before { content: ""; display: block; width: 1px; height: 44px; margin: 0 auto 36px; background: linear-gradient(transparent, #c6acff88); }
.wm-about-closing .wm-about-promise { color: #c7bedb; font-size: clamp(25px, 3vw, 34px); line-height: 1.65; letter-spacing: -.045em; }
.wm-about-promise strong { color: #dac8ff; }
.wm-about-closing .wm-about-signature { margin-top: 40px; color: #c7bedb; font-size: 14px; line-height: 1.6; }
.wm-about-signature img { display: block; width: 52px; height: auto; margin: 0 auto 12px; }
.wm-about-signature span { display: block; }
.wm-about-signature strong { display: block; margin-top: 5px; color: #f4edff; font-size: 30px; line-height: 1.4; letter-spacing: -.045em; }
.wm-about-closing .wm-about-company { width: min(100%, 460px); margin: 32px auto 0; padding-top: 24px; border-top: 1px solid #c7b5f52b; color: #b7afc8; font-size: 14px; line-height: 1.9; word-break: keep-all; }
.wm-about-company strong { display: block; margin-bottom: 8px; color: #d6cce6; font-size: 15px; font-weight: 500; }
.wm-about-lights { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.wm-about-lights span { position: absolute; left: var(--x); top: var(--y); width: var(--size, 3px); height: var(--size, 3px); border-radius: 50%; background: #fff8e7; box-shadow: 0 0 6px 2px #fff8e740, 0 0 18px 6px #fff8e714; opacity: .25; animation: wm-about-firefly var(--duration, 5.4s) ease-in-out var(--delay, 0s) infinite alternate; }
.wm-about-lights span:nth-child(1) { --x: 9%; --y: 4%; --duration: 6.7s; --delay: -2.3s; --dx: 12px; --dy: -16px; }
.wm-about-lights span:nth-child(2) { --x: 86%; --y: 2%; --size: 4px; --duration: 5.3s; --delay: -4.1s; --dx: -9px; --dy: 13px; }
.wm-about-lights span:nth-child(3) { --x: 22%; --y: 11%; --size: 2px; --duration: 7.8s; --delay: -6.2s; --dx: 18px; --dy: -9px; }
.wm-about-lights span:nth-child(4) { --x: 94%; --y: 15%; --duration: 4.7s; --delay: -1.6s; --dx: -14px; --dy: -17px; }
.wm-about-lights span:nth-child(5) { --x: 5%; --y: 22%; --duration: 6.1s; --delay: -3.7s; --dx: 7px; --dy: 14px; }
.wm-about-lights span:nth-child(6) { --x: 79%; --y: 27%; --size: 2px; --duration: 7.3s; --delay: -5.4s; --dx: -17px; --dy: -11px; }
.wm-about-lights span:nth-child(7) { --x: 16%; --y: 34%; --size: 4px; --duration: 5.8s; --delay: -4.8s; --dx: 11px; --dy: -19px; }
.wm-about-lights span:nth-child(8) { --x: 92%; --y: 38%; --duration: 4.9s; --delay: -2.1s; --dx: -8px; --dy: 16px; }
.wm-about-lights span:nth-child(9) { --x: 7%; --y: 45%; --size: 2px; --duration: 7.1s; --delay: -5.7s; --dx: 17px; --dy: -12px; }
.wm-about-lights span:nth-child(10) { --x: 84%; --y: 51%; --size: 4px; --duration: 5.1s; --delay: -3.3s; --dx: -13px; --dy: -8px; }
.wm-about-lights span:nth-child(11) { --x: 21%; --y: 58%; --duration: 6.4s; --delay: -1.2s; --dx: -6px; --dy: 18px; }
.wm-about-lights span:nth-child(12) { --x: 96%; --y: 63%; --size: 2px; --duration: 7.6s; --delay: -6.8s; --dx: -16px; --dy: -15px; }
.wm-about-lights span:nth-child(13) { --x: 10%; --y: 71%; --duration: 5.6s; --delay: -4.2s; --dx: 14px; --dy: 9px; }
.wm-about-lights span:nth-child(14) { --x: 77%; --y: 76%; --duration: 6.9s; --delay: -2.7s; --dx: 8px; --dy: -18px; }
.wm-about-lights span:nth-child(15) { --x: 30%; --y: 5%; --size: 2px; --peak: .38; --duration: 5.9s; --delay: -4.6s; --dx: -12px; --dy: 7px; }
.wm-about-lights span:nth-child(16) { --x: 71%; --y: 9%; --duration: 7.4s; --delay: -1.9s; --dx: 16px; --dy: -14px; }
.wm-about-lights span:nth-child(17) { --x: 12%; --y: 17%; --duration: 4.4s; --delay: -3.8s; --dx: -7px; --dy: -10px; }
.wm-about-lights span:nth-child(18) { --x: 68%; --y: 21%; --size: 2px; --peak: .34; --duration: 6.6s; --delay: -5.1s; --dx: 13px; --dy: 12px; }
.wm-about-lights span:nth-child(19) { --x: 28%; --y: 30%; --size: 2px; --peak: .4; --duration: 7.7s; --delay: -2.6s; --dx: -15px; --dy: 8px; }
.wm-about-lights span:nth-child(20) { --x: 87%; --y: 33%; --duration: 5.2s; --delay: -4.3s; --dx: 6px; --dy: -13px; }
.wm-about-lights span:nth-child(21) { --x: 23%; --y: 42%; --size: 2px; --peak: .42; --duration: 6.3s; --delay: -1.4s; --dx: 15px; --dy: -7px; }
.wm-about-lights span:nth-child(22) { --x: 73%; --y: 47%; --duration: 4.6s; --delay: -3.1s; --dx: -10px; --dy: 19px; }
.wm-about-lights span:nth-child(23) { --x: 4%; --y: 55%; --size: 4px; --duration: 7.2s; --delay: -6.4s; --dx: 12px; --dy: -18px; }
.wm-about-lights span:nth-child(24) { --x: 70%; --y: 67%; --size: 2px; --peak: .36; --duration: 5.7s; --delay: -2.8s; --dx: -18px; --dy: 10px; }
.wm-about-lights span:nth-child(25) { --x: 18%; --y: 82%; --duration: 6.8s; --delay: -4.9s; --dx: 9px; --dy: -16px; }
.wm-about-lights span:nth-child(26) { --x: 90%; --y: 86%; --size: 4px; --duration: 4.8s; --delay: -1.7s; --dx: -11px; --dy: 14px; }
.wm-about-lights span:nth-child(27) { --x: 8%; --y: 94%; --size: 2px; --duration: 7.5s; --delay: -5.8s; --dx: 17px; --dy: -9px; }
.wm-about-lights span:nth-child(28) { --x: 76%; --y: 97%; --duration: 5.5s; --delay: -3.6s; --dx: -14px; --dy: -12px; }
@keyframes wm-about-firefly { from { opacity: .1; transform: translate3d(0, 0, 0); } to { opacity: var(--peak, .6); transform: translate3d(var(--dx), var(--dy), 0); } }
@media (max-width: 767px) {
    #main-content.wm-public-main { padding-top: 64px; }
    .wm-about-intro, .wm-about-prose { width: min(640px, calc(100% - 48px)); }
    .wm-about-intro { padding-top: 48px; }
    .wm-about-wordmark { margin-bottom: 20px; }
    .wm-about-prose { padding-top: 36px; padding-bottom: 64px; font-size: 16px; }
    .wm-about-origin, .wm-about-empathy > p, .wm-about-purpose > p { text-align: left; }
    .wm-about-break { display: none; }
    .wm-about-empathy, .wm-about-purpose, .wm-about-closing { margin-top: 48px; }
    .wm-about-voices { font-size: 17px; }
    .wm-about-lights span { opacity: .2; }
}
@media (max-width: 389px) {
    .wm-about-intro, .wm-about-prose { width: calc(100% - 40px); }
    .wm-about-story h1 { font-size: 28px; }
    .wm-about-story h2 { font-size: 22px; }
    .wm-about-voices { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .wm-about-lights span { animation: none; opacity: .3; }
}
@media (forced-colors: active) {
    .wm-about-lights { display: none; }
    .wm-about-wordmark > span { animation: none; color: CanvasText; background: none; -webkit-text-fill-color: currentColor; text-shadow: none; }
    .wm-about-story, .wm-about-story h1, .wm-about-story h2, .wm-about-story p, .wm-about-story strong, .wm-about-story h2 span, .wm-about-story a { color: CanvasText; background: Canvas; }
}
@media print {
    #main-content.wm-public-main { padding-top: 0; }
    .wm-about-lights { display: none; }
    .wm-about-story, .wm-about-story h1, .wm-about-story h2, .wm-about-story p, .wm-about-story strong, .wm-about-story h2 span, .wm-about-story a { color: #222; background: #fff; }
    .wm-about-intro { padding-top: 0; }
    .wm-about-wordmark > span { animation: none; color: #222; background: none; -webkit-text-fill-color: currentColor; text-shadow: none; }
}
