/* Sunday Park / Signs of character. The marks are part of the brand, not UI icons. */
.sp-mark{--km-x:0px;--km-y:0px;--km-r:0deg;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.5;background:transparent;min-width:0;contain:paint}
.sp-mark .km-svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.km-parallax{transform:translate(var(--km-x),var(--km-y)) rotate(var(--km-r));transform-origin:300px 200px;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.km-caption{position:absolute;left:22px;right:22px;bottom:17px;display:flex;gap:15px;justify-content:space-between;color:currentColor;opacity:.6;font-size:10px;letter-spacing:.04em;line-height:1.4;z-index:2}
.km-caption span:first-child{text-transform:uppercase}.km-caption:has(span:first-child:empty){display:none}
.sp-mark .km-spin{transform-origin:300px 200px;animation:km-spin 42s linear infinite}
.sp-mark .km-advance{animation:km-advance 5s cubic-bezier(.55,0,.2,1) infinite}
.sp-mark .km-satellite{animation:km-satellite 6s ease-in-out infinite}
.sp-mark .km-iris{transform-origin:300px 200px;animation:km-iris 11s ease-in-out infinite}
.sp-mark .km-core{animation:km-core 8s ease-in-out infinite}
.sp-mark .km-pull-left{animation:km-pull-left 7s ease-in-out infinite}.sp-mark .km-pull-right{animation:km-pull-right 7s ease-in-out infinite}
.sp-mark .km-balance{transform-origin:300px 210px;animation:km-balance 8s ease-in-out infinite}
.sp-mark .km-counter{transform-origin:300px 286px;animation:km-counter 8s ease-in-out infinite}
.sp-mark .km-fan{transform-origin:300px 200px;animation:km-fan 9s ease-in-out infinite}
.sp-mark .km-field{transform-origin:300px 200px;animation:km-field 16s ease-in-out infinite}
.sp-mark:not(.is-visible) .km-svg *,.sp-mark.is-paused .km-svg *{animation-play-state:paused!important}
.sp-mark.is-paused .km-parallax{transform:none!important}
.km-motion-control{background:none;color:inherit;border:1px solid #ffffff50;padding:9px 13px;line-height:1.4;font-size:11px;display:flex;gap:16px;align-items:center}.km-motion-control span{display:flex;align-items:center;gap:7px}.km-motion-control span:before{content:'';width:5px;height:5px;border-radius:50%;background:#74c4f0}.km-motion-control[aria-pressed=false] span:before{background:#82909b}.sp-footer-meta{align-items:center}
@keyframes km-spin{to{transform:rotate(360deg)}}
@keyframes km-advance{0%,100%{transform:translate(-4px,4px)}50%{transform:translate(17px,-17px)}}
@keyframes km-satellite{0%,100%{transform:translateY(0)}50%{transform:translateY(-17px)}}
@keyframes km-iris{0%,100%{transform:rotate(-9deg) scale(.93)}50%{transform:rotate(14deg) scale(1.025)}}
@keyframes km-core{0%,100%{transform:translate(8px,-4px)}50%{transform:translate(-10px,7px)}}
@keyframes km-pull-left{0%,100%{transform:translate(-12px,0)}50%{transform:translate(9px,0)}}
@keyframes km-pull-right{0%,100%{transform:translate(12px,0)}50%{transform:translate(-9px,0)}}
@keyframes km-balance{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes km-counter{0%,100%{transform:scaleX(.9)}50%{transform:scaleX(1.05)}}
@keyframes km-fan{0%,100%{transform:rotate(-3deg) translateX(-5px)}50%{transform:rotate(4deg) translateX(8px)}}
@keyframes km-field{0%,100%{transform:rotate(-7deg) scale(1.02)}50%{transform:rotate(7deg) scale(1.1)}}
/* A six-part visual vocabulary; text supports the marks. */
.sp-careers-page .km-match-section{background:#f3f3ef;padding-top:78px;padding-bottom:82px}
.sp-careers-page .km-match-section .sec-head{margin-bottom:32px}
.km-match-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-bottom:43px}
.sp-careers-page .km-match-intro h2{font-size:clamp(30px,3.4vw,48px);line-height:1.55;margin:0}
.sp-careers-page .km-match-intro .lead{margin:0;font-size:15px;line-height:2.05;max-width:37em;padding-top:7px}
.km-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}
.km-match-card{min-width:0}.km-match-card .sp-mark{aspect-ratio:1.28}.km-match-card .km-svg{position:absolute;inset:5% -5%;width:110%;height:90%}
.km-match-copy{display:grid;grid-template-columns:22px 1fr;gap:13px;padding-top:21px}.km-match-num{font-size:11px;line-height:2.5;color:var(--g-red)}
.sp-careers-page .km-match-copy h3{font-size:clamp(17px,1.66vw,24px);line-height:1.65;margin:0 0 11px;font-weight:400;letter-spacing:-.015em}
.sp-careers-page .km-match-copy p{font-size:13px;line-height:1.95;margin:0;color:#5a646c}.km-match-copy p br{display:none}
.km-match-card:hover .km-parallax{transform:translate(var(--km-x),var(--km-y)) rotate(var(--km-r)) scale(1.035)}
.sp-careers-page .km-now{background:#f6f7f8}.km-now .lead{max-width:49em}.sp-careers-page .km-now .st-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border:0;margin-top:40px}.sp-careers-page .km-now .st-row{border:0;border-top:1px solid var(--sp-line);padding:24px 0 0}.sp-careers-page .km-now .st-body{display:block}.sp-careers-page .km-now .st-body .n{display:block;margin-bottom:24px}.sp-careers-page .km-now .st-body h3{font-size:20px;line-height:1.75;margin-bottom:20px;min-height:70px}.sp-careers-page .km-now .st-body p{font-size:14px;line-height:2.1;color:#596471}
.sp-careers-page .km-values-section{background:#0c1827;--sp-ink:#f0f5fa;--sp-muted:#b4c3d1;--sp-blue:#78c7f4;--sp-line:#ffffff35;color:var(--sp-ink)}.km-values-section .lead{color:#b4c3d1}.sp-careers-page .km-values{margin-top:40px;gap:35px}.km-values .ph{position:relative;padding-right:85px}.sp-careers-page .km-values .km-value-symbol{position:absolute;right:0;top:25px;font:400 66px/1 var(--sp-sans);color:#75bce7}.sp-careers-page .km-values .ph:nth-child(2) .km-value-symbol{color:#ef735c}.sp-careers-page .km-values .ph .jp{font-size:24px;line-height:1.6;font-weight:400}.sp-careers-page .km-values .ph .en{font-size:10px;letter-spacing:.03em;min-height:34px}.sp-careers-page .km-values .line{font-size:14px;color:#bdcbd7}.sp-careers-page .km-values-section .more{display:inline-flex;gap:30px;border-bottom:1px solid;margin-top:35px;padding-bottom:8px;font-size:13px}.sp-careers-page .km-values-section .more i{font-style:normal}
/* Careers cover: strong type and a moving print share one composition. */
.sp-careers-page .sp-careers-hero{background:#112b49;--sp-blue:#84caf0;padding-bottom:58px}.sp-careers-hero:before{display:none}
.sp-careers-stage{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;align-items:center}
.sp-careers-page .sp-careers-copy h1{font-size:clamp(76px,9.1vw,142px)}.sp-careers-page .sp-careers-copy>h2{font-size:24px;margin-top:34px}.sp-careers-page .sp-careers-copy>p{font-size:14px;max-width:34em;color:#bacbdc}.sp-careers-hero-links{gap:26px}.sp-careers-hero-links .sp-text-link{font-size:12px;gap:25px}
.km-careers-art{aspect-ratio:1.06;background:transparent;align-self:stretch;min-height:410px}.km-careers-art .km-svg{position:absolute;width:122%;height:100%;left:-11%;top:0}.km-careers-art .km-caption{left:20px;right:20px;bottom:12px}.km-careers-art .km-spin{animation-duration:60s}
.g-about-grid{grid-template-columns:1.12fr 1fr;gap:7%;align-items:center}.g-about-art.sp-mark{width:100%;max-width:none;aspect-ratio:1.23;display:block}.g-about-art .km-svg{width:115%;height:100%;margin-left:-7.5%}.g-about-art .km-caption{font-size:9px}.g-about-copy h3{font-size:clamp(29px,3vw,45px)}
.g-service-art.sp-mark{aspect-ratio:1.3;background:transparent;filter:none;opacity:1}.g-service-art.g-careers{background:#112b49}.g-careers:before{display:none}.g-careers-body{grid-template-columns:1fr 1.08fr;gap:5%;align-items:center}.g-careers-title{font-size:clamp(65px,8.4vw,132px)}.g-careers-copy{margin-top:31px}.g-careers-copy p{font-size:15px}.km-home-careers-art{background:transparent;aspect-ratio:1.1;align-self:stretch}.km-home-careers-art .km-svg{position:absolute;width:118%;height:100%;left:-9%;top:0}.g-careers-values{margin-top:39px}
.km-inner-stage{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}.km-inner-stage>div{min-width:0}.km-inner-art{align-self:stretch;aspect-ratio:1.25;background:transparent}.km-inner-art .km-svg{width:120%;height:100%;margin-left:-10%}.km-inner-art .km-caption{color:#bdd1e1;font-size:9px}.sp-inner-hero .km-inner-stage p{font-size:15px}.sp-values .sp-mark{margin-bottom:24px;aspect-ratio:1.4}.sp-values .km-caption{display:none}.sp-service-poster{margin-top:25px;width:100%;aspect-ratio:1.4}.sp-service-poster .km-caption{display:none}
@media(max-width:1050px){.km-match-grid{gap:36px 18px}.km-match-copy{gap:7px;grid-template-columns:19px 1fr}.sp-careers-page .km-match-copy h3{font-size:17px}.sp-careers-page .km-match-copy p{font-size:12px}.km-caption{font-size:9px;left:15px;right:15px}.km-values .ph{padding-right:58px}.sp-careers-page .km-values .km-value-symbol{font-size:49px}.sp-careers-page .sp-careers-copy>h2{font-size:21px}.km-careers-art{min-height:360px}.km-inner-stage{gap:3%}.km-inner-art{min-height:330px}.km-inner-stage h1{font-size:10vw}.sp-careers-page .km-now .st-list{gap:25px}.sp-careers-page .km-now .st-body h3{font-size:18px}.g-careers-copy p{font-size:14px}}
@media(max-width:760px){.km-match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 19px}.sp-careers-page .km-match-copy h3{font-size:18px}.sp-careers-page .km-match-copy p{font-size:13px}.sp-careers-stage{grid-template-columns:1fr 1fr;gap:2%}.sp-careers-page .sp-careers-copy h1{font-size:11vw}.km-careers-art{min-height:300px}.sp-careers-hero-links{flex-direction:column;align-items:start;gap:10px}.km-values .ph{padding-right:55px}.sp-careers-page .km-values .ph .jp{font-size:21px}.sp-careers-page .km-now .st-list{grid-template-columns:1fr}.sp-careers-page .km-now .st-body{display:grid;grid-template-columns:27px 1fr;gap:0 15px}.sp-careers-page .km-now .st-body p{grid-column:2}.sp-careers-page .km-now .st-body h3{min-height:0}.sp-careers-page .km-now .st-body .n{margin:5px 0 0}.km-inner-stage{grid-template-columns:1fr}.km-inner-art{aspect-ratio:1.65;min-height:0;margin-top:27px}.km-inner-stage h1{font-size:18vw}.g-about-grid{grid-template-columns:1fr;gap:33px}.g-about-art.sp-mark{aspect-ratio:1.4;max-width:none}.g-about-art .km-svg{width:100%;margin:0}.g-careers-body{grid-template-columns:1fr 1fr;gap:3%}.g-careers-title{font-size:11vw}.g-careers-copy p br{display:none}.km-home-careers-art{min-height:310px;align-self:center}.g-careers-values{grid-template-columns:1fr}.sp-values{grid-template-columns:1fr}.sp-values>div{display:grid;grid-template-columns:130px 1fr;column-gap:25px;align-items:start}.sp-values .sp-mark{grid-column:1;grid-row:1/4;margin:0}.sp-values small{grid-column:2;margin:0 0 8px}.sp-values h3{grid-column:2}.sp-values p{grid-column:2}.sp-service-poster{max-width:270px;aspect-ratio:1.6}.sp-detail .sp-kicker:has(.sp-service-poster){display:block}}
@media(max-width:550px){.sp-careers-page .km-match-section{padding:57px 24px}.km-match-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.sp-careers-page .km-match-intro h2{font-size:29px}.sp-careers-page .km-match-intro h2 br{display:none}.sp-careers-page .km-match-intro .lead{font-size:14px;padding:0}.km-match-grid{grid-template-columns:1fr;gap:32px}.km-match-card .sp-mark{aspect-ratio:1.48}.km-match-card .km-svg{inset:0;width:100%;height:100%}.km-caption{font-size:9px;bottom:15px;left:19px;right:19px}.km-match-copy{grid-template-columns:23px 1fr;gap:12px;padding-top:17px}.sp-careers-page .km-match-copy h3{font-size:21px;margin-bottom:9px}.sp-careers-page .km-match-copy p{font-size:14px;max-width:24em}.sp-careers-stage{grid-template-columns:1fr;gap:25px}.sp-careers-page .sp-careers-copy h1{font-size:23vw}.sp-careers-page .sp-careers-copy>h2{font-size:23px;margin-top:30px}.sp-careers-page .sp-careers-copy>p{font-size:14px}.sp-careers-hero-links{flex-direction:row;gap:22px}.sp-careers-hero-links .sp-text-link{font-size:11px;gap:17px}.km-careers-art{aspect-ratio:1.55;min-height:0}.km-careers-art .km-svg{width:100%;left:0}.sp-careers-page .sp-careers-hero{padding-bottom:29px}.sp-careers-page .km-values{grid-template-columns:1fr;gap:26px;margin-top:28px}.km-values .ph{padding-right:80px}.sp-careers-page .km-values .ph .en{min-height:0}.sp-careers-page .km-values .km-value-symbol{font-size:59px}.km-inner-art{aspect-ratio:1.35}.sp-inner-hero .km-inner-stage p{font-size:14px}.g-about-art.sp-mark{aspect-ratio:1.25}.g-careers-body{grid-template-columns:1fr;gap:13px}.g-careers-title{font-size:21vw}.g-careers-copy{margin-top:28px}.g-careers-copy p{font-size:15px}.km-home-careers-art{min-height:0;aspect-ratio:1.6;align-self:stretch}.km-home-careers-art .km-svg{width:100%;left:0}.g-careers-values{margin-top:24px}.sp-values>div{grid-template-columns:100px 1fr;gap:0 20px}.sp-values .sp-mark{aspect-ratio:1}.sp-values h3{font-size:21px}.sp-values p{font-size:14px}.sp-values .km-svg{width:150%;margin-left:-25%}.sp-footer-meta{gap:18px 25px}}
@media(prefers-reduced-motion:reduce){.sp-mark .km-svg *{animation:none!important}.sp-mark .km-parallax{transform:none!important;transition:none!important}}

/* A sculpture belongs to its page: no colored plates, shadows, or grain rectangles. */
.sp-mark:before,.sp-mark:after{content:none!important;display:none!important}
.sp-mark{background:none!important}
.km-caption span:last-child{display:none}
.km-thinker{transform-origin:300px 330px;animation:km-think 13s ease-in-out infinite}
.km-flame{transform-origin:300px 325px;animation:km-flame 7s ease-in-out infinite}
.km-link-left{animation:km-link-left 9s ease-in-out infinite}
.km-link-right{animation:km-link-right 9s ease-in-out infinite}
@keyframes km-think{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes km-flame{0%,100%{transform:scale(.96,1.01) rotate(-2deg)}50%{transform:scale(1.02,.97) rotate(2deg)}}
@keyframes km-link-left{0%,100%{transform:translate(-4px,-3px)}50%{transform:translate(4px,3px)}}
@keyframes km-link-right{0%,100%{transform:translate(4px,3px)}50%{transform:translate(-4px,-3px)}}
.km-careers-art .km-svg,.km-home-careers-art .km-svg{width:110%;left:-5%}
.g-about-art .km-svg{width:100%;margin-left:0}
.km-inner-art.sp-mark-thinker .km-svg{width:100%;margin-left:0}
.sp-mark-thinker .km-caption{color:inherit}
.km-match-card .sp-mark{aspect-ratio:1.5}
.km-match-card .km-caption{left:0;right:0;bottom:0;font-size:10px}
.km-match-card .km-svg{inset:0;width:100%;height:96%}
.km-match-grid{gap:44px 36px}
.km-match-copy{border-top:1px solid #20344725;padding-top:19px}
/* Working arrangements: three readable rows. Benefits have their own heading and list. */
.sp-careers-page .km-workstyle{padding-top:76px;padding-bottom:76px}
.sp-careers-page .km-workstyle .sec-head{margin-bottom:35px}
.km-work-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:8%;align-items:start}
.sp-careers-page .km-work-layout .g-title{font-size:clamp(27px,3.1vw,42px);line-height:1.65;margin:0}
.sp-careers-page .km-workstyle .ws-grid{display:flex;flex-direction:column;gap:0;margin:0;border:0}
.sp-careers-page .km-workstyle .ws{display:grid;grid-template-columns:105px 1fr;gap:8px 28px;border:0;border-top:1px solid #23394c25;padding:26px 0 28px}
.sp-careers-page .km-workstyle .ws:first-child{padding-top:0;border-top:0}
.sp-careers-page .km-workstyle .ws:last-child{padding-bottom:0}
.sp-careers-page .km-workstyle .ws .en{grid-column:1;grid-row:1/3;font-size:11px;line-height:1.8;letter-spacing:.06em;color:#456e8d;margin:4px 0 0}
.sp-careers-page .km-workstyle .ws b{grid-column:2;font-size:18px;line-height:1.7;font-weight:500;margin:0}
.sp-careers-page .km-workstyle .ws p{grid-column:2;font-size:14px;line-height:2;margin:0;color:#596574;max-width:38em}
.sp-careers-page .km-workstyle .bf-wrap{display:grid;grid-template-columns:.8fr 1.4fr;gap:8%;margin-top:62px;padding-top:38px;border-top:1px solid #23394c3a}
.km-benefits-head>span{font-size:32px;color:#35688c;line-height:1.2;letter-spacing:-.03em}
.sp-careers-page .km-workstyle .bf-title{font-size:14px;font-weight:400;margin-top:13px;letter-spacing:.06em}
.sp-careers-page .km-workstyle .bf-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 32px;margin:0}
.sp-careers-page .km-workstyle .bf{padding:0;border:0}
.sp-careers-page .km-workstyle .bf .en{font-size:10px;letter-spacing:.07em;color:#456e8d;margin:0 0 8px;display:block}
.sp-careers-page .km-workstyle .bf b{display:block;font-size:16px;line-height:1.8;font-weight:500;margin:0 0 6px}
.sp-careers-page .km-workstyle .bf p{font-size:13px;line-height:1.95;color:#596574;margin:0}
.sp-careers-page .km-workstyle .office{margin-top:54px}
@media(max-width:900px){.km-work-layout,.sp-careers-page .km-workstyle .bf-wrap{grid-template-columns:.7fr 1.5fr;gap:5%}.sp-careers-page .km-workstyle .ws{grid-template-columns:1fr;gap:10px}.sp-careers-page .km-workstyle .ws .en{grid-column:1;grid-row:auto}.sp-careers-page .km-workstyle .ws b,.sp-careers-page .km-workstyle .ws p{grid-column:1}.sp-careers-page .km-workstyle .bf-grid{gap:26px 24px}}
@media(max-width:550px){.sp-careers-page .km-workstyle{padding:56px 24px}.km-work-layout,.sp-careers-page .km-workstyle .bf-wrap{grid-template-columns:1fr;gap:28px}.sp-careers-page .km-work-layout .g-title{font-size:28px}.sp-careers-page .km-work-layout .g-title br{display:none}.sp-careers-page .km-workstyle .ws{padding:23px 0;gap:8px}.sp-careers-page .km-workstyle .ws b{font-size:17px}.sp-careers-page .km-workstyle .ws p{font-size:14px}.sp-careers-page .km-workstyle .bf-wrap{margin-top:42px;padding-top:28px;gap:25px}.km-benefits-head{display:flex;align-items:center;gap:20px}.km-benefits-head>span{font-size:28px}.sp-careers-page .km-workstyle .bf-title{margin:0;font-size:13px}.sp-careers-page .km-workstyle .bf-grid{grid-template-columns:1fr;gap:24px}.sp-careers-page .km-workstyle .bf{display:grid;grid-template-columns:78px 1fr;column-gap:15px}.sp-careers-page .km-workstyle .bf .en{grid-column:1;grid-row:1/3;margin-top:6px;font-size:10px}.sp-careers-page .km-workstyle .bf b,.sp-careers-page .km-workstyle .bf p{grid-column:2}.sp-careers-page .km-workstyle .bf b{font-size:16px}.sp-careers-page .km-workstyle .bf p{font-size:13px}.sp-careers-page .km-workstyle .office{margin-top:38px}.km-careers-art .km-svg,.km-home-careers-art .km-svg{width:100%;left:0}.km-match-grid{gap:34px}.km-match-card .sp-mark{aspect-ratio:1.5}}

.sp-careers-page .km-workstyle .sec-en{white-space:nowrap}
.g-about-art [id$="-blue"] stop:last-child,.km-match-card [id$="-blue"] stop:last-child,.sp-values [id$="-blue"] stop:last-child,.sp-service-poster [id$="-blue"] stop:last-child{stop-color:#498eb9}
.g-about-art [id$="-blue"] stop:nth-child(2),.km-match-card [id$="-blue"] stop:nth-child(2),.sp-values [id$="-blue"] stop:nth-child(2),.sp-service-poster [id$="-blue"] stop:nth-child(2){stop-color:#277cae}
.km-match-card [id$="-red"] stop:last-child{stop-color:#c55947}

/* The canvas winds the source contours upward; the finished SVG remains the fallback. */
.sp-mark .km-assembly-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;background:transparent}
.sp-mark .km-assembly-canvas[hidden]{display:none}
.sp-mark.is-assembling>.km-svg{opacity:0}
.sp-mark.is-assembling .km-thinker{animation:none}

/* Keep the live contour surface after assembly so its geometry can bend. */
.sp-mark.has-thinker-surface>.km-svg{opacity:0}
.sp-mark.is-thinker-formed .km-assembly-canvas{transform-origin:50% 85%;animation:km-thinker-float 13s ease-in-out infinite}
.sp-mark:not(.is-visible) .km-assembly-canvas,.sp-mark.is-paused .km-assembly-canvas{animation-play-state:paused!important}
@keyframes km-thinker-float{0%,100%{transform:translateY(3px) rotate(-.5deg)}50%{transform:translateY(-4px) rotate(.5deg)}}
@media(prefers-reduced-motion:reduce){.sp-mark .km-assembly-canvas{animation:none!important}}

/* Service signatures: artwork first, a single-line title, the existing row rhythm. */
.g-service-row{position:relative;grid-template-columns:160px minmax(0,1.35fr) minmax(0,1fr) 30px;gap:24px;min-height:220px;height:220px;padding:28px 0}
.g-service-row .g-service-num{position:absolute;left:184px;top:23px;padding:0;font-size:10px;letter-spacing:.08em}
.g-service-row .g-service-art{grid-column:1;grid-row:1;width:160px;height:156px;aspect-ratio:auto;margin:0;filter:grayscale(1);opacity:.65;transform:none}
.g-service-row .g-service-title{grid-column:2;grid-row:1}
.g-service-row .g-service-title h3{font-size:clamp(32px,3.35vw,52px);white-space:nowrap;line-height:1.15;letter-spacing:-.05em;transition:color .45s}
.g-service-row .g-service-title>span{margin-top:15px;transition:color .45s}
.g-service-row>p{grid-column:3;grid-row:1;font-size:14px;line-height:1.9;margin:0}
.g-service-row .g-arrow{grid-column:4;grid-row:1}
.g-service-row:hover .g-service-art,.g-service-row:focus-visible .g-service-art{filter:grayscale(0);opacity:1;transform:none}
.g-service-row:hover .g-service-title,.g-service-row:focus-visible .g-service-title{color:#85ceef}
.g-service-row:nth-of-type(2):hover .g-service-title,.g-service-row:nth-of-type(2):focus-visible .g-service-title{color:#f79481}
.g-service-art .km-svg g:not(.km-parallax){transform-box:view-box;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.g-service-row:hover .sv-arrow,.g-service-row:focus-visible .sv-arrow{transform:translate(-16px,15px)}
.g-service-row:hover .sv-target,.g-service-row:focus-visible .sv-target{transform:rotate(-6deg);transform-origin:260px 222px}
.g-service-row:hover .sv-pen,.g-service-row:focus-visible .sv-pen{transform:translate(-13px,9px) rotate(-5deg);transform-origin:260px 279px}
.g-service-row:hover .sv-frames,.g-service-row:focus-visible .sv-frames{transform:translate(5px,-7px)}
.g-service-row:hover .sv-module-2,.g-service-row:focus-visible .sv-module-2{transform:translateY(20px)}
.g-service-row:hover .sv-module-0,.g-service-row:focus-visible .sv-module-0{transform:translate(9px,-3px)}
.g-service-row:hover .sv-module-1,.g-service-row:focus-visible .sv-module-1{transform:translate(-9px,-3px)}
@media(max-width:1100px){.g-service-row{grid-template-columns:130px minmax(0,1.5fr) minmax(0,1fr) 24px;gap:18px}.g-service-row .g-service-art{width:130px;height:145px}.g-service-row .g-service-num{left:148px}.g-service-row>p{font-size:13px}}
@media(max-width:900px){.g-service-row{grid-template-columns:130px minmax(0,1fr) 24px;grid-template-rows:auto auto;height:auto;min-height:240px;gap:16px 22px}.g-service-row .g-service-art{grid-row:1/3}.g-service-row .g-service-title{grid-column:2}.g-service-row>p{grid-column:2;grid-row:2}.g-service-row .g-arrow{grid-column:3;grid-row:1/3}.g-service-row .g-service-num{left:0;top:14px}.g-service-row .g-service-title h3{font-size:clamp(32px,4.7vw,43px)}.g-service-row small{margin-top:9px}}
@media(max-width:700px){.g-service-row{grid-template-columns:52px minmax(0,1fr) 14px;gap:20px 10px;padding:29px 0;min-height:280px}.g-service-row .g-service-art{width:62px;height:88px;margin-left:-5px;grid-row:1;align-self:center}.g-service-row .g-service-title h3{font-size:clamp(18px,5.7vw,36px);letter-spacing:-.055em}.g-service-row .g-service-title>span{font-size:11px;margin-top:12px}.g-service-row>p{grid-column:2/4;grid-row:2;font-size:14px}.g-service-row .g-arrow{grid-row:1;font-size:20px}.g-service-row .g-service-num{top:12px}.g-service-row small{font-size:11px}.g-service-row .g-service-title{align-self:center}}
@media(max-width:360px){.g-service-row{grid-template-columns:40px minmax(0,1fr) 12px;gap:18px 8px}.g-service-row .g-service-art{width:50px}.g-service-row .g-service-title h3{font-size:5.65vw}}
@media(prefers-reduced-motion:reduce){.g-service-row .g-service-art,.g-service-row .km-svg g,.g-service-row .g-service-title h3,.g-service-row .g-service-title>span{transition:none!important;transform:none!important}}
.g-service-row .is-paused .km-svg g{transform:none!important;transition:none!important}

/* What we do: three distinct service columns, with no artwork backplates. */
.wwd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line)}
.wwd-grid .g-service-row{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:440px;height:auto;padding:28px 28px 65px;border:0;position:relative}
.wwd-grid .g-service-row+.g-service-row{border-left:1px solid var(--sp-line)}
.wwd-grid .g-service-row:last-of-type{border-bottom:0}
.wwd-grid .g-service-row .g-service-num{left:auto;right:28px;top:31px;font-size:11px}
.wwd-grid .g-service-row .g-service-art{width:160px;height:160px;margin:0 0 23px -13px;align-self:flex-start;flex-shrink:0}
.wwd-grid .g-service-row .g-service-title{width:100%;align-self:auto}
.wwd-grid .g-service-row .g-service-title h3{font-size:clamp(23px,2.05vw,34px);line-height:1.2;letter-spacing:-.05em;white-space:nowrap}
.wwd-grid .g-service-row .g-service-title>span{font-size:12px;margin-top:13px}
.wwd-grid .g-service-row>p{font-size:14px;line-height:1.95;margin-top:27px;flex:1}
.wwd-grid .g-service-row small{font-size:11px;line-height:1.9;margin-top:21px}
.wwd-grid .g-service-row .g-arrow{position:absolute;right:28px;bottom:22px;font-size:25px}
@media(max-width:1100px) and (min-width:761px){.wwd-grid .g-service-row{padding-inline:18px}.wwd-grid .g-service-row .g-service-title h3{font-size:2.15vw}.wwd-grid .g-service-row>p{font-size:13px}.wwd-grid .g-service-row .g-service-num{right:18px}}
@media(max-width:760px){.wwd-grid{grid-template-columns:minmax(0,1fr)}.wwd-grid .g-service-row{padding:26px 0 60px;min-height:0}.wwd-grid .g-service-row+.g-service-row{border-left:0;border-top:1px solid var(--sp-line)}.wwd-grid .g-service-row .g-service-art{width:135px;height:125px;margin:0 0 20px -10px}.wwd-grid .g-service-row .g-service-title h3{font-size:clamp(26px,7vw,38px)}.wwd-grid .g-service-row .g-service-title>span{font-size:12px}.wwd-grid .g-service-row>p{font-size:14px;margin-top:22px}.wwd-grid .g-service-row .g-service-num{right:0;top:29px}.wwd-grid .g-service-row .g-arrow{right:0}}
.g-services .sp-section-title{white-space:nowrap;flex-shrink:0}
@media(max-width:700px){.g-services .sp-section-title{font-size:clamp(42px,11vw,53px)}}

/* Careers: a small, playful liquid playground, with no illustration backplate. */
.careers-liquid{aspect-ratio:1.25;align-self:center;width:100%;overflow:visible;contain:none}
.careers-liquid .km-svg{width:100%;height:100%;overflow:visible}
.liquid-dot{transform-box:view-box;transform-origin:300px 240px;animation:liquid-a 13s cubic-bezier(.45,0,.25,1) infinite}
.liquid-b{animation-name:liquid-b;animation-duration:13s}
.liquid-c{animation-name:liquid-c;animation-duration:17s}
.liquid-d{animation-name:liquid-d;animation-duration:11s}
.liquid-e{animation-name:liquid-e;animation-duration:15s}
.liquid-f{animation-name:liquid-f;animation-duration:12s}
@keyframes liquid-a{0%,100%{transform:translate(-8px,8px) scale(1,.98)}45%{transform:translate(25px,-15px) scale(.94,1.05)}75%{transform:translate(-18px,14px) scale(1.03,.97)}}
@keyframes liquid-b{0%,100%{transform:translate(15px,-17px)}40%{transform:translate(-80px,44px) scale(1.06,.96)}70%{transform:translate(-18px,-35px)}}
@keyframes liquid-c{0%,100%{transform:translate(20px,13px)}45%{transform:translate(-68px,-52px) scale(.96,1.04)}78%{transform:translate(13px,-8px)}}
@keyframes liquid-d{0%,100%{transform:translate(-4px,-12px)}48%{transform:translate(70px,47px)}75%{transform:translate(8px,15px)}}
@keyframes liquid-e{0%,100%{transform:translate(3px,-5px)}55%{transform:translate(42px,-73px)}80%{transform:translate(-18px,-8px)}}
@keyframes liquid-f{0%,100%{transform:translate(0,0)}40%{transform:translate(-61px,-67px)}75%{transform:translate(-18px,18px)}}
@media(max-width:760px){.careers-liquid{align-self:center;min-width:0}}
@media(max-width:550px){.careers-liquid{max-width:410px;margin:4px auto -8px;aspect-ratio:1.25}.g-careers-body{gap:20px}}
@media(prefers-reduced-motion:reduce){.careers-liquid .liquid-dot{animation:none!important}.careers-liquid .km-parallax{transform:none!important;transition:none!important}}
/* Distinct chapters, united by blue, warm paper and ink. */
#services{background:#14191f;color:#f5f3ed;--sp-ink:#f5f3ed;--sp-muted:#afb9c5;--sp-line:#ffffff30;--sp-blue:#91c8f3}
#works{background:#dce9f3;color:#172b43;--sp-ink:#172b43;--sp-muted:#526477;--sp-line:#172b4333;--sp-blue:#214b79}
#people{background:#f1ede5;color:#23282d;--sp-ink:#23282d;--sp-muted:#656a70;--sp-line:#23282d30;--sp-blue:#214b79}
#journal{background:#172e4a;color:#f1f4f8;--sp-ink:#f1f4f8;--sp-muted:#bfccdc;--sp-line:#ffffff35;--sp-blue:#aad3ef}
#journal .sp-article,#journal .sp-article h3,#journal .sp-article p{color:inherit}
#news{background:#e9e8e2;color:#232b34;--sp-ink:#232b34;--sp-muted:#5e6975;--sp-line:#232b3433;--sp-blue:#214b79}
.sp-logo img{filter:brightness(0) saturate(100%);height:auto}
.sp-footer-name img{width:240px;height:auto;display:block}
/* Careers becomes one immersive field rather than text beside artwork. */
#careers.careers-playground{background:#b8d6e9;color:#152c46;--sp-ink:#152c46;--sp-blue:#152c46;--sp-muted:#344e68;--sp-line:#152c4638;isolation:isolate;position:relative;overflow:hidden;padding-bottom:48px}
.careers-playground .sp-section-head,.careers-playground .km-careers-text,.careers-playground .g-careers-values{position:relative;z-index:2}
.careers-playground .g-careers-body{display:block;padding:46px 0 64px}
.careers-playground .km-careers-text{text-align:center;max-width:900px;margin:auto}
.careers-playground .g-careers-title{font-size:clamp(76px,12vw,178px);line-height:.96;letter-spacing:-.065em;font-weight:400}
.careers-playground .g-careers-title span{display:block}
.careers-playground .g-careers-copy{margin:35px auto 0;max-width:430px}
.careers-playground .g-careers-copy p{font-size:15px;line-height:2}
.careers-playground .g-careers-copy .sp-text-link{margin:25px auto 0;justify-content:space-between}
.careers-playground .careers-liquid{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;aspect-ratio:auto;z-index:0;opacity:.8;pointer-events:none;overflow:hidden}
.careers-playground .careers-liquid .km-svg{width:100%;height:100%;position:absolute;inset:0}
.careers-playground .g-careers-values{text-align:center;margin-top:0}
@media(max-width:700px){.careers-playground .g-careers-body{padding:32px 0 44px}.careers-playground .g-careers-title{font-size:19vw}.careers-playground .g-careers-copy{max-width:300px}.careers-playground .g-careers-copy p{font-size:13px}.careers-playground .careers-liquid{opacity:.45}.careers-playground .g-careers-values{gap:16px}}
/* Progressive scroll choreography: content remains visible without JavaScript. */
.sp-reveal{transition:opacity .85s ease,transform 1.05s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.sp-reveal.is-pending{opacity:0;transform:translateY(38px)}
.sp-reveal.is-shown{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.sp-reveal,.sp-reveal.is-pending{opacity:1;transform:none;transition:none}}
.careers-playground .careers-liquid .liquid-mobile{display:none}
@media(max-width:700px){.careers-playground .careers-liquid .liquid-desktop{display:none}.careers-playground .careers-liquid .liquid-mobile{display:block}}
