:root{
  --primary:#A32638;
  --on-primary:#FFFFFF;
  --on-surface:#363D45;
  --inverse-surface:#363D45;
  --inverse-on-surface:#E4E5E6;
  --outline:#E4E5E6;
  --surface:#FFFFFF;
  --disp:'Saira Condensed','Arial Narrow',Arial,sans-serif;
  --body:'IBM Plex Sans',Arial,sans-serif;
  --ease:cubic-bezier(0.23,1,0.32,1);
  --u:8px;
  --wrap:1120px;
  --gutter:24px;
  --sec:112px;
  --display:60px;
  --head:32px;
  --text:17px;
  --label:13px;
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--on-surface);font:400 var(--text)/1.65 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
h1,h2,h3,p,ul,figure,address{margin:0}
ul{list-style:none;padding:0}
address{font-style:normal}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}

.skip{position:absolute;left:var(--gutter);top:-200px;z-index:50;background:var(--surface);color:var(--on-surface);padding:12px 16px;font:600 var(--label)/1.4 var(--body);border:2px solid var(--primary)}
.skip:focus{top:8px}

.label{font:600 var(--label)/1.5 var(--body);margin:0 0 calc(var(--u) * 2)}
.meta{font:600 var(--label)/1.5 var(--body)}
.item-t{font:600 var(--text)/1.45 var(--body)}
.nw{white-space:nowrap}
h2{font:600 var(--head)/1.15 var(--disp);margin:0 0 calc(var(--u) * 3)}

.site-head{position:relative;background:var(--surface)}
.head-in{display:flex;align-items:center;min-height:120px}
.mark{display:block;flex:0 0 auto}
.mark img{height:50px;width:auto}
.labname{display:flex;flex-direction:column;margin-left:34px;text-decoration:none;line-height:1.3}
.labname .ln1,.foot-name .ln1{font:600 var(--text)/1.3 var(--body)}
.labname .ln2,.foot-name .ln2{font:400 var(--label)/1.5 var(--body)}
.nav-desk{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:var(--u)}
.nav-desk ul{display:flex;gap:calc(var(--u) * 3)}
.nav-desk a{font:600 var(--label)/1.5 var(--body);text-decoration:none;white-space:nowrap}
.nav-desk .nav-events a{font-weight:400}
.nav-phone{display:none;margin-left:auto}
.nav-phone summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;font:600 var(--label)/1 var(--body)}
.nav-phone summary::-webkit-details-marker{display:none}
.nav-phone .bars{fill:currentColor}
.nav-phone nav{position:absolute;left:0;right:0;top:100%;z-index:40;background:var(--surface);border-top:3px solid var(--primary);border-bottom:1px solid var(--outline)}
.nav-phone nav ul{max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding:var(--u) 0}
.nav-phone nav a{display:block;padding:12px var(--gutter);font:400 var(--text)/1.5 var(--body);text-decoration:none}

.hero{padding-top:96px}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start}
.ask{grid-column:1 / span 8;min-width:0}
.sentence-wrap{position:relative}
.sentence{font:600 var(--display)/1.1 var(--disp);color:var(--on-surface);text-wrap:pretty}
.match{margin-top:calc(var(--u) * 4);max-width:62ch}
.match-label{font-weight:600}
.match a{color:var(--on-surface)}
.cta{margin-top:calc(var(--u) * 4)}
.btn{display:inline-flex;align-items:center;min-height:56px;padding:0 28px;text-wrap:balance;background:var(--primary);color:var(--on-primary);font:600 var(--text)/1.2 var(--body);text-decoration:none;border-radius:3px}
.addr{margin-top:calc(var(--u) * 2)}
.hero-photo{grid-column:9 / span 4;min-width:0}
.ph{position:relative;aspect-ratio:4 / 5;overflow:hidden}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 400ms var(--ease)}
.ph img.on{opacity:1}
.cap{margin-top:12px;font:600 var(--label)/1.5 var(--body);transition:opacity 400ms var(--ease)}

.js .slot{color:var(--primary);cursor:pointer;text-decoration:underline 3px;text-decoration-color:var(--primary);text-underline-offset:.13em;text-decoration-skip-ink:none;border-radius:2px}
.js .slot .w{display:inline-block;clip-path:inset(-0.08em -0.4em -0.28em -0.04em)}
.js .slot .wi{display:inline-block}
.js .slot .t,.js .slot .sp{text-decoration:underline 3px;text-decoration-color:var(--primary);text-underline-offset:.13em;text-decoration-skip-ink:none;transition:text-decoration-color 120ms var(--ease)}
.js .slot .eol .sp{text-decoration-line:none}
.js .slot .caret{display:inline-block;width:.22em;height:.22em;margin:0 .05em 0 .2em;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:translateY(-.26em) rotate(45deg)}
.js .slot:focus-visible{outline-offset:4px}

.lb-wrap{position:absolute;z-index:30;left:0;top:100%;min-width:280px;max-width:min(440px,100%);background:var(--surface);color:var(--on-surface);border:1px solid var(--outline);border-top:3px solid var(--primary);opacity:0;transform:translateY(8px);transition:opacity 180ms var(--ease),transform 180ms var(--ease);text-align:left}
.lb-wrap.open{opacity:1;transform:none}
.lb-wrap[hidden]{display:none}
.lb-wrap:focus,.lb-wrap:focus-visible{outline:none}
.lb-head{display:flex;align-items:center;justify-content:space-between}
.lb-title{font:600 var(--label)/1.5 var(--body);padding:12px 16px 4px}
.lb-done{display:none}
.lb{padding:4px 0 8px;outline:none}
.lb:focus-visible{outline:none}
.lb:focus-visible .lb-opt.active{outline:2px solid var(--primary);outline-offset:-2px}
.lb-group{font:600 var(--label)/1.5 var(--body);padding:12px 16px 4px}
.lb-opt{position:relative;display:block;padding:10px 16px 10px 40px;font:400 var(--text)/1.45 var(--body);cursor:pointer}
.lb-opt.active{background:var(--outline)}
.lb-opt[aria-selected="true"]{font-weight:600}
.lb-opt[aria-selected="true"]::before{content:"";position:absolute;left:18px;top:50%;width:6px;height:12px;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);transform:translateY(-65%) rotate(45deg)}

.sec{padding-top:var(--sec)}
.sec-last{padding-bottom:var(--sec)}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
.sec-head h2{grid-column:1 / span 4}
.sec-head .lede{grid-column:5 / span 8;max-width:62ch}

.ws-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:40px;margin-top:56px}
.ws{border-top:1px solid var(--outline);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.ws .item-t a{text-decoration:none}
.ws p{flex:1}
.act{color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-thickness:1px}
.ws:target .item-t a,.rt:target .item-t{color:var(--primary)}

.group{margin-top:48px}
.group-h{font:600 var(--label)/1.5 var(--body);padding-bottom:12px;border-bottom:1px solid var(--outline);margin-bottom:24px}
.group-intro{max-width:62ch;margin:-8px 0 32px}
.rtalks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:32px}
.rt{display:grid;grid-template-columns:minmax(0,1fr) 160px;column-gap:24px;align-items:start}
.rt-text{min-width:0}
.rt:not(.has-img) .rt-text{grid-column:1 / -1;max-width:44ch}
.rt .item-t{text-decoration:none;display:block}
.rt .meta{margin-top:6px}
.rt img{width:160px;height:120px;object-fit:cover}
.rt img.g{height:auto}

.ev-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:48px;margin-top:8px}
.ev-wide a{display:flex;flex-direction:column;gap:8px;text-decoration:none}
.ev-wide img{width:100%;aspect-ratio:1200 / 630;object-fit:cover;object-position:50% 70%;margin-bottom:12px}
.ev-wide .ev-text{display:flex;flex-direction:column;gap:8px}
.ev-url{font:400 var(--label)/1.5 var(--body);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ev-small{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:24px;align-items:start;border-top:1px solid var(--outline);padding-top:24px}
.ev-small img{width:200px;height:auto}
.ev-small .ev-text{display:flex;flex-direction:column;gap:6px}
.ev-small .item-t a{text-decoration:none}

.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:32px;margin-top:56px}
.people a{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:20px;align-items:start;text-decoration:none}
.people img{width:104px;height:104px;object-fit:cover;object-position:50% 30%}
.people .item-t{display:block}
.people .role{display:block;margin-top:4px}

.res-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px}
.res-grid h2{grid-column:1 / span 6;margin:0}
.res-text{grid-column:8 / span 5;display:flex;flex-direction:column;gap:12px}

.band{background:var(--inverse-surface);color:var(--inverse-on-surface);padding:96px 0}
.band :focus-visible{outline-color:var(--inverse-on-surface)}
.band-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start}
.ask-docked{grid-column:1 / span 7}
.band .label{font:600 var(--label)/1.5 var(--body);margin:0 0 calc(var(--u) * 2)}
.sentence-docked{font:600 var(--head)/1.2 var(--disp);color:var(--inverse-on-surface)}
.js .band .slot,.js .band .slot .t,.js .band .slot .sp{color:var(--inverse-on-surface);text-decoration-color:var(--inverse-on-surface)}
.band .cta{margin-top:calc(var(--u) * 3)}
.band-info{grid-column:9 / span 4;display:flex;flex-direction:column;gap:24px}
.band-info a{color:var(--inverse-on-surface)}

.site-foot{padding:48px 0}
.foot-in{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:34px;row-gap:36px;align-items:center}
.foot-name{display:flex;flex-direction:column}
.foot-nav{grid-column:1 / -1;border-top:1px solid var(--outline);padding-top:24px}
.foot-nav ul{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot-nav a{font:600 var(--label)/1.5 var(--body);text-decoration:none}

@media (hover:hover) and (pointer:fine){
  .js .slot:hover .t,.js .slot:hover .sp{text-decoration-color:var(--on-surface)}
  .js .band .slot:hover .t,.js .band .slot:hover .sp{text-decoration-color:var(--on-primary)}
  .nav-desk a:hover,.foot-nav a:hover,.ws .item-t a:hover,.rt .item-t:hover,.ev-wide a:hover .item-t,.ev-small .item-t a:hover,.people a:hover .item-t,.labname:hover .ln1{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
  .btn:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
  .lb-opt:hover{background:var(--outline)}
}

@media (max-width:1079px){
  .nav-desk{display:none}
  .nav-phone{display:block}
}
@media (max-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .ask,.hero-photo{grid-column:1 / -1}
  .hero-photo{margin-top:48px}
  .ph{aspect-ratio:16 / 10}
  .sec-head{grid-template-columns:minmax(0,1fr)}
  .sec-head h2,.sec-head .lede{grid-column:1 / -1}
  .rtalks{grid-template-columns:minmax(0,1fr)}
  .ev-small{grid-column:1 / -1}
  .people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band-grid{grid-template-columns:minmax(0,1fr);row-gap:48px}
  .ask-docked,.band-info{grid-column:1 / -1}
  .res-grid h2{grid-column:1 / span 7}
  .res-text{grid-column:8 / span 5}
}
@media (max-width:760px){
  :root{--sec:64px;--display:clamp(40px,10.6vw,60px)}
  .hero{padding-top:40px}
  .ws-list{grid-template-columns:minmax(0,1fr);row-gap:32px;margin-top:40px}
  .ev-list{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .res-grid{grid-template-columns:minmax(0,1fr);row-gap:24px}
  .res-grid h2,.res-text{grid-column:1 / -1}
  .foot-nav{margin-left:0;flex-basis:100%}
}
@media (max-width:640px){
  .lb-wrap{position:fixed;left:0 !important;right:0;top:auto !important;bottom:0;max-width:none;min-width:0;max-height:75vh;overflow-y:auto;border-width:3px 0 0;z-index:60}
  .lb-head{position:sticky;top:0;z-index:1;background:var(--surface);padding:4px 0 0}
  .lb-title{padding:12px var(--gutter) 8px}
  .lb-done{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0 var(--gutter);border:0;border-radius:0;background:var(--surface);color:var(--primary);font:600 var(--label)/1 var(--body);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}
  .lb-group{padding:12px var(--gutter) 4px}
  .lb-opt{padding:12px var(--gutter) 12px 48px}
  .lb-opt[aria-selected="true"]::before{left:26px}
  .people{grid-template-columns:minmax(0,1fr);row-gap:24px}
  .rt{grid-template-columns:minmax(0,1fr) 112px;column-gap:16px}
  .rt img{width:112px;height:84px}
  .ev-small{grid-template-columns:112px minmax(0,1fr);column-gap:16px}
  .ev-small img{width:112px}
  .ph{aspect-ratio:4 / 3}
  .hero-photo{margin-top:40px}
  .btn{display:flex;justify-content:center;width:100%;text-align:center}
  .band{padding:64px 0}
}
@media (max-width:599px){
  .labname{display:none}
  .foot-in{grid-template-columns:minmax(0,1fr);row-gap:36px}
  .foot-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
/* ?motion=force on a page opened from a local file: browsers hide this sheet's rules from force-motion.js, so the class it sets does the same job here */
html.force-motion{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html:not(.force-motion) .ph img,html:not(.force-motion) .cap{transition:opacity 120ms var(--ease)}
  html:not(.force-motion) .lb-wrap{transform:none;transition:opacity 120ms var(--ease)}
}
