/* MIDAS long-form page (builds on research.css) */
.hero h1{ max-width:12em; }
.hero .sub{ margin-top:clamp(20px,3.4vh,34px); max-width:none; font:500 clamp(13px,1.15vw,16px)/1.4 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }
.hero .sub2{ margin-top:12px; }
.tab[aria-current="page"]{ transform:translateY(0); background:var(--navy); border-color:var(--navy); }

.intro{ padding:clamp(8px,2vh,24px) 0 clamp(36px,7vh,72px); }
.intro-in{ max-width:44em; }
.intro p{ font:400 clamp(16px,1.35vw,19px)/1.7 var(--sans); color:#3a3b40; letter-spacing:-.01em; margin-bottom:1.1em; text-wrap:pretty; }
.lead{ color:var(--ink)!important; font-weight:500!important; }
.intro p.lead{ font-size:clamp(22px,2.6vw,34px)!important; letter-spacing:-.035em; line-height:1.15; margin:1.2em 0 1em; }

.shot-w{ width:min(1240px,100%); margin:clamp(28px,6vh,64px) auto; border-radius:16px; overflow:hidden; background:#0d0b0a; aspect-ratio:21/9; }
.shot-w img{ width:100%; height:100%; object-fit:cover; display:block; }
main > .shot-w{ width:min(1240px,calc(100% - 2*var(--px))); }

.mtoc{ padding:clamp(8px,2vh,20px) 0 clamp(20px,4vh,40px); }
.mtoc b{ font:500 11px/1 var(--mono); letter-spacing:.18em; color:var(--mute); }
.mtoc ol{ margin-top:16px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 40px; border-top:1px solid var(--line); }
.mtoc li{ border-bottom:1px solid var(--line); }
.mtoc a{ display:grid; grid-template-columns:34px 1fr; padding:13px 0; text-decoration:none; color:var(--ink); font:500 15px/1.35 var(--sans); letter-spacing:-.01em; transition:color .25s; }
.mtoc a span{ font:500 11px/1.9 var(--mono); color:#8c8e95; }
@media (hover:hover){ .mtoc a:hover{ color:var(--navy); } }

.sec{ display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,4fr); column-gap:clamp(24px,5vw,90px); padding:clamp(48px,9vh,100px) 0 clamp(12px,3vh,32px); border-top:1px solid var(--line); scroll-margin-top:60px; }
.side{ position:sticky; top:110px; align-self:start; display:grid; gap:10px; }
.side .lab{ font:500 14px/1.35 var(--sans); letter-spacing:-.01em; color:var(--ink); }
.sec h2{ max-width:16em; font:500 clamp(28px,4vw,56px)/1.04 var(--sans); letter-spacing:-.045em; text-wrap:balance; }
.sec .body{ margin-top:clamp(24px,4vh,40px); max-width:46em; }
.body p{ font:400 clamp(16px,1.25vw,18px)/1.75 var(--sans); color:#3a3b40; letter-spacing:-.008em; margin-bottom:1.1em; text-wrap:pretty; }
.body p.lead{ font-size:clamp(20px,2vw,26px); letter-spacing:-.03em; line-height:1.3; margin:1.4em 0 .6em; }
.body h3{ margin:clamp(34px,5.5vh,52px) 0 14px; font:500 clamp(20px,2vw,26px)/1.2 var(--sans); letter-spacing:-.035em; }

.stack,.ul{ list-style:none; padding:0; margin:0 0 1.4em; display:grid; gap:.7em; }
.stack li{ font:400 clamp(16px,1.25vw,18px)/1.65 var(--sans); color:var(--ink); letter-spacing:-.008em; padding-left:18px; position:relative; }
.stack li::before{ content:''; position:absolute; left:0; top:.78em; width:7px; height:1px; background:var(--navy); }
.ul{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6em 32px; }
.ul li{ font:400 clamp(15px,1.15vw,17px)/1.55 var(--sans); color:#3a3b40; padding:10px 0; border-bottom:1px solid var(--line); }

blockquote{ margin:0 0 1.4em; padding:4px 0 4px 20px; border-left:2px solid var(--navy); font:400 clamp(17px,1.5vw,21px)/1.55 var(--sans); letter-spacing:-.015em; color:var(--ink); }

.io{ margin:0 0 1.6em; display:grid; border-top:1px solid var(--line); }
.io > div{ display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.io dt{ font:500 12px/1.9 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--mute); }
.io dd{ font:400 clamp(16px,1.25vw,18px)/1.65 var(--sans); color:var(--ink); }

.defs{ margin:6px 0 1.6em; border-top:1px solid var(--line); }
.df{ padding:20px 0; border-bottom:1px solid var(--line); }
.df h4{ font:500 clamp(17px,1.5vw,20px)/1.3 var(--sans); letter-spacing:-.025em; margin-bottom:8px; }
.df p{ font:400 clamp(15px,1.15vw,17px)/1.65 var(--sans); color:#3a3b40; margin:0 0 .5em; }
.df p:last-child{ margin-bottom:0; }

.steps,.phases{ list-style:none; padding:0; margin:10px 0 1.8em; border-top:1px solid var(--line); counter-reset:none; }
.steps li,.phases li{ display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:14px; padding:26px 0; border-bottom:1px solid var(--line); }
.steps .n,.phases .n{ font:500 12px/2 var(--mono); letter-spacing:.14em; color:var(--navy); }
.phases li{ grid-template-columns:96px minmax(0,1fr); }
.steps h4,.phases h4{ font:500 clamp(19px,1.9vw,25px)/1.2 var(--sans); letter-spacing:-.035em; margin-bottom:12px; }
.steps p,.phases p{ font:400 clamp(15px,1.15vw,17px)/1.65 var(--sans); color:#3a3b40; margin:0 0 .6em; }
.steps p:last-child,.phases p:last-child{ margin-bottom:0; }

.cycle{ font:500 clamp(12px,1.15vw,15px)/1.9 var(--mono)!important; letter-spacing:.14em; color:var(--navy)!important; text-transform:uppercase; margin:6px 0 1.2em!important; }

.end{ padding:clamp(56px,11vh,120px) 0 clamp(20px,4vh,40px); border-top:1px solid var(--line); margin-top:clamp(36px,7vh,72px); }
.end .cycle{ font-size:clamp(14px,1.5vw,20px)!important; }
.end-sub{ font:500 clamp(26px,4vw,56px)/1.05 var(--sans); letter-spacing:-.045em; max-width:14em; text-wrap:balance; }

@media (max-width:900px){
  .sec{ grid-template-columns:1fr; row-gap:18px; }
  .side{ position:static; display:flex; gap:14px; align-items:baseline; }
  .mtoc ol{ grid-template-columns:1fr; }
  .shot-w{ aspect-ratio:4/3; border-radius:12px; }
}
@media (max-width:700px){
  .ul{ grid-template-columns:1fr; }
  .io > div{ grid-template-columns:1fr; gap:6px; }
  .steps li,.phases li{ grid-template-columns:1fr; row-gap:8px; }
  .steps .n,.phases .n{ line-height:1; }
}
