
/* Silverlight semantic framework base
   All visual personality is controlled through semantic variables in framework-*.css. */
:root {
  --font-display: Georgia, serif;
  --font-body: Inter, system-ui, sans-serif;
  --font-label: var(--font-body);
  --color-bg: #fff;
  --color-bg-rgb: 255 255 255;
  --color-surface: #fff;
  --color-surface-2: #f6f5f1;
  --color-text: #111;
  --color-muted: #666;
  --color-subtle: #999;
  --color-border: rgba(0,0,0,.12);
  --color-accent: #111;
  --color-accent-2: #555;
  --color-on-accent: #fff;
  --color-link: var(--color-accent);
  --hero-gradient: none;
  --image-filter: none;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-pill: 999px;
  --shadow-soft: none;
  --shadow-strong: none;
  --container: 1160px;
  --section-y: 96px;
  --grid-gap: 18px;
  --hero-size: clamp(4rem, 11vw, 9.5rem);
  --h2-size: clamp(2.4rem, 6vw, 5.6rem);
  --tracking-display: -.055em;
  --tracking-label: .14em;
  --button-height: 52px;
  --button-radius: var(--radius-pill);
  --card-padding: 28px;
  --card-border: 1px solid var(--color-border);
  --nav-bg: color-mix(in srgb, var(--color-bg) 78%, transparent);
  --nav-border: 1px solid var(--color-border);
  --motion: 220ms ease;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.page{min-height:100vh;background:var(--hero-gradient),var(--color-bg)}
.nav{position:sticky;top:16px;z-index:10;width:min(var(--container),calc(100% - 36px));margin:16px auto 0;padding:10px 12px 10px 18px;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--nav-bg);border:var(--nav-border);border-radius:var(--radius-pill);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--color-accent);color:var(--color-on-accent);font:800 11px/1 var(--font-label);letter-spacing:.1em}.nav-links{display:flex;gap:4px;color:var(--color-muted);font-size:14px}.nav-links a{padding:10px 12px;border-radius:var(--radius-pill)}.nav-links a:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-text)}.nav-cta{height:42px;padding:0 16px;display:flex;align-items:center;border-radius:var(--button-radius);background:var(--color-accent);color:var(--color-on-accent);font-weight:800;font-size:14px}
.section{width:min(var(--container),calc(100% - 36px));margin:0 auto;padding:var(--section-y) 0}.hero{min-height:calc(100vh - 90px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr);gap:44px;align-items:end}.eyebrow{margin:0 0 18px;color:var(--color-accent);font-family:var(--font-label);font-size:12px;font-weight:800;letter-spacing:var(--tracking-label);text-transform:uppercase}.hero h1,.section h2{font-family:var(--font-display);letter-spacing:var(--tracking-display);line-height:.94;text-wrap:balance;margin:0}.hero h1{font-size:var(--hero-size);max-width:950px}.section h2{font-size:var(--h2-size);max-width:960px}.lede{max-width:680px;margin:28px 0 0;color:var(--color-muted);font-size:clamp(1.1rem,2vw,1.35rem)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{min-height:var(--button-height);display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:var(--button-radius);font-weight:800;transition:transform var(--motion),opacity var(--motion),background var(--motion)}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--color-accent);color:var(--color-on-accent)}.button.secondary{border:1px solid var(--color-border);color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 70%,transparent)}
.panel,.card,.person,.research-card{background:var(--color-surface);border:var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.panel{padding:var(--card-padding)}.panel p,.card p,.research-card p{color:var(--color-muted)}.signal{height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin-bottom:22px}.panel ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}.panel strong{display:block;margin-bottom:4px}.panel span{color:var(--color-muted)}.split{display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:start}.split-copy{padding-top:26px;color:var(--color-muted);font-size:1.14rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:34px}.card{min-height:280px;padding:var(--card-padding);display:flex;flex-direction:column;justify-content:flex-end}.card .num{margin-bottom:auto;color:var(--color-accent);font:800 12px/1 var(--font-label);letter-spacing:.14em}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap);margin-top:34px}.person{overflow:hidden}.person img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:var(--image-filter)}.person div{padding:18px}.person h3,.card h3,.research-card h3{margin:0 0 10px;font-size:1.1rem;letter-spacing:-.03em}.person p{margin:0;color:var(--color-subtle)}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin-top:34px}.research-card{padding:24px}.contact{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}.contact-box{padding:var(--card-padding);border-radius:var(--radius-lg);background:var(--color-accent);color:var(--color-on-accent)}.contact-box p{opacity:.78}.footer{width:min(var(--container),calc(100% - 36px));margin:0 auto;padding:28px 0 44px;display:flex;justify-content:space-between;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:14px}
@media(max-width:900px){.nav{border-radius:var(--radius-md);flex-wrap:wrap}.nav-links{order:3;width:100%;overflow:auto;justify-content:space-between}.nav-cta{display:none}.hero,.split,.contact{grid-template-columns:1fr;min-height:auto}.section{padding:68px 0}.cards,.team,.research-grid{grid-template-columns:1fr}.footer{flex-direction:column}.hero h1{font-size:clamp(3.6rem,17vw,6.4rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
