

:root{
  color-scheme:light;

  --concrete:#E8E4DC;
  --paper:#F4F2EE;
  --iron:#17191B;
  --steel:#4A5058;
  --steel-light:#5C6167;   
  --hazard:#E4551C;
  --rust:#8A3E12;
  --line:#C9C3B8;
  --line-strong:#A8A196;

  --plate-face:#D3CEC5;
  --plate-face-2:#C2BCB1;
  --plate-edge:#8E887D;

  --ground:#E8E4DC;         
  --on-iron:#E8E4DC;        
  --tape-alt:#17191B;
  --mono-label:#4F4B44;
  --mono-dim:#4A473F;
  --stage-bg:#0F1215;       
  --stage-fg:#9AA3AB;       
  --badge-edge:transparent; 
  --chip-bg:#EFEDE7;
  --chip-bg-hover:#F7F6F3;

  --contact-bg:#17191B;
  --contact-fg:#E8E4DC;
  --contact-dim:rgba(232,228,220,.76);

  --matrix-ground:#E8E4DC;
  --matrix-lead:20,90,40;   
  --matrix-dim:60,120,78;   
  --matrix-head:12,70,30;   
  --matrix-glow:0;          
  --matrix-gain:1.75;       

  --gutter:clamp(1.25rem,5vw,4rem);
  --measure:66ch;
}

:root[data-theme="dark"]{
  color-scheme:dark;

  --concrete:#0C1014;
  --paper:#141A20;          
  --iron:#E9E7E2;
  --steel:#9AA6B0;
  --steel-light:#838F9A;   
  --hazard:#F2662E;         
  --rust:#F0916A;
  --line:#252D35;
  --line-strong:#38434D;

  --plate-face:#1B222A;
  --plate-face-2:#141A21;
  --plate-edge:#46535E;

  --ground:#0C1014;
  --on-iron:#0C1014;
  --tape-alt:#11161B;
  --mono-label:#8C99A4;
  --mono-dim:#7F8C97;
  --stage-bg:#090C0F;
  --stage-fg:#9AA3AB;
  --badge-edge:#48545F;     
  --chip-bg:#161D24;        
  --chip-bg-hover:#1D262F;

  --contact-bg:#11161B;
  --contact-fg:#E9E7E2;
  --contact-dim:rgba(232,228,220,.76);

  --matrix-ground:#0C1014;   
  --matrix-lead:64,255,128;  
  --matrix-dim:24,150,72;    
  --matrix-head:200,255,205; 
  --matrix-gain:1;
  --matrix-glow:8;           
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

html{background:var(--concrete)}

body{
  margin:0;
  background:transparent;
  color:var(--iron);
  font-family:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-variation-settings:"wdth" 100,"wght" 400;
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

main{
  position:relative;
  background:var(--ground);
  max-width:1240px;
  margin-inline:auto;
  border-inline:1px solid var(--line);
}

.foot{background:var(--ground)}

.contact{position:relative}

.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--gutter)}

.tape{
  
  position:relative;
  height:40px;
  overflow:hidden;
  background:linear-gradient(to top,
    color-mix(in srgb,var(--hazard) 20%,var(--ground)) 0%,
    color-mix(in srgb,var(--hazard) 6%,var(--ground)) 30%,
    var(--ground) 62%);
}
.tape::before,.tape::after{
  content:"";position:absolute;inset:0;
  -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;
  -webkit-mask-size:300px 40px;mask-size:300px 40px;
  -webkit-mask-position:0 100%;mask-position:0 100%;
}

.tape::before{
  background:linear-gradient(to top, color-mix(in srgb,var(--line-strong) 26%,transparent) 0%, color-mix(in srgb,var(--line-strong) 9%,transparent) 60%, transparent 100%);
  -webkit-mask-image:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%2040'%20preserveAspectRatio='none'><path%20d='M0%2C40%20L0%2C24%20L34%2C15%20L74%2C21%20L116%2C12%20L158%2C19%20L200%2C13%20L242%2C20%20L284%2C16%20L300%2C24%20L300%2C40%20Z'%20fill='%2523000'/></svg>");mask-image:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%2040'%20preserveAspectRatio='none'><path%20d='M0%2C40%20L0%2C24%20L34%2C15%20L74%2C21%20L116%2C12%20L158%2C19%20L200%2C13%20L242%2C20%20L284%2C16%20L300%2C24%20L300%2C40%20Z'%20fill='%2523000'/></svg>");
}

.tape::after{
  background:linear-gradient(to top, color-mix(in srgb,var(--line-strong) 46%,transparent) 0%, color-mix(in srgb,var(--line-strong) 20%,transparent) 60%, transparent 100%);
  -webkit-mask-image:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%2040'%20preserveAspectRatio='none'><path%20d='M0%2C40%20L0%2C32%20L40%2C22%20L84%2C30%20L128%2C18%20L172%2C28%20L214%2C20%20L256%2C29%20L298%2C24%20L300%2C32%20L300%2C40%20Z'%20fill='%2523000'/></svg>");mask-image:url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%2040'%20preserveAspectRatio='none'><path%20d='M0%2C40%20L0%2C32%20L40%2C22%20L84%2C30%20L128%2C18%20L172%2C28%20L214%2C20%20L256%2C29%20L298%2C24%20L300%2C32%20L300%2C40%20Z'%20fill='%2523000'/></svg>");
}
@media (prefers-reduced-motion:no-preference){
  .tape::before{animation:ridge-far 150s linear infinite}
  .tape::after{animation:ridge-near 80s linear infinite}
}
@keyframes ridge-far{
  to{-webkit-mask-position:-300px 100%;mask-position:-300px 100%}
}
@keyframes ridge-near{
  to{-webkit-mask-position:-300px 100%;mask-position:-300px 100%}
}

a{color:var(--iron);text-decoration-color:var(--line-strong);text-underline-offset:3px}
a:hover{text-decoration-color:var(--hazard)}

:focus-visible{outline:3px solid var(--hazard);outline-offset:3px}

.skip{
  position:absolute;left:-9999px;top:0;z-index:20;
  background:var(--iron);color:var(--on-iron);padding:.75rem 1rem;text-decoration:none;
}
.skip:focus{left:0}

h1,h2,h3{margin:0;text-wrap:balance}

.topbar{
  position:sticky;top:0;z-index:10;
  background:var(--ground);
  border-bottom:1px solid var(--line);
}
.topbar .wrap{
  display:flex;align-items:center;gap:.5rem 1rem;
  padding-block:.85rem;
  
  flex-wrap:wrap;
}
.wordmark{
  font-variation-settings:"wdth" 118,"wght" 700;
  font-size:1rem;letter-spacing:.02em;text-decoration:none;
}
.topnav{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem clamp(.9rem,2.6vw,1.9rem);font-size:.9375rem}
.topnav a{text-decoration:none;color:var(--steel)}
.topnav a:hover{color:var(--iron);box-shadow:inset 0 -2px 0 var(--hazard)}

.themebtn{
  display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;
  font:inherit;font-size:.9375rem;line-height:1;
  color:var(--steel);background:none;border:0;padding:0;cursor:pointer;
}
.themebtn:hover{color:var(--iron);box-shadow:inset 0 -2px 0 var(--hazard)}
.themebtn .glyph{font-size:1.05em;line-height:1}

.navbtn{
  display:none;align-items:center;gap:.5rem;
  font:inherit;font-size:.9375rem;line-height:1;
  color:var(--steel);background:none;border:0;padding:.2rem 0;cursor:pointer;
}
.navbtn:hover{color:var(--iron)}
.navbtn-bars{
  position:relative;display:inline-block;width:20px;height:2px;
  background:currentColor;transition:background .15s;
}
.navbtn-bars::before,.navbtn-bars::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;
  transition:transform .18s ease;
}
.navbtn-bars::before{top:-6px}
.navbtn-bars::after{top:6px}

.topbar.nav-open .navbtn-bars{background:transparent}
.topbar.nav-open .navbtn-bars::before{transform:translateY(6px) rotate(45deg)}
.topbar.nav-open .navbtn-bars::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:47.99rem){
  .navbtn{display:inline-flex}
  
  .themebtn-t{display:none}
  
  .topnav{display:none}
  .topbar.nav-open .topnav{
    display:flex;flex-direction:column;align-items:flex-start;
    gap:0;padding:.35rem 0 .25rem;
  }
  .topbar.nav-open .topnav a{
    padding:.7rem .25rem;font-size:1.0625rem;width:100%;
    border-bottom:1px solid var(--line);
  }
  .topbar.nav-open .topnav a:last-child{border-bottom:0}
  .topbar.nav-open .topnav a:hover{box-shadow:none;color:var(--iron)}
}

.hero{padding-block:clamp(2.25rem,5.5vw,4rem) clamp(1.25rem,2.5vw,2rem)}

.hero h1{
  font-variation-settings:"wdth" 112,"wght" 800;
  font-size:clamp(2.375rem,6.1vw,4.75rem);
  line-height:.95;
  letter-spacing:-.025em;
  max-width:15ch;
}

.hero-tag{
  margin:.75rem 0 0;
  font-variation-settings:"wdth" 112,"wght" 700;
  font-size:clamp(1.375rem,3.4vw,2.125rem);
  line-height:1.12;letter-spacing:-.015em;
  color:var(--rust);
  max-width:22ch;
}
.hero .lede{
  margin:clamp(1.25rem,2.4vw,1.75rem) 0 0;
  font-size:clamp(1.0625rem,1.7vw,1.375rem);
  font-variation-settings:"wdth" 100,"wght" 400;
  line-height:1.5;
  color:var(--steel);
  max-width:52ch;
}

.hero-foot{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:clamp(1.5rem,4vw,3rem);
  margin-top:clamp(1.75rem,3.6vw,2.5rem);
}

.plate{
  position:relative;
  flex:0 1 33rem;min-width:min(100%,19rem);
  padding:1.4rem 1.6rem;
  color:var(--iron);
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 3px),
    linear-gradient(158deg,var(--plate-face) 0%,var(--plate-face-2) 52%,var(--plate-face) 100%);
  border:2px solid var(--plate-edge);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.14);
}
.plate::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 13px 13px,#A9A399 0 3px,#6E685E 3px 4.2px,transparent 4.3px),
    radial-gradient(circle at calc(100% - 13px) 13px,#A9A399 0 3px,#6E685E 3px 4.2px,transparent 4.3px),
    radial-gradient(circle at 13px calc(100% - 13px),#A9A399 0 3px,#6E685E 3px 4.2px,transparent 4.3px),
    radial-gradient(circle at calc(100% - 13px) calc(100% - 13px),#A9A399 0 3px,#6E685E 3px 4.2px,transparent 4.3px);
}
.plate dl{
  display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.4rem;
  margin:0;padding-inline:.6rem;
}
.plate dt{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mono-label);align-self:center;
}
.plate dd{
  margin:0;
  font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.9375rem;line-height:1.3;align-self:center;
}
.lamp{
  display:inline-block;width:.62rem;height:.62rem;margin-right:.5rem;
  background:var(--hazard);vertical-align:baseline;
  box-shadow:0 0 0 1px rgba(0,0,0,.35);
}

.actions{display:flex;flex-wrap:wrap;gap:.75rem;flex:0 0 auto}
.btn{
  display:inline-block;padding:.85rem 1.5rem;text-decoration:none;
  font-variation-settings:"wdth" 106,"wght" 600;font-size:1rem;
  border:2px solid var(--iron);
}
.btn-solid{background:var(--iron);color:var(--on-iron)}
.btn-solid:hover{background:var(--hazard);border-color:var(--hazard);color:var(--on-iron)}
.btn-line{background:transparent;color:var(--iron)}
.btn-line:hover{background:var(--iron);color:var(--on-iron)}

.offer-fine{
  margin:.6rem 0 0;font-size:.75rem;line-height:1.5;color:var(--steel-light);
}

.section{padding-block:clamp(3rem,7vw,5.5rem);scroll-margin-top:4.5rem}
.section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  padding-bottom:.9rem;margin-bottom:clamp(1.75rem,4vw,2.75rem);
  border-bottom:2px solid var(--iron);
}
.section-head h2{
  font-variation-settings:"wdth" 114,"wght" 700;
  font-size:clamp(1.5rem,3.4vw,2.4rem);letter-spacing:-.015em;line-height:1;
}
.section-head p{margin:0;color:var(--steel);font-size:.9375rem;max-width:34ch}

.offer{border-top:1px solid var(--line);padding-block:clamp(1.5rem,3vw,2.25rem)}
.section-head + .offer{border-top:0;padding-top:0}
.offer h3{
  font-variation-settings:"wdth" 106,"wght" 700;
  font-size:1.3125rem;margin-bottom:.5rem;
}
.offer p{margin:0;color:var(--steel);max-width:var(--measure)}

.slab{
  background:var(--paper);
  border-top:3px solid var(--iron);
  padding:clamp(1.5rem,3.6vw,2.5rem) clamp(1.25rem,3vw,2.25rem);
  display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem clamp(2rem,5vw,4rem);
}
.slab + .slab{margin-top:2px}
.slab:last-of-type{border-bottom:3px solid var(--iron)}
@media (min-width:56rem){
  .slab{grid-template-columns:minmax(14rem,.85fr) minmax(0,1.6fr)}
}
.slab h3{
  font-variation-settings:"wdth" 116,"wght" 800;
  font-size:clamp(1.4375rem,2.4vw,1.9375rem);line-height:1;letter-spacing:-.02em;
}
.slab .role{margin:.7rem 0 0;color:var(--steel);font-size:.9375rem;line-height:1.45}
.slab .live{
  margin:1rem 0 0;font-size:.9375rem;
  font-variation-settings:"wdth" 100,"wght" 600;
}
.slab .live a{color:var(--rust);text-decoration-color:var(--hazard)}
.slab p.body{margin:0;max-width:var(--measure)}
.slab ul{margin:1.1rem 0 0;padding:0;list-style:none;max-width:var(--measure)}
.slab li{
  position:relative;padding-left:1.4rem;margin-bottom:.5rem;
  color:var(--steel);font-size:.9688rem;line-height:1.5;
}
.slab li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:.5rem;height:2px;background:var(--hazard);
}
.stack{
  margin:1.4rem 0 0;padding:.9rem 0 0;border-top:1px solid var(--line);
  list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;
}

.chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .55rem;
  border:1px solid var(--line);
  background:var(--chip-bg);
  color:var(--steel);
  font-size:.8125rem;line-height:1.35;
  text-decoration:none;
}
a.chip:hover{
  color:var(--iron);border-color:var(--hazard);
  background:var(--chip-bg-hover);
}
.chip-i{width:14px;height:14px;fill:currentColor;flex:none}

.chip-plain{color:var(--steel-light);border-style:dashed}

.record{border-top:2px solid var(--iron)}
.stint{
  display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem 2.5rem;
  padding-block:1.5rem;border-bottom:1px solid var(--line);
}
@media (min-width:48rem){
  .stint{grid-template-columns:9.5rem minmax(0,1fr)}
}
.stint .when{
  font-variation-settings:"wdth" 100,"wght" 600;
  font-size:.9375rem;color:var(--steel);font-variant-numeric:tabular-nums;
  padding-top:.15rem;
}
.stint h3{
  font-variation-settings:"wdth" 106,"wght" 700;font-size:1.1875rem;line-height:1.3;
}
.stint .org{color:var(--steel);font-size:.9375rem;margin:.15rem 0 .55rem}
.stint p{margin:0;color:var(--steel);max-width:var(--measure);font-size:.9688rem}

.contact{background:var(--contact-bg);color:var(--contact-fg);margin-top:clamp(3rem,7vw,5.5rem)}
.contact .wrap{padding-block:clamp(3rem,7vw,5rem)}
.contact h2{
  font-variation-settings:"wdth" 118,"wght" 800;
  font-size:clamp(2rem,5.6vw,4rem);line-height:.96;letter-spacing:-.025em;max-width:16ch;
}
.contact p{margin:1.25rem 0 0;max-width:46ch;font-size:1.0625rem;color:var(--contact-dim)}
.contact .lines{
  margin-top:clamp(1.75rem,4vw,2.5rem);
  display:flex;flex-wrap:wrap;gap:.75rem 3rem;
}
.contact .lines a{
  font-variation-settings:"wdth" 106,"wght" 700;
  font-size:clamp(1.0625rem,2.2vw,1.375rem);
  color:var(--contact-fg);
  text-decoration-color:color-mix(in srgb,var(--contact-fg) 40%,transparent);
}
.contact .lines a:hover{color:#fff;text-decoration-color:var(--hazard)}

.techgroup{padding-block:clamp(1.75rem,4vw,2.75rem);border-top:1px solid var(--line)}
.techgroup h2{
  font-variation-settings:"wdth" 112,"wght" 800;
  font-size:clamp(1.375rem,2.8vw,2rem);line-height:1.05;letter-spacing:-.02em;
}
.techgroup-note{margin:.7rem 0 0;color:var(--steel);max-width:var(--measure)}
.techgrid{
  list-style:none;padding:0;margin:1.4rem 0 0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.7rem;
}
.tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.65rem;min-height:6.5rem;padding:1.1rem .7rem;
  border:1px solid var(--line);background:var(--chip-bg);
  color:var(--steel);text-decoration:none;text-align:center;
}
.tile:hover{color:var(--iron);border-color:var(--hazard);background:var(--chip-bg-hover)}
.tile-i{width:28px;height:28px;fill:currentColor;flex:none}

.tile-i-none{
  display:grid;place-items:center;width:28px;height:28px;
  border:2px solid currentColor;font-weight:700;font-size:.875rem;line-height:1;
}
.tile-t{font-size:.875rem;font-variation-settings:"wdth" 104,"wght" 600;line-height:1.25}

.refs{display:grid;grid-template-columns:repeat(auto-fit,minmax(17.5rem,1fr));gap:1rem}
.ref{margin:0;padding:1.5rem;border:1px solid var(--line);background:var(--paper)}
.ref.is-pending{border-style:dashed;background:transparent}
.ref-quote{margin:0}
.ref-quote p{margin:0;font-size:1.0625rem;line-height:1.6}
.ref-placeholder{color:var(--steel-light);font-style:italic}
.ref-by{
  margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:.15rem;
}
.ref-name{font-variation-settings:"wdth" 106,"wght" 700}
.ref-org,.ref-work{color:var(--steel);font-size:.875rem}

.ref-source{
  color:var(--steel-light);font-size:.8125rem;margin-top:.35rem;
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}

.ref-quote p{font-size:1.0625rem;line-height:1.6}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.tl-wrap{max-width:none;padding-inline:0}
.tl-wrap .page-head,.tl-wrap .section{padding-inline:var(--gutter);max-width:1180px;margin-inline:auto}

.tl-progress{
  height:4px;background:var(--line);margin:0 var(--gutter) 1.25rem;
  max-width:1180px;
}
@media (min-width:1240px){.tl-progress{margin-inline:auto}}
.tl-progress-fill{
  display:block;height:100%;width:0;background:var(--hazard);
  transition:width .08s linear;
}

.tl-track{
  list-style:none;margin:0;padding:1rem var(--gutter) 2rem;
  display:flex;gap:clamp(1rem,3vw,2rem);
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  cursor:grab;
  
  background-image:linear-gradient(var(--line),var(--line));
  background-size:calc(100% - 2*var(--gutter)) 2px;
  background-position:var(--gutter) 5.4rem;
  background-repeat:no-repeat;
}
.tl-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.tl-track::-webkit-scrollbar{height:8px}
.tl-track::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}

.tl-item{
  scroll-snap-align:center;flex:0 0 clamp(15rem,80vw,20rem);
  display:flex;flex-direction:column;position:relative;
}
.tl-item:focus-visible{outline:none}
.tl-item:focus-visible .tl-card{outline:3px solid var(--hazard);outline-offset:3px}
.tl-year{
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  font-size:1.125rem;font-weight:500;color:var(--steel);letter-spacing:.04em;
  height:2.4rem;
}
.tl-dot{
  width:16px;height:16px;border-radius:50%;
  background:var(--concrete);border:3px solid var(--plate-edge);
  margin:.6rem 0 1.1rem;flex:none;position:relative;z-index:1;
  transition:border-color .15s,background .15s;
}
.tl-item:hover .tl-dot,.tl-item:focus-visible .tl-dot{
  border-color:var(--hazard);background:var(--hazard);
}
.tl-card{
  background:var(--chip-bg);border:1px solid var(--line);
  padding:1.1rem 1.2rem;flex:1;
  transition:border-color .15s,transform .15s;
}
.tl-item:hover .tl-card{border-color:var(--line-strong);transform:translateY(-2px)}
.tl-tag{
  display:inline-block;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rust);margin-bottom:.5rem;
}
.tl-card h3{
  font-variation-settings:"wdth" 108,"wght" 700;font-size:1.0625rem;line-height:1.25;
  margin-bottom:.5rem;
}
.tl-card p{margin:0;color:var(--steel);font-size:.9375rem;line-height:1.55}

.tl-hint{
  display:flex;gap:.6rem;justify-content:flex-end;
  padding:0 var(--gutter);max-width:1180px;margin:0 auto;
}
@media (min-width:1240px){.tl-hint{margin-inline:auto}}
.tl-nav{
  width:44px;height:44px;border:2px solid var(--line-strong);
  background:var(--chip-bg);color:var(--iron);font-size:1.1rem;
  cursor:pointer;display:grid;place-items:center;
}
.tl-nav:hover{border-color:var(--hazard);background:var(--chip-bg-hover)}
.tl-nav:disabled{opacity:.35;cursor:default}
.tl-nav:disabled:hover{border-color:var(--line-strong);background:var(--chip-bg)}

@media print{
  .tl-track{overflow:visible;flex-wrap:wrap}
  .tl-progress,.tl-hint{display:none}
}

.foot{border-top:1px solid var(--line)}
.foot .wrap{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;
  padding-block:1.75rem;color:var(--steel-light);font-size:.875rem;
}
.foot a{color:var(--steel)}

@media (prefers-reduced-motion:no-preference){
  .plate{animation:seat .5s cubic-bezier(.2,.75,.3,1) both}
  @keyframes seat{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:none}
  }
}

.page-head{padding-block:clamp(2.25rem,5.5vw,3.75rem) clamp(1.25rem,3vw,2rem)}
.page-head h1{
  font-variation-settings:"wdth" 120,"wght" 800;
  font-size:clamp(2.25rem,6vw,4.25rem);line-height:.95;letter-spacing:-.028em;max-width:16ch;
}
.page-head .lede{
  margin:1.1rem 0 0;font-size:clamp(1.0625rem,1.7vw,1.3125rem);
  color:var(--steel);max-width:56ch;line-height:1.5;
}
.span-note{
  margin:1.5rem 0 0;padding-top:.9rem;border-top:2px solid var(--iron);
  font-size:.9375rem;color:var(--steel);
}

.era{margin-top:clamp(2rem,4.5vw,3.25rem)}
.era > h2{
  font-variation-settings:"wdth" 114,"wght" 700;
  font-size:1.3125rem;letter-spacing:-.01em;
  padding-bottom:.6rem;border-bottom:2px solid var(--iron);margin-bottom:.25rem;
}

.post{
  display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem 2.5rem;
  padding-block:1.6rem;border-bottom:1px solid var(--line);
}
@media (min-width:52rem){.post{grid-template-columns:11rem minmax(0,1fr)}}
.post:last-child{border-bottom:0}
.post .when{
  font-variation-settings:"wdth" 100,"wght" 600;font-size:.9375rem;
  color:var(--steel);font-variant-numeric:tabular-nums;padding-top:.2rem;
}
.post h3{font-variation-settings:"wdth" 108,"wght" 700;font-size:1.25rem;line-height:1.25}
.post .org{margin:.2rem 0 .8rem;color:var(--steel);font-size:.9375rem}
.post ul{margin:0;padding:0;list-style:none;max-width:var(--measure)}
.post li{
  position:relative;padding-left:1.35rem;margin-bottom:.4rem;
  color:var(--steel);font-size:.9688rem;line-height:1.5;
}
.post li::before{
  content:"";position:absolute;left:0;top:.62em;width:.5rem;height:2px;background:var(--hazard);
}
.post .tech{
  margin:.9rem 0 0;padding:.75rem 0 0;border-top:1px solid var(--line);
  list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;
}

.roll{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;max-width:60rem}
.roll li{
  border:1px solid var(--line-strong);background:var(--paper);
  padding:.35rem .75rem;font-size:.875rem;color:var(--steel);
}

.exhibit{
  background:var(--paper);border-top:3px solid var(--iron);
  padding:clamp(1.5rem,3.4vw,2.25rem) clamp(1.25rem,3vw,2rem);
}
.exhibit + .exhibit{margin-top:2px}
.exhibit:last-of-type{border-bottom:3px solid var(--iron)}
.exhibit-top{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1.5rem;
}

.exhibit-top:has(.sec-icon){align-items:center;flex-wrap:nowrap;justify-content:flex-start}
.sec-icon{
  flex:none;display:grid;place-items:center;
  width:46px;height:46px;
  border:2px solid var(--plate-edge);
  background:linear-gradient(158deg,var(--plate-face) 0%,var(--plate-face-2) 100%);
  color:var(--hazard);
}
.sec-icon svg{
  fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
@media (max-width:34rem){
  .hero h1,.page-head h1{
    font-variation-settings:"wdth" 100,"wght" 800;
    overflow-wrap:break-word;
  }
}
@media (max-width:32rem){
  .sec-icon{width:38px;height:38px}
  .sec-icon svg{width:22px;height:22px}
}
.photo-strip{margin:1.15rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}
@media (min-width:40rem){.photo-strip{grid-template-columns:repeat(4,1fr)}}
.photo-strip figure{margin:0}
.photo-strip img{
  display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  border:1px solid var(--line);background:#000;
}
.photo-strip figcaption{
  margin-top:.35rem;font-size:.72rem;line-height:1.4;
  color:var(--mono-dim);letter-spacing:.02em;
}
.exhibit h3{
  font-variation-settings:"wdth" 114,"wght" 800;
  font-size:clamp(1.375rem,2.3vw,1.8125rem);line-height:1.05;letter-spacing:-.02em;
}
.exhibit .meta{
  font-size:.875rem;color:var(--steel-light);
  font-variation-settings:"wdth" 100,"wght" 500;font-variant-numeric:tabular-nums;
}
.exhibit p{margin:.85rem 0 0;max-width:var(--measure)}
.exhibit .tech{
  margin:1.1rem 0 0;padding:.8rem 0 0;border-top:1px solid var(--line);
  list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;
}
.exhibit .visit{
  margin:1rem 0 0;font-size:.9375rem;font-variation-settings:"wdth" 100,"wght" 600;
}
.exhibit .visit a{color:var(--rust);text-decoration-color:var(--hazard)}

.era-lede{margin:1.1rem 0 0;max-width:var(--measure);color:var(--steel)}
.era-lede + .exhibit{margin-top:1.75rem}

.shot{margin:1.4rem 0 0;border:2px solid var(--iron);background:var(--paper);line-height:0}
.shot img{display:block;width:100%;height:auto}
.shot video,.shot-video{display:block;width:100%;height:auto;background:#000}
.shot figcaption{
  line-height:1.45;padding:.6rem .85rem;border-top:2px solid var(--iron);
  background:var(--concrete);color:var(--steel);font-size:.8125rem;
}
.shot-wide{max-width:none}

.shot-print{max-width:22rem}

.stage{margin-top:1.25rem;border:2px solid var(--plate-edge);background:var(--stage-bg)}
.stage-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;
  padding:.7rem .9rem;background:var(--plate-face-2);border-bottom:2px solid var(--plate-edge);
}
.stage-bar .label{
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  font-size:.6875rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--mono-label);
}
.stage-bar .weight{margin-left:auto;font-size:.8125rem;color:var(--mono-dim)}
.btn-run{
  border:2px solid var(--iron);background:var(--iron);color:var(--on-iron);
  font:inherit;font-variation-settings:"wdth" 106,"wght" 600;font-size:.875rem;
  padding:.45rem 1rem;cursor:pointer;
}
.btn-run:hover{background:var(--hazard);border-color:var(--hazard);color:var(--on-iron)}
.stage-host{min-height:8rem;display:grid;place-items:center;color:var(--stage-fg);font-size:.875rem;padding:1rem}
.stage-host ruffle-player,.stage-host ruffle-embed{width:100%;max-width:100%;aspect-ratio:4/3;display:block}
.stage-host.is-live{padding:0;min-height:0}

.platforms{
  display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:.6rem 0 0;
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.8125rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  color:var(--mono-label);
}
.plat{display:inline-flex;align-items:center;gap:.45rem}
.plat svg{width:1.25em;height:1.25em;fill:currentColor;flex:none}

.gone{border-top:2px solid var(--iron);margin-top:.5rem}
.gone-row{
  display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem 2rem;
  padding-block:1rem;border-bottom:1px solid var(--line);
}
@media (min-width:46rem){.gone-row{grid-template-columns:minmax(0,15rem) minmax(0,1fr)}}
.gone-row h3{font-variation-settings:"wdth" 104,"wght" 700;font-size:1.0625rem}
.gone-row .url{color:var(--steel-light);font-size:.8125rem;margin:.15rem 0 0}
.gone-row p{margin:0;color:var(--steel);font-size:.9375rem;max-width:var(--measure)}
