/* Continual Research. One static page: index.html.
   Palette (bone / terracotta): paper #f5f1ea, ink #1c1917, bone field #e8e1d6, terracotta #c8502f (large) and #b4472a (small text). */
.site { --q-paper:#f5f1ea; --q-ink:#1c1917; --q-purple:#e8e1d6; --q-violet:#b4472a; --q-lime:#c8502f; --q-rule:#cfc7bb; font-family:Arial,Helvetica,sans-serif; color:var(--q-ink); background:var(--q-paper); color-scheme:light; text-align:left; }
.site * { box-sizing:border-box; color:inherit; }
.site h1, .site h2, .site h3, .site p { color:var(--q-ink); padding:0; font-family:Arial,Helvetica,sans-serif; }
.site a { color:var(--q-ink); text-decoration:none; }
.site a:focus-visible { outline:3px solid var(--q-violet); outline-offset:5px; }
.site .q-nav { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 32px; border-bottom:1px solid var(--q-rule); background:var(--q-paper); }
.site .q-wordmark { font-size:21px; font-weight:500; letter-spacing:-1px; }
.site .q-hero { display:grid; grid-template-columns:1.35fr 1fr; min-height:570px; }
.site .q-copy { padding:39px 32px 38px; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.site h1 { font-size:clamp(42px,5.6vw,64px); line-height:1.025; letter-spacing:-3px; font-weight:400; margin:0 0 27px; }
.site h1 .q-highlight { color:var(--q-violet); }
/* At the headings' tracking, Arial's f and r run into the letter after them (fi, rm, rn, rk). Open those pairs back up. */
.site h1 .q-kern-f { margin-right:.042em; }
.site h1 .q-kern-r { margin-right:.03em; }
.site h2 .q-kern-r { margin-right:.02em; }
.site .q-deck { font-size:16px; line-height:1.55; max-width:365px; margin:0 0 30px; }
.site .q-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; padding:15px 18px; background:var(--q-ink); color:var(--q-paper); font-size:13px; line-height:1.3; margin-top:auto; min-height:46px; }
.site .q-primary span { color:var(--q-paper); }
.site .q-art { position:relative; overflow:hidden; min-width:0; background:var(--q-purple); color:var(--q-ink); display:flex; align-items:center; justify-content:center; }
.site .q-sculpture { position:absolute; width:330px; height:330px; transform:rotate(-23deg); }
.site .q-loop { position:absolute; left:calc(23px + var(--i) * 4px); top:calc(20px + var(--i) * 6px); width:245px; height:170px; border:1px solid var(--q-violet); border-radius:50%; transform:rotate(calc(var(--i) * 4deg)); background:transparent; }
.site .q-orb { position:absolute; width:139px; height:139px; border-radius:50%; background:var(--q-lime); border:1px solid var(--q-violet); left:105px; top:122px; }
.site .q-vision { padding:51px 32px 48px; background:var(--q-lime); color:var(--q-ink); border-top:1px solid var(--q-ink); }
.site h2 { font-size:39px; line-height:1.09; letter-spacing:-1.6px; font-weight:400; margin:0; }
.site h3 { font-size:21px; line-height:1.15; letter-spacing:-.6px; font-weight:400; margin:0 0 12px; }
@media(max-width:720px) {
  .site .q-nav { padding:16px 20px; gap:10px; }
  .site .q-wordmark { font-size:18px; }
  .site .q-hero { grid-template-columns:1fr; }
  .site .q-copy { padding:30px 20px; }
  .site h1 { font-size:53px; letter-spacing:-2.8px; }
  .site .q-deck { max-width:440px; }
  .site .q-art { height:330px; }
  .site .q-sculpture { transform:rotate(-23deg) scale(.86); }
  .site .q-vision { padding:36px 20px; }
  .site h2 { font-size:34px; letter-spacing:-1.3px; }
}
@media(max-width:360px) {
  .site h1 { font-size:46px; letter-spacing:-2.4px; }
  .site .q-wordmark { font-size:17px; }
}
:root { color-scheme:light; font-family:Arial,Helvetica,sans-serif; color:#1c1917; background:#f5f1ea; font-synthesis:none; }
* { box-sizing:border-box; }
body { margin:0; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
[hidden] { display:none !important; }
.site { max-width:1440px; margin-inline:auto; }
.site a { text-underline-offset:5px; }
.site a:hover { text-decoration:underline; }
.site .q-wordmark { font-size:24px; letter-spacing:-1px; }
.site .q-wordmark:hover { text-decoration:none; }
.site .q-nav { padding:22px 40px; }
.site .site-nav { display:flex; align-items:center; gap:30px; }
.site .site-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.site .site-nav .nav-join { padding:12px 18px; background:var(--q-lime); }
.site .q-copy { padding:46px 40px; }
.site .q-hero { min-height:630px; }
.site h1 { font-size:clamp(3rem,5.8vw,5.25rem); line-height:1.04; letter-spacing:-.052em; }
.site .q-deck { font-size:18px; line-height:1.55; max-width:470px; }
.site .q-primary { font-size:14px; }
.site .q-sculpture { transform:rotate(-23deg) scale(1.23); }
.site .funding { display:flex; flex-wrap:wrap; align-items:center; gap:2px .6em; margin:0; padding:14px 40px; font-size:clamp(16px,1.4vw,18px); line-height:1.5; color:var(--q-paper); background:var(--q-ink); text-wrap:balance; }
.site .funding-backer { display:inline-flex; align-items:center; gap:.6em; vertical-align:middle; }
.site .funding-logo { display:inline-block; flex:none; width:7.228125em; height:.9em; }
.site .funding-others { display:inline-block; }
.site .q-vision { padding:57px 40px; }
.site h2 { font-size:clamp(2rem,3.8vw,3rem); letter-spacing:-.04em; line-height:1.12; }
.site .text-link { display:inline-block; padding:12px 0; font-size:15px; font-weight:500; text-decoration:underline; }
.site .site-footer { background:var(--q-ink); color:var(--q-paper); padding:42px 40px 24px; }
.site .site-footer a, .site .site-footer p { color:var(--q-paper); }
.site .footer-grid { display:grid; grid-template-columns:1.35fr 1fr .7fr; gap:40px; }
.site .footer-name { font-size:23px; letter-spacing:-.7px; }
.site .footer-category { margin:12px 0 0; font-size:13px; line-height:1.7; color:var(--q-purple); }
.site .footer-label { display:block; font-family:monospace; font-size:12px; letter-spacing:.6px; text-transform:uppercase; color:var(--q-purple); margin-bottom:14px; }
.site address { font-style:normal; font-size:14px; line-height:1.7; }
.site .footer-contact { display:inline-block; font-size:14px; padding:12px 0; overflow-wrap:anywhere; }
.site .footer-contact ~ .footer-contact { padding-top:0; }
.site .footer-nav { display:flex; flex-direction:column; align-items:flex-start; }
.site .footer-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.site .footer-bottom { border-top:1px solid #5a524c; margin-top:30px; padding-top:20px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; font-size:12px; line-height:1.6; }
.site .team-section { padding:42px 40px 55px; }
.site .team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.site .person { min-width:0; }
.site .portrait { position:relative; width:100%; aspect-ratio:4/5; background:#e8e1d6; border:1px solid var(--q-rule); display:grid; place-items:center; margin-bottom:22px; overflow:hidden; }
.site .person:nth-child(2n) .portrait { background:#e8e1d6; }
.site .portrait img { width:100%; height:100%; display:block; object-fit:cover; transform:scale(var(--portrait-scale,1)); }
.site .person-bio { font-size:17px; line-height:1.6; margin:0; max-width:360px; }
.site .person-link { font-size:15px; }
.site .join { padding:49px 40px; background:var(--q-lime); }
.site .join-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; }
.site .join p { font-size:18px; line-height:1.6; margin:0 0 20px; max-width:510px; }
.site .join-contact { display:inline-block; padding:14px 0; text-decoration:underline; overflow-wrap:anywhere; }
.skip-link { position:absolute; top:10px; left:10px; z-index:10; padding:14px 20px; background:#1c1917; color:#f5f1ea; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid #b4472a; outline-offset:5px; }
.site .site-footer a:focus-visible { outline-color:var(--q-paper); }
@media(min-width:1441px) {
  .site { border-inline:1px solid var(--q-rule); }
}
@media(max-width:1000px) and (min-width:721px) {
  .site .q-copy { padding:34px 28px; }
  .site .q-sculpture { transform:rotate(-23deg) scale(1); }
  .site .q-hero { min-height:590px; }
  .site .join-grid { gap:35px; }
}
@media(max-width:720px) {
  .site .q-nav { padding:15px 20px; flex-wrap:wrap; gap:12px; }
  .site .q-wordmark { font-size:23px; }
  .site .site-nav { width:100%; gap:6px 24px; flex-wrap:wrap; }
  .site .q-copy { padding:34px 20px 36px; }
  .site .q-hero { min-height:0; }
  .site h1 { font-size:clamp(2.75rem,10.8vw,4rem); }
  .site .q-deck { font-size:17px; }
  .site .q-sculpture { transform:rotate(-23deg) scale(.9); }
  .site .q-art { height:335px; }
  .site .funding { padding:12px 20px; }
  .site .q-vision, .site .join { padding:36px 20px; }
  .site .join-grid { grid-template-columns:1fr; gap:24px; }
  .site .team-section { padding:36px 20px; }
  .site .site-footer { padding:35px 20px 23px; }
  .site .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .site .footer-brand { grid-column:1/-1; }
  .site .footer-bottom { flex-direction:column; gap:8px; }
  .site .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
  .site .join p { font-size:17px; }
}
@media(max-width:460px) {
  .site .team-grid { grid-template-columns:1fr; gap:38px; }
  .site .portrait { max-width:420px; }
  .site .footer-grid { grid-template-columns:1fr; gap:25px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
.site .team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 28px; }
.site .portrait { aspect-ratio:1; }
.site .person-details { margin:0 0 14px; }
.site .person-area { margin:0; font-size:15px; line-height:1.6; color:var(--q-violet); }
.site .person-bio { font-size:17px; line-height:1.6; }
@media(max-width:900px) {
  .site .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 30px; }
}
@media(max-width:720px) {
  .site .team-grid { gap:36px 20px; }
}
@media(max-width:460px) {
  .site .team-grid { grid-template-columns:1fr; gap:38px; }
}
.site h1, .site h2, .site h3 { text-wrap:balance; }
.site p { text-wrap:pretty; }
.site .category-label > span { display:inline-block; }
.site .q-wordmark, .site .footer-name { display:inline-flex; align-items:center; gap:12px; }
.site .q-wordmark { white-space:nowrap; }
.site .brand-mark { display:inline-block; width:32px; height:32px; flex:none; background:currentColor; -webkit-mask:url("logo.svg") center/contain no-repeat; mask:url("logo.svg") center/contain no-repeat; }
.site .footer-name .brand-mark { color:var(--q-purple); }
.site .footer-category { color:var(--q-purple); }
.site .people-heading { margin-bottom:44px; }
.site .person h3 { font-size:25px; margin:0 0 9px; letter-spacing:-.04em; line-height:1.12; text-wrap:initial; }
.site .person-tag { display:block; font-family:monospace; font-size:11px; line-height:1.5; letter-spacing:.8px; text-transform:uppercase; color:var(--q-violet); margin:0 0 8px; }
.site .open-roles { margin-top:40px; }
.site .open-roles > h3 { font-size:24px; margin-bottom:22px; }
.site .roles-status { font-size:16px; }
.site .roles-list { list-style:none; margin:0; padding:0; border-bottom:1px solid var(--q-violet); }
.site .role-link { display:grid; grid-template-columns:minmax(0,1fr) auto 24px; align-items:baseline; gap:24px; padding:26px 0; border-top:1px solid var(--q-violet); }
.site .role-link:hover { text-decoration:none; }
.site .role-link:hover .role-title { text-decoration:underline; }
.site .role-main { min-width:0; }
.site .role-title { display:block; font-size:26px; letter-spacing:-.025em; line-height:1.3; }
.site .role-summary { display:block; margin-top:8px; font-size:16px; line-height:1.55; max-width:600px; }
.site .role-meta { font-size:14px; line-height:1.6; }
.site .role-arrow { font-size:23px; justify-self:end; }
.site .join-note { min-width:0; }
.site .join-note p { margin-bottom:0; }
@media(max-width:1000px) {
  .site .role-link { grid-template-columns:minmax(0,1fr) 24px; gap:10px 20px; }
  .site .role-meta { grid-column:1; }
  .site .role-arrow { grid-column:2; grid-row:1/3; }
}
@media(max-width:720px) {
  .site .q-nav { gap:12px; }
  .site .q-wordmark { font-size:clamp(21px,5.8vw,23px); letter-spacing:-.8px; gap:8px; }
  .site .q-wordmark .brand-mark { width:26px; height:26px; }
  .site .role-title { font-size:24px; }
  .site .join-contact { font-size:clamp(15px,4.3vw,18px); }
}
@media(max-width:360px) {
  .site .q-nav { padding-inline:16px; gap:8px; }
  .site .q-wordmark { font-size:21px; }
  .site .q-wordmark .brand-mark { width:24px; height:24px; }
  .site .footer-name { font-size:21px; gap:10px; }
}
.site .person { display:flex; flex-direction:column; }
.site .portrait { flex-shrink:0; }
.site .person-link { align-self:flex-start; margin-top:auto; }
@media(min-width:1001px) {
  .site .join-grid { grid-template-columns:max-content minmax(0,1fr); }
  .site .join-grid h2 { max-width:none; }
}
@media(max-width:720px) {
  .site .q-copy { padding:28px 20px 24px; }
  .site .q-copy h1 { margin-bottom:22px; }
  .site .q-deck { margin-bottom:22px; }
  .site .q-art { height:180px; }
  .site .q-sculpture { transform:translate(8%,-4%) rotate(-23deg) scale(1.45); }
  .site .q-vision { padding-block:28px; }
}
@media(min-width:520px) and (max-width:720px) {
  .site .q-sculpture { transform:translate(8%,-4%) rotate(-23deg) scale(1.9); }
}

/* Mobile menu, no script: a hidden checkbox drives the nav. */
.site .nav-toggle { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; }
.site .menu-toggle { display:none; align-items:center; min-height:44px; padding:10px 14px; border:1px solid var(--q-ink); background:transparent; color:var(--q-ink); font-size:14px; line-height:1; cursor:pointer; user-select:none; }
.site .menu-toggle .menu-close, .site .nav-toggle:checked ~ .menu-toggle .menu-open { display:none; }
.site .nav-toggle:checked ~ .menu-toggle .menu-close { display:inline; }
.site .nav-toggle:focus-visible ~ .menu-toggle { outline:3px solid var(--q-violet); outline-offset:3px; }
@media(max-width:720px) {
  .site .menu-toggle { display:inline-flex; }
  .site .site-nav { display:none; }
  .site .nav-toggle:checked ~ .site-nav { display:flex; }
}

/* One-page layout: thesis band, team on the home page, lavender join band. */
.site .q-deck { max-width:520px; }
.site .thesis { padding:60px 40px 64px; }
.site .thesis h2 { max-width:20ch; margin:0 0 44px; }
.site .thesis-blocks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.site .thesis-blocks > div { border-top:1px solid currentColor; padding-top:20px; min-width:0; }
.site .thesis-blocks p { font-size:17px; line-height:1.6; margin:0; }
.site .thesis-blocks p.thesis-label { font-family:monospace; font-size:12px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; margin:0 0 14px; }
.site .team-section { padding:56px 40px 64px; }
.site .join { background:var(--q-purple); border-top:1px solid var(--q-ink); }
@media(max-width:1000px) and (min-width:721px) {
  .site .thesis-blocks { gap:28px; }
}
@media(max-width:900px) {
  .site .thesis-blocks { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:720px) {
  .site .thesis { padding:36px 20px 40px; }
  .site .thesis h2 { max-width:22ch; margin-bottom:28px; }
  .site .team-section { padding:36px 20px 44px; }
  .site .people-heading { margin-bottom:28px; }
}

/* Bone / terracotta roles that differ from the base variables. */
.site h1 .q-highlight { color:#c8502f; }
.site .q-loop, .site .q-orb { border-color:var(--q-ink); }
.site .site-nav .nav-join { background:#b4472a; color:var(--q-paper); }
.site .site-nav .nav-join span { color:var(--q-paper); }
.site .q-vision { background:var(--q-ink); color:var(--q-paper); }
.site .q-vision h2, .site .q-vision p { color:var(--q-paper); }
.site .footer-label, .site .footer-category, .site .footer-name .brand-mark { color:#e0765a; }
