:root,body{--accent:#79b7d8;--wl-blue:#79b7d8;--nt-accent:#79b7d8;--nc-gold:#79b7d8;--ab-lilac:#79b7d8;--ab-sage:#79b7d8;--ab-peach:#79b7d8}.brand span,em{color:var(--accent)}.status-dot{background:#79b7d8;box-shadow:0 0 13px #79b7d860}::selection{background:#79b7d8;color:#111b22}.am-pointer{display:none!important}
.pf-footer{position:relative;background:#0d1216;color:#e5edf2;border-top:1px solid #34444f;isolation:isolate;overflow:hidden;margin-top:45px;--light-x:50%;--light-y:80%}.pf-content{position:relative;z-index:2;padding-top:75px;padding-bottom:150px}.pf-top{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}.pf-eyebrow{font:10px/1.6 monospace;letter-spacing:1.8px;color:#acc0cc}.pf-footer h2{font-size:clamp(42px,4.8vw,65px);font-weight:400;line-height:1.1;letter-spacing:-2px;margin:22px 0 30px}.pf-footer em{font-family:Georgia,serif;font-weight:400;color:#79b7d8}.pf-cta{display:inline-flex;align-items:center;gap:28px;padding:12px 0;border-bottom:1px solid #79b7d8;font-size:13px}.pf-cta>span{font-size:24px;color:#79b7d8;transition:transform .25s}.pf-cta:hover>span{transform:translate(4px,-4px)}.pf-social{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;padding-top:10px}.pf-social>a{display:flex;align-items:center;gap:14px;border-bottom:1px solid #435663;padding:19px 0;min-width:0;transition:border-color .25s,transform .25s}.pf-social>a:hover{border-color:#79b7d8;transform:translateY(-3px)}.pf-social svg{width:22px;height:22px;flex-shrink:0;color:#79b7d8}.pf-social strong{display:block;font-weight:400;font-size:14px;color:#e5edf2}.pf-social small{display:block;font-size:10px;color:#b0c2cd;margin-top:5px;overflow-wrap:anywhere}.pf-social b{font-size:17px;font-weight:400;margin-left:auto;color:#79b7d8}.pf-social a>span{min-width:0}.pf-meta{border-top:1px solid #3a4b57;margin-top:65px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.pf-meta>span,.pf-meta>a:last-child{font-size:10px;color:#c1cfd8}.pf-light-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.pf-light-controls>span{font:8px/1.6 monospace;letter-spacing:1.5px;color:#b0c6d3}.pf-light-controls button{font-size:9px;line-height:1.5;padding:6px 10px;border:1px solid #607e90;border-radius:20px;background:#101a22;color:#d1e1eb}.pf-light-controls button:hover{background:#79b7d8;color:#111b22}.pf-lights{position:absolute;inset:auto 0 0;height:270px;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 52%)}/* Ambient light runs independently of pointer input. Pausing retains its phase. */
.pf-light-wave{position:absolute;inset:-18% -35% -28%;background:radial-gradient(ellipse at 22% 70%,#79b7d8c4,transparent 28%),radial-gradient(ellipse at 76% 90%,#79b7d88c,transparent 30%),linear-gradient(0deg,#254b62,transparent 85%);filter:blur(16px);transform-origin:50% 100%;animation:pf-drift 22s ease-in-out -7s infinite;animation-play-state:paused;will-change:transform}
.pf-lights::before{content:"";position:absolute;inset:-20% -35% -30%;background:radial-gradient(ellipse at 65% 78%,#a2d5f0a6,transparent 23%),radial-gradient(ellipse at 30% 100%,#79b7d873,transparent 26%);filter:blur(20px);animation:pf-undertow 29s ease-in-out -14s infinite;animation-play-state:paused;will-change:transform}
.pf-footer.is-light-active:not(.is-light-paused) .pf-light-wave,.pf-footer.is-light-active:not(.is-light-paused) .pf-lights::before{animation-play-state:running}
.pf-light-follow{position:absolute;inset:0;background:radial-gradient(ellipse 230px 180px at var(--light-x) var(--light-y),#a8dcfba3,transparent 70%);opacity:0;transition:opacity .4s}.pf-footer.is-light-hovered .pf-light-follow{opacity:.9}.pf-flutes{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#050b1255 0px,#050b1290 3px,#79b7d81a 5px,transparent 8px,transparent 15px,#79b7d829 17px,#06101a7a 20px);box-shadow:inset 0 80px 70px #0d1216a0}.pf-cursor-dot,.pf-cursor-ring{position:fixed;left:0;top:0;border-radius:50%;pointer-events:none;z-index:2147483646;opacity:0;will-change:transform}.pf-cursor-dot{width:6px;height:6px;background:#e8f6ff;box-shadow:0 0 0 1px #183d52;mix-blend-mode:difference}.pf-cursor-ring{width:39px;height:39px;border:1px solid #79b7d8;box-shadow:0 0 0 1px #10182055;transition:width .18s,height .18s,background .18s;mix-blend-mode:difference}.pf-cursor-ring.is-link{width:52px;height:52px;background:#79b7d81c}.pf-cursor-ring.is-down{width:29px;height:29px}.pf-cursor-visible .pf-cursor-dot,.pf-cursor-visible .pf-cursor-ring{opacity:1}@media(hover:hover) and (pointer:fine){html.pf-custom-cursor,html.pf-custom-cursor *{cursor:none!important}html.pf-custom-cursor input,html.pf-custom-cursor textarea,html.pf-custom-cursor [contenteditable=true]{cursor:text!important}html.pf-custom-cursor video{cursor:auto!important}}
@keyframes pf-drift{0%,100%{transform:translate3d(-13%,8%,0) scaleY(.82)}35%{transform:translate3d(7%,-7%,0) scaleY(1.12)}65%{transform:translate3d(14%,4%,0) scaleY(.94)}}
@keyframes pf-undertow{0%,100%{transform:translate3d(12%,0,0) scaleY(1.05);opacity:.65}45%{transform:translate3d(-16%,-12%,0) scaleY(1.24);opacity:1}75%{transform:translate3d(-3%,8%,0) scaleY(.88);opacity:.8}}
@media(max-width:900px){.pf-top{gap:40px;grid-template-columns:1fr 1fr}.pf-social{grid-template-columns:1fr;gap:0}.pf-social>a{padding:13px 0}.pf-social small{font-size:10px}.pf-content{padding-top:55px}.pf-meta{margin-top:45px}}
@media(max-width:640px){.pf-footer{margin-top:25px}.pf-top{grid-template-columns:1fr;gap:30px}.pf-footer h2{font-size:43px;letter-spacing:-1.7px}.pf-social{grid-template-columns:1fr 1fr;gap:0 20px}.pf-social>a{gap:10px;padding:17px 0}.pf-social svg{width:19px;height:19px}.pf-social strong{font-size:12px}.pf-social small{font-size:9px}.pf-social b{display:none}.pf-meta{flex-wrap:wrap;gap:20px}.pf-meta>span{order:3;width:100%;font-size:9px}.pf-meta>a:last-child{margin-left:auto}.pf-light-controls{align-items:flex-start}.pf-light-controls>span{font-size:7px;max-width:180px}.pf-light-controls button{font-size:8px;white-space:nowrap}.pf-content{padding-bottom:125px}.pf-lights{height:230px}}
@media(prefers-reduced-motion:reduce){.pf-light-wave,.pf-lights::before{animation:none!important;will-change:auto}.pf-cursor-dot,.pf-cursor-ring{display:none!important}.pf-social>a:hover,.pf-cta:hover>span{transform:none}.pf-light-follow{display:none}}

/* Shared footer: crisp social marks and quiet Baltic-blue icon tiles. */
.pf-social-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #79b7d833;border-radius:12px;background:linear-gradient(145deg,#79b7d812,#79b7d804);color:#b9d6e7;box-shadow:inset 0 1px 0 #ffffff05;transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.pf-social .pf-social-icon svg{display:block;width:21px;height:21px;color:inherit}
.pf-social>a:hover .pf-social-icon,.pf-social>a:focus-visible .pf-social-icon{color:#79b7d8;border-color:#79b7d880;background:#79b7d81a;box-shadow:0 0 22px #79b7d810,inset 0 1px 0 #ffffff08}
@media(max-width:640px){.pf-social-icon{flex-basis:34px;width:34px;height:34px;border-radius:10px}.pf-social .pf-social-icon svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.pf-social-icon{transition:none}}

.nav-resume{white-space:nowrap}.nav-resume>span{color:#79b7d8}.hr-menu{overflow-y:auto}@media(max-width:380px){.navigation{gap:10px}.nav-links{gap:12px;font-size:11px}}

/* Clear, scoped contribution summaries across case studies. */
.case-contribution{grid-column:1/-1;align-self:stretch;width:100%;margin:24px 0;padding:24px;border:1px solid #79b7d833;border-radius:16px;background:#101820;color:#edf2f6;box-sizing:border-box}
.case-contribution-label{display:block;font:10px/1.5 monospace;letter-spacing:1.5px;color:#a9c8da;margin-bottom:16px}
.case-contribution ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.case-contribution li{font-size:14px;line-height:1.65;padding-left:15px;border-left:2px solid #79b7d873;color:#d8e5ee}
.nt-data-split .nt-split-label strong{font-size:clamp(28px,4vw,48px)}
.wl-research strong,.in-research-strip strong{overflow-wrap:anywhere}
@media(max-width:700px){.case-contribution ul{grid-template-columns:1fr;gap:14px}.case-contribution{padding:20px}.case-contribution li{font-size:13px}}

.nt-metrics article strong{font-size:clamp(24px,3vw,40px);overflow-wrap:anywhere}.in-research-strip strong{font-size:clamp(24px,3vw,40px)}
