/* ium Labs research desk: static pages (/research/...) outside the Nuxt app.
   Same grammar as the rest of iumlabs.io: SuisseIntl, a black 62px header, a
   12-column grid with 40px margins, hairlines that draw in, words that rise,
   grey #00000080 for secondary text and the gauge hover of the home list. */
@font-face{font-family:SuisseIntl;src:url(/static/fonts/SuisseIntl-Light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:SuisseIntl;src:url(/static/fonts/SuisseIntl-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--ink:#000;--grey:rgba(0,0,0,.5);--line:rgba(0,0,0,.16);--mx:40px;--gap:20px;--hh:62px;
  --expo:cubic-bezier(.19,1,.22,1);--split:cubic-bezier(.645,.045,.355,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:300 16px/1.45 SuisseIntl,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:16px;top:70px;z-index:100;background:#fff;padding:8px 12px}

/* Header */
.r-head{position:sticky;top:0;z-index:50;height:var(--hh);background:#000;color:#fff;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--mx)}
.r-logo{display:block;width:30px;height:42px}
.r-logo svg{width:100%;height:100%}
.r-logo path{fill:#fff}
.r-nav{display:flex;gap:12px;font-size:16px;font-weight:400}
.r-nav a{text-decoration:none;opacity:1;transition:opacity .3s ease}
.r-nav a[aria-current]{opacity:.5}
.r-nav a:hover{opacity:.6}
.r-cta{justify-self:end;font-size:16px;font-weight:400;text-decoration:none}
.r-menu-btn{display:none;justify-self:end;background:#222;color:#fff;border:0;border-radius:2px;
  font:400 14px/1 SuisseIntl,sans-serif;padding:10px 14px;cursor:pointer}
.r-menu{position:fixed;inset:var(--hh) 0 0;z-index:49;background:#000;color:#fff;padding:24px 16px;
  display:none;flex-direction:column;gap:6px}
.r-menu a{font-size:44px;line-height:1.1;letter-spacing:-.03em;text-decoration:none}
.r-menu.is-open{display:flex}
.r-progress{position:fixed;left:0;top:var(--hh);z-index:48;height:2px;width:100%;background:#000;
  transform:scaleX(0);transform-origin:0 50%}

/* Text motion (the site's text-anime: words rise with expo.out) */
.rv .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}
.rv .w>span{display:inline-block;transform:translate3d(0,100%,0)}
.rv.is-in .w>span{transform:none;transition:transform 1.6s var(--expo);transition-delay:calc(.2s + var(--i,0) * 14ms)}
.split{display:block;height:1px;background:currentColor;opacity:.25;transform:scaleX(0);transform-origin:0 50%}
.split.is-in{transform:scaleX(1);transition:transform 1s var(--split)}
@media (prefers-reduced-motion:reduce){.rv .w>span,.split{transform:none!important;transition:none!important}}

/* Index */
.r-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:120px var(--mx) 72px}
.r-label{grid-column:1/5;font-size:20px;line-height:24px}
.r-title{grid-column:5/13;margin:0;font-weight:300;font-size:62px;line-height:1.08;letter-spacing:-.015em;max-width:11em}
.r-intro{grid-column:5/11;margin:40px 0 0;font-size:20px;line-height:1.35;color:var(--grey);max-width:34em}
.r-filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--mx) 40px}
.r-chip{font:400 14px/1 SuisseIntl,sans-serif;padding:10px 14px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:#000;cursor:pointer;transition:background-color .3s ease,color .3s ease}
.r-chip span{opacity:.5;margin-left:6px}
.r-chip[aria-pressed=true]{background:#000;color:#fff;border-color:#000}
.r-feature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding:0 var(--mx) 96px}
.r-card{text-decoration:none;display:flex;flex-direction:column;gap:14px}
.r-card figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#f1f1f1}
.r-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s var(--expo)}
.r-card:hover img{transform:scale(1)}
.r-meta{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey)}
.r-card h2{margin:0;font-weight:300;font-size:28px;line-height:1.1;letter-spacing:-.02em}
.r-card p{margin:0;font-size:16px;line-height:1.4;color:var(--grey)}
.r-list{list-style:none;margin:0;padding:0 var(--mx) 120px}
.r-row{position:relative}
.r-row a{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);
  padding:22px 0 26px;text-decoration:none}
.r-row .split{position:absolute;left:0;right:0;top:0}
.r-row .r-date{grid-column:1/3;font-size:16px;color:var(--grey)}
.r-row .r-kind{grid-column:3/5;font-size:16px;color:var(--grey)}
.r-row h3{grid-column:5/10;margin:0;font-weight:300;font-size:32px;line-height:1.08;letter-spacing:-.02em}
.r-row .r-dek{grid-column:10/13;margin:4px 0 0;font-size:16px;line-height:1.4;color:var(--grey)}
/* Gauge hover: black sweeps in and turns the row white where it has passed. */
.r-fill{position:absolute;top:0;bottom:0;left:-20px;right:-20px;z-index:2;pointer-events:none;background:#fff;
  mix-blend-mode:difference;transform:scaleX(0);transform-origin:100% 50%;transition:transform .6s cubic-bezier(.65,.05,.36,1)}
@media (hover:hover) and (pointer:fine){
  .r-row a:hover .r-fill{transform:scaleX(1);transform-origin:0 50%;transition:transform 1.1s cubic-bezier(.65,.05,.36,1)}
  .r-list.is-hovering .r-row:not(:hover){opacity:.35}
}
.r-row{transition:opacity .6s ease}
.r-row[hidden]{display:none}

/* Article */
.a-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:110px var(--mx) 56px}
.a-head .r-meta{grid-column:1/5;padding-top:14px}
.a-head h1{grid-column:5/13;margin:0;font-weight:300;font-size:62px;line-height:1.06;letter-spacing:-.015em;max-width:13em}
.a-dek{grid-column:5/12;margin:32px 0 0;font-size:22px;line-height:1.35;color:var(--grey);max-width:32em}
.a-cover{margin:0 var(--mx) 72px}
.a-cover img{width:100%;max-height:78vh;object-fit:cover}
.a-cover figcaption,.a-fig figcaption{margin-top:10px;font-size:13px;line-height:1.4;color:var(--grey)}
.a-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:0 var(--mx) 120px}
.a-toc{grid-column:1/4;align-self:start;position:sticky;top:calc(var(--hh) + 32px);font-size:14px;line-height:1.4}
.a-toc strong{display:block;font-weight:400;margin-bottom:14px}
.a-toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.a-toc li{counter-increment:t;margin:0 0 10px;color:var(--grey)}
.a-toc li::before{content:"(" counter(t,decimal-leading-zero) ") "}
.a-toc a{text-decoration:none}
.a-toc a.is-now{color:#000}
.a-body{grid-column:5/12;max-width:44em}
.a-body h2{margin:72px 0 20px;font-weight:300;font-size:34px;line-height:1.1;letter-spacing:-.02em;scroll-margin-top:calc(var(--hh) + 24px)}
.a-body h2:first-child{margin-top:0}
.a-body h3{margin:40px 0 12px;font-weight:400;font-size:20px;line-height:1.3}
.a-body p,.a-body li{font-size:18px;line-height:1.6}
.a-body p{margin:0 0 20px}
.a-body ul,.a-body ol{margin:0 0 24px;padding-left:22px}
.a-body li{margin:0 0 8px}
.a-body a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.a-body strong{font-weight:400}
.a-fig{margin:40px 0}
.a-fig img{width:100%;background:#f4f4f4}
.a-quote{margin:40px 0;padding:0;font-size:28px;line-height:1.25;letter-spacing:-.015em}
.a-quote cite{display:block;margin-top:12px;font-style:normal;font-size:14px;color:var(--grey)}
.a-table{margin:32px 0;overflow-x:auto}
.a-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.4}
.a-table th{font-weight:400;text-align:left;border-bottom:1px solid #000;padding:10px 12px 10px 0}
.a-table td{border-bottom:1px solid var(--line);padding:10px 12px 10px 0;vertical-align:top}
.a-table caption{caption-side:bottom;text-align:left;font-size:13px;color:var(--grey);padding-top:10px}
.a-sources{margin-top:72px}
.a-sources h2{margin:0 0 20px}
.a-sources ol{padding-left:22px}
.a-sources li{font-size:14px;line-height:1.5;color:var(--grey)}
.a-next{display:block;padding:40px var(--mx) 56px;border-top:1px solid var(--line);text-decoration:none}
.a-next .r-meta{display:block;margin-bottom:14px}
.a-next span.t{font-size:44px;line-height:1.08;letter-spacing:-.02em}
.a-next:hover span.t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.a-ask{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:96px var(--mx);background:#000;color:#fff}
.a-ask p{grid-column:1/8;margin:0;font-size:44px;line-height:1.08;letter-spacing:-.02em}
.a-ask div{grid-column:9/13;display:flex;flex-direction:column;gap:12px;font-size:18px;align-self:end}
.a-ask a{text-decoration:none}
.a-ask a:hover{text-decoration:underline;text-underline-offset:.18em}

/* Footer (matches the site footer in content) */
.r-foot{background:#000;color:#fff;padding:56px var(--mx) 40px}
.r-foot-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:32px}
.r-foot h2{grid-column:1/6;margin:0;font-weight:300;font-size:44px;line-height:1.08;letter-spacing:-.02em}
.r-foot nav{grid-column:7/10;display:flex;flex-direction:column;gap:6px;font-size:18px}
.r-foot .r-foot-c{grid-column:10/13;display:flex;flex-direction:column;gap:6px;font-size:16px}
.r-foot a{text-decoration:none}
.r-foot a:hover{text-decoration:underline;text-underline-offset:.18em}
.r-foot small{display:block;margin-top:64px;font-size:14px;opacity:.6}

@media (max-width:1023px){
  :root{--mx:16px;--gap:8px}
  .r-head{grid-template-columns:1fr auto}
  .r-nav,.r-cta{display:none}
  .r-menu-btn{display:block}
  .r-hero,.a-head{padding-top:72px}
  .r-label,.r-title,.r-intro,.a-head .r-meta,.a-head h1,.a-dek{grid-column:1/-1}
  .r-label{margin-bottom:24px}
  .r-title,.a-head h1{font-size:40px}
  .a-head .r-meta{padding:0 0 18px}
  .r-feature{grid-template-columns:1fr;row-gap:40px}
  .r-row a{grid-template-columns:repeat(6,minmax(0,1fr))}
  .r-row .r-date{grid-column:1/4}.r-row .r-kind{grid-column:4/7}
  .r-row h3{grid-column:1/-1;margin-top:8px;font-size:26px}
  .r-row .r-dek{grid-column:1/-1;margin-top:8px}
  .a-wrap{display:block}
  .a-toc{display:none}
  .a-body p,.a-body li{font-size:17px}
  .a-ask{display:block}.a-ask p{font-size:32px;margin-bottom:32px}
  .r-foot-top{display:flex;flex-direction:column}
  .r-foot h2{font-size:32px}
  .a-next span.t{font-size:30px}
}

/* Typographic covers */
.r-tcover{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;display:block;padding:18px 20px;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-size:100% 1px,1px 100%;background-position:0 33.3%,62% 0;background-repeat:no-repeat}
.r-tcover>span{position:absolute}
.r-tcover .tc-top{left:20px;top:18px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.r-tcover .tc-date{right:20px;top:18px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;opacity:.6}
.r-tcover .tc-topic{left:20px;right:20px;bottom:16px;font-size:clamp(34px,4.2vw,64px);line-height:.98;letter-spacing:-.035em}
.r-tcover.t-ink{background-color:#000;color:#fff}
.r-tcover.t-ink{--l:rgba(255,255,255,.18)}
.r-tcover.t-paper{background-color:#f1f1f1;color:#000}
.r-tcover.t-sage{background-color:#d5e8c4;color:#000}
.r-tcover{background-image:linear-gradient(var(--l,rgba(0,0,0,.14)),var(--l,rgba(0,0,0,.14))),linear-gradient(var(--l,rgba(0,0,0,.14)),var(--l,rgba(0,0,0,.14)))}
.r-tcover .tc-topic{transition:transform 1.4s var(--expo)}
.r-card:hover .r-tcover .tc-topic{transform:translate3d(0,-6px,0)}
