
:root {
  --sl-ink: #091a28;
  --sl-ink-2: #102b3e;
  --sl-blue: #176b87;
  --sl-cyan: #24a6b5;
  --sl-mint: #8ed8cb;
  --sl-lime: #d4e57a;
  --sl-paper: #f6f8f5;
  --sl-white: #ffffff;
  --sl-text: #172631;
  --sl-muted: #60717a;
  --sl-line: rgba(9,26,40,.13);
  --sl-shadow: 0 24px 70px rgba(9,26,40,.13);
  --sl-radius: 26px;
  --sl-max: 1180px;
}
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--sl-paper); color: var(--sl-text); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
body.sl-menu-open { overflow: hidden; }
body.admin-bar .sl-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .sl-site-header { top: 46px; } }
.sl-skip-link { position: fixed; z-index: 99999; left: 16px; top: -80px; padding: 12px 16px; background: #fff; color: #000; border-radius: 8px; transition: top .2s; }
.sl-skip-link:focus { top: 16px; }
.sl-main { min-height: 60vh; }
.sl-site-header { position: sticky; top: 0; z-index: 1000; background: rgba(6,19,30,.93); color: #fff; backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.08); transition: background .2s ease, box-shadow .2s ease; }
.sl-site-header.is-scrolled { background: rgba(6,19,30,.98); box-shadow: 0 12px 35px rgba(0,0,0,.18); }
.sl-header-inner { width: min(calc(100% - 42px), var(--sl-max)); min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.sl-header-brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; text-decoration: none; font-weight: 820; letter-spacing: -.025em; }
.sl-brand-mark { width: 35px; height: 35px; flex: 0 0 auto; }
.sl-custom-logo, .sl-custom-logo a { display: inline-flex; align-items: center; }
.sl-custom-logo img { max-height: 48px; width: auto; }
.sl-primary-nav .sl-nav-list { list-style: none; display: flex; align-items: center; gap: 25px; padding: 0; margin: 0; }
.sl-primary-nav a { color: rgba(255,255,255,.69); text-decoration: none; font-size: .82rem; font-weight: 720; transition: color .2s; }
.sl-primary-nav a:hover, .sl-primary-nav .current-menu-item > a, .sl-primary-nav .current_page_item > a { color: var(--sl-mint); }
.sl-nav-toggle { display: none; border: 0; background: transparent; color: #fff; font: inherit; cursor: pointer; align-items: center; gap: 10px; }
.sl-nav-toggle-label { font-size: .8rem; font-weight: 750; }
.sl-nav-toggle-lines { display: grid; gap: 5px; }
.sl-nav-toggle-lines span { width: 22px; height: 2px; background: currentColor; transition: transform .2s ease; }
.sl-nav-toggle[aria-expanded="true"] .sl-nav-toggle-lines span:first-child { transform: translateY(3.5px) rotate(45deg); }
.sl-nav-toggle[aria-expanded="true"] .sl-nav-toggle-lines span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.sl-site { color: var(--sl-text); line-height: 1.65; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
.sl-site, .sl-site * { box-sizing: border-box; }
.sl-site a { color: inherit; text-decoration: none; }
.sl-site img, .sl-site svg { display: block; max-width: 100%; }
.sl-site h1, .sl-site h2, .sl-site h3, .sl-site p { margin-top: 0; }
.sl-site h1, .sl-site h2, .sl-site h3 { color: inherit; line-height: 1.08; letter-spacing: -.035em; }
.sl-site h1 { font-size: clamp(3.1rem, 7vw, 6.7rem); font-weight: 800; }
.sl-site h2 { font-size: clamp(2.25rem, 4.5vw, 4.3rem); font-weight: 780; }
.sl-site h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 750; }
.sl-site p { font-size: 1rem; }
.sl-container { width: min(calc(100% - 42px), var(--sl-max)); margin-inline: auto; }
.sl-section { padding: 105px 0; }
.sl-section-tight { padding: 72px 0; }
.sl-dark { background: var(--sl-ink); color: var(--sl-white); }
.sl-paper { background: var(--sl-paper); }
.sl-soft { background: #eaf4f1; }
.sl-white { background: var(--sl-white); }
.sl-kicker { margin-bottom: 16px; color: var(--sl-blue); font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sl-dark .sl-kicker { color: var(--sl-mint); }
.sl-lede { max-width: 760px; color: var(--sl-muted); font-size: clamp(1.15rem, 2vw, 1.43rem); line-height: 1.55; }
.sl-dark .sl-lede { color: rgba(255,255,255,.68); }
.sl-section-head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.7fr); gap: 70px; align-items: end; margin-bottom: 52px; }
.sl-section-head h2 { margin-bottom: 0; }
.sl-section-head > p { margin: 0; color: var(--sl-muted); font-size: 1.06rem; }
.sl-dark .sl-section-head > p { color: rgba(255,255,255,.58); }
.sl-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sl-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 20px; border-radius: 999px; border: 1px solid transparent; font-size: .88rem; font-weight: 760; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.sl-button:hover { transform: translateY(-2px); }
.sl-button-primary { background: var(--sl-lime); color: var(--sl-ink); }
.sl-button-secondary { border-color: rgba(255,255,255,.25); color: var(--sl-white); background: rgba(255,255,255,.05); }
.sl-button-outline { border-color: var(--sl-line); background: var(--sl-white); color: var(--sl-ink); }
.sl-arrow { font-size: 1.05em; }

.sl-hero { position: relative; overflow: hidden; min-height: 780px; padding: 105px 0 80px; background: var(--sl-ink); color: var(--sl-white); }
.sl-hero::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 75% 35%, rgba(36,166,181,.27), transparent 25%), radial-gradient(circle at 90% 85%, rgba(212,229,122,.12), transparent 22%), linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: auto, auto, 52px 52px, 52px 52px; mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.9) 70%, transparent 100%); }
.sl-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.13fr .87fr; gap: 72px; align-items: center; }
.sl-hero-copy h1 { max-width: 850px; margin-bottom: 26px; }
.sl-hero-copy h1 span { color: var(--sl-mint); }
.sl-hero-copy .sl-lede { max-width: 720px; }
.sl-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; color: rgba(255,255,255,.7); font-size: .76rem; font-weight: 740; letter-spacing: .1em; text-transform: uppercase; }
.sl-eyebrow::before { content:""; width: 9px; height: 9px; border-radius: 50%; background: var(--sl-lime); box-shadow: 0 0 18px rgba(212,229,122,.55); }
.sl-hero-meta { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 54px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.12); }
.sl-hero-meta div { min-height: 115px; padding: 20px; background: rgba(9,26,40,.88); }
.sl-hero-meta strong { display: block; margin-bottom: 7px; font-size: 1rem; color: var(--sl-white); }
.sl-hero-meta span { color: rgba(255,255,255,.48); font-size: .76rem; line-height: 1.45; }
.sl-hero-art { position: relative; aspect-ratio: 1/1; min-height: 490px; display: grid; place-items: center; }
.sl-orbit { position: absolute; border: 1px solid rgba(142,216,203,.25); border-radius: 50%; animation: sl-spin 22s linear infinite; }
.sl-orbit-a { width: 82%; height: 82%; }
.sl-orbit-b { width: 58%; height: 58%; animation-direction: reverse; animation-duration: 16s; border-color: rgba(212,229,122,.24); }
.sl-orbit::before, .sl-orbit::after { content:""; position:absolute; width: 15px; height: 15px; border-radius:50%; top:50%; transform: translateY(-50%); background: var(--sl-mint); box-shadow: 0 0 20px rgba(142,216,203,.7); }
.sl-orbit::before { left: -7px; }
.sl-orbit::after { right: -7px; background: var(--sl-lime); box-shadow: 0 0 20px rgba(212,229,122,.6); }
.sl-protein { position: relative; width: 72%; aspect-ratio:1/1; filter: drop-shadow(0 30px 50px rgba(0,0,0,.25)); }
.sl-protein path { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.sl-protein .sl-p1 { stroke: var(--sl-mint); stroke-width: 18; }
.sl-protein .sl-p2 { stroke: var(--sl-lime); stroke-width: 13; opacity:.92; }
.sl-protein .sl-p3 { stroke: #79a7ee; stroke-width: 8; opacity:.8; }
.sl-protein circle { fill: var(--sl-white); stroke: rgba(255,255,255,.3); stroke-width:4; }
@keyframes sl-spin { to { transform: rotate(360deg); } }

.sl-intro-band { background: #dbeee9; border-bottom: 1px solid var(--sl-line); }
.sl-intro-grid { display:grid; grid-template-columns: .4fr 1.6fr; gap:70px; align-items:start; }
.sl-intro-grid h2 { font-size: clamp(2rem,3.4vw,3.2rem); margin-bottom: 0; }
.sl-intro-grid p { margin:0; max-width: 820px; font-size: 1.16rem; color: #3f5660; }
.sl-pillar-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:18px; }
.sl-card { position:relative; overflow:hidden; min-height: 310px; padding: 32px; border:1px solid var(--sl-line); border-radius: var(--sl-radius); background: var(--sl-white); box-shadow: 0 10px 35px rgba(9,26,40,.045); }
.sl-card-dark { background: var(--sl-ink-2); color: var(--sl-white); border-color: rgba(255,255,255,.11); }
.sl-card-number { display:block; margin-bottom: 80px; color: var(--sl-blue); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.sl-card-dark .sl-card-number { color: var(--sl-mint); }
.sl-card h3 { margin-bottom: 13px; }
.sl-card p { margin:0; color: var(--sl-muted); }
.sl-card-dark p { color: rgba(255,255,255,.58); }
.sl-card-icon { position:absolute; top:25px; right:25px; width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:#e9f4f1; color:var(--sl-blue); }
.sl-card-dark .sl-card-icon { background:rgba(255,255,255,.07); color:var(--sl-mint); }
.sl-card-icon svg { width:31px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sl-project-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:14px; }
.sl-project { min-height:390px; padding:26px; display:flex; flex-direction:column; justify-content:space-between; border-radius:22px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); }
.sl-project:nth-child(2) { background:linear-gradient(145deg, rgba(36,166,181,.17), rgba(255,255,255,.025)); }
.sl-project:nth-child(3) { background:linear-gradient(145deg, rgba(212,229,122,.11), rgba(255,255,255,.025)); }
.sl-project-tag { color:var(--sl-mint); font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.sl-project h3 { margin:0 0 13px; font-size:1.55rem; }
.sl-project p { margin:0; color:rgba(255,255,255,.55); font-size:.9rem; }
.sl-project .sl-link { margin-top:20px; color:var(--sl-lime); font-size:.82rem; font-weight:750; }
.sl-process { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--sl-line); border-left:1px solid var(--sl-line); }
.sl-step { min-height:230px; padding:25px; border-right:1px solid var(--sl-line); border-bottom:1px solid var(--sl-line); background:rgba(255,255,255,.55); }
.sl-step strong { display:block; margin-bottom:52px; color:var(--sl-blue); font-size:.72rem; letter-spacing:.12em; }
.sl-step h3 { font-size:1.25rem; margin-bottom:10px; }
.sl-step p { margin:0; color:var(--sl-muted); font-size:.85rem; }
.sl-people-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sl-person { min-height:265px; padding:24px; border-radius:22px; background:var(--sl-white); border:1px solid var(--sl-line); display:flex; flex-direction:column; }
.sl-person-featured { grid-column:span 2; min-height:360px; background:var(--sl-ink); color:var(--sl-white); }
.sl-avatar { width:82px; height:82px; display:grid; place-items:center; flex:0 0 auto; margin-bottom:26px; border-radius:22px; background:#e7f3ef; color:var(--sl-blue); font-weight:820; font-size:1.25rem; letter-spacing:.03em; }
.sl-person-featured .sl-avatar { width:110px; height:110px; background:rgba(142,216,203,.12); color:var(--sl-mint); }
.sl-person h3 { margin-bottom:7px; }
.sl-role { margin:0 0 18px; color:var(--sl-blue); font-size:.78rem; font-weight:780; text-transform:uppercase; letter-spacing:.08em; }
.sl-person-featured .sl-role { color:var(--sl-mint); }
.sl-person p:last-child { margin-bottom:0; color:var(--sl-muted); font-size:.9rem; }
.sl-person-featured p:last-child { color:rgba(255,255,255,.58); max-width:740px; }
.sl-person-links { display:flex; gap:14px; margin-top:auto; padding-top:20px; color:var(--sl-blue); font-size:.8rem; font-weight:760; }
.sl-person-featured .sl-person-links { color:var(--sl-lime); }
.sl-publication-list { border-top:1px solid var(--sl-line); }
.sl-publication { display:grid; grid-template-columns:100px 1fr auto; gap:28px; align-items:start; padding:27px 0; border-bottom:1px solid var(--sl-line); }
.sl-pub-year { color:var(--sl-blue); font-size:.76rem; font-weight:800; letter-spacing:.1em; }
.sl-publication h3 { margin-bottom:8px; font-size:1.22rem; letter-spacing:-.02em; }
.sl-publication p { margin:0; color:var(--sl-muted); font-size:.86rem; }
.sl-pub-link { min-width:90px; text-align:right; color:var(--sl-blue); font-size:.8rem; font-weight:760; }
.sl-software-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sl-software-card { min-height:330px; padding:28px; border-radius:24px; background:var(--sl-ink-2); color:var(--sl-white); display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.1); }
.sl-software-card code { color:var(--sl-mint); font-size:.72rem; word-break: break-word; }
.sl-software-card h3 { margin:65px 0 14px; }
.sl-software-card p { color:rgba(255,255,255,.55); font-size:.9rem; }
.sl-software-card a { margin-top:auto; color:var(--sl-lime); font-size:.82rem; font-weight:760; }
.sl-join-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; }
.sl-join-main, .sl-join-side { padding:42px; border-radius:var(--sl-radius); }
.sl-join-main { background:var(--sl-ink); color:var(--sl-white); }
.sl-join-main p { max-width:720px; color:rgba(255,255,255,.62); font-size:1.05rem; }
.sl-join-side { background:#dbeee9; display:flex; flex-direction:column; justify-content:space-between; }
.sl-join-side p { color:#49616a; }
.sl-contact-list { display:grid; gap:11px; margin-top:25px; }
.sl-contact-list a { font-size:.88rem; font-weight:750; color:var(--sl-blue); }
.sl-page-hero { padding:100px 0 70px; background:var(--sl-ink); color:var(--sl-white); }
.sl-page-hero h1 { max-width:900px; font-size:clamp(3.1rem,6vw,5.7rem); margin-bottom:22px; }
.sl-page-hero .sl-lede { max-width:850px; color: rgba(255,255,255,.68); }

/* ASCENT */
.sl-ascent-hero { position:relative; overflow:hidden; min-height:780px; padding:105px 0 85px; background:var(--sl-ink); color:var(--sl-white); }
.sl-ascent-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 40%,rgba(36,166,181,.26),transparent 26%),radial-gradient(circle at 86% 80%,rgba(212,229,122,.12),transparent 20%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:auto,auto,52px 52px,52px 52px; mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.9) 78%,transparent); }
.sl-ascent-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.04fr .96fr; gap:60px; align-items:center; }
.sl-ascent-hero h1 { max-width:800px; margin-bottom:26px; }
.sl-ascent-hero h1 span { color:var(--sl-mint); }
.sl-ascent-hero .sl-lede { color:rgba(255,255,255,.68); }
.sl-acronym { max-width:720px; margin:-8px 0 24px; color:rgba(255,255,255,.5); font-size:.79rem; line-height:1.5; letter-spacing:.015em; }
.sl-acronym strong { color:var(--sl-mint); }
.sl-chip-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.sl-chip { padding:8px 12px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.04); color:rgba(255,255,255,.72); font-size:.72rem; font-weight:750; letter-spacing:.04em; }
.sl-recognition-visual { position:relative; min-height:560px; display:grid; place-items:center; }
.sl-recognition-ring { position:absolute; width:315px; height:315px; border:1px solid rgba(142,216,203,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(142,216,203,.03),0 0 0 140px rgba(142,216,203,.018); }
.sl-target-disc { position:relative; z-index:3; width:145px; height:145px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#2e8196,#12374c 58%,#0a1e2e); box-shadow:0 30px 70px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.15); }
.sl-epitope { position:absolute; right:17px; top:38px; width:34px; height:58px; border-radius:50% 30% 55% 38%; background:var(--sl-lime); transform:rotate(24deg); box-shadow:0 0 24px rgba(212,229,122,.48); }
.sl-format-node { position:absolute; z-index:4; width:142px; min-height:112px; padding:16px; border:1px solid rgba(255,255,255,.13); border-radius:19px; background:rgba(9,26,40,.84); backdrop-filter:blur(10px); box-shadow:0 18px 45px rgba(0,0,0,.18); }
.sl-format-node svg { width:33px; height:33px; margin-bottom:9px; fill:none; stroke:var(--sl-mint); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.sl-format-node strong { display:block; font-size:.83rem; }
.sl-format-node span { display:block; margin-top:4px; color:rgba(255,255,255,.44); font-size:.62rem; line-height:1.35; }
.sl-node-a { top:10px; left:calc(50% - 71px); }
.sl-node-b { right:8px; bottom:55px; }
.sl-node-c { left:8px; bottom:55px; }
.sl-recognition-line { position:absolute; z-index:2; width:150px; height:1px; background:linear-gradient(90deg,transparent,rgba(142,216,203,.6)); transform-origin:right center; }
.sl-line-a { transform:rotate(90deg) translateX(-150px); }
.sl-line-b { transform:rotate(35deg) translateX(150px); }
.sl-line-c { transform:rotate(-35deg) translateX(-150px); }
.sl-format-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sl-format-card { min-height:330px; padding:27px; border:1px solid var(--sl-line); border-radius:23px; background:var(--sl-white); display:flex; flex-direction:column; }
.sl-format-card:nth-child(2) { background:#eaf4f1; }
.sl-format-symbol { width:65px; height:65px; display:grid; place-items:center; margin-bottom:60px; border-radius:19px; background:var(--sl-ink); color:var(--sl-mint); }
.sl-format-symbol svg { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.sl-format-card p { color:var(--sl-muted); font-size:.9rem; }
.sl-format-card small { margin-top:auto; color:var(--sl-blue); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sl-platform-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:85px; align-items:start; }
.sl-platform-stack { display:grid; border-top:1px solid rgba(255,255,255,.13); }
.sl-platform-layer { display:grid; grid-template-columns:65px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.sl-platform-layer > strong { color:var(--sl-mint); font-size:.72rem; letter-spacing:.12em; }
.sl-platform-layer h3 { margin-bottom:8px; font-size:1.28rem; }
.sl-platform-layer p { margin:0; color:rgba(255,255,255,.52); font-size:.87rem; }
.sl-priority-band { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; padding:48px; border-radius:var(--sl-radius); background:#dbeee9; }
.sl-priority-band h2 { font-size:clamp(2.2rem,4vw,3.6rem); }
.sl-priority-band p { color:#49616a; }
.sl-priority-list { display:grid; align-content:center; }
.sl-priority-item { position:relative; padding:17px 18px 17px 42px; border-bottom:1px solid rgba(9,26,40,.13); font-size:.88rem; font-weight:680; }
.sl-priority-item::before { content:""; position:absolute; left:11px; top:22px; width:10px; height:10px; border-radius:50%; background:var(--sl-blue); box-shadow:0 0 0 5px rgba(23,107,135,.1); }
.sl-output-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sl-output { min-height:300px; padding:28px; border:1px solid var(--sl-line); border-radius:22px; background:var(--sl-white); }
.sl-output .sl-card-number { margin-bottom:75px; }
.sl-output p { color:var(--sl-muted); font-size:.9rem; }

/* Generic WordPress content */
.sl-prose { max-width: 820px; }
.sl-prose > *:first-child { margin-top: 0; }
.sl-prose h2, .sl-prose h3 { margin-top: 1.7em; }
.sl-prose p, .sl-prose li { color: var(--sl-muted); font-size: 1.04rem; }
.sl-prose a { color: var(--sl-blue); text-decoration: underline; text-underline-offset: 3px; }
.sl-editor-additions { border-top: 1px solid var(--sl-line); }
.sl-post-list { display: grid; gap: 18px; }
.sl-post-card { padding: 32px; background: #fff; border: 1px solid var(--sl-line); border-radius: 22px; }
.sl-post-card h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }

.sl-footer { padding:62px 0 24px; background:#06131e; color:var(--sl-white); border-top:1px solid rgba(255,255,255,.08); }
.sl-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:65px; }
.sl-brand { display:inline-flex; align-items:center; gap:12px; font-size:1.02rem; font-weight:820; letter-spacing:-.02em; color:#fff; }
.sl-footer p { max-width:430px; color:rgba(255,255,255,.46); font-size:.8rem; }
.sl-footer-links { display:grid; gap:8px; align-content:start; color:rgba(255,255,255,.66); font-size:.82rem; }
.sl-footer-links strong { margin-bottom:6px; color:var(--sl-white); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.sl-footer-links a:hover { color:var(--sl-mint); }
.sl-footer-menu { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.sl-footer-bottom { display:flex; justify-content:space-between; gap:25px; margin-top:42px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.35); font-size:.72rem; }

@media (max-width: 1100px) {
  .sl-primary-nav .sl-nav-list { gap: 16px; }
  .sl-primary-nav a { font-size: .76rem; }
}
@media (max-width: 1020px) {
  .sl-hero-grid, .sl-section-head, .sl-intro-grid, .sl-join-grid, .sl-ascent-hero-grid, .sl-platform-grid, .sl-priority-band { grid-template-columns:1fr; }
  .sl-hero, .sl-ascent-hero { min-height:auto; }
  .sl-hero-art { min-height:430px; max-width:650px; margin-inline:auto; }
  .sl-recognition-visual { min-height:590px; max-width:650px; width:100%; margin-inline:auto; }
  .sl-project-grid { grid-template-columns:repeat(2,1fr); }
  .sl-process { grid-template-columns:repeat(2,1fr); }
  .sl-people-grid { grid-template-columns:repeat(2,1fr); }
  .sl-software-grid { grid-template-columns:repeat(2,1fr); }
  .sl-format-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 860px) {
  .sl-nav-toggle { display: inline-flex; }
  .sl-primary-nav { position: fixed; inset: 76px 0 auto 0; display: none; padding: 25px 21px 40px; background: #06131e; border-top: 1px solid rgba(255,255,255,.08); max-height: calc(100vh - 76px); overflow:auto; }
  body.admin-bar .sl-primary-nav { top: calc(76px + 32px); }
  .sl-primary-nav.is-open { display: block; }
  .sl-primary-nav .sl-nav-list { display:grid; gap:0; }
  .sl-primary-nav li { border-bottom:1px solid rgba(255,255,255,.09); }
  .sl-primary-nav a { display:block; padding:17px 2px; font-size:1rem; }
}
@media (max-width: 700px) {
  .sl-header-inner, .sl-container { width:min(calc(100% - 28px), var(--sl-max)); }
  .sl-section { padding:78px 0; }
  .sl-hero, .sl-ascent-hero { padding-top:78px; }
  .sl-site h1 { font-size:clamp(2.65rem,14vw,4.2rem); }
  .sl-hero-meta, .sl-pillar-grid, .sl-project-grid, .sl-people-grid, .sl-software-grid, .sl-footer-grid, .sl-format-grid, .sl-output-grid { grid-template-columns:1fr; }
  .sl-hero-art { min-height:340px; }
  .sl-project { min-height:300px; }
  .sl-process { grid-template-columns:1fr; }
  .sl-step { min-height:190px; }
  .sl-person-featured { grid-column:auto; }
  .sl-publication { grid-template-columns:1fr; gap:8px; }
  .sl-pub-link { text-align:left; }
  .sl-card-number { margin-bottom:62px; }
  .sl-recognition-visual { min-height:540px; transform:scale(.9); transform-origin:center; }
  .sl-priority-band { padding:30px 23px; }
  .sl-footer-bottom { flex-direction:column; }
}
@media (max-width: 480px) {
  .sl-recognition-visual { transform:scale(.75); width:125%; margin-left:-12.5%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}


/* Static-site additions */
.sl-primary-nav .current-menu-item > a { color: var(--sl-mint); }
.sl-footer-menu { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.sl-footer-menu a { color: rgba(255,255,255,.66); }
.sl-footer-menu a:hover { color: var(--sl-mint); }
.sl-static-note {
  padding: 18px 20px;
  border: 1px solid var(--sl-line);
  border-radius: 16px;
  background: #fff;
}


/* Publication groups */
.sl-site .sl-pub-group { margin-top: 58px; }
.sl-site .sl-pub-group:first-of-type { margin-top: 0; }
.sl-site .sl-pub-group-head {
  margin-bottom: 18px;
}
.sl-site .sl-pub-group-head h3 {
  margin-bottom: 0;
  font-size: clamp(1.55rem, 2.6vw, 2.15rem);
}
.sl-site .sl-pub-group-head-inline {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
}
.sl-site .sl-pub-note {
  margin: 0;
  color: var(--sl-muted);
  font-size: .82rem;
  text-align: right;
}
.sl-site .sl-publication sup {
  color: var(--sl-blue);
  font-weight: 800;
}
.sl-site .sl-publication em {
  color: var(--sl-text);
}
.sl-site .sl-publication .sl-pub-link:not(a) {
  color: var(--sl-muted);
}
@media (max-width: 700px) {
  .sl-site .sl-pub-group-head-inline {
    display: block;
  }
  .sl-site .sl-pub-note {
    margin-top: 10px;
    text-align: left;
  }
}


/* Team page with photographs */
.sl-team-group { margin-top:72px; }
.sl-team-group:first-child { margin-top:0; }
.sl-team-group-head { display:flex; align-items:center; gap:18px; margin-bottom:20px; }
.sl-team-group-head::after { content:""; height:1px; flex:1; background:var(--sl-line); }
.sl-team-group-head .sl-kicker { margin:0; white-space:nowrap; }
.sl-people-grid-pi { grid-template-columns:repeat(3,1fr); }
.sl-person-with-photo { min-height:100%; }
.sl-member-photo {
  display:block; width:100%; aspect-ratio:5/4; margin:0 0 24px;
  border-radius:18px; object-fit:cover; object-position:center 28%;
  background:#dcece8; border:1px solid rgba(9,26,40,.08);
}
.sl-member-photo-portrait {
  object-fit:contain;
  object-position:center center;
  padding:10px;
  box-sizing:border-box;
}
.sl-person-featured.sl-person-with-photo {
  display:grid; grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);
  gap:38px; align-items:center; grid-column:auto; min-height:430px;
}
.sl-person-featured .sl-member-photo {
  width:100%; height:100%; min-height:330px; margin:0; aspect-ratio:auto;
  border-color:rgba(255,255,255,.12); object-position:center top;
}
.sl-person-copy { display:flex; flex-direction:column; align-self:stretch; justify-content:center; }
.sl-person-with-photo .sl-person-links { margin-top:auto; }
.sl-person-featured .sl-person-links { margin-top:16px; }
@media (max-width:1000px) {
  .sl-people-grid-pi { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) {
  .sl-person-featured.sl-person-with-photo { grid-template-columns:1fr; gap:26px; }
  .sl-person-featured .sl-member-photo { height:auto; min-height:0; aspect-ratio:5/4; max-height:520px; }
}
@media (max-width:700px) {
  .sl-people-grid-pi { grid-template-columns:1fr; }
}
